可以说我有以下变量:
SOURCES = folder1/a.c folder1/b.c folder2/c.c folder3/d.c folder3/e.c
FILTERS = folder2 folder3
现在,我想设置一个仅包含folder1/a.c folder1/b.c
的变量。我已经尝试过$(filter-out folder2%,$(SOURCES))
,但这确实删除了未删除的folder2项目。那么也许我可以通过这种方式以某种方式遍历过滤器?
或者有更好的方法吗?
答案 0 :(得分:3)
您可以使用:
OUTPUT := $(filter-out $(addsuffix /%,$(FILTERS)),$(SOURCES))
filter-out
可以采用多个过滤器并将其全部应用。我建议您使用/%
而不是%
,这样就不会捕获以目录名开头的文件名。