[gcc 옵션 분석: 사용 예시] -MD, -MT, -MF, -MP

Resources/Documents | 2009. 12. 9. 16:02 | Posted by 알 수 없는 사용자


gcc -MD -MF test.dep -c test.c
: 오브젝트파일의 종속성을 검사하여 내용을 test.dep라는 파일에 기록하고, test.c를 컴파일하여 test.o를 생성한다.

gcc -M -MF test.dep -c test.c
: 컴파일은 하지 않고 test.dep만 생성한다.

(※ -MF 옵션은 -M, -MM, -MD, -MMD 옵션과 같이 써야 함)



gcc -MD -c test.c
또는 gcc -Wp,-MD,test.d -c test.c
: 오브젝트파일의 종속성을 검사하여 내용을 test.d라는 파일에 기록하고, test.c를 컴파일하여 test.o를 생성한다.



gcc -MT mytest.o -MD -c test.c
: 오브젝트파일의 종속성을 검사하여 내용을 test.d라는 파일에 기록, 단, 작성되는 내용 중 오브젝트의 이름은 mytest.o로 함, 그리고 test.c를 컴파일하여 test.o를 생성한다.

gcc -MT mytest.o -MD -MF test.dep -c test.c
: 오브젝트파일의 종속성을 검사하여 내용을 test.dep라는 파일에 기록, 단, 작성되는 내용 중 오브젝트의 이름은 mytest.o로 함, 그리고 test.c를 컴파일하여 test.o를 생성한다.

gcc -MT mytest.o -M -c test.c
: 컴파일은 하지 않고 test.d만 생성한다.

(※ -MT 옵션은 -M, -MM, -MD, -MMD 옵션과 같이 써야 함)

test.d 출력 예:

mytest.o: test.c /usr/include/stdio.h /usr/include/features.h \
  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
  ......
  ......



gcc -MD -MP -c test.c
: test.d 를 아래와 같이 출력하고, test.c를 컴파일하여 test.o 를 생성

test.d 출력 예:

test.o: test.c /usr/include/stdio.h /usr/include/features.h \
  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
  ......
  ......

/usr/include/stdio.h:

/usr/include/features.h:

......

......



: