April
8th,
2015
隐式变量和自动变量常用于自动推导
基本变量
# 定义变量
VAR = variable
- variable中不能包含这些字符: “:”、”#”、”=”,也不能包含空格
- 大小写敏感
- 有四种赋值方式(=、 :=、 ?=、 +=)
# 使用变量
$(VAR)
- 当检测到变量时进行字符串替换,因此定义变量和定义宏是类似的
- 可以用变量定义变量,如 VAR2 = $(VAR)
隐式变量
这些变量使用在隐式规则的推导中
自动变量
这些变量根据上下文(当前规则)自动生成值
- $@ 目标文件
- $^ 全部依赖文件
- $< 全部依赖文件的第一项
- $? 时间戳比目标文件还新的依赖文件
- $(@D)、$(@F) 分别指目标文件的目录名和文件名
- $(<D)、$(<F) 分别指第一项依赖文件的目录名和文件名