執行 NMAKE
語法
NMAKE
[ option ...][ 宏 ...][ targets ...][@
command-file ...]
備註
NMAKE 只會建置指定的 目標,或在未指定任何目標 時,建立 makefile 中的第一個目標。 第一個 makefile 目標可以是建置其他目標的虛擬目標 。 NMAKE 使用以 /F
指定的 makefiles,如果 /F
未指定,則為目前目錄中的 Makefile 檔案。 如果未指定 makefile,它會使用推斷規則來建置命令列 目標 。
命令 檔 文字檔(或回應檔)包含命令列輸入。 其他輸入可以在 @ command-file 之前或之後。 允許路徑。 在命令列檔案 中 ,分行符號會被視為空格。 如果巨集定義包含空格,請以引號括住。
NMAKE 選項
下表說明 NMAKE 選項。 選項前面有斜線 ( /
) 或虛線 ( -
),且不區分大小寫。 使用 !CMDSWITCHES
來變更 makefile 或 中的 Tools.ini
選項設定。
選項 | 目的 |
---|---|
/A |
強制建置所有已評估的目標,即使與相依專案不過期也一樣。 不強制建置不相關的目標。 |
/B |
即使時間戳記相等,仍強制建置。 建議只用于快速系統(解析度為兩秒以下)。 |
/C |
隱藏預設輸出,包括非嚴重 NMAKE 錯誤或警告、時間戳記和 NMAKE 著作權訊息。 隱藏 所 /K 發出的警告。 |
/D |
顯示每個評估目標與相依的時間戳記,以及目標不存在時訊息。 適用于 /P 偵錯 makefile。 使用 !CMDSWITCHES 來設定或清除 /D makefile 的一部分。 |
/E |
導致環境變數覆寫 makefile 巨集定義。 |
/ERRORREPORT [ NONE | PROMPT | QUEUE | SEND ] |
已取代。 Windows 錯誤報告 (WER) 設定控制項報告。 |
/F 檔案名稱 |
將 檔案名 指定為 makefile。 空格或索引標籤可以在檔案名 之前 。 針對每個 makefile 指定 /F 一次。 若要從標準輸入提供 makefile,請為檔案名指定虛線 ( - ),並使用 F6 或 CTRL+Z 指定結束鍵盤輸入 。 |
/G |
顯示 隨附于 指示詞的 !INCLUDE Makefiles。 如需詳細資訊,請參閱 Makefile 前置處理指示詞 。 |
/HELP , /? |
顯示 NMAKE 命令列語法的簡短摘要。 |
/I |
忽略所有命令的結束代碼。 若要設定或清除 /I makefile 的一部分,請使用 !CMDSWITCHES 。 若要忽略 makefile 部分的結束代碼,請使用虛線 ( - ) 命令修飾詞 或 .IGNORE 。 如果同時指定兩者,則覆 /K 寫 。 |
/K |
如果命令傳回錯誤,請繼續建置不相關的相依性。 也會發出警告,並傳回 1 的結束代碼。 根據預設,如果有任何命令傳回非零結束代碼,NMAKE 就會停止。 /K 的警告會由 /C 隱藏; /I 如果同時指定兩者,則會覆 /K 寫 。 |
/N |
顯示但不執行命令;會執行前置處理命令。 不會在遞迴 NMAKE 呼叫中顯示命令。 適用于偵錯 makefiles 和檢查時間戳記。 若要設定或清除 /N makefile 的一部分,請使用 !CMDSWITCHES 。 |
/NOLOGO |
隱藏 NMAKE 著作權訊息。 |
/P |
將資訊(巨集定義、推斷規則、目標、 .SUFFIXES 清單)顯示至標準輸出,然後執行組建。 如果沒有 makefile 或命令列目標存在,它只會顯示資訊。 使用 搭配 /D 來偵錯 makefile。 |
/Q |
檢查目標的時間戳記;不會執行組建。 如果所有目標都是最新的,則傳回零結束代碼,如果有任何目標過期,則傳回非零結束代碼。 會執行前置處理命令。 從批次檔執行 NMAKE 時很有用。 |
/R |
清除 .SUFFIXES 清單,並忽略檔案或 Tools.ini 預先定義的推斷規則和宏。 |
/S |
隱藏執行命令的顯示。 若要隱藏 makefile 的一部分顯示,請使用 @ 命令修飾詞 或 .SILENT 。 若要設定或清除 /S makefile 的一部分,請使用 !CMDSWITCHES 。 |
/T |
更新命令列目標的時間戳記(或第一個 makefile 目標),並執行前置處理命令,但不會執行組建。 |
/U |
必須與 搭配 /N 使用。 傾印內嵌 NMAKE 檔案,以便 /N 將輸出當做批次檔使用。 |
/X 檔案名稱 |
將 NMAKE 錯誤輸出傳送至 檔案名 ,而不是標準錯誤。 空格或索引標籤可以在檔案名 之前 。 若要將錯誤輸出傳送至標準輸出,請指定檔案名 的 虛線 ( - )。 不會影響命令輸出至標準錯誤。 |
/Y |
停用批次模式推斷規則。 選取此選項時,所有批次模式推斷規則都會被視為一般推斷規則。 |
Tools.ini 和 NMAKE
NMAKE 會在讀取 makefiles 之前讀取 Tools.ini
,除非 /R
使用。 它會先在目前目錄中尋找 Tools.ini
,然後在 INIT 環境變數所指定的目錄中尋找 。 初始化檔案中 NMAKE 設定的 區段會以 開頭 [NMAKE]
,而且可以包含任何 makefile 資訊。 在以數位記號 ( #
) 開頭的個別行上指定批註。
NMAKE 的結束代碼
NMAKE 會傳回下列結束代碼:
代碼 | 意義 |
---|---|
0 | 沒有錯誤(可能是警告) |
1 | 未完成的組建(只有在使用時才 /K 發出) |
2 | 程式錯誤,可能是下列其中一個問題所造成: - makefile 中的語法錯誤 - 命令的錯誤或結束代碼 - 使用者中斷 |
4 | 系統錯誤 - 記憶體不足 |
255 | 目標不是最新的(只有在使用時才 /Q 發出) |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應