1. 程式人生 > >makefile 的執行順序

makefile 的執行順序

make的執行過程如下:
1. 依次讀取變數“MAKEFILES”定義的makefile檔案列表
2. 讀取工作目錄下的makefile檔案(根據命名的查詢順序“GNUmakefile”,“makefile”,“Makefile”,首先找到那個就讀取那個)
3. 依次讀取工作目錄makefile檔案中使用指示符“include”包含的檔案
4. 查詢重建所有已讀取的makefile檔案的規則(如果存在一個目標是當前讀取的某一個makefile檔案,則執行此規則重建此makefile檔案,完成以後從第一步開始重新執行)
5. 初始化變數值並展開那些需要立即展開的變數和函式並根據預設條件確定執行分支
6. 根據“終極目標”以及其他目標的依賴關係建立依賴關係連結串列


7. 執行除“終極目標”以外的所有的目標的規則(規則中如果依賴檔案中任一個檔案的時間戳比目標檔案新,則使用規則所定義的命令重建目標檔案)
8. 執行“終極目標”所在的規則