十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
makefile描述規(guī)則:
創(chuàng)新互聯(lián)10多年企業(yè)網(wǎng)站建設(shè)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站建設(shè)及推廣,對(duì)崗?fù)?/a>等多個(gè)方面擁有多年的網(wǎng)站推廣經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
target...:prerequisites...
command...
其中target為目標(biāo)文件,prerequisites為依賴文件,command為生成規(guī)則
“-”號(hào):
在makefile命令前加一個(gè)減號(hào),表示不管命令是否出錯(cuò),都繼續(xù)執(zhí)行后面的操作
自動(dòng)化變量:
$@表示規(guī)則中目標(biāo)集合;
$<表示規(guī)則中首個(gè)依賴文件(the first prerequisite);
$?表示規(guī)則中所有被改變過的依賴文件;
$^表示所有依賴文件集合。
$+類似$^,但保留了依賴文件中重復(fù)出現(xiàn)的文件,主要用于程序鏈接時(shí)庫(kù)交叉引用的場(chǎng)合。
參見http://www.2cto.com/os/201302/191344.html
override指示符
override為了防止命令行變量定義的值替代Makefile中變量定義的值。需要在Makefile中使用指示符“override”來聲明這個(gè)變量,語法為
override
override
舉例:假定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
將字串
函數(shù)shell:運(yùn)行shell命令
參數(shù)為操作系統(tǒng)Shell的命令,將執(zhí)行shell命令后的輸出作為函數(shù)返回。
@echo:顯示命令
參見《跟我一起寫makefile》