假设我有以下变量:
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 项目。那么也许我可以通过这种方式以某种方式循环筛选器?
或者有更好的方法吗?
最佳答案
你可以只使用:
OUTPUT := $(filter-out $(addsuffix /%,$(FILTERS)),$(SOURCES))
filter-out
可以采用多个过滤器并将它们全部应用。我建议您使用 /%
而不仅仅是 %
这样您就不会捕获恰好以目录名称开头的文件名。
关于linux - gnu makefile 通过要忽略的文件夹列表过滤源文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54187360/