![](/img/trans.png)
[英]How to generate .h header file using makefile and use it in same makefile for compilation of source?
[英]Exclude source file in compilation using Makefile
是否可以在Makefile中使用通配符函數在編譯過程中排除源文件?
就像有幾個源文件一樣
src/foo.cpp
src/bar.cpp
src/...
然后在我的makefile中,
SRC_FILES = $(wildcard src/*.cpp)
但我想排除bar.cpp。 這可能嗎?
如果您正在使用GNU Make,則可以使用filter-out
:
SRC_FILES := $(wildcard src/*.cpp)
SRC_FILES := $(filter-out src/bar.cpp, $(SRC_FILES))
或者作為一行:
SRC_FILES = $(filter-out src/bar.cpp, $(wildcard src/*.cpp))
使用find for it :)
SRC_FILES := $(shell find src/ ! -name "bar.cpp" -name "*.cpp")
你可以使用Makefile subst功能:
EXCLUDE=$(subst src/bar.cpp,,${SRC_FILES})
Unix glob模式src / [!b] * .cpp排除所有以b開頭的src文件。
但是,如果bar.cpp是唯一以b開頭的src文件,或者如果您願意將其重命名為以唯一字符開頭,那么這只會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.