verschiedene Targets fürs Makefile

Alles rund um die Programmierung mit Qt
Antworten
Sumpi
Beiträge: 21
Registriert: 16. Februar 2006 10:13
Wohnort: Graz

verschiedene Targets fürs Makefile

Beitrag 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
Why geeks like computers:
unzip, strip, touch, finger, grep, mount, fsck,
more, yes,fsck,fsck,fsck,
umount, sleep
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sumpi
Beiträge: 21
Registriert: 16. Februar 2006 10:13
Wohnort: Graz

Beitrag 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
Why geeks like computers:
unzip, strip, touch, finger, grep, mount, fsck,
more, yes,fsck,fsck,fsck,
umount, sleep
Sumpi
Beiträge: 21
Registriert: 16. Februar 2006 10:13
Wohnort: Graz

funzt nicht. *sigh*

Beitrag 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
Why geeks like computers:
unzip, strip, touch, finger, grep, mount, fsck,
more, yes,fsck,fsck,fsck,
umount, sleep
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten