Contenuti e funzionalità del makefile di NMAKE
Un makefile contiene:
Per un esempio, vedere Makefile di esempio.
NMAKE supporta altre funzionalità, ad esempio caratteri jolly, nomi file lunghi, commenti e escape per caratteri speciali.
Caratteri jolly e NMAKE
NMAKE espande i caratteri jolly del nome file (*
e ?
) nelle righe di dipendenza. Un carattere jolly specificato in un comando viene passato al comando; NMAKE non lo espande.
Nomi file lunghi in un makefile
Racchiudere nomi di file lunghi tra virgolette doppie, come indicato di seguito:
all : "VeryLongFileName.exe"
Commenti in un makefile
Precedere un commento con un segno di numero (#
). NMAKE ignora il testo dal segno di numero al carattere di nuova riga successivo.
Esempi:
# 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
Per specificare un segno di numero letterale, precederlo con un cursore (^
), come indicato di seguito:
DEF = ^#define #Macro for a C preprocessing directive
Caratteri speciali in un makefile
Per usare un carattere speciale NMAKE come carattere letterale, posizionare un cursore (^
) davanti a esso come escape. NMAKE ignora i punti di inserimento che precedono altri caratteri. I caratteri speciali sono:
: ; # ( ) $ ^ \ { } ! @ —
Un punto di inserimento (^
) all'interno di una stringa tra virgolette viene considerato come un carattere cursore letterale. Un punto di inserimento alla fine di una riga inserisce un carattere di nuova riga letterale in una stringa o in una macro.
Nelle macro, una barra rovesciata (\
) seguita da un carattere di nuova riga viene sostituita da uno spazio.
Nei comandi, un simbolo di percentuale (%
) è un identificatore di file. Per rappresentare %
letteralmente in un comando, specificare un segno di percentuale doppio (%%
) al posto di un singolo simbolo. In altre situazioni, NMAKE interpreta un singolo %
valore letterale, ma interpreta sempre un valore double %%
come singolo %
. Pertanto, per rappresentare un valore letterale %%
, specificare segni del 3%, %%%
o segni del quattro per cento, %%%%
.
Per usare il segno di dollaro ($
) come carattere letterale in un comando, specificare due segni di dollaro ($$
). Questo metodo può essere usato anche in altre situazioni in cui ^$
funziona.