= 最基本的赋值,其值在整个makefile展开后决定
:= 覆盖之前的值,由其值由位置决定
?= 如果没有赋过值,赋与值
+= 增加值
x = "a"
y = $(x) b
x = c
all:
@echo $(y)
@echo $(x)
输出值是
c b
c
x := "a"
y := $(x) b
x := c
all:
@echo $(y)
@echo $(x)
输出值是
a b
c
x = "a"
x ?= "b"
all:
@echo $(x)
输出值是
a
x = "a"
x += "b"
all:
@echo $(x)
输出值是
a b