2011-10-06 6 views
2

콘텐츠가있는 아주 작은 파일이 있습니다.VPATH가 makefile에서 작동하지 않습니다.

VPATH = src 

main: main.o 
     gcc -o main main.o 

main.o: main.c 
     gcc -c main.c 

현재 디렉토리에 main.c가 포함되어있는 src가 있습니다.

make를 실행하면 오류가 발생합니다.

gcc -c main.c 
gcc: main.c: No such file or directory 
gcc: no input files 
make: *** [main.o] Error 1 

main.c 현재 디렉토리에, 그것은 작동합니다. VPATH 매크로가 작동하지 않는 것 같습니다. VPATH의 사용법을 알려주십시오.

답변

6

, 당신은 여기에 자동 변수의 사용을 누락 :

gcc -o main.o -c src/main.c 

는 항상 automatic variables를 사용하여 확장됩니다

main.o : main.c 
     gcc -o [email protected] -c $< 

gcc 전화로 확인 $< (첫 번째 전제 조건) 및 [email protected] (대상)을 사용하면 더 강력하고 읽기 쉬워집니다.

관련 문제