【发布时间】:2013-06-17 10:50:53
【问题描述】:
我的 GNU makefile(以及其他)中有几条格式规则
a b c d: x
program $^
即program 只需一次调用即可创建文件 a、b、c 和 d。
当我使用gmake -j 4 运行此程序时,make 会产生四个并行运行的program,因为这些文件都不存在并且没有一个文件依赖于另一个。
我可以通过提供“假依赖链”来解决这个问题(因为没有更好的术语):
a: x
program $^
b: a
c: b
d: c
有没有更优雅的方法来教 gmake 只运行一次 program,即使是在并行构建中?
编辑:任何解决方案都应遵守对x 的依赖,并且如果a - d 相对于x 是最新的,则不执行任何操作。
【问题讨论】:
标签: parallel-processing makefile gnu-make