make 的執行過程如下:
1. 依次讀取變數「 makefiles」定義的 makefile 檔案列表
2. 讀取工作目錄下的 makefile 檔案(根據命名的查詢順序「 gnumakefile」,
「 makefile」,「 makefile」,首先找到那個就讀取那個)
3. 依次讀取工作目錄 makefile 檔案中使用指示符「 include」包含的檔案
4. 查詢重建所有已讀取的 makefile 檔案的規則(如果存在乙個目標是當前讀取的
某乙個 makefile 檔案,則執行此規則重建此 makefile 檔案,完成以後從第一步
開始重新執行)
5. 初始化變數值並展開那些需要立即展開的變數和函式並根據預設條件確定執行
分支6. 根據「終極目標」以及其他目標的依賴關係建立依賴關係鍊錶
7. 執行除「終極目標」以外的所有的目標的規則(規則中如果依賴檔案中任乙個
檔案的時間戳比目標檔案新,則使用規則所定義的命令重建目標檔案)
8. 執行「終極目標」所在的規則
說明:執行乙個規則的過程是這樣的:
對於乙個存在的規則(明確規則和隱含規則)首先, make程式將比較目標檔案和所有的依賴文
件的時間戳。如果目標的時間戳比所有依賴檔案的時間戳更新(依賴檔案在上一次執行make之後沒
有被修改),那麼什麼也不做。否則(依賴檔案中的某乙個或者全部在上一次執行make後已經被修
改過),規則所定義的重建目標的命令將會被執行。這就是make工作的基礎,也是其執行規制所定
義命令的依據.
make 執行過程簡單概述
make的引入,使得乙個大型複雜的linux 可以被裁剪定製為都有功能的專案,這也很容易理解,不可能任何乙個專案都要包含linux的所有功能。功能類似於c語言程式中的 條件編譯 make的執行過程可以簡單的分為2個階段,第乙個階段,它會讀取所有的makefile檔案以及包含的makefile檔案等,...
MAKE 巢狀執行make
在一些大的工程中,我們會把我們不同模組或是不同功能的原始檔放在不同的目錄中,我們可以在每個目錄中都書寫乙個該目錄的makefile,這有利於讓我們的makefile變得更加地簡潔,而不至於把所有的東西全部寫在乙個makefile中,這樣會很難維護我們的makefile,這個技術對於我們模組編譯和分段...
make的執行流程
make 的執行過程如下 1.依次讀取變數 makefiles 定義的 makefile 檔案列表 2.讀取工作目錄下的 makefile 檔案 根據命名的查詢順序 gnumakefile makefile makefile 首先找到那個就讀取那個 3.依次讀取工作目錄 makefile 檔案中使用...