Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316973
  • 博文数量: 199
  • 博客积分: 8610
  • 博客等级: 中将
  • 技术积分: 1975
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-04 19:16
文章分类

全部博文(199)

文章存档

2007年(23)

2006年(176)

我的朋友

分类: WINDOWS

2006-10-19 11:11:49

  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选项打开时,如果目标文件已过期,则返回该值
阅读(845) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~