Direktiven für den Präprozessorlauf eines Makefiles
In Präprozessordirektiven wird die Groß-/Kleinschreibung nicht beachtet.Das Ausrufungszeichen (!) muss sich am Anfang der Zeile befinden.Es können sich kein, ein oder mehrere Leerzeichen oder Tabstopps hinter einem Ausrufungszeichen für einen Einzug befinden.
!CMDSWITCHES
{+| –}option...Aktiviert bzw. deaktiviert jede aufgelistete option.Leerzeichen oder Tabstopps müssen sich vor den Operatoren + oder - befinden. Sie dürfen nicht zwischen den Operator- und den Optionsbuchstaben stehen.Bei Buchstaben wird die Groß-/Kleinschreibung nicht beachtet. Diese werden ohne Schrägstrich (/) angegeben.Um bestimmte Optionen zu aktivieren und zu deaktivieren, werden separate Spezifikationen von !CMDSWITCHES verwendet.Nur /D, /I, /N und /S können in einem Makefile verwendet werden.In der Datei Tools.ini sind alle Optionen außer /F, /HELP, /NOLOGO, /X und /? zulässig.Änderungen, die in einem Beschreibungsblock angegeben sind, treten erst im nächsten Beschreibungsblock in Kraft.Diese Direktive aktualisiert MAKEFLAGS. Wenn MAKEFLAGS angegeben ist, werden Änderungen während der Rekursion geerbt.
!FEHLER Text
Zeigt Text im Fehler U1050 an und hält NMAKE anschließend an, und zwar auch dann, wenn /K, /I, .IGNORE, !CMDSWITCHES oder der Bindestrich-Befehlsmodifizierer (–) verwendet wird.Leerzeichen oder Tabstopps vor text werden ignoriert.!MELDUNG Text
Zeigt text zur Standardausgabe an.Leerzeichen oder Tabstopps vor text werden ignoriert.!INCLUDE [<]filename[>]
Liest filename als Makefile und setzt den Vorgang anschließend mit dem aktuellen Makefile fort.Von NMAKE wird nach filename zuerst im angegebenen oder aktuellen Verzeichnis, danach rekursiv in Verzeichnissen von übergeordneten Makefiles und anschließend (falls filename in Winkelklammern (<>) eingeschlossen ist) in Verzeichnissen gesucht, die vom INCLUDE-Makro angegeben werden, das zu Beginn auf die INCLUDE-Umgebungsvariable festgelegt wurde.Wird zum Übergeben von .SUFFIXES-Einstellungen, .PRECIOUS und Rückschlussregeln an rekursive Makefiles verwendet.!IF constantexpression
Verarbeitet Anweisungen zwischen !IF und dem nächsten !ELSE oder !ENDIF, wenn constantexpression als ein Wert ungleich 0 (null) ausgewertet wird.!IFDEF Makroname
Verarbeitet Anweisungen zwischen !IFDEF und dem nächsten !ELSE oder !ENDIF, wenn macroname definiert ist.Ein NULL-Makro wird als definiertes Makro angesehen.!IFNDEF Makroname
Verarbeitet Anweisungen zwischen !IFDEF und dem nächsten !ELSE oder !ENDIF, wenn macroname nicht definiert ist.!ELSE[IF konstanterAusdruck | IFDEF Makroname| IFNDEF Makroname]
Verarbeitet Anweisungen zwischen !ELSE und dem nächsten !ENDIF, wenn die vorherige !IF-, !IFDEF- oder !IFNDEF-Anweisung als Wert NULL ausgewertet wurde.Die optionalen Schlüsselwörter bieten eine weitere Steuerung des Präprozessorlaufs.!ELSEIF
Synonym für !ELSE IF.!ELSEIFDEF
Synonym für !ELSE IFDEF.!ELSEIFNDEF
Synonym für !ELSE IFNDEF.!ENDIF
Kennzeichnet das Ende eines !IF-, !IFDEF- oder !IFNDEF-Blockes.Text, der sich nach !ENDIF in der gleichen Zeile befindet, wird ignoriert.!UNDEF Makroname
Hebt die Definition von macroname auf.