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 では、他の文字の前にあるキャレットが無視されます。 特殊文字は次のとおりです。

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

引用符で囲まれた文字列内のキャレット (^) は、リテラルのキャレット文字として扱われます。 行末にあるキャレットでは、リテラルの改行文字が文字列またはマクロに挿入されます。

マクロでは、円記号 (\) の後に改行文字が続くと、スペースで置き換えられます。

コマンドでは、パーセント記号 (%) はファイル指定子です。 コマンドでリテラルの % を表すには、1 つではなく 2 つのパーセント記号 (%%) を指定します。 その他の状況では、NMAKE は 1 つの % をリテラルに解釈しますが、2 つの %% は常に 1 つの % として解釈します。 したがって、リテラルの %% を表すには、3 つのパーセント記号 (%%%) を指定するか、4 つのパーセント記号 (%%%%) を指定します。

コマンドでドル記号 ($) をリテラル文字として使用するには、2 つのドル記号 ($$) を指定します。 この方法は、^$ が機能する他の状況でも使用できます。

関連項目

NMAKE リファレンス