make工作時的執行步驟

OpenSoucre發表於2014-08-03

GNU的make工作時的執行步驟

  (1)讀入所有的Makefile

  (2)讀入被include的其它Makefile

  (3)初始化檔案中的變數

  (4)推導隱晦規則,並分析所有的規則

  (5)為所有的目標檔案建立依賴關係鏈

  (6)根據依賴關係,決定哪些目標重新生成

  (7)執行生存命令

  定義在Makefile中的目標可能會有很多,但是第一條規則中的目標將被確立為最終的目標。如果第一條規則中的目標有很多個,那麼,第一個目標會成為最終的目標。

  為了避免和檔案重名的情況,可以使用一個特殊的標記".PHONY"來顯示地指明一個目標是“偽目標”,向make說明,不管是否有這個檔案,這個目標就是“偽目標”。

  如果make執行時,帶入make引數“-n” 或“--just-print”。那麼其只是顯示命令,但不會執行命令,這個功能有利於除錯Makefile。而make引數“-s”或者“--slient”則是全面禁止命令的顯示

相關文章