原創 Makefile知識點總結

2021-08-14 21:13:26 字數 1592 閱讀 9617

1.makefile只有行注釋,注釋是用"#"字元,如果在makefile中使用「#」字元,可以用反斜框進行轉義,如"\#"。

2.makefile的預設檔名為makefile或makefile,不然命令make無法執行。當然你也可以使用別的檔名來書寫

makefile,比如:"make.linux","make.aix"等,如果要指定特定的makefile,你可以使用make的"-f"引數,如:

make -f make.linux。

3.引用其他的makefile:

在makefile使用include關鍵字可以把別的makefile包含進來,這很像c語言的#include,被包含的檔案會原模原樣的放在當前檔案的包含位置。include的語法是:

includefilename可以是當前作業系統shell的檔案模式(可以保含路徑和萬用字元)

在include前面可以有一些空字元,但是絕不能是[tab]鍵開始。include和可以用乙個或多個空格隔開。舉個例子,你有這樣幾個makefile:a.mk、b.mk、c.mk,還有乙個檔案叫foo.make,以及乙個變數$(bar),其包含了e.mk和f.mk,那麼,下面的語句:

include foo.make *.mk $(bar)

等價於:

include foo.make a.mk b.mk c.mk e.mk f.mk

make命令開始時,會把找尋include所指出的其它makefile,並把其內容安置在當前的位置。就好像c/c++的#include指令一樣。如果檔案都沒有指定絕對路徑或是相對路徑的話,make會在當前目錄下首先尋找,如果當前目錄下沒有找到,那麼,make還會在下面的幾個目錄下找:

1.如果make執行時,有「-i」或「--include-dir」引數,那麼make就會在這個引數所指定的目錄下去尋找。
2.如果目錄/include(一般是:/usr/local/bin或/usr/include)存在的話,make也會去找。

如果有檔案沒有找到的話,make會生成一條警告資訊,但不會馬上出現致命錯誤。它會繼續載入其它的檔案,一旦完成makefile的讀取,make會再重試這些沒有找到,或是不能讀取的檔案,如果還是不行,make才會出現一條致命資訊。如果你想讓make不理那些無法讀取的檔案,而繼續執行,你可以在include前加乙個減號「-」。如:

-include

其表示,無論include過程中出現什麼錯誤,都不要報錯繼續執行。和其它版本make相容的相關命令是sinclude,其作用和這乙個是一樣

4.makefile的內嵌變數curdir,自動設定為當前目錄

5.make_version                #make 版本   

curdir                            

#make 執行時的所在目錄

makefile_list                 #make 用到的檔案

makecmdgoals              #make的目標

cc:c語言編譯器的名稱



makefile知識點總結

目錄 粗略的makefile的規則 使用流程 示例1 使用技巧 1.使用變數 2.make會自動推導 target prerequisites command target是目標檔案 冒號後面是以來檔案 1.在乙個名字為 makefile 或者 makefile 的檔案中寫出依賴關係 心得體會 gc...

Makefile細碎知識點記錄

由於有些規則用的少,記不住,但還是時不時能用到,開個記錄帖記一下這些零散的規則。參考文件 跟我一起學makefile 1.忽略某些檔案 include2.環境變數 makefiles 如果當前環境中定義了該變數,make 會把該變數當作類似 include 的動作,但該變數引入的目標不會起作用,如果...

知識點總結

1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...