1. .SUFFIXES는 make가 중요하게 여길 확장자를 나타낸다.
2. $< 확장자 규칙에서만 사용될수 있다는 점을 제외하면 $?과 같다.
3. 모든 프로그램에 -g(디버그)와 같은 옵션을 사용할 경우는 '$ make program CFLAGS=-g' 또는 makefile에서 'CFLAGS = -g' 그러면 이 옵션은 모든 컴파일러에 적용된다.
4. CFLSGS에서 여러 옵션을 줄때는 " "로 묶어주면 된다.
5. CFLAGS의 예외는 -l옵션이다. -l옵션은 파일이름이 바로 뒤에 따라야 하기 때문에 전달할수가 없다. 별도의 매크로를 만들어서 전달하도록 한다.
6. CFLAGS를 사용할때는 make가 파일이름과 변경시간에서만 정보를 얻는다는 점을 주의해야 한다.
7. 'cp $< $*.tmp'에서 main.c가 적용될 경우는 'cp main.c main.tmp'로 바뀌게 된다. (기본적으로 $*은 최근 변경된 파일을 말하지만 확장자 규칙에서만은 필요항목의 파일이름만을 표시한다.)
8. SCCS의 파일(s.*.c)을 다룰때는 확장자 규칙에서 '.c~.o:'로 표현해 준다. $s의 경우 SCCS파일의 경우는 s.*로 변경되어야 하나 일반 파일이름으로 대체된다.
|