Conteúdo e recursos do makefile do NMAKE
Um makefile contém:
Para ver um exemplo, confira Exemplo de makefile.
O NMAKE dá suporte a outros recursos, como caracteres curinga, nomes de arquivo longos, comentários e escapes para caracteres especiais.
Curingas e NMAKE
O NMAKE expande caracteres curinga de nomes de arquivo (*
e ?
) em linhas de dependência. Um caractere curinga especificado em um comando é passado para o comando; o NMAKE não o expande.
Nomes de arquivo longos em um makefile
Coloque nomes de arquivo longos entre aspas duplas, assim:
all : "VeryLongFileName.exe"
Comentários em makefile
Preceda os comentários com o símbolo cerquilha (#
). O NMAKE ignora o texto da cerquilha até o próximo caractere de nova linha.
Exemplos:
# 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
Para especificar uma cerquilha literal, preceda-a com um circunflexo (^
), assim:
DEF = ^#define #Macro for a C preprocessing directive
Caracteres especiais em um makefile
Para usar um caractere especial NMAKE como um caractere literal, coloque um circunflexo (^
) na frente dele como um escape. O NMAKE ignora os circunflexos de caracteres que precedem outros caracteres. Os caracteres especiais são:
: ; # ( ) $ ^ \ { } ! @ —
Um circunflexo (^
) dentro de uma cadeia de caracteres entre aspas é tratado como um caractere circunflexo literal. Um circunflexo no final de uma linha insere um caractere de nova linha literal em uma cadeia de caracteres ou macro.
Em macros, a barra invertida (\
) seguida por um caractere de nova linha é substituída por um espaço.
Em comandos, o símbolo de porcentagem (%
) é um especificador de arquivo. Para representar %
literalmente em um comando, use o sinal de porcentagem duplicado (%%
) em vez de um único. Em outras situações, o NMAKE interpreta o %
único literalmente, mas sempre interpreta um %%
duplo como um %
único. Portanto, para representar um %%
literal, use três (%%%
) ou quatro (%%%%
) símbolos de porcentagem.
Para usar o cifrão ($
) como um caractere literal em um comando, use dois cifrões ($$
). Esse método também pode ser usado em outras situações em que ^$
funciona.