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

时间:2013-12-22 09:52:14

标签: compilation makefile gnu-make

当我使用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]是什么意思?

1 个答案:

答案 0 :(得分:1)

评论是正确的 - [n]指的是递归级别。在这一点上,我想指出相关的文档,但我在GNU make documentation的扫描在这方面没有发现 - 也许我错过了一些东西。

如果做不到这一点,我们可以转向source code[n]int makelevel中的main.c变量。这对应于MAKELEVEL automatic make variable

作为一项特殊功能,变量MAKELEVEL在从一个级别传递到另一个级别时会发生变化。此变量的值是一个字符串,它是十进制数的级别深度。顶级make的值为'0';子项的“1”,子项的“2”,依此类推。当make为配方

设置环境时,会发生增量