变量值的替换。
直接示例
foo := a.o b.o c.o
bar := $(foo:.o=.c)
这个示例中,我们先定义了一个“$(foo)”变量,而第二行的意思是把 “$(foo)”中所有以“.o”字串“结尾”全部替换成“.“.c”,所以我们的“$(bar)” 的值就是“a.c b.c c.c”。
另外一种变量替换的技术是以“静态模式”(参见前面章节)定义的,
如:
foo := a.o b.o c.o
bar :=$(foo:%.o=%.c)
这依赖于被替换字串中的有相同的模式,模式中必须包含一个“%”字 符,这个例子同样让$(bar)变量的值为“a.c b.c c.c”。
—“把变量的值再当成变量这个就没有什么可说的了
x = y
y = z
a := $($(x))
a = y
就是复杂一点,自己梳理一下就好
在这种方式中,或要可以使用多个变量来组成一个变量的名字,然后 再取其值:
first_second = Hello
a = first
b = second
all = $($a_$b)
这种稍稍特殊一点,一般也不这么用