2016-08-23 105 views
0

排除文件我在我的makefile使用通配符来获取目录中的所有.c文件的规则:从生成文件

SRCS_ENC = $(foreach DIR,$(SRC_ENC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) 

现在我要排除具有特定后缀,例如所有文件“测试”

function_test.c 
function2_test.c 
... 

我该如何在makefile中执行此操作?我尝试过滤掉,但没有奏效。

+0

什么都有这个问题做CMake的?你用CMake生成Makefile吗? –

+0

不,对不起,我正在使用gcc编译器。 – Alex

+0

[使用Makefile编译时排除源文件]可能的重复(http://stackoverflow.com/questions/10276202/exclude-source-file-in-compilation-using-makefile) – Tim

回答

0

尝试使用立即指派,而不是推迟,做过滤出这样的:

SRCS_ENC := $(foreach DIR,$(SRC_ENC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) 
SRCS_ENC := $(filter-out, %_test.c, $(SRCS_ENC))