makefile中的特殊目標

2021-09-21 05:55:36 字數 983 閱讀 4756

一、makefile的特殊目標

在 makefile 中,有一些名字,當它們作為規則的目標時,具有特殊含義。它們是一些特殊的目標,gnu make 所支援的特殊的目標有:

.phony:

目標「.phony」的所有的依賴被作為偽目標。偽目標時這樣乙個目標:當使用make命令列指定此目標時,這個目標所在規則定義的命令、無論目標檔案是否存在都會被無條件執行。

.suffixes:

特殊目標「suffixes」的所有依賴指出了一系列在字尾規則中需要檢查的字尾名(就是當前make需要處理的字尾)。

.default

makefile 中,目標「.default」所在規則定義的命令,被用在重建那些沒有具體規則的目標(明確規則和隱含規則)。就是說乙個檔案作為某個規則的依賴,但卻不是另外乙個規則的目標時。make 程式無法找到重建此檔案的規則,此種情況時就執行「.default」所指定的命令。

.precious

目標「.precious」的所有依賴檔案在make過程中會被特殊處理:當命令在執行過程中被中斷時,make不會刪除它們。而且如果目標的依賴檔案是中間過程檔案,同樣這些檔案不會被刪除。這一點目標「.precious」和目標「.seconday」實現的功能相同。

.intermediate

目標「.intermediate」的依賴檔案在make時被作為中間過程檔案對待。沒有任何依賴檔案的目標「.intermediate」沒有意義。

.secondary

目標「.secondary」的依賴檔案被作為中間過程檔案對待。但這些檔案不會被自動刪除。

.delete_on_error

如果在makefile中存在特殊目標「.delete_on_error」,make在執行過程中,如果規則的命令執行錯誤,將刪除已經被修改的目標檔案。

.ignore

如果給目標「.ignore」指定依賴檔案,則忽略建立這個檔案所執行命令的錯誤。給此目標指定命令是沒有意義的。當此目標沒有依賴檔案時,將忽略所有命令執行的錯誤。

Makefile的特殊目標

makefile的特殊目標 在makefile中,有一些名字,當它們作為規則的目標時,具有特殊含義。它們是一些特殊的目標,gnu make所支援的特殊的目標有 phony 目標 phony 的所有的依賴被作為偽目標。偽目標時這樣乙個目標 當使用make命令列指定此目標時,這個目標所在規則定義的命令 ...

Makefile中的偽目標

華清遠見嵌入式學院 講師。所謂偽目標就是這樣乙個目標,它不代表乙個真正的檔名,在執行make時可以指定這個目標來執行其所在規則定義的命令,有時我們將乙個偽目標成為標籤。那麼到底什麼是偽目標呢?可能作為初學者還不會在乎這個問題,下面我們來看下我們將在什麼時候需要它。首先來看下面乙個例子 當前目錄下只有...

makefile中偽目標詳解

偽目標 下面解釋make是如何工作的 1 當遇到目標體clean時,make先檢視其是否有依賴體,因為clean沒有依賴體,所以make認為目標體是最新的而不執行任何操作.為了編譯這個目標體,必須輸入make clean.2 輸入make clean,此時假設該目錄下面不存在名為clean的檔案,那...