变量
变量操作符
= 直接对变量赋值,
:= : 右侧是否有变量,如有变量且变量的定义在后边,则忽略该右侧变量,其他情况同=号
+= : 追加赋值
?= : 如果符号左侧的变量已经定义过则跳过该句。
变量高级用法
1. 变量值的替换
- $(var:a=b)”或是${var:a=b}
把变量“var”中所有以“a”字串“结尾”的“a”替换成“b”字串
例:
foo := a.o b.o c.o
bar := $(foo:.o=.c)
- “静态模式”
foo := a.o b.o c.o
bar := $(foo:%.o=%.c)
2.把变量的值再当成变量
x = y
y = z
a := ((((x)
意思为: a:= $(y) => a:= z
比较语法
<conditional-directiv