FS#10728 - Cowon D2: Add support for D2 in rbutil
[kugel-rb.git] / rbutil / rbutilqt / rbutilqt.pro
blobb04667028b0829d4b6acc4e082ed9d1579c93376
2 # ccache
3 unix:!mac:!noccache {
4 CCACHE = $$system(which ccache)
5 !isEmpty(CCACHE) {
6 message("using ccache")
7 QMAKE_CXX = ccache g++
8 QMAKE_CC = ccache gcc
12 MYBUILDDIR = $$OUT_PWD/build/
13 OBJECTS_DIR = $$MYBUILDDIR/o
14 UI_DIR = $$MYBUILDDIR/ui
15 MOC_DIR = $$MYBUILDDIR/moc
16 RCC_DIR = $$MYBUILDDIR/rcc
19 # check version of Qt installation
20 VER = $$find(QT_VERSION, ^4\.[3-9]+.*)
21 isEmpty(VER) {
22 !isEmpty(QT_VERSION) error("Qt found:" $$[QT_VERSION])
23 error("Qt >= 4.3 required!")
25 message("Qt version used:" $$VER)
27 RBBASE_DIR = $$_PRO_FILE_PWD_
28 RBBASE_DIR = $$replace(RBBASE_DIR,/rbutil/rbutilqt,)
30 message("Rockbox Base dir: "$$RBBASE_DIR)
32 # check for system speex. Add a custom rule for pre-building librbspeex if not found.
33 LIBSPEEX = $$system(pkg-config --silence-errors --libs speex)
34 !static:!isEmpty(LIBSPEEX) {
35 # newer versions of speex are split up into libspeex and libspeexdsp.
36 # avoid checking twice if libspeex is missing.
37 LIBSPEEX += $$system(pkg-config --silence-errors --libs speexdsp)
38 LIBS += $$LIBSPEEX
40 # custom rules for rockbox-specific libs
41 !mac {
42 rbspeex.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/tools/rbspeex librbspeex.a
43 libucl.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/tools/ucl/src libucl.a
44 libmkamsboot.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mkamsboot libmkamsboot.a
45 libmktccboot.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mktccboot libmktccboot.a
47 mac {
48 rbspeex.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/tools/rbspeex librbspeex-universal
49 libucl.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/tools/ucl/src libucl-universal
50 libmkamsboot.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mkamsboot libmkamsboot-universal
51 libmktccboot.commands = @$(MAKE) TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mktccboot libmktccboot-universal
53 QMAKE_EXTRA_TARGETS += rbspeex libucl libmkamsboot libmktccboot
54 PRE_TARGETDEPS += rbspeex libucl libmkamsboot libmktccboot
56 # rule for creating ctags file
57 tags.commands = ctags -R --c++-kinds=+p --fields=+iaS --extra=+q $(SOURCES)
58 tags.depends = $(SOURCES)
59 QMAKE_EXTRA_TARGETS += tags
61 # add a custom rule for making the translations
62 lrelease.commands = $$[QT_INSTALL_BINS]/lrelease -silent $$_PRO_FILE_
63 QMAKE_EXTRA_TARGETS += lrelease
64 !dbg {
65 PRE_TARGETDEPS += lrelease
68 SOURCES += rbutilqt.cpp \
69 main.cpp \
70 install.cpp \
71 base/httpget.cpp \
72 configure.cpp \
73 zip/zip.cpp \
74 zip/unzip.cpp \
75 base/zipinstaller.cpp \
76 progressloggergui.cpp \
77 installtalkwindow.cpp \
78 base/talkfile.cpp \
79 base/talkgenerator.cpp \
80 base/autodetection.cpp \
81 ../ipodpatcher/ipodpatcher.c \
82 ../sansapatcher/sansapatcher.c \
83 ../chinachippatcher/chinachip.c \
84 browsedirtree.cpp \
85 themesinstallwindow.cpp \
86 base/uninstall.cpp \
87 uninstallwindow.cpp \
88 base/utils.cpp \
89 preview.cpp \
90 base/encoders.cpp \
91 encttscfggui.cpp \
92 base/encttssettings.cpp \
93 base/ttsbase.cpp \
94 base/ttsexes.cpp \
95 base/ttssapi.cpp \
96 base/ttsfestival.cpp \
97 ../../tools/wavtrim.c \
98 ../../tools/voicefont.c \
99 base/voicefile.cpp \
100 createvoicewindow.cpp \
101 base/rbsettings.cpp \
102 base/rbunzip.cpp \
103 base/rbzip.cpp \
104 base/system.cpp \
105 sysinfo.cpp \
106 systrace.cpp \
107 base/bootloaderinstallbase.cpp \
108 base/bootloaderinstallmi4.cpp \
109 base/bootloaderinstallhex.cpp \
110 base/bootloaderinstallipod.cpp \
111 base/bootloaderinstallsansa.cpp \
112 base/bootloaderinstallfile.cpp \
113 base/bootloaderinstallchinachip.cpp \
114 base/bootloaderinstallams.cpp \
115 base/bootloaderinstalltcc.cpp \
116 ../../tools/mkboot.c \
117 ../../tools/iriver.c \
118 ../../tools/telechips.c \
120 HEADERS += rbutilqt.h \
121 install.h \
122 base/httpget.h \
123 configure.h \
124 zip/zip.h \
125 zip/unzip.h \
126 zip/zipentry_p.h \
127 zip/unzip_p.h \
128 zip/zip_p.h \
129 version.h \
130 base/zipinstaller.h \
131 installtalkwindow.h \
132 base/talkfile.h \
133 base/talkgenerator.h \
134 base/autodetection.h \
135 base/progressloggerinterface.h \
136 progressloggergui.h \
137 ../ipodpatcher/ipodpatcher.h \
138 ../ipodpatcher/ipodio.h \
139 ../ipodpatcher/parttypes.h \
140 ../sansapatcher/sansapatcher.h \
141 ../sansapatcher/sansaio.h \
142 ../chinachippatcher/chinachip.h \
143 irivertools/h100sums.h \
144 irivertools/h120sums.h \
145 irivertools/h300sums.h \
146 browsedirtree.h \
147 themesinstallwindow.h \
148 base/uninstall.h \
149 uninstallwindow.h \
150 base/utils.h \
151 preview.h \
152 base/encoders.h \
153 encttscfggui.h \
154 base/encttssettings.h \
155 base/ttsbase.h \
156 base/ttsexes.h \
157 base/ttsfestival.h \
158 base/ttssapi.h \
159 ../../tools/wavtrim.h \
160 ../../tools/voicefont.h \
161 base/voicefile.h \
162 createvoicewindow.h \
163 base/rbsettings.h \
164 base/rbunzip.h \
165 base/rbzip.h \
166 sysinfo.h \
167 base/system.h \
168 systrace.h \
169 base/bootloaderinstallbase.h \
170 base/bootloaderinstallmi4.h \
171 base/bootloaderinstallhex.h \
172 base/bootloaderinstallipod.h \
173 base/bootloaderinstallsansa.h \
174 base/bootloaderinstallfile.h \
175 base/bootloaderinstallchinachip.h \
176 base/bootloaderinstallams.h \
177 base/bootloaderinstalltcc.h \
178 ../../tools/mkboot.h \
179 ../../tools/iriver.h \
180 ../../tools/telechips.h \
182 # Needed by QT on Win
183 INCLUDEPATH = $$_PRO_FILE_PWD_ $$_PRO_FILE_PWD_/irivertools $$_PRO_FILE_PWD_/zip $$_PRO_FILE_PWD_/zlib $$_PRO_FILE_PWD_/base
184 INCLUDEPATH += $$RBBASE_DIR/rbutil/ipodpatcher $$RBBASE_DIR/rbutil/sansapatcher $$RBBASE_DIR/tools/rbspeex $$RBBASE_DIR/tools
186 DEPENDPATH = $$INCLUDEPATH
188 LIBS += -L$$OUT_PWD -L$$MYBUILDDIR -lrbspeex -lmkamsboot -lmktccboot -lucl
190 TEMPLATE = app
191 dbg {
192 CONFIG += debug thread qt warn_on
193 DEFINES -= QT_NO_DEBUG_OUTPUT
194 message("debug")
196 !dbg {
197 CONFIG += release thread qt
198 DEFINES -= QT_NO_DEBUG_OUTPUT
199 DEFINES += NODEBUG
200 message("release")
203 TARGET = rbutilqt
205 FORMS += rbutilqtfrm.ui \
206 aboutbox.ui \
207 installfrm.ui \
208 progressloggerfrm.ui \
209 configurefrm.ui \
210 browsedirtreefrm.ui \
211 installtalkfrm.ui \
212 themesinstallfrm.ui \
213 uninstallfrm.ui \
214 previewfrm.ui \
215 createvoicefrm.ui \
216 sysinfofrm.ui \
217 systracefrm.ui
219 RESOURCES += $$_PRO_FILE_PWD_/rbutilqt.qrc
220 win32 {
221 RESOURCES += $$_PRO_FILE_PWD_/rbutilqt-win.qrc
223 !dbg {
224 RESOURCES += $$_PRO_FILE_PWD_/rbutilqt-lang.qrc
227 TRANSLATIONS += lang/rbutil_cs.ts \
228 lang/rbutil_de.ts \
229 lang/rbutil_fi.ts \
230 lang/rbutil_fr.ts \
231 lang/rbutil_gr.ts \
232 lang/rbutil_he.ts \
233 lang/rbutil_ja.ts \
234 lang/rbutil_nl.ts \
235 lang/rbutil_pt.ts \
236 lang/rbutil_pt_BR.ts \
237 lang/rbutil_tr.ts \
238 lang/rbutil_zh_CN.ts \
239 lang/rbutil_zh_TW.ts \
242 QT += network
243 DEFINES += RBUTIL _LARGEFILE64_SOURCE
245 win32 {
246 SOURCES += ../ipodpatcher/ipodio-win32.c
247 SOURCES += ../ipodpatcher/ipodio-win32-scsi.c
248 SOURCES += ../sansapatcher/sansaio-win32.c
249 RC_FILE = rbutilqt.rc
250 LIBS += -lsetupapi -lnetapi32
253 unix {
254 SOURCES += ../ipodpatcher/ipodio-posix.c
255 SOURCES += ../sansapatcher/sansaio-posix.c
257 unix:!static:!libusb1 {
258 LIBS += -lusb
260 unix:!static:libusb1 {
261 DEFINES += LIBUSB1
262 LIBS += -lusb-1.0
265 unix:static {
266 # force statically linking of libusb. Libraries that are appended
267 # later will get linked dynamically again.
268 LIBS += -Wl,-Bstatic -lusb -Wl,-Bdynamic
271 macx {
272 QMAKE_MAC_SDK=/Developer/SDKs/MacOSX10.4u.sdk
273 QMAKE_LFLAGS_PPC=-mmacosx-version-min=10.4 -arch ppc
274 QMAKE_LFLAGS_X86=-mmacosx-version-min=10.4 -arch i386
275 CONFIG+=x86 ppc
276 LIBS += -L/usr/local/lib -framework IOKit
277 INCLUDEPATH += /usr/local/include
278 QMAKE_INFO_PLIST = Info.plist
279 RC_FILE = icons/rbutilqt.icns
281 # rule for creating a dmg file
282 dmg.commands = hdiutil create -ov -srcfolder rbutilqt.app/ rbutil.dmg
283 QMAKE_EXTRA_TARGETS += dmg
286 static {
287 QTPLUGIN += qtaccessiblewidgets
288 LIBS += -L$$(QT_BUILD_TREE)/plugins/accessible -lqtaccessiblewidgets
289 LIBS += -L.
290 DEFINES += STATIC
291 message("using static plugin")
294 unix {
295 target.path = /usr/local/bin
296 INSTALLS += target