make的執行流程

2021-09-02 08:06:33 字數 723 閱讀 5108

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

在一些大的工程中,我們會把我們不同模組或是不同功能的原始檔放在不同的目錄中,我們可以在每個目錄中都書寫乙個該目錄的makefile,這有利於讓我們的makefile變得更加地簡潔,而不至於把所有的東西全部寫在乙個makefile中,這樣會很難維護我們的makefile,這個技術對於我們模組編譯和分段...

make的執行過程

make 的執行過程如下 1.依次讀取變數 makefiles 定義的 makefile 檔案列表 2.讀取工作目錄下的 makefile 檔案 根據命名的查詢順序 gnumakefile makefile makefile 首先找到那個就讀取那個 3.依次讀取工作目錄 makefile 檔案中使用...

PHP編譯,執行make報錯

編譯安裝php 的時候,執行make報錯誤 make ext phar phar.php 錯誤 127 root localhost php 5.4.9 mkdir usr local webserver mysql include mysql root localhost php 5.4.9 ln...