Gibt es eine Möglichkeit zu geben, in einer .pro Datei, zusätzliche Befehle zu einem Standard-Ziel in dem Makefile hinzugefügt wird dass qmake
erzeugt? Betrachten wir zum Beispiel distclean
, könnten zusätzliche Befehle zu wünschen übrig:Hinzufügen von benutzerdefinierten Befehlen bestehende Ziele in qmake
- * ~ Dateien entfernen.
- Laufzeitgesteuerte Ausgabedateien aus der Quellstruktur löschen.
- Etc.
Ich möchte das normale Ziel und nicht ein benutzerdefiniertes Ziel verwenden, weil ich in meinem Workflow vollständig transparent sein will. Das ist (wieder distclean
als Beispiel), ich will nicht ...
- ... erfordern Kenntnisse in einem Multi-Projekt-Setup, dass bestimmte Makefiles eine benutzerdefinierte Regel anstelle von
distclean
. - ... dokumentieren benutzerdefinierte Regeln, auch für eigenständige Projekte, wie
distclean
ist bereits well-known und intuitiv †.
Ich fand How to add custom targets in a qmake generated Makefile?, aber das beschreibt individuelle Ziele Hinzufügen (die already documented, auch back in 4.6) statt Regeln bestehenden Ziele hinzuzufügen. Obwohl es einige Hinweise enthält, erfordern alle von ihnen das Hinzufügen neuer benutzerdefinierter Ziele, da das gleiche Ziel mehrmals in einem Makefile ersetzt (nicht hinzugefügt) Befehle aus dem vorherigen Ziel.
Das einzige, was ich wirklich denken konnte, um zu versuchen, war target.commands += new commands
zur .pro Datei als wilde Vermutung hinzufügen (z distclean.commands += rm \"*~\"
). Dies hat keine Auswirkung.
Wie kann ich benutzerdefinierte Befehle mit qmake
transparent vorhandenen Zielen hinzufügen?
†Für das distclean
Beispiel: Während maintainer-clean
ist auch auf diesem „Standardziel“ -Liste, in der Praxis habe ich gefunden, selten verwendet werden, und in jedem Fall qmake
es nicht erzeugen standardmäßig; Ich halte es für ungeeignet.
Ihre Lösung ist auf die Frage und die „distclean“ und „Extraclean“ specific ... aber ich fand es in einer allgemeineren Weise nützlich. FYI Ich habe Option-1 verwendet. Vielen Dank! qmake ist sehr, sehr schwierig, dies zu tun. –
Ich habe "distclean" hier durch einfaches altes 'clean' ersetzt, um meine benutzerdefinierten clean-Befehle über die Menüoption in QtCreator auszulösen. – BuvinJ