2016-06-04 18 views
0

Der Befehl :make nimmt ein Argument und fügt es an makeprg an. Wie kann ich dieses Argument von meinem Compiler-Skript erhalten, das makeprg definiert?Holen Sie sich das: make-Argument aus einem Compiler-Skript

Ich habe ein Skript, Vim-Compiler für eine .NET-Sprache, und ich möchte definieren, entweder DEBUG oder TRACE in Abhängigkeit davon, ob der Benutzer ruft :make mit dem -debug Argumente.

+0

Ist es nicht etwas, das vom externen Programm selbst behandelt werden sollte? – romainl

+0

@Romainl, manchmal möchte man Debug-Symbole für eine Release-Assembly erzeugen. Der Compiler überlässt dies dem Benutzer. –

Antwort

1

:make injiziert sein Argument anstelle von $* in makeprg. Um das zu erreichen, was Sie erreichen möchten, müssen Sie entweder :Make schreiben, um Ihre Parameter zu interpretieren, oder Sie haben Ihr Äquivalent zu einem Makefile, um den Parameter -debug zu erkennen und danach zu handeln.

In meinem üblichen C++ - Workflow wähle ich entweder die Kompilierung über die Umgebungsvariable $CXXFLAGS, oder in realen Projekten habe ich ein Kompilierungsverzeichnis pro Modus (debuggen, release, release mit debug info, desinfizieren, ...), und je nach aktuellem Modus passe ich meine an, um die cd vor dem Aufruf make zu ändern.

Möglicherweise verfügen Sie nicht über ein Kompilierungsverzeichnis pro Modus, aber Sie können möglicherweise die aktuelle Einstellung makeprg basierend auf einer anderen Variablen ändern.

Verwandte Themen