1. 传递变量给子make进程
在没有明确指定的情况下,上层make不会将其所执行的Makefile中定义的变量传递给子make进程。下列情况下变量将传递给子进程:
- make执行前已经存在的环境变量。
- 使用命令行指定的变量(如命令“make CFLAGS +=-g”或者“make –e CFLAGS +=-g”)。
- export VARIABLE ...
- 两个特殊的变量“SHELL”和“MAKEFLAGS”,除非使用指示符“unexport”对它们进行声明,否则在整个make的执行过程中始终被自动的传递给所有的子make。
- 个变量“MAKEFILES”,如果此变量有值(不为空)那么同样它会被自动的传递给子make。