2

我问了一个关于全局设置'-j8'标志的问题,答案建议设置MAKEFLAGS="-j8"/etc/environment,但他们说这可能是递归make的问题。

但是,GNU 文档说这-j8将以一种特殊的方式处理,并且不会传递给 make 的递归调用:

'-j' 选项是一种特殊情况(请参阅并行执行)。如果您将其设置为某个数值“N”并且您的操作系统支持它(大多数 UNIX 系统都支持;其他通常不会),则父 make 和所有子 make 将进行通信以确保只有 'N ' 作业在它们之间同时运行。请注意,任何标记为递归的作业(请参阅而不是执行配方)不计入总作业数(否则我们可能会运行“N”个子制作并且没有剩余的插槽用于任何实际工作!)

那么设置是否MAKEFLAGS="-j8"/etc/environment问题?

4

1 回答 1

3

如果您的操作系统支持它,则没有问题。如果由于某种原因它没有,或者你的 make 不是 gnu make,这不是一个好主意。此外,不清楚您是否在您的 make 中执行一个执行另一个 make 的程序,这两个 make 是否会通信。

于 2013-07-05T11:27:48.977 回答