NMAKE 支援其他功能,例如萬用字元、長檔名、批註,以及特殊字元的逸出。

萬用字元和 NMAKE

NMAKE 會在相依性行中展開檔案名萬用字元 ( * ? ) 。 命令中指定的萬用字元會傳遞至 命令;NMAKE 不會加以擴充。

makefile 中的長檔名

以雙引號括住長檔名,如下所示:

all : "VeryLongFileName.exe"

Makefile 中的批註

在批註前面加上數位記號 ( # )。 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

Makefile 中的特殊字元

若要使用 NMAKE 特殊字元作為常值字元,請將插入號 ( ^ ) 放在其前面做為逸出。 NMAKE 會忽略其他字元前面的插入號。 特殊字元為:

: ; # ( ) $ ^ \ { } ! @ —

引號字串內的插入號 ( ^ ) 會被視為常值插入號字元。 行尾端的插入號會在字串或宏中插入常值分行符號。

在宏中,反斜線 ( \ ) 後面接著分行符號會由空格取代。

在命令中,百分比符號 ( % ) 是檔案規範。 若要在命令中以常值表示 % ,請指定雙百分比符號 ( %% ) 取代單一符號。 在其他情況下,NMAKE 會以常值方式解譯單 % 一,但一律會將雙精度浮 %% 點解譯為單 % 一 。 因此,若要表示常值 %% ,請指定三個百分比符號或 %%% 四個百分比符號 %%%%

若要在命令中使用貨幣符號 ( $ ) 做為常值字元,請指定兩個貨幣符號 ( $$ )。 此方法也可以在運作的其他情況下 ^$ 使用。

NMAKE 參考