从makefile中排除文件

时间:2016-08-23 13:12:45

标签: gcc makefile

我的makefile中有一条规则,它使用通配符来获取目录中的所有.c文件:

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

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

function_test.c
function2_test.c
...

如何在makefile中执行此操作?我尝试过滤掉了,但它没有用。

1 个答案:

答案 0 :(得分:0)

尝试使用立即分配而不是延迟,并像这样过滤掉:

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