Makefile的編寫快速入門
阿新 • • 發佈:2018-12-16
Makefile的編寫快速入門
在學習Linux下使用C語言程式設計的時候,我們需要為自己的專案編寫一個Makefile檔案,利用Linux中make命令工具來編譯生成一個可執行程式,但是,在更換專案的同時,我們又需要重新編寫Makefile檔案,所以我們需要一種通用的Makefile檔案,每個專案都可以使用同一Makefile檔案。
一、Makefile編寫須知
1. 使用make---Linux自帶的構建器
2. Makefile檔案命名:Makefile/makefile
3. Makefile中的規則:
.目標、依賴、命令
4. Makefile的寫法:
目標:依賴
(tab縮排)命令
5. 自動變數
[email protected]:當前規則中的目標
$<:當前規則中的第一個依賴
$^:當前規則中的所有依賴
只能在規則的命令中使用
6. 模式匹配
%.o:%.c
%.o所有.o檔案
%.c所有.c檔案
二、簡單的Makefile的編寫
target:x.c y.c z.c
gcc x.c y.c z.c -o target
三、通用Makefile的編寫
#生成目標需要的所有依賴
obj = x.o y.o z.o
target = app
$(target):$(obj)
gcc $(obj) -o $(target)
#用模式匹配生成每一個依賴
% .o:%.c
gcc -c $< -o [email protected]
#.PHONY宣告偽目標,rm之前的-為忽略執行命令產生的錯誤繼續往下執行
#-f為強制刪除,不提示找不到某檔案的資訊
.PHONY:clean
clean:
-rm $(obj) $(target) -f
在更換專案時只需要更改相應的依賴(更改obj的值),再進行make即可。
偽目標宣告是為了檔案目錄不會有對應名稱的檔案對meke構建造成影響。
四、使用
1.make
2.make clean