1.在makefile中存在一些预定义的变量
1.自动变量
- $@ 当前规则中触发命令被执行的目标
- $^ 当前规则中的所有依赖
- $< 当前规则中的第一个依赖
2.注意
- "$"对于makefile有特殊含义 输出时需要加入一个"$"进行转义
- "$@"对于Bash Shell有特殊含义 输出时需要加入"\"进行转义
3.一些特殊变量的含义
- $(MAKE)
当前make解释器的文件名
- $(MAKECMDGOALS)
命令行中指定的目标名(make的命令行参数)
- $(MAKEFILE_LIST)
make所需要处理的makefile文件列表
当前makefile的文件名总是位于列表的最后
文件名之间以空格进行分隔
- $(MAKE_VERSION)
当前make解释器的版本
- $(CURDIR)
当前make解释器的工作目录
- $(.VARIABLES)
所有已经定义的变量名列表(预定义变量和自定义变量)