您好,登錄后才能下訂單哦!
makefile描述規(guī)則:
target...:prerequisites...
command...
其中target為目標文件,prerequisites為依賴文件,command為生成規(guī)則
“-”號:
在makefile命令前加一個減號,表示不管命令是否出錯,都繼續(xù)執(zhí)行后面的操作
自動化變量:
$@表示規(guī)則中目標集合;
$<表示規(guī)則中首個依賴文件(the first prerequisite);
$?表示規(guī)則中所有被改變過的依賴文件;
$^表示所有依賴文件集合。
$+類似$^,但保留了依賴文件中重復出現(xiàn)的文件,主要用于程序鏈接時庫交叉引用的場合。
參見http://www.2cto.com/os/201302/191344.html
override指示符
override為了防止命令行變量定義的值替代Makefile中變量定義的值。需要在Makefile中使用指示符“override”來聲明這個變量,語法為
override<variable>=<value>
override <variable>:=<value>
舉例:假定Makefile為
.PHONY: all override foo = x all: @echo "foo = $(foo)"
執(zhí)行make -f Makefile foo=abc
輸出為 foo = x,去掉override,輸出為 foo=abc。
部分函數(shù)
字符串替換函數(shù)subst:$(subst <from>,<to>,<text>)
將字串<text>中的<from>字符串替換成<to>,返回被替換過后的字符串。
函數(shù)shell:運行shell命令
參數(shù)為操作系統(tǒng)Shell的命令,將執(zhí)行shell命令后的輸出作為函數(shù)返回。
@echo:顯示命令
參見《跟我一起寫makefile》
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。