SRCS = $(wildcard *.c) OBJS = $(SRCS:.c=.o)
보시다시피 와일드 카드와 대입참조 기법입니다. .c로 끝나는것을 모두 가져와 ,o로 바꾼다는 이야기인데
제가 궁금한것은
1) 단순한 이름변경 .c => .o
2) gcc 수헹을 통한 변경
실행 시켜보니까 정의한 CFLAGS 를 가져와서 내부적으로 gcc를 실행시키는 것 같아서 2번이 맞는거 같은데 혹시해서 질문드립니다. 감사합니다.
https://www.gnu.org/software/make/manual/html_node/Text-Functions.html#Text-Functions
https://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html#Catalogue-of-Rules
2번째 링크? 컴파일 과정은 무슨말인지 이해가 안되네요...
잘 알려진 파일 확장자에 대한 빌드 규칙이 암묵적으로 지정이 되어 있는 겁니다.
https://www.gnu.org/software/make/manual/html_node/Implicit-Rules.html#Implicit-Rules
여기서부터 천천히 읽어보세요.
친절한 설명 감사합니다
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
https://www.gnu.org/software
https://www.gnu.org/software/make/manual/html_node/Text-Functions.html#Text-Functions
https://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html#Catalogue-of-Rules
%를 이용한 확장자 규칙은 이해되는데
2번째 링크? 컴파일 과정은 무슨말인지 이해가 안되네요...
잘 알려진 파일 확장자에 대한 빌드 규칙이 암묵적으로
잘 알려진 파일 확장자에 대한 빌드 규칙이 암묵적으로 지정이 되어 있는 겁니다.
https://www.gnu.org/software/make/manual/html_node/Implicit-Rules.html#Implicit-Rules
여기서부터 천천히 읽어보세요.
제 생각과 얼추 비슷하군요...
친절한 설명 감사합니다
댓글 달기