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

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

最佳答案

评论是正确的——[n]指的是递归层次。此时我想指向相关文档,但我扫描了 GNU make documentation在这方面什么也没发现——也许我遗漏了什么。

否则,我们可以求助于 source code . [n]main.c 中的 int makelevel 变量。这对应于 MAKELEVEL automatic make variable :

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

关于compilation - make[n] 中的 [n] 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20728138/

相关文章:

.net - 在.Net中动态生成抽象类

python - Cmake 将 python 编译到构建文件夹中

c - 多个符号定义和静态库

unix - Makefile $@ 变量-它是做什么用的?

makefile - GNU Make 递归扩展变量示例

makefile - GNU make : “Nothing to be done for ' target'” vs. “' 目标'是最新的”

iphone - 如何将资源编译成二进制文件?

makefile - "Makefile"无事可做

linux - 绘制由 make 生成的 DAG?

makefile - 不执行虚假目标的配方