Camille Goudeseune Asked: 2021-02-15 11:13:42 +0800 CST2021-02-15 11:13:42 +0800 CST 2021-02-15 11:13:42 +0800 CST 从 Makefile 中模仿“make -j” 772 shell 命令make -j并行运行 Makefile 的命令,这在现代多核 CPU 上很有用。可以从 Makefile 中调用这种并行性吗? 从 Gnu make 的手册中,我最好的猜测是使用主 Makefile 作为一个包装器,它传递-j给一个真正工作的子 make。但也许有一些环境变量或点文件或内部变量或其他无法使用的史努比咒骂方式来做到这一点。 可以限制作业的数量,例如。-j $$(nproc). 可能是Linux,但不一定。 (添加类似alias make='make -j'~/.bashrc 的东西太危险了;是否并行化的决定应该是每个 Makefile,而不是每个用户。) shell make 1 个回答 Voted Best Answer harrymc 2021-02-15T11:50:30+08:002021-02-15T11:50:30+08:00 您可以从 makefile 本身附加到 MAKEFLAGS,例如: MAKEFLAGS += --jobs=$(CPUS) 其中 CPUS 在 makefile 中定义。
您可以从 makefile 本身附加到 MAKEFLAGS,例如:
其中 CPUS 在 makefile 中定义。