1.makefile文件的組成內容
makefile主要由一下5部分組成:bash
- 顯示規則:顯示規則說明了生成一個或多個目標文件的方法和步驟。這是在編寫makefile文件時明顯指出的,包括要生成的文件、生成文件的依賴文件及生成的命令等。
- 隱式規則:因爲make工具備自動推導的功能,因此在編寫makefile文件的時候能夠利用該規則,簡略的書寫makefile,再由makefile工具自己自動推導須要使用的規則。
- 變量的定義:make工具支持變量的定義,這些變量每每都是字符串,所以makefile中的變量更像是C語言中的宏。當makefile被執行時,其中的變量都會被展開到相應的位置上。
- 文件指示:其中包括3部分,一部分是在一個makefile中引導另一個makefile,就像C語言中的include同樣。另外一部分是根據某些狀況指定makefile中的有效部分,就像C語言中的預編譯#if同樣。還有一部分就是定義一個多行的命令。
- 註釋:makefile中支持行註釋,用「#」字符。若是須要#字符,要使用「\」對其進行轉義。
2.makefile文件包含
makefile文件的文件名最好命名爲makefile或者Makefile。由於在默認的狀況下,make命令會在當前目錄下按循序尋找這兩個文件進行解釋。工具
用戶也能夠爲makefile文件自定義文件名,若是使用了自定義的makefile,在執行make時就要添加特定的參數:-f或-file,以下:spa
make -f makefile.make
在makefile中使用include關鍵字能夠把其餘的makefile包含進來:code
include <文件名>
#例如:
include /home/admin/make.mk
#該語句表示當前makefile文件包含/home/admin目錄下的make.mk文件
3.make工具的退出碼
makefile文件執行後有一個退出碼,該退出碼有如下三種狀況。字符串
- 0:表示makefile文件執行成功
- 1:表示makefile文件執行時出現了錯誤
- 2:若是用戶使用了make的-q選項,而且make使一些目標不須要更新,則返回2