文法:
NMAKE [options] [macros] [targets]
其中,options是NMAKE的選項,macros是在指令行中的宏定義,targets是NMAKE的目标檔案清單。
選項(忽略大小寫):
1) /A 強制重新構件所有與NMAKE的target相關的dependents,即使這些dependents 并沒有過期;
2) /B 即使dependent與target有相同的time stamp,也重建該target。大部分的OS中的time stamp是以2秒為機關的,如果
一個2秒之内被修改,那麼它的time stamp将不會有任何變化。在這種情況下,你就需要使用該選項讓NMAKE重建之。為了
預防萬一,總是應該使用該選項,盡管可能會導緻不必要的重建操作。
3) /C 屏蔽掉大部分的NMAKE輸出資訊,包括:非緻命錯誤資訊,警告資訊,time stamp和版權資訊。如果/C和/K選項同時存
在,則/K發出的警告資訊也會被幹掉。
4) /D 在NMAKE執行期間顯示相關的資訊。包括每個檔案的time stamp,依賴關系,以及類似于“檔案不存在”之類的提示資訊。
用于對makefile除錯;
5) /E 使環境變量可以覆寫預定義宏;
6) /F filename 指定makefile的名字。如果用“-”代替filename,則NMAKE從STDIN 擷取makefile的輸入(對于鍵盤終端,
用F6或CTRL+Z來結束輸入)。可以指定多個makefile,每個makefile前都要有一個/F。
如果沒有/F選項,則NMAKE會在目前目錄查找一個名為MAKEFILE(沒字尾)的檔案作為makefile,如果找不
到,則對指令行目标檔案使用推導規則。
7) /HELP 顯示幫助;
8) /I 忽略makefile中所有指令的傳回值;
9) /K 當某條指令出現錯誤時并不退出而是繼續執行其他指令。在預設的情況下,如果任何一條指令傳回非0值,NMAEK就回終止執
行。當打開/K選項後,NMAKE會繼續執行其他指令,但不會建構與出錯指令相關的檔案,而是發出一條警告資訊。如果/K選
項打開,同時建構無法完成,則NMAKE傳回1;
10) /M 在MS-DOS下,将NMAKE程式交換到磁盤中,以騰出更多的記憶體。
11) /N 顯示但不執行makefile 中的指令(預處理指令除外),用于DEBUG;
12) /NOLOGO 禁止NMAKE版權資訊;
13) /P 在執行NMAKE之前,将所有NMAKE資訊輸出到STDOUT,包括所有的宏定義,IR,目标檔案描述和.SUFFIXES list。如果打
開/P選項,而且不指定任何目标檔案,則NMAKE僅顯示相關資訊。
14) /Q 檢查target和dependent的time stamp,但不執行commands block。如果目标檔案為有效的,則傳回0,否則傳回
255。隻有makefile中的預處理指令會被執行。當在批處理檔案中調用NMAKE時,該選項會十分有用。
15) /R 清除.SUFFIXES list,忽略所有的IR和TOOLS.INI中定義的或預定義的宏。
16) /S 禁止makefile中所有的被執行指令的顯示資訊;
17) /T 将指令行中輸入檔案的time stamp改為目前時間,隻執行預處理指令而不執行commands block,目标檔案的内容不會被改
變;
18) /V 當NMAKE被遞歸調用時,所有定義的宏都會被繼承。在預設的情況下,隻有在指令行中定義的宏和環境變量(實際上也是一個
宏)是可以被繼承的。
19) /X filename 将NMAKE的所有錯誤資訊輸出到filename指定的檔案或裝置中。如果用“-”代替filename,則錯誤資訊會被輸出
到STDOUT。在預設情況下,錯誤資訊輸出到STDERR。該選項不會影響由makefile中的指令産生的到STDERR的
輸出。
20) /? 顯示NMAKE的文法和可用選項;
NMAKE的傳回值
NMAKE的傳回值及其含義見下表:
值 含義
0 沒有錯誤
1 沒有完全執行commands block中的指令(隻在/K選項打開時有效)
2 程式錯誤,可能的原因包括:
l makefile的文法錯誤
l commands block中的某條指令出現錯誤
l 使用者中斷
4 系統錯誤,例如記憶體不足
255 在/Q選項打開時,如果目标檔案已過期,則傳回該值
網絡上收集,放到這裡友善自己以後使用時查找.