規則的語法

通常一條規則形式如下:

targets : prerequisites
    command
...

或:

targets : prerequisites ; command
    command
...

目標(target)是檔的名稱,中間由空格隔開。一般情況下,一條規則只有一個目標,但偶爾由於其他原因一條規則有多個目標。

命令行以Tab字元開始,第一個命令可以和依賴在一行,命令和依賴之間用分號隔開, 也可以在依賴下一行,以Tab 字元為行的開始。這兩種方法的效果一樣,參閱在規則中使用 命令。

因為美元符號已經用為變數引用的開始符,如果您真希望在規則中使用美元符號,您必 須連寫兩次,‘$$’。您可以把一長行在中間插入‘\’使其分為兩行,也就是 說,一行的尾部是’\’的話,表示下一行是本行的繼續行。但這並不是必須的,make 沒有對 makefile 檔中行的長度進行限制。一條規則可以告訴make 兩件事情:何時目標已經過時, 以及怎樣在必要時更新它們。

判斷目標過時的準則和依賴關係密切,依賴也由檔案名構成,檔案名之間由空格隔開, 通配符和檔案成員也允許在依賴中出現。一個目標如果不存在或它比其中一個依賴的修改時 間早,則該目標已經過時。該思想來源於目標是根據依賴的資訊計算得來的,因此一旦任何 一個依賴發生變化,目標檔也就不再有效。目標的更新方式由命令決定。命令由shell 解釋 執行,但也有一些另外的特點。

results matching ""

    No results matching ""