gcc make 文件和并行构建

gcc make file and parallel building

我需要在 make 文件中获取用于并行编译的处理器数量。

例如

make -j32 .....

我需要在 Makefile 中提取数字 32。

我知道它在变量 MAKEFLAG 中,所以我可以解析它,但是是否有其他变量可以直接提供此信息?

例如:

NUMCPU = 32

已在

中解决

NUMPROC = $(patsubst -j%,%,$(filter -j%,$(MAKEFLAGS))

@DevSolar 我也不想混用 make 和 ninja build 但我需要这样做,该项目是一个涉及多个库和多个团队的大项目,所以我不能单独决定构建过程。 为了解释构建过程,我有一个目标和一些用于构建系统的库 meson/ninja 以及其他使用 make 的库。 现在在正式发布阶段,所有库都必须重新编译,所以首先编译带有遗留“make”的那些,然后是带有介子的,最后的 binary/executable 将 link al of the以前编译的库。

目前全部由 make 命令触发,制作团队希望对 make 和 ninja 使用 -j 选项。 出于这个原因,我打算向库提供 -j 并最终 binary/executable 使用忍者构建。