Ausführen von NMAKE

Syntax

NMAKE [Option ...] [Makros ...] [Ziele ...] [@Befehlsdatei ...]

Hinweise

NMAKE erstellt nur angegebene Ziele oder, wenn keine angegeben wird, das erste Ziel in der Makefile. Das erste Makefile-Ziel kann ein Pseudotarget sein, das andere Ziele erstellt. NMAKE verwendet Makefiles, die mit /Foder wenn /F nicht angegeben werden, die Makefile-Datei im aktuellen Verzeichnis. Wenn keine Makefile angegeben ist, werden Rückschlussregeln zum Erstellen von Befehlszeilenzielen verwendet.

Die Befehlsdatei-Textdatei (oder Antwortdatei) enthält Befehlszeileneingaben. Andere Eingaben können vor oder nach @command-file folgen. Ein Pfad ist zulässig. In der Befehlsdatei werden Zeilenumbrüche als Leerzeichen behandelt. Schließen Sie Makrodefinitionen in Anführungszeichen ein, wenn sie Leerzeichen enthalten.

NMAKE-Optionen

NmAKE-Optionen werden in der folgenden Tabelle beschrieben. Optionen stehen entweder einem Schrägstrich (/) oder einem Gedankenstrich (-) voran und beachten nicht die Groß-/Kleinschreibung. Dient !CMDSWITCHES zum Ändern von Optionseinstellungen in einer Makefile oder in Tools.ini.

