티스토리 뷰

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는 확장자를 뺀 타겟의 이름)

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31