预定义变量的使用
- 自动变量
- $@ 当前规则中出发命令被执行的目标
- $^ 当前规则中的所有依赖
- $<当前规则中的第一个依赖
自动变量使用示例&#xff1a;
all&#xff1a;first second third&#64;echo "\$$&#64; &#61;> $&#64;"&#64;echo "$$^ &#61;> $^"&#64;echo "$$<&#61;> $<"
注意&#xff1a;
1、"$"对于makefile有特殊含义
* 输出时需要加上一个"$"进行转义
2、"$&#64;"对于Bash Shell有特殊含义
* 输出时需要加上"\"进行转义
- 特殊变量
- $(MAKE)
当前make解释器的文件名 - $(MAKECMDGOALS)
命令行中指定的目标名&#xff08;make的命令行参数&#xff09; - $(MAKEFILE_LIST)
- make所需要处理的makefile文件列表
- 当前makefile的文件名总是位于列表的租后
- 文件名之间以空格进行分隔
- $(MAKE)
预定义变量示例1&#xff1a;
* (CURDIR) 当前make解释器的工作目录 * $(>VARIABLES) 所有已经定义的变量名列表&#xff08;预定义变量和自定义变量&#xff09;小结
* makefile提供了预定义变量供开发者使用
* 预定义变量的使用能够使得makefile的开发更高效
* 自动变量是makefile中最常见的元素
* 使用($.VARIABLES)能够获取所有的特殊变量