Makefile 工程管理

Ⅰ Makefile的用途

使用GNU Make工具來管理程序是每個Linux工程師必須掌握的技能。Make能夠使整個程序的編譯、鏈接只需要一個命令(make)就可以完成。

Ⅱ Makefile的構(gòu)成

Ⅲ Makefile構(gòu)成-----規(guī)則

規(guī)則:用于說明如何生成目標(biāo)文件,規(guī)則的格式
如下:
targets : prerequisites
command
目標(biāo) 依賴 命令
特別提供:命令需要使用【TAB】鍵空格
示例:
led.bin: led.o
arm-linux-ld -Tled.lds -o led.elf led.o

Ⅳ Makefile構(gòu)成-----偽目標(biāo)

Makefile中把那些只包含命令,沒有任何依
賴的目標(biāo)稱為”偽目標(biāo)”(phony targets).
.PHONY : clean
clean :
rm –f hello main.o func.o
“.PHONY” 將“clean”目標(biāo)聲明為偽目標(biāo)

ⅤMakefile構(gòu)成-----變量

使用變量前:
app1: app1.o func1.o func2.o
gcc app1.o func1.o func2.o -o app1
app2: app2.o func1.o func2.o
gcc app2.o func1.o func2.o -o app2
使用變量后:
obj=func1.o func2.o
app1: app1.o $(obj)
gcc app1.o $(obj) -o app1
app2: app2.o $(obj)
gcc app2.o $(obj) -o app2


默認(rèn)變量:
$^:代表所有的依賴文件
$@:代表目標(biāo)
$<:代表第一個依賴文件
使用前:
led.o : led.S
arm-linux-gcc -g –o led.o -c led.S
使用后:
led.o : led.S
arm-linux-gcc -g –o $@ -c $^
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容