0
設置的所有路徑,我有兩個文件(從樹命令)以下。在Makefile中,如何使文件通配符功能工作由變量VPATH
.
|-- Makefile
|-- dir1
| `-- file1.c
`-- dir2
`-- file2.c
我想在DIR1和DIR2目錄編譯文件,所以我寫了一個Makefile如下。
VPATH = dir1:dir2
CFILES := ${wildcard *.v}
$(info CFILES = ${CFILES})
輸出:
CFILES =
所以wildcar功能不會自動搜索由VPATH變量設置路徑。
如果我專門寫通配符功能的路徑,它的工作原理。
CFILES := ${wildcard dir1/*.c dir2/*.c} <== this makes it work
$(info CFILES = ${CFILES})
輸出:
CFILES = dir1/file1.c dir2/file2.c
我想只添加到Makefile中存在的路徑,但沒有辦法,我可以使用通配符功能通過VPATH設置路徑的任何方式? (假設我需要從編譯列表中刪除一些文件,所以我需要的文件列表。只是好奇..)
它看起來像你不能。詳情在這裏http://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make –