NMAKE 生成文件内容和功能
生成文件包含:
有关示例,请参阅示例生成文件。
NMAKE 支持其他功能,例如通配符、长文件名、注释和特殊字符的转义。
通配符和 NMAKE
NMAKE 在依赖项行中扩展文件名通配符(*
和 ?
)。 命令中指定的通配符将传递给该命令;NMAKE 不会扩展。
生成文件中的长文件名
用双引号将长文件名引起来,如下所示:
all : "VeryLongFileName.exe"
生成文件中的注释
在注释前加上数字符号 (#
)。 NMAKE 忽略从数字符号到下一个换行符之间的文本。
示例:
# Comment on line by itself
OPTIONS = /MAP # Comment on macro definition line
all.exe : one.obj two.obj # Comment on dependency line
link one.obj two.obj
# Comment in commands block
# copy *.obj \objects # Command turned into comment
copy one.exe \release
.obj.exe: # Comment on inference rule line
link $<
my.exe : my.obj ; link my.obj # Err: cannot comment this
# Error: # must be the first character
.obj.exe: ; link $< # Error: cannot comment this
若要指定文本数字符号,请在其前面加上插入符号 (^
),如下所示:
DEF = ^#define #Macro for a C preprocessing directive
生成文件中的特殊字符
若要将 NMAKE 特殊字符用作文本字符,请将插入符号 (^
) 放在其前面作为转义符。 NMAKE 忽略其他字符前面的插入符号。 特殊字符包括:
: ; # ( ) $ ^ \ { } ! @ —
带引号字符串中的插入符号 (^
) 被视为文本插入符号字符。 行末尾的插入符号在字符串或宏中插入文本换行符。
在宏中,反斜杠 (\
) 后跟的换行符将替换为空格。
在命令中,百分比符号 (%
) 是文件说明符。 若要在命令中以文本表示 %
,请指定一个双百分号 (%%
) 来替单百分号。 在其他情况下,NMAKE 会按面解释单百分号 %
,但始终将双百分号 %%
解释为单百分号 %
。 因此,若要表示文本 %%
,请指定三个百分号 %%%
或四个百分号 %%%%
。
若要在命令中使用美元符号 ($
) 作为文本字符,请指定两个美元符号 ($$
)。 此方法也可以在 ^$
工作的其他情况下使用。