当我使用makefile时,我经常在输出中看到make [1] ... make [2] ... 例如:
make all-recursive
make[1]: Entering directory `./splint-3.1.2'
Making all in src
make[2]: Entering directory `./src'
grep "FLG_" flags.def > Headers/flag_codes.gen
make
make[3]: Entering directory `.splint-3.1.2/src'
make [n]中的[n]是什么意思?
答案 0 :(得分:1)
评论是正确的 - [n]
指的是递归级别。在这一点上,我想指出相关的文档,但我在GNU make documentation的扫描在这方面没有发现 - 也许我错过了一些东西。
如果做不到这一点,我们可以转向source code。 [n]
是int makelevel
中的main.c
变量。这对应于MAKELEVEL
automatic make variable:
作为一项特殊功能,变量MAKELEVEL在从一个级别传递到另一个级别时会发生变化。此变量的值是一个字符串,它是十进制数的级别深度。顶级make的值为'0';子项的“1”,子项的“2”,依此类推。当make为配方
设置环境时,会发生增量