通过模式添加目标先决条件

时间:2015-03-11 21:39:20

标签: makefile gnu-make

在我正在进行的项目中,我有一个充满源文件的目录,需要一个特殊的可执行文件才能编译。我最初的反应是:

SomeDirectory/%.o: my-special-compiler

...为所有%.o个文件添加依赖项。

除了当然这不起作用,因为模式规则是特殊的,而上述索引将为模式规则添加先决条件,对于模式规则,它似乎什么都不做。

我在构建系统中此时没有SomeDirectory中所有.o文件的列表。有没有办法可以实现相同的效果,而无需重构我的构建系统?

这是GNU Make,如果有帮助的话。

1 个答案:

答案 0 :(得分:1)

不仅仅是添加新规则。您必须列出每个目标文件,并将该先决条件专门添加到它们。没有配方cancels the pattern rule的模式规则。

可能您最好的选择是遵循为auto-dependency generation创建的模型,并自动生成包含该额外先决条件的文件,作为创建目标文件的副作用...然后包含它。