1

我有一个使用递归自动工具结构的大型项目。大部分构建时间都花在其中的单个目录上,因此我想让该目录并行构建。我找到了与 make-j启用并行构建选项相关的文档,但问题是,我应该-j在我Makefile.am的哪个目录中指定我正在构建的目录?

我知道最好使用非递归结构进行并行构建,但现在这项工作太大了,我希望还有一种方法可以使这个目录并行构建。

4

2 回答 2

4

作为维护者,指定构建的并行级别不是您的任务,因为它取决于您正在构建的机器。通常将 CPU 的数量传递给-j是一个好主意,但并非总是如此。应该发生的是用户只是make使用适当的-j标志运行。如果您也恰好是那个用户并且您厌倦了-j一直显式传递,那么

export MAKEFLAGS=-j2

从您的外壳配置文件(例如.bashrc)中,并make一直考虑这个选项。

于 2013-09-16T11:43:38.750 回答
1

假设一个 linux 发行版,并进一步假设您希望构建是自适应的,您可以尝试:

export MAKEFLAGS=-j`nproc`
于 2018-04-04T13:49:45.560 回答