makefile中VPATH的行为

makefile中VPATH的行为,makefile,Makefile,据我所知,VPATH变量可以保存需要编译的源文件的搜索路径列表。因此,我在相同的上下文中使用VPATH,如下面的示例代码片段所示 SFILES= src1.c src2.c src3.c VPATH= $(PATH-1)/src 列出的源代码存在于Makefile所在的我的当前目录以及$(PATH-1)/src中。当我给出“make”时,我看到当前目录中的源代码优先于VPATH 除了删除/重新定位当前目录中的源之外,是否还有其他方法可以覆盖此行为。恐怕答案是否定的。GNUmake文档:如果当前

据我所知,VPATH变量可以保存需要编译的源文件的搜索路径列表。因此,我在相同的上下文中使用VPATH,如下面的示例代码片段所示

SFILES= src1.c src2.c src3.c
VPATH= $(PATH-1)/src
列出的源代码存在于Makefile所在的我的当前目录以及$(PATH-1)/src中。当我给出“make”时,我看到当前目录中的源代码优先于VPATH


除了删除/重新定位当前目录中的源之外,是否还有其他方法可以覆盖此行为。

恐怕答案是否定的。GNU
make
文档:如果当前目录中不存在列为目标或先决条件的文件,make在VPATH中列出的目录中搜索具有该名称的文件

SFILES=$(PATH-1)/src1.c$(PATH-1)/src2.c$(PATH-1)/src3.c
。我会尽力让你知道的