Makefile项目 - 通过" -j"使用多个作业时防止构建失败参数

时间:2015-08-15 21:39:13

标签: c++ linux makefile gnu-make

我有许多简单的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首先串行构建库,然后允许其余的示例项目以任何顺序构建?

谢谢。

0 个答案:

没有答案