Makefile不支持VPATH的问题

时间:2021-01-06 06:54:08

设置VPATH只作用在在依赖文件上,如果当前目录找不到就到VPATH下去找 
ctest 
    | 
    |--hello.c 
    |--Makefile 
    |--printf2.h 
    |--sub 
            |--printf2.c 
当运行如下命令时 
printf2.o   :   printf2.c   
        gcc   -c   printf2.c 
在ctest目录下gcc自然找不到printf2.c 
但是printf2.o   :   printf2.c中,由于设置了VPATH=./sub,可以找到printf2.c文件 

当程序printf2.o   :   printf2.c   
        gcc   -c   printf2.c 
改为 
printf2.o   :   printf2.c   
        gcc   -c   $ < 
运行就可以了,我试过了,可能由于VPATH=./sub,运行时将$ <替换成./sub/printf2.c了吧,呵呵,反正可以正常运行了,哈哈