Linux makefile中的= := ?=操作符
生活随笔
收集整理的這篇文章主要介紹了
Linux makefile中的= := ?=操作符
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在Linux的makefile中,可以使用=,:=,?=賦值語(yǔ)句,但是它們的含義是不同的。下面分別說(shuō)明:
=
是變量在使用的時(shí)候才真正的把值賦給它,也就是說(shuō)延遲賦值。
:=
即時(shí)賦值,不會(huì)等到真正使用的時(shí)候,而是在定義的時(shí)候就替換了。
?=
條件賦值,只有當(dāng)這個(gè)變量在前面沒(méi)有定義過(guò)的時(shí)候才執(zhí)行賦值操作,否則什么也不錯(cuò)。
請(qǐng)看下面的示例代碼:
VAR1 = 1234 VAR2 =$(VAR1) VAR3 := $(VAR1) VAR4 = 7890 VAR4 ?= $(VAR1) VAR1 = 5678test:@echo VAR1 = $(VAR1)@echo VAR2 = $(VAR2)@echo VAR3 = $(VAR3)@echo VAR4 = $(VAR4)執(zhí)行效果如下:
VAR1 = 5678
VAR2 = 5678
VAR3 = 1234
VAR4 = 7890
總結(jié)
以上是生活随笔為你收集整理的Linux makefile中的= := ?=操作符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于Rocchio算法和向量空间模型反馈
- 下一篇: 判断一个字符串的所有字符是否都在另一个字