+ := += ?=

(1)通过“=”来实现

例如:

a1= $(a2)

a2= $(a3)

a3= a.o

这种方式下变量a1的值是a.o,也就是说前面的变量可以通过后面的变量来定义。但使用这种方式定义变量时,要防止出现死循环的情况。

(2)通过“:=”来实现

例如:

a1:= a.o

a2:= $(a1) b.o

这种方式下变量a1的值是a.o,变量a2的值是a.o b.o。

例如:

a1:= $(a2) b.o

a2:= a.o

这种方式下变量a1的值是b.o,而不是“a.o b.o”。也就是说前面的变量不能通过后面的变量来定义。

(3)通过“+=”来实现

例如:

a1= a.o

a1+= b.o

这种方式下变量a1的值是“a.o b.o”。也就是说“+=”可以实现给变量追加值。等同于如下示例:

a1= a.o

a1:= $(a1) b.o

可以看到,Makefile的“+=”和C语言中的“+=”是非常相似的。

(4)通过“?=”来实现

例如:

a1:= a.o

a1?=b.o

这种方式下变量a1的值是a.o,而不是b.o。也就是说,如果变量a1已经在前面定义过了,那么后面的定义就无效了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值