现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

NMAKE.EXE学习

2014-06-23 06:00 工业·编程 ⁄ 共 1784字 ⁄ 字号 暂无评论

NMAKE.EXE是Microsoft 程序维护实用工具,它是一个基于说明文件中包含的命令生成项目的工具。

命令语法如下:

NMAKE [option...] [macros...] [targets...] [@commandfile...]

说明:其中,options是NMAKE的选项,macros是在命令行中的宏定义,targets是NMAKE的目标文件列表,commandfile是包含命令行输入的文本文件(或响应文件)。

NMAKE 使用指定 /F 选项的Makefile(生成文件,通常名字是makefile);如果未指定 /F 选项,则使用当前目录下的Makefile。如果未指定Makefile,则 NMAKE 使用推理规则生成命令行 targets。

下表描述了 NMAKE 选项。选项前有斜杠 (/) 或短划线 (-),并且不区分大小写。使用 !CMDSWITCHES 更改生成文件或 Tools.ini 中的选项设置。

选项(忽略大小写):

1) /A 强制生成所有已评估的目标,即使这些目标相对于依赖项未过期。不强制不相关目标的生成;

2) /B 即使时间戳相等,也强制生成。建议只用于非常快的系统(解析为两秒或小于两秒)。

3) /C 取消默认输出,包括非致命的 NMAKE 错误或警告、时间戳以及 NMAKE 版权信息。取消 /K 选项发出的警告。

4) /D 当目标不存在时,显示每个已评估的目标、依赖项和消息的时间戳。与 /P 选项一起用于调试生成文件。使用 !CMDSWITCHES 设置或清除部分生成文件的 /D 选项;

5) /E 使环境变量可以覆盖预定义宏;

6) /F filename 指定makefile的名字。如果用“-”代替filename,则NMAKE从STDIN 获取makefile的输入(对于键盘终端,用F6或CTRL+Z来结束输入)。可以指定多个makefile,每个makefile前都要有一个/F。

如果没有/F选项,则NMAKE会在当前目录查找一个名为MAKEFILE(没后缀)的文件作为makefile,如果找不到,则对命令行目标文件使用推导规则。

7) /HELP 显示帮助;

8) /I 忽略所有命令的退出代码。若要设置或清除部分生成文件的 /I 选项,请使用 !CMDSWITCHES。若要忽略部分生成文件的退出代码,请使用短划线 (-) 命令修饰符或 .IGNORE。如果两者都指定了,则重写 /K 选项;

9) /K 如果命令返回错误,则继续生成不相关的依赖项。同时发出警告并返回退出代码 1。默认情况下,如果有任一命令返回非零退出代码,NMAKE 将暂停。来自 /K 选项的警告被 /C 选项取消;如果两者都指定了,则 /I 选项重写 /K 选项;

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的语法和可用选项;

给我留言

留言无头像?