0.makefile檔案可以命名為 makefile makefile
0.1 makefile的格式:
targets : prerequisites
command
1.makefile 的命令一定要用【tab】鍵
2.在命令和非命令行前加 「 - 」 ,代表如果這裡出錯忽略,比如
-include foo.make 如果找不到也繼續進行下去
clean:
-rm $obj 這是在命令之前,如果沒找到obj檔案也繼續執行下去
但是盡量不要這麼做,報錯而又繼續進行,那是很不好的。
3.第二中的clean是一種偽命令,由於clean在的位置比較特別,是乙個檔案的位置,有可能會被當做檔案來對待,為了清楚,一般會像下面這樣做:
.phony: clean
clean:
rm *.o temp
4.由於makefile檔案的第乙個會被當做預設目標,那要如何才能一次性生成多個目標,
通過以上的偽目標,我們就可以實現,像如下的做法:
all : prog1 prog2 prog3
.phony : all
prog1 : prog1.o utils.o
cc -o prog1 prog1.o utils.o
prog2 : prog2.o
cc -o prog2 prog2.o
prog3 : prog3.o sort.o utils.o
cc -o prog3 prog3.o sort.o utils.o
這樣就可以生成三個最終的目標。其實可以看出目標可以成為依賴,偽目標也可以成為依賴
Makefile一些摘要
makefile裡主要包含了五個東西 顯式規則 隱晦規則 變數定義 檔案指示和注釋。顯式規則。顯式規則說明了,如何生成乙個或多的的目標檔案。這是由makefile的書寫者明顯指出,要生成的檔案,檔案的依賴檔案,生成的命令。隱晦規則。由於我們的make有自動推導的功能,所以隱晦的規則可以讓我們比較粗糙...
Makefile一些規則
一 makefile 的規則 在講述這個 makefile 之前,還是讓我們先來粗略地看一看makefile 的規則。target prerequisites command target也就是乙個目標檔案,可以是object file,也可以是執行檔案。還可以是乙個標 籤 label 對於標籤這種...
Makefile中常用的一些符號
1 環境變數 1.1 編譯器 cc c語言編譯器,預設值為gcc cxx c 語言編譯器,預設值為g 說明 這是預設的變數,無需使用者自定義 但是使用者可以修改其值,例如cc arm linux gcc,用於交叉編譯 1.2 編譯器引數 cflags c語言編譯器的編譯選項 ldflags c語言編...