makefile中的赋值
延时赋值
= 被调用的时候才会赋值
创建Makefile_test文件代码如下:
A=123
B=$(A)
A=456
.PHONY:all
all:
echo "$(B)"
因为文件名不是Makefile,所以要make -f <文件名>,运行结果如下:
立即赋值
:=
创建Makefile_test文件代码如下:
A=123
B:=$(A)
A=456
.PHONY:all
all:
echo "$(B)"
因为文件名不是Makefile,所以要make -f <文件名>,运行结果如下:
空赋值
?= 只有变量为空的时候赋值才有效
A?=123
A?=456
.PHONY:all
all:
echo "$(A)"
因为文件名不是Makefile,所以要make -f <文件名>,运行结果如下:
追加赋值
+= 给已赋值的变量追加内容
A?=123
B:=$(A)
A+=456
.PHONY:all
all:
echo "$(A)"
因为文件名不是Makefile,所以要make -f <文件名>,运行结果如下: