Share via


Definire una macro NMAKE

Una macro NMAKE viene definita usando questa sintassi:

macro_name=string

Il macro_name è una combinazione di lettere, cifre e caratteri di sottolineatura () con distinzione tra maiuscole e minuscole (_) fino a 1.024 caratteri. Il macro_name può contenere una macro richiamata. Se macro_name è costituito interamente da una macro richiamata, la macro richiamata non può essere null o non definita.

La stringa può essere qualsiasi sequenza di zero o più caratteri. Una stringa Null contiene zero caratteri o solo spazi o schede. La stringa può contenere una chiamata di macro.

Caratteri speciali nelle macro

Un segno di numero (#) dopo una definizione specifica un commento. Per specificare un numero letterale di accesso a una macro, usare un cursore (^) per eseguirne l'escape, come in ^#.

Un segno di dollaro ($) specifica una chiamata di macro. Per specificare un valore letterale $, usare $$.

Per estendere una definizione a una nuova riga, terminare la riga con una barra rovesciata (\). Quando la macro viene richiamata, la barra rovesciata e il carattere di nuova riga seguente vengono sostituiti con uno spazio. Per specificare una barra rovesciata letterale alla fine della riga, precederla con un carattere di escape (^) o seguirla con un identificatore di commento (#).

Per specificare un carattere di nuova riga letterale, terminare la riga con un carattere di escape (^) di inserimento, come nell'esempio seguente:

CMDS = cls^
dir

Macro Null e non predefinite

Le macro null e non definite si espandono a stringhe Null, ma una macro definita come stringa Null viene considerata definita nelle espressioni di pre-elaborazione. Per definire una macro come stringa Null, non specificare caratteri tranne spazi o schede dopo il segno di uguale (=) in una riga di comando o in un file di comando e racchiudere la stringa o la definizione Null tra virgolette doppie (" "). Per annullare la definizione di una macro, utilizzare !UNDEF. Per altre informazioni, vedere Direttive di pre-elaborazione makefile.

Dove definire le macro

Definire macro in una riga di comando, in un file di comando, in un makefile o nel Tools.ini file.

In un makefile o nel Tools.ini file, ogni definizione di macro deve essere visualizzata su una riga separata e non può iniziare con uno spazio o una scheda. Gli spazi o le schede intorno al segno di uguale vengono ignorati. Tutti i caratteri stringa sono letterali, incluse le virgolette circostanti e gli spazi incorporati.

In un file della riga di comando o di comando gli spazi e le schede delimitano gli argomenti e non possono racchiudere il segno di uguale. Se la stringa include spazi o schede incorporati, racchiudere la stringa stessa o l'intera macro tra virgolette doppie (" ").

Precedenza nelle definizioni di macro

Se una macro ha più definizioni, NMAKE usa la definizione di precedenza più alta. L'elenco seguente mostra l'ordine di precedenza, dal più alto al più basso:

  1. Macro definita nella riga di comando

  2. Macro definita in un makefile o in un file di inclusione

  3. Macro variabile di ambiente ereditata

  4. Macro definita nel Tools.ini file

  5. Macro predefinita, ad esempio CC e AS

Utilizzare /E per fare in modo che le macro ereditate dalle variabili di ambiente eseseguono l'override delle macro makefile con lo stesso nome. Usare !UNDEF per eseguire l'override di una riga di comando.

Vedi anche

Macro e NMAKE