有没有办法从makefile中排除某些源文件或文件夹?

时间:2009-10-07 12:24:20

标签: build makefile

有没有办法从编译过程中排除某些文件?甚至整个目录?

我相信makefile正在使用find来查找src目录中的所有源文件。有没有办法从find指定要忽略的目录?像某些开关,还是什么?

4 个答案:

答案 0 :(得分:2)

这完全取决于你的makefile是如何编写的。在某些条件允许的情况下,您可以使用条件来避免添加文件:

 ifeq ($(OS),win32)
 SOURCES += foo_win32.cpp
 else
 SOURCES += foo_posix.cpp
 endif
 ...
 foo: $(SOURCES)

如果你详细说明了你想要做的事情,你可能会得到更好的答案。

编辑:如果通过运行find确定文件,则可以从find中排除文件/目录,如下所示:

SOURCES:=$(shell find srcdir -type f | grep -v dirtoexclude)

答案 1 :(得分:2)

答案 2 :(得分:-1)

除了要排除的内容外,您可以创建相同的单独目标。

答案 3 :(得分:-3)

当然 - 不要在Makefile中指定它们。