티스토리 뷰
makefile에 Rule을 나타낸 그림이다. ':'을 기준으로 왼쪽은 target, 오른쪽은 dependency를 나타낸다.
Shell lines에서 시작은 Tab다.
☞ makefile에서 comment처리는 '#'을 사용한다. makefile에서 한 라인에 다 적기 힘들어서 continue 해야하는경우는 '\'를 사용한다.
☞ make -p 는 make에 관련된 rule들을 프린트 해준다.
☞ dependency라인에서 제일 마지막에 생성되어야 할 타겟을 제일 첫번째로 적어준다.
(It is important that all dependencies be placed in a descending order in the file.)
☞ 동일한 dependency일 경우의 예 ( main.o this.o: bitvect.h )
Shell Lines (or action lines)
☞ Tab과 함께 시작한다.
☞ 하나의 타겟을 만들기 위해 여러가지 커맨드를 입력할경우 띄어쓴다음 Tab으로 시작하면 된다.
Macros
☞ 여러번 같은 타이핑을 줄여준다.
☞ 사용 방법 : MACRONAME = macro value
${MACRONAME} or $(MACRONAME)
☞ 예) HOME = /home/courses/mm
CPP = $(HOME)/cpp
TCPP = $(HOME)/tcpp
만약 HOME에서 mm이 mw 로 바뀌었다면 HOME만 재정의 하면 되기때문에 많은 수고를 덜수가 있다.
출력 : target lib.o
newer sources aaa.c (lib.o 보다 시간상으로 늦게 생성된것을 출력)
first source aaa.c
target without suffix lib (suffix는 확장자를 뺀 타겟의 이름)
'IT > Embedded Software' 카테고리의 다른 글
[임베디드 SW 공학] Make의 재귀적 사용법 (0) | 2017.09.25 |
---|---|
[임베디드 SW 공학] Make 예제 (0) | 2017.09.25 |
[임베디드 SW 공학] Make 빌드시스템의 소개 (0) | 2017.09.25 |
[임베디드 SW 공학] gcc 동적 라이브러리 (0) | 2017.09.18 |
[임베디드 SW 공학] gcc 정적 라이브러리 (0) | 2017.09.18 |