Makefile变量分为
即时变量: = 定义的变量,或者是+= 右边的变量是即时变量
延时变量: := 定义的变量
下面举例:
#type1:
# "=" is immediately variable
name1 = zzk
curname1 = $(name1)
name1 = zuozhongkai
#type2:
# ":=" delay variable
name2 = zzk
curname2 := $(name2)
name2 = zuozhongkai
#type3:
# "?=" 如果变量 curname 前面没有被赋值,那么此变量就是“zuozhongkai”,
# 如果前面已经赋过值了,那么就使用前面赋的值
curname2 ?= zzk
curname3 ?= zuozhongkai
#type4
# "+=" append to variable
curname4 = xqshao
curname4 += zuozhongkai
print:
@echo curname1: $(curname1)
@echo curname2: $(curname2)
@echo curname2: $(curname2)
@echo curname3: $(curname3)
@echo curname4: $(curname4)
make 结果如下: