我有许多简单的C ++ Makefile项目使用GNU Make风格的makefile,我手动编写,而不是使用Automake或CMake。其中最复杂的机制是使用pkginfo
获取编译时标志并包含少数第三方库的路径。
我可以通过运行make来大大加快我在当前硬件(Intel i7 quad core)上的构建速度,因此,假设机器上有4个核心:
make -j5 -l4
但是,当我允许多个作业时,一些在串行运行时构建正常的项目(即:j1)会失败。这些失败的项目本质上是一组从" master" makefile和某些依赖项是按顺序构建的。
假设我有一个像这样的项目列表:
library1 (all other projects depend on this)
library2 (all other projects depend on this)
library3 (some other projects depend on this)
example1
...
example20
是否存在简单/事实上的标准"将标记/规则放在适当的位置,以便主makefile首先串行构建库,然后允许其余的示例项目以任何顺序构建?
谢谢。