Makefile中include的暗黑操作(總結)

2021-08-16 01:58:49 字數 544 閱讀 6952

makefile中include關鍵字在使用的過程中有很多暗黑操作,下面進行乙個總結。

(1)目標檔案不存在查詢對應的規則並執行;如果規則中建立了目標檔案,將建立的目標檔案包含進當前的makefile;

(2)目標檔案存在將目標檔案包含進當前的makefile,接著繼續查詢對應的規則並執行;如果規則中建立了目標檔案,將建立的目標檔案重新包含進當前的makefile;

可以發現,上面(2)中斜體部分和(1)中有很多相同的處理流程

對於include關鍵字,make對其的處理可總結為下面三步,這三步要依次執行直到這一步執行滿足不了了才退出。

step 1:檢視檔案是否存在;

step 2:搜尋規則並執行;

step 3:如果目標檔案被改變則更新makefile;

目標檔案;對應規則;更新makefile

Ant內建任務import與include的區別

import與include的主要區別是 import會覆蓋target,而include會重寫target。使用import時,被匯入的target可能有兩個名稱。乙個是正常的沒有任何字首的名稱,潛在的有字首的名稱 字首為import的as屬性值或者這被匯入檔案的project的name屬性值 而...

Makefile 中 的區別

在makefile中我們經常看到 這幾個賦值運算子,那麼他們有什麼區別呢?我們來做個簡單的實驗 新建乙個makefile,內容為 ifdef define vre vre hello world else endif ifeq opt define vre hello world first end...

Makefile 中 的區別

在makefile中我們經常看到 這幾個賦值運算子,那麼他們有什麼區別呢?我們來做個簡單的實驗 新建乙個makefile,內容為 ifdef define vre vre hello world else endif ifeq opt define vre hello world first end...