如何在通配符Makefile之后删除多个源文件

时间:2016-04-15 20:53:37

标签: makefile wildcard

问题是:

我有一个名为A.mk的makefile(所有项目的通用makefile)。在那里,我已经在文件夹src1中添加了所有源文件 Var + = $(通配符src1 / * .c)

然后,对于特定的应用程序,我有一个makefile(称为B.mk),其中包含A.mk。现在,我想用文件夹src2中的新文件foo2.c替换文件夹src1中的源文件foo1.c。我怎么能这样做?

如果我想在B.mk中替换(甚至删除)Var中的多个文件,我该怎么办呢。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

Make有一些string functionsfilter-out看起来像这里适用

# All .c files
Var := $(filter-out %.c,$(Var))

# A specific file
Var := $(filter-out src/foo.c,$(Var))