Makefile編寫記錄

2022-06-13 03:33:08 字數 675 閱讀 9503

近期學習 linux 需要使用 makefile,網上蒐羅了很多這方面的資料,所裡在這裡做乙個整理。

1、靜態模式

看乙個例子:

objects =foo.o bar.o

all: $(objects)

$(objects): %.o: %.c

$(cc) -c $(cflags) $< -o $@

上面的例子中,指明了我們的目標從 $object 中獲取,

「%.o」表明要所有以「.o」結尾的目標,也就是「foo.o bar.o」,也就是變數 $object 集合的模式,

而依賴模式「%.c」則取模式「%.o」的「%」,也就是「foo bar」,並為其加下「.c」的字尾,於是,我們的依賴目標就是「foo.c bar.c」。

而命令的「$<」和「$@」則是自動化變數,「$<」表示所有的依賴目標集(也就是「foo.c bar.c」),「$@」表示目標集(也就是「foo.o bar.o」)。

於是,上面的

規則展開後等價於下面的規則:

foo.o : foo.c

$(cc) -c $(cflags) foo.c -o foo.o

bar.o : bar.c

$(cc) -c $(cflags) bar.c -o bar.o

makefile簡說 編寫makefile

linux下原始碼編譯 linux下原始碼編譯c c 通常使用gnu工具鏈。c c 的編譯過程,通常為原始檔 c cc cpp字尾檔案 編譯為中間目標檔案 即生成為.s o等字尾的中間檔案 再通過鏈結生成可執行檔案 編譯器的編譯過程大致分為四個步驟 預處理 編譯 彙編和鏈結 建立乙個專案檔案proj...

makefile編寫說明

1.定義 makefile是通過制定規則來編譯程式的乙個指令碼而已。在linux中使用make命令來執行makefile檔案。2.命名 makefile或makefile,若是指定其他名稱。如 makefile.可以這樣使用make f makefile或make clean f makefile ...

makefile編寫方法

什麼是makefile?或許很多winodws的程式設計師都不知道這個東西,因為那些windows的ide都 為你做了這個工作,但我覺得要作乙個好的和 professional的程式設計師,makefile還是要懂 這就好像現在有這麼多的html的編輯器,但如果你想成為乙個專業人士,你還是要了解 h...