六 另類風格的makefile

2021-06-18 17:03:10 字數 599 閱讀 1420

即然我們的make可以自動推導命令,那麼我看到那堆[.o]和[.h]的依賴就有點不爽,那麼多的重複的[.h],能不能把其收攏起來,好吧,沒有問題,這個對於make來說很容易,誰叫它提供了自動推導命令和檔案的功能呢?來看看最新風格的makefile吧。 

objects = main.o kbd.o command.o display.o \ 

insert.o search.o files.o utils.o 

edit : $(objects) 

cc -o edit $(objects) 

$(objects) : defs.h 

kbd.o command.o files.o : command.h 

display.o insert.o search.o files.o : buffer.h 

.phony : clean 

clean : 

rm edit $(objects) 

這種風格,讓我們的makefile變得很簡單,但我們的檔案依賴關係就顯得有點凌亂了。魚和熊掌不可兼得。還看你的喜好了。我是不喜歡這種風格的,一是檔案的依賴關係看不清楚,二是如果檔案一多,要加入幾個新的.o檔案,那就理不清楚了。 

Makefile詳解 另類風格

即然我們的make可以自動推導命令,那麼我看到那堆 o 和 h 的依賴就有點不爽,那麼多的重複的 h 能不能把其收攏起來,好吧,沒有問題,這個對於make來說很容易,誰叫它提供了自動推導命令和檔案的功能呢?來看看最新風格的makefile吧。objects main.o kbd.o command....

Makefile教程 六 MakeFile使用函式

一 if函式 if函式很像gnu的make所支援的條件語句 ifeq,if函式的語法是 if 或是 if 可見,if函式可以包含 else 部分,或是不含。即if函式的引數可以是兩個,也可以是三個。引數是if的表示式,如果其返回的為非空字串,那麼這個表示式就相當於返回真,於是,會被計算,否則會被計算...

Makefile學習筆記(六)

foreach函式是用來做迴圈的,語法規則是 foreach 函式的功能就是把引數list中的單詞逐個取出放在引數var所指定的變數中,然後執行text所包含的表示式。每一次text會返回乙個字串,迴圈過程中,text所返回的每個字串以空格分隔,最後當整個迴圈結束時,text所放回的每個字串所組成的...