Compilation make[n]中的[n]是什么意思?

Compilation make[n]中的[n]是什么意思?,compilation,makefile,gnu-make,Compilation,Makefile,Gnu Make,当我使用makefile时,我经常在输出make[1]中看到它。。。使。。。 例如: make all-recursive make[1]: Entering directory `./splint-3.1.2' Making all in src make[2]: Entering directory `./src'

当我使用makefile时,我经常在输出make[1]中看到它。。。使。。。 例如:

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]是什么意思?

注释正确-
[n]
表示递归级别。在这一点上,我想指出相关的文档,但我的扫描在这方面没有发现任何东西-也许我遗漏了一些东西

如果做不到这一点,我们可以求助于解决方案
[n]
main.c
中的
int makelevel
变量。这对应于:


作为一个特殊特性,变量MAKELEVEL在从一个级别传递到另一个级别时会发生更改。此变量的值是一个字符串,它是以十进制数表示的标高深度。顶级make的值为“0”1'表示子品牌,2'表示子品牌,依此类推。当make为一个配方设置环境时,会出现增量

如果仔细查看输出,您可能会回答自己的问题。(提示:输入…)提示2-递归?如果我理解正确-这与递归无关-make调用另一make(相同make或不同make)时的[n]增量。。。我说得对吗?@yehudahs:递归就是这样:有东西在自我调用。我知道递归是什么。我在问[n]是否只会在递归时增加(仅当make调用本身时),或者在调用另一个make的每个make中增加…@yehudahs-“make调用自身”和“make调用另一个make”之间有什么区别?你说的是不同版本的
make
?还是另一个makefile?还是别的什么?在make/Makefile的上下文中,“递归”通常指调用另一个make进程的配方,通常在另一个目录/不同的Makefile中。