1 | include ( config.mak ) |
---|
2 | |
---|
3 | CONFIG += $$CCONFIG |
---|
4 | |
---|
5 | #check QT major version |
---|
6 | contains(QT_MAJOR_VERSION, 3) { |
---|
7 | error("Must build against Qt4") |
---|
8 | } |
---|
9 | |
---|
10 | # Where binaries, includes and runtime assets are installed by 'make install' |
---|
11 | isEmpty( PREFIX ) { |
---|
12 | PREFIX = /usr/local |
---|
13 | } |
---|
14 | # Where the binaries actually locate the assets/filters/plugins at runtime |
---|
15 | isEmpty( RUNPREFIX ) { |
---|
16 | RUNPREFIX = $$PREFIX |
---|
17 | } |
---|
18 | # Alternate library dir for OSes and packagers (e.g. lib64) |
---|
19 | isEmpty( LIBDIRNAME ) { |
---|
20 | LIBDIRNAME = lib |
---|
21 | } |
---|
22 | # Where libraries, plugins and filters are installed |
---|
23 | isEmpty( LIBDIR ) { |
---|
24 | LIBDIR = $${RUNPREFIX}/$${LIBDIRNAME} |
---|
25 | } |
---|
26 | |
---|
27 | LIBVERSION = 0.22 |
---|
28 | VERSION = 0.22.0 |
---|
29 | |
---|
30 | isEmpty(TARGET_OS) : win32 { |
---|
31 | CONFIG += mingw |
---|
32 | DEFINES += WIN32 USING_MINGW |
---|
33 | DEFINES -= UNICODE |
---|
34 | QMAKE_EXTENSION_SHLIB = dll |
---|
35 | VERSION = |
---|
36 | CONFIG_OPENGL_LIBS = |
---|
37 | # Qt4 creates separate compile directories by default. This disables: |
---|
38 | CONFIG -= debug_and_release debug_and_release_target |
---|
39 | # win32-packager.pl builds Qt under DOS, but MythTV is built in MinGW. |
---|
40 | # This corrects the moc tool path from a DOS-style to a unix style: |
---|
41 | QMAKE_MOC = $$[QT_INSTALL_BINS]/moc |
---|
42 | } |
---|
43 | |
---|
44 | # if CYGWIN compile, set up flag in CONFIG |
---|
45 | contains(TARGET_OS, CYGWIN) { |
---|
46 | CONFIG += cygwin |
---|
47 | QMAKE_EXTENSION_SHLIB=dll.a |
---|
48 | DEFINES += CONFIG_CYGWIN |
---|
49 | } |
---|
50 | |
---|
51 | isEmpty(QMAKE_EXTENSION_SHLIB) { |
---|
52 | QMAKE_EXTENSION_SHLIB=so |
---|
53 | } |
---|
54 | isEmpty(QMAKE_EXTENSION_LIB) { |
---|
55 | QMAKE_EXTENSION_LIB=a |
---|
56 | } |
---|
57 | # For dependencies on Myth library filenames in TARGETDEPS |
---|
58 | MYTH_SHLIB_EXT=$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB} |
---|
59 | MYTH_LIB_EXT =$${LIBVERSION}.$${QMAKE_EXTENSION_LIB} |
---|
60 | |
---|
61 | # Die on the (common) case where OS X users inadvertently use Fink's |
---|
62 | # Qt/X11 install instead of Qt/Mac. ' |
---|
63 | contains(CONFIG_DARWIN, yes) { |
---|
64 | !macx { |
---|
65 | message(You are building with Qt/X11 on the Mac platform.) |
---|
66 | message(Myth must be built with Qt/Mac instead.) |
---|
67 | message((Fink users cannot use Fink's Qt, it's the wrong one.)) |
---|
68 | error(Unsupported configuration) |
---|
69 | } |
---|
70 | } |
---|
71 | |
---|
72 | INCLUDEPATH += $$unique(CONFIG_INCLUDEPATH) |
---|
73 | |
---|
74 | # remove warn_{on|off} from CONFIG since we set it in our CFLAGS |
---|
75 | CONFIG -= warn_on warn_off |
---|
76 | |
---|
77 | # set empty RELEASE and DEBUG flags |
---|
78 | QMAKE_CFLAGS_DEBUG = |
---|
79 | QMAKE_CFLAGS_RELEASE = |
---|
80 | QMAKE_CXXFLAGS_DEBUG = |
---|
81 | QMAKE_CXXFLAGS_RELEASE = |
---|
82 | |
---|
83 | # figure out compile flags based on qmake info |
---|
84 | QMAKE_CFLAGS += $$ARCHFLAGS $$OPTFLAGS $$PROFILEFLAGS $$ECFLAGS |
---|
85 | QMAKE_CXXFLAGS += $$ARCHFLAGS $$OPTFLAGS $$PROFILEFLAGS $$ECXXFLAGS |
---|
86 | |
---|
87 | profile:CONFIG += debug |
---|
88 | |
---|
89 | QMAKE_CXXFLAGS += $$CONFIG_AUDIO_ARTS_CFLAGS |
---|
90 | QMAKE_CXXFLAGS += $$CONFIG_DIRECTFB_CXXFLAGS |
---|
91 | |
---|
92 | QMAKE_CFLAGS_SHLIB = -DPIC -fPIC |
---|
93 | QMAKE_CXXFLAGS_SHLIB = -DPIC -fPIC |
---|
94 | |
---|
95 | # Allow compilation with Qt Embedded, if Qt is compiled without "-fno-rtti" |
---|
96 | QMAKE_CXXFLAGS -= -fno-exceptions -fno-rtti |
---|
97 | macx:QMAKE_CXXFLAGS += -Wno-long-double |
---|
98 | |
---|
99 | release:contains( ARCH_POWERPC, yes ) { |
---|
100 | # Auto-inlining causes some Qt moc methods to go missing |
---|
101 | macx:QMAKE_CXXFLAGS_RELEASE += -fno-inline-functions |
---|
102 | } |
---|
103 | |
---|
104 | |
---|
105 | # figure out defines |
---|
106 | DEFINES += $$CONFIG_DEFINES |
---|
107 | DEFINES += _GNU_SOURCE |
---|
108 | DEFINES += _FILE_OFFSET_BITS=64 |
---|
109 | |
---|
110 | # construct linking path |
---|
111 | LOCAL_LIBDIR_X11 = |
---|
112 | !isEmpty( QMAKE_LIBDIR_X11 ) { |
---|
113 | LOCAL_LIBDIR_X11 = -L$$QMAKE_LIBDIR_X11 |
---|
114 | } |
---|
115 | QMAKE_LIBDIR_X11 = |
---|
116 | |
---|
117 | LOCAL_LIBDIR_OGL = |
---|
118 | !isEmpty( QMAKE_LIBDIR_OPENGL ) { |
---|
119 | LOCAL_LIBDIR_OGL = -L$$QMAKE_LIBDIR_OPENGL |
---|
120 | } |
---|
121 | QMAKE_LIBDIR_OPENGL = |
---|
122 | |
---|
123 | OSS_LIBS = $$CONFiG_AUDIO_OSS_LIBS |
---|
124 | ALSA_LIBS = $$CONFIG_AUDIO_ALSA_LIBS |
---|
125 | ARTS_LIBS = $$CONFIG_AUDIO_ARTS_LIBS |
---|
126 | JACK_LIBS = $$CONFIG_AUDIO_JACK_LIBS |
---|
127 | PULSE_LIBS = $$CONFIG_AUDIO_PULSE_LIBS |
---|
128 | |
---|
129 | EXTRA_LIBS = $$FREETYPE_LIBS |
---|
130 | EXTRA_LIBS += $$CONFIG_FIREWIRE_LIBS |
---|
131 | EXTRA_LIBS += $$CONFIG_DIRECTFB_LIBS |
---|
132 | |
---|
133 | EXTRA_LIBS += $$LOCAL_LIBDIR_OGL |
---|
134 | EXTRA_LIBS += $$LOCAL_LIBDIR_X11 |
---|
135 | EXTRA_LIBS += $$CONFIG_X11_LIBS |
---|
136 | EXTRA_LIBS += $$CONFIG_XV_LIBS |
---|
137 | EXTRA_LIBS += $$CONFIG_XRANDR_LIBS |
---|
138 | EXTRA_LIBS += $$CONFIG_XVMC_LIBS |
---|
139 | EXTRA_LIBS += $$CONFIG_OPENGL_LIBS |
---|
140 | EXTRA_LIBS += $$FRIBIDI_LIBS |
---|
141 | using_pulse:EXTRA_LIBS += $$PULSE_LIBS |
---|
142 | |
---|
143 | LIRC_LIBS = $$CONFIG_LIRC_LIBS |
---|