Make讀取Makefile檔的過程

GNU make 把它的工作明顯的分為兩個階段。在第一階段,make 讀取makefile 檔,包 括makefile檔本身、內置變數及其值、隱含規則和具體規則、構造所有目標的依靠圖表和它 們的依賴等。在第二階段,make 使用這些內置的組織決定需要重新構造的目標以及使用必 要的規則進行工作。

瞭解make兩階段的工作方式十分重要,因為它直接影響變數、函數擴展方式;而這也 是編寫makefile檔時導致一些錯誤的主要來源之一。下面我們將對makefile檔中不同結構的 擴展方式進行總結。我們稱在make工作第一階段發生的擴展是立即擴展:在這種情況下, make 對makefile 檔進行語法分析時把變數和函數直接擴展為結構單元的一部分。我們把不 能立即執行的擴展稱為延時擴展。延時擴展結構直到它已出現在上下文結構中或make已進 入到了第二工作階段時才執行展開。

results matching ""

    No results matching ""