NMAKE的命令行语法

类别:编程语言 点击:0 评论:0 推荐:

NMAKE的命令行语法

语法:

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选项打开时,如果目标文件已过期,则返回该值

本文地址:http://com.8s8s.com/it/it24829.htm