包含其他Makefile文件

include指令告訴make暫停讀取當前的makefile檔,先讀完include指令指定的makefile 檔後再繼續。指令在makefile檔占單獨一行,其格式如下:

include filenames...

filenames可以包含shell檔案名的格式。 在 include 指令行,行開始處的多餘的空格是允許的,但make 處理時忽略這些空格, 注意該行不能以Tab 字元開始(因為,以Tab字元開始的行,make認為是命令行)。include 和檔案名之間以空格隔開,兩個檔案名之間也以空格隔開,多餘的空格make處理時忽略, 在該行的尾部可以加上以‘#’為起始的注釋。檔案名可以包含變數及函數調用,它們在處理 時由make進行擴展(具體內容參閱使用變數一節)。 例如,有三個‘.mk’文件:‘a.mk’、‘b.mk’和‘c.mk’,變數$(bar)擴展為bish bash,則下面 的表達是:

include foo *.mk $(bar)
和‘include foo a.mk b.mk c.mk bish bash’等價。

當 make遇見include指令時, make就暫停讀取當前的makefile文件,依次讀取列舉的 makefile檔,讀完之後,make再繼續讀取當前makefile檔中include指令以後的內容。 使用include 指令的一種情況是幾個程式分別有單獨的makefile 檔,但它們需要一系列 共同的變數定義(詳細內容參閱設置變數),或者一系列共同的格式規則(詳細內容參閱定 義與重新定義格式規則)。 另一種使用include 指令情況是需要自動從原始檔案為目標產生依賴的情況,此時,依 賴在主makefile檔包含的檔中。這種方式比其他版本的make把依賴附加在主makefile檔後 部的傳統方式更顯得簡潔。具體內容參閱自動產生依賴。

results matching ""

    No results matching ""