Seite 1 von 1

verschiedene Targets fürs Makefile

Verfasst: 21. Februar 2006 12:19
von Sumpi
Hallo zusammen!

Ich will mit meinen .pro-Files verschiedene Makefile-Targets erstellen. Irgendwie versteh ich aber die Doku von Trolltech dazu nicht...

Ich hab versucht, einfach im pro-File
CONFIG += release \
debug
Allerdings kann ich dann weder make release noch make debug aufrufen. Gibt es irgendeine Möglichkeit, wie ich targets im Makefile über die .pro - Files erstellen kann? Ich möchte dann nämlich abhängig von den Targets verschiedene Präprozessor-Flags setzen und eben entweder alles oder nur die einzelnen Make-Targets kompilieren können.

Danke im Voraus!
Sumpi

Verfasst: 21. Februar 2006 12:25
von Christian81
Normalerweise musst du gar nichts ändern - Qt4 setzt automatisch debug_and_release. Die Qt-Libs werden z.B. so gebaut.
Unter Qt3 geht das ganze so nicht - da gibts imho nur release oder nur debug

Verfasst: 21. Februar 2006 12:35
von Sumpi
Christian81 hat geschrieben:Normalerweise musst du gar nichts ändern - Qt4 setzt automatisch debug_and_release.
Naja, und wenn ich dann noch weitere Targets brauche?
z.b.: release_extern, für welchen ich ein Prekompiler-Flag setzen möchte (Also einfach das DEFINES += flag)
Wie kann man so was realisieren?

Danke,
Sumpi

funzt nicht. *sigh*

Verfasst: 21. Februar 2006 12:52
von Sumpi
Christian81 hat geschrieben:Qt4 setzt automatisch debug_and_release.
Ich hab das jetzt versucht und CONFIG += debug_and_release
gesetzt. Jetzt meine zweite Frage:
Wie kann ich jetzt das Ziel für beide unterschiedlich angeben?
Ich hätte gerne eine Version im release-Folder und eine im debug-Folder.
Später dann hätte ich noch eine im release_extern und im debug_extern.
wenn ich dann make sage, dann soll er alle 4 builden. Bei make release soll er nur den release erstellen, usw.
Nur hab ich leider keine Ahnung, wie ich das bewerkstellige...

Danke im Voraus!
Sumpi

Verfasst: 21. Februar 2006 13:00
von Christian81
Eventuell geht sowas (siehe auch http://doc.trolltech.com/4.0/qmake-advanced-usage.html):

Code: Alles auswählen

debug {
  TARGET = target1
}
release {
  TARGET = target2
}
Allerdings gibt es nur debug und relase - man kann keine eigene targets bauen. Siehe auch qmake-Docu