makefile变量说明:
1.总控Makefile中使用“-e”参数覆盖下一层Makefile中的变量。
2.父级Makefile向子级Makefile传送变量方式:export <variable ...>
3.禁止父级Makefile向子级Makefile传送变量:unexport <variable ...>
4.传递所有只要一个export就行,后面什么也不用跟.
5.两个系统变量SHELL,MAKEFLAGS,总是要传递到下层Makefile中
6.MAKEFILES包含了make的参数信息
7.make命令中不往下传递的参数“-C”,“-f”,“-h”“-o”和“-W”
8.如果不想向下传递MAKEFILES变量,可以这样:
subsystem:
cd subdir && $(MAKE) MAKEFLAGS=
9.MAKEFLAGS使用时确保其中的选项是大家都会用到,特别注意“-t”,“-n”,和“-q”参数
10.make的过程中输出目前工作目录的信息可以使用“-w”或是“--print-directory”参数
11.自动打开下层Makefile的"-w"参数使用“-C”参数
12.关闭Makefile的"-w"参数使用“-s”(“--slient”)或是“--no-print-directory”参数
其实我这边看了不加-e也会覆盖!!
而且变量会加到MAKEFLAGS里面,递归传递!
可以将MAKEFLAGS打为空。
例如:
命令行:
make clean; make WWW=1 -j //"WWW" 即为所传递的环境变量
makefile 使用:
ifdef WWW
@cmp -s ./auto_config.h ./project.h || cat ./auto_config.h > ./project.h
else
endif