windows clearmake并行构建依赖

时间:2013-12-26 06:04:23

标签: makefile clearcase

我的情况是我正在构建这样的东西:

target1: dep1 list2

dep1:
     perl script that generates a .h file

list2:
     compiles a list of c files 
     including one that needs the .h file from dep1 to exist

我使用并行构建选项(target1)构建-J 6,我试图理解clearmake Makefile语法,它会说“完成dep1然后全部list2并行编译“ 每当我构建时,它都无法编译list2中的项目,因为尚未从dep1生成头文件生成,因为它们都是并行发生的(dep1需要20秒)

你会如何避免这种情况?

1 个答案:

答案 0 :(得分:0)

在clearmake中引入顺序构建步骤的一种方法是将该构建分成两部分,有点像“Coordinating reference times of several builds”部分所述:

  

另一种方法是在同一clearaudit个会话中运行所有构建   例如,您可以编写一个shell脚本multi_make,其中包含多个clearmakeclearaudit的调用(以及其他命令)。
  如下运行脚本可确保所有构建都是共享相同引用时间的子会话:

clearaudit -c multi_make 

虽然clearaudit部分可能与您的案例无关,但主要想法仍然存在:通过多个顺序clearmake步骤来试验构建过程,而不是尝试在Makefile(clearmake Makefiles and BOS Files中提到的.NOTPARALLEL:指令)。