共用方式為


執行 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[ NONESEND | | PROMPT | QUEUE] 已取代。 Windows 錯誤報告 (WER) 設定控制報告。
/F 檔案名稱 檔名 指定為makefile。 空格或索引標籤可以在檔名之前。 針對每個makefile指定 /F 一次。 若要從標準輸入提供makefile,請為檔名指定虛線 (-),並使用 F6CTRL+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 參考