Option Zweck
/A Erzwingt den Aufbau aller ausgewerteten Ziele, auch wenn es nicht veraltet ist im Vergleich zu Nachfolgern. Erzwingt keine Builds von nicht verknüpften Zielen.
/B Erzwingt den Aufbau, auch wenn Zeitstempel gleich sind. Wird nur für schnelle Systeme empfohlen (Auflösung von zwei Sekunden oder weniger).
/C Unterdrückt die Standardausgabe, einschließlich nichtfataler NMAKE-Fehler oder -Warnungen, Zeitstempel und NMAKE-Copyrightnachricht. Unterdrückt Warnungen, die von /K.
/D Zeigt Zeitstempel jedes ausgewerteten Ziels und abhängigen Ziels sowie eine Meldung an, wenn kein Ziel vorhanden ist. Hilfreich beim /P Debuggen einer Makefile. Wird verwendet !CMDSWITCHES , um einen Teil einer Makefile-Datei festzulegen oder zu löschen /D .
/E Bewirkt, dass Umgebungsvariablen Makefile-Makrodefinitionen außer Kraft setzen.
/ERRORREPORT [ NONE | PROMPT | QUEUE | SEND ] Veraltet. Windows-Fehlerberichterstattung (WER)-Einstellungssteuerungsberichte.
/Ffilename Gibt den Dateinamen als Makefile an. Leerzeichen oder Registerkarten können dem Dateinamen vorangehen. Geben Sie einmal für jede Makefile-Datei an /F . Wenn Sie eine Makefile aus standardeingaben bereitstellen möchten, geben Sie einen Gedankenstrich (-) für Dateinamen an, und beenden Sie die Tastatureingabe mit F6 oder STRG+Z.
/G Zeigt die makefiles an, die in der !INCLUDE Direktive enthalten sind. Weitere Informationen finden Sie unter Makefile-Präverarbeitungsdirektiven.
/HELP, /? Zeigt eine kurze Zusammenfassung der NMAKE-Befehlszeilensyntax an.
/I Ignoriert Exitcodes von allen Befehlen. Verwenden Sie die Verwendung!CMDSWITCHES, um einen Teil einer Makefile-Datei festzulegen oder zu löschen/I. Um Exitcodes für einen Teil einer Makefile zu ignorieren, verwenden Sie einen Gedankenstrich (-) Befehlsmodifizierer oder .IGNORE. Außerkraftsetzungen /K , wenn beide angegeben werden.
/K Setzt das Erstellen nicht verknüpfter Abhängigkeiten fort, wenn ein Befehl einen Fehler zurückgibt. Gibt außerdem eine Warnung aus und gibt einen Ausgangscode von 1 zurück. Standardmäßig hält NMAKE an, wenn ein Befehl einen Nichtzero-Ausgangscode zurückgibt. Warnungen werden /K durch /C; /I Außerkraftsetzungen /K unterdrückt, wenn beide angegeben sind.
/N Zeigt Befehle an, führt jedoch keine Befehle aus. Vorverarbeitungsbefehle werden ausgeführt. Zeigt keine Befehle in rekursiven NMAKE-Aufrufen an. Hilfreich beim Debuggen von Makefiles und Überprüfen von Zeitstempeln. Verwenden Sie die Verwendung!CMDSWITCHES, um einen Teil einer Makefile-Datei festzulegen oder zu löschen/N.
/NOLOGO Unterdrückt die NMAKE-Copyrightnachricht.
/P Zeigt Informationen (Makrodefinitionen, Ableitungsregeln, Ziele, .SUFFIXES Liste) an die Standardausgabe an, und führt dann den Build aus. Wenn keine Makefile- oder Befehlszeilenziel vorhanden ist, werden nur Informationen angezeigt. /D Hier können Sie eine Makefile debuggen.
/Q Überprüft Zeitstempel von Zielen; führt den Build nicht aus. Gibt einen Null-Exitcode zurück, wenn alle Ziele auf dem neuesten Stand sind, und einen Nichtzero-Ausgangscode, wenn ein Ziel veraltet ist. Vorverarbeitungsbefehle werden ausgeführt. Nützlich beim Ausführen von NMAKE aus einer Batchdatei.
/R Löscht die .SUFFIXES Liste und ignoriert Schlussfolgerungsregeln und Makros, die in der Tools.ini Datei definiert sind oder vordefinierte sind.
/S Unterdrückt die Anzeige von ausgeführten Befehlen. Um die Anzeige in einem Teil einer Makefile zu unterdrücken, verwenden Sie den @ Befehlsmodifizierer oder .SILENT. Verwenden Sie die Verwendung!CMDSWITCHES, um einen Teil einer Makefile-Datei festzulegen oder zu löschen/S.
/T Aktualisiert Zeitstempel von Befehlszeilenzielen (oder erstes Makefile-Ziel) und führt Vorverarbeitungsbefehle aus, führt jedoch den Build nicht aus.
/U Muss zusammen mit /N verwendet werden. Dumps inline NMAKE files so that the /N output can be used as a batch file.
/Xfilename Sendet die NMAKE-Fehlerausgabe anstelle des Standardfehlers an dateinamen . Leerzeichen oder Registerkarten können dem Dateinamen vorangehen. Um die Fehlerausgabe an die Standardausgabe zu senden, geben Sie einen Gedankenstrich (-) für den Dateinamen an. Wirkt sich nicht auf die Ausgabe von Befehlen in Standardfehler aus.
/Y Deaktiviert Die Ableitungsregeln für den Batchmodus. Wenn diese Option ausgewählt ist, werden alle Batchmodus-Ableitungsregeln als reguläre Ableitungsregeln behandelt.

Tools.ini und NMAKE

NMAKE liest Tools.ini vor dem Lesen von Makefiles, es sei denn /R , es wird verwendet. Es sucht Tools.ini zuerst im aktuellen Verzeichnis und dann im verzeichnis, das durch die INIT-Umgebungsvariable angegeben ist. Der Abschnitt für NMAKE-Einstellungen in der Initialisierungsdatei beginnt mit [NMAKE] und kann alle Makefile-Informationen enthalten. Geben Sie einen Kommentar in einer separaten Zeile an, die mit einem Nummernzeichen (#) beginnt.

Exitcodes von NMAKE

NMAKE gibt die folgenden Beendigungscodes zurück:

Code Bedeutung
0 Kein Fehler (möglicherweise eine Warnung)
1 Unvollständiger Build (nur ausgestellt, wenn /K er verwendet wird)
2 Programmfehler, möglicherweise durch eines der folgenden Probleme verursacht:
- Syntaxfehler in der Makefile
- Ein Fehler oder Beenden von Code aus einem Befehl
- Eine Unterbrechung durch den Benutzer
4 Systemfehler – nicht genügend Arbeitsspeicher
255 Das Ziel ist nicht auf dem neuesten Stand (nur ausgegeben, wenn /Q es verwendet wird)

Siehe auch

NMAKE Reference (NMAKE-Referenz)