執行 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 發出)

另請參閱

NMAKE 參考