这就是我在 Makefile 中尝试做的事情:
MAKE_381 := $(TOOLS)/bin/make-381
default:
cd proj && $(MAKE_381)
MAKE_381
指的是make v3.81
二进制的版本。这是必需的,因为该proj
目录包含Makefiles
仅兼容v3.81
且没有更新或更新的目录。
我需要让这个 Makefile 始终用于make v3.81
构建proj
独立于开发人员在他/她的系统上安装的 GNU 版本。
调用MAKE_381
有效,但需要注意的是,任何额外的参数(如并行作业的数量)都不会传递给MAKE_381
. 我找不到任何有关如何提取此信息的文档。
我知道MAKEFLAGS
GNU make 中的变量,我知道它应该包含从命令行传递给 make 的任何额外参数,但不知何故我发现这个值是空的。
我不希望硬编码传递给的作业数量MAKE_381
,而是应该根据初始Makefile
调用传递参数。