Содержимое и компоненты файла NMAKE makefile
Файл makefile содержит следующее:
Пример см. в примере makefile.
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 интерпретирует один %
литерал, но всегда интерпретирует двойное как %%
одно.%
Таким образом, чтобы представить литерал %%
, укажите либо три процента знаков, %%%
либо четыре процента знаков, %%%%
.
Чтобы использовать знак доллара ($
) в качестве литерального символа в команде, укажите два знака доллара ($$
). Этот метод также можно использовать в других ситуациях, когда ^$
работает.