Sta*_*sik 8 c parallel-processing makefile
我正在尝试并行化一个旧的Makefile.
实际上,我需要确保在编译过程开始之前调用某些生成器脚本不是并行的.
始终在编译之前调用生成器.有没有办法在makefile中建立一个有点关键的部分?
Makefile很乱,我不想在这里发帖.
您可以将生成文件的规则放在单独的 Makefile 中,并执行如下操作:
generated-sources :
$(MAKE) -f Makefile.Generators
Run Code Online (Sandbox Code Playgroud)
然而,对于 GNU Make,默认情况下这将是并行的。您需要抑制它,并且手册并不清楚您将如何做到这一点。也许以下的某种组合会起作用,具体取决于您希望支持的 make 的实现:
传递-j1旗帜:
generated-sources :
$(MAKE) -j1 -f Makefile.Generators
Run Code Online (Sandbox Code Playgroud)抑制MAKEFLAGS选项:
generated-sources :
$(MAKE) -f Makefile.Generators MAKEFLAGS=
Run Code Online (Sandbox Code Playgroud)使用以下行抑制并行执行Makefile.Generators:
.NOTPARALLEL :
Run Code Online (Sandbox Code Playgroud)