溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

makefile點滴整理

發(fā)布時間:2020-07-16 03:53:19 來源:網(wǎng)絡(luò) 閱讀:370 作者:johnwei0122 欄目:軟件技術(shù)

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》




向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI