Makefile = := ?= +=

“=”最基本的賦值方式

“:=”覆蓋之前的值

“?=”若沒有則賦值,有則保留原來的(相當於不執行該賦值操作)

“+=”就是在原的基礎上添加

測試Makefile如下:

var="this is original\n"
ifdef recover
var:="this is recover(:=)\n"
endif
 
ifdef nodefinevalue
var?="this is nodefinevalue(?=)\n"
endif 

ifdef add
var+="this is add(?=)\n"
endif 
all:
	@echo $(var)

運行結果如下:

jump@mylubuntu:/home/mysmbshare/kernel/cdevdriver/export_symbol$ make
this is original

jump@mylubuntu:/home/mysmbshare/kernel/cdevdriver/export_symbol$ make recover=ture
this is recover(:=)

jump@mylubuntu:/home/mysmbshare/kernel/cdevdriver/export_symbol$ make nodefinevalue=ture
this is original

jump@mylubuntu:/home/mysmbshare/kernel/cdevdriver/export_symbol$ make add=ture
this is original
 this is add(?=)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章