我有一个makefile,它是一个3rdParty依赖构建器,所以它实际上只是去各种其他目录并使用各种标志运行cmake / make,以确保我项目的所有15-20个依赖项按我需要的方式编译。
在这里构建并行将真正帮助,(构建大约需要2个小时),但是我需要'make -jN'来不运行toplevel makefile并行,而是串行运行(各种3rdParty库都有内部依赖关系来满足)并将arg传递给内部makefile。
有没有办法解决这个问题?
答案 0 :(得分:2)
使用.NOTPARALLEL
伪目标;来自文档:
`.NOTPARALLEL'
If `.NOTPARALLEL' is mentioned as a target, then this invocation of `make' will be run serially, even if the `-j' option is given. Any recursively invoked `make' command will still be run in parallel (unless its makefile contains this target). Any prerequisites on this target are ignored.