1 ######################################################################
3 # qtopia4 (Qtopia Core 4)
4 # http://www.trolltech.com/
6 # This makefile composed by Thomas Lundquist <thomasez@zelow.no>
8 # BTW, this uses alot of FPU calls and it's pretty slow if you use
9 # the kernels FPU emulation so it's better to choose soft float in the
10 # buildroot config (and uClibc.config of course, if you have your own.)
12 ######################################################################
14 # BUG: In "OpenSuSE 10.2", dbus.h is at dbus-1.0/dbus/dbus.h
15 # instead of at "dbus/dbus.h"
16 # (cd /usr/include; sudo ln -s dbus-1.0/dbus dbus)
19 QTOPIA4_VERSION
:=4.3.2
22 BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME
:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME)))
24 BR2_PACKAGE_QTOPIA4_COMMERCIAL_PASSWORD
:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_COMMERCIAL_PASSWORD)))
27 # What to download, free or commercial version.
28 ifneq ($(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME
),)
30 QTOPIA4_SITE
:=http
://$(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME
):$(BR2_QTOPIA4_COMMERCIAL_PASSWORD
)@
dist.trolltech.com
/$(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME
)
31 QTOPIA4_SOURCE
:=qtopia-core-commercial-src-
$(QTOPIA4_VERSION
).
tar.gz
32 QTOPIA4_TARGET_DIR
:=$(BUILD_DIR
)/qtopia-core-commercial-src-
$(QTOPIA4_VERSION
)
33 QTOPIA4_HOST_DIR
:=$(TOOL_BUILD_DIR
)/qtopia-core-commercial-src-
$(QTOPIA4_VERSION
)
37 # Good, good, we are free:
39 QTOPIA4_SITE
=ftp
://ftp.trolltech.com
/qt
/source
/
40 QTOPIA4_SOURCE
:=qtopia-core-opensource-src-
$(QTOPIA4_VERSION
).
tar.gz
41 QTOPIA4_TARGET_DIR
:=$(BUILD_DIR
)/qtopia-core-opensource-src-
$(QTOPIA4_VERSION
)
42 QTOPIA4_HOST_DIR
:=$(TOOL_BUILD_DIR
)/qtopia-core-opensource-src-
$(QTOPIA4_VERSION
)
44 ifeq ($(BR2_PACKAGE_QTOPIA4_GPL_LICENSE_APPROVED
),y
)
45 QTOPIA4_APPROVE_GPL_LICENSE
:=-confirm-license
50 # If you want extra tweaking you can copy
51 # $(QTOPIA4_TARGET_DIR)/src/corelib/global/qconfig-myfile.h
52 # to the qtopia4 packages directory (where this .mk file is) and
54 # QTOPIA4_QCONFIG_COMMAND:=-qconfig myfile
56 # For the options you can set in this file, look at
57 # $(QTOPIA4_TARGET_DIR)/src/corelib/global/qfeatures.txt
59 QTOPIA4_QCONFIG_FILE
:=package
/qtopia4
/qconfig-myfile.h
60 QTOPIA4_QCONFIG_FILE_LOCATION
:=/src
/corelib
/global
/
62 ifeq ($(BR2_LARGEFILE
),y
)
63 QTOPIA4_LARGEFILE
=-largefile
65 QTOPIA4_LARGEFILE
=-no-largefile
68 ifeq ($(BR2_PACKAGE_QTOPIA4_QT3SUPPORT
),y
)
69 QTOPIA4_QT3SUPPORT
=-qt3support
71 QTOPIA4_QT3SUPPORT
=-no-qt3support
75 ifeq ($(BR2_PACKAGE_JPEG
),y
)
76 QTOPIA4_DEP_LIBS
+=jpeg
78 ifeq ($(BR2_PACKAGE_LIBPNG
),y
)
79 QTOPIA4_DEP_LIBS
+=libpng
82 ifeq ($(BR2_PACKAGE_TSLIB
),y
)
83 #BUG: Qtopia refuse to recognize -qt-mouse-tslib
84 #QTOPIA4_TSLIB=-qt-mouse-tslib
85 QTOPIA4_DEP_LIBS
+=tslib
86 QTOPIA4_TSLIB_DEB
="-D TSLIBMOUSEHANDLER_DEBUG"
87 QTOPIA4_TSLIB_DEB
:=$(strip $(subst ",, $(QTOPIA4_TSLIB_DEB)))
91 ifeq ($(BR2_PACKAGE_QTOPIA4_DEBUG
),y
)
92 QTOPIA4_DEBUG
="-debug $(QTOPIA4_TSLIB_DEB)"
94 QTOPIA4_DEBUG
=-release
97 ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED
),y
)
98 QTOPIA4_SHARED
=-shared
100 QTOPIA4_SHARED
=-static
103 ifeq ($(BR2_ENDIAN
),"LITTLE")
104 QTOPIA4_ENDIAN
=-little-endian
106 QTOPIA4_ENDIAN
=-big-endian
109 ifeq ($(BR2_PACKAGE_QTOPIA4_DEPTHS
),"")
110 QTOPIA4_DEPTHS
=-depths
8
112 QTOPIA4_DEPTHS
:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_DEPTHS)))
116 ifeq ($(BR2_PACKAGE_QTOPIA4_GIF
),y
)
117 QTOPIA4_GIF_LIB
=-qt-gif
119 QTOPIA4_GIF_LIB
=-no-gif
122 ifeq ($(BR2_PACKAGE_QTOPIA4_LIBMNG
),y
)
123 QTOPIA4_MNG_LIB
=-qt-libmng
125 QTOPIA4_MNG_LIB
=-no-libmng
128 ifeq ($(BR2_PACKAGE_QTOPIA4_QTZLIB
),y
)
129 QTOPIA4_ZLIB
=-qt-zlib
131 ifeq ($(BR2_PACKAGE_QTOPIA4_SYSTEMZLIB
),y
)
132 QTOPIA4_ZLIB
=-system-zlib
134 QTOPIA4_ZLIB
=-no-zlib
137 ifeq ($(BR2_PACKAGE_QTOPIA4_QTJPEG
),y
)
138 QTOPIA4_JPEG
=-qt-libjpeg
140 ifeq ($(BR2_PACKAGE_QTOPIA4_SYSTEMJPEG
),y
)
141 QTOPIA4_JPEG
=-system-libjpeg
143 QTOPIA4_JPEG
=-no-libjpeg
147 QTOPIA4_DEBUG
:=$(strip $(subst ",, $(QTOPIA4_DEBUG)))
149 BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)))
153 # Variable for other Qt applications to use
154 QTOPIA4_QMAKE
:=$(QTOPIA4_TARGET_DIR
)/bin
/qmake
156 $(DL_DIR
)/$(QTOPIA4_SOURCE
):
157 $(WGET
) -P
$(DL_DIR
) $(QTOPIA4_SITE
)/$(QTOPIA4_SOURCE
)
159 qtopia4-source
: $(DL_DIR
)/$(QTOPIA4_SOURCE
)
162 $(QTOPIA4_TARGET_DIR
)/.unpacked
: $(DL_DIR
)/$(QTOPIA4_SOURCE
)
163 $(QTOPIA4_CAT
) $(DL_DIR
)/$(QTOPIA4_SOURCE
) |
tar -C
$(BUILD_DIR
) $(TAR_OPTIONS
) -
164 toolchain
/patch-kernel.sh
$(QTOPIA4_TARGET_DIR
) package
/qtopia4
/ \
165 qtopia-
$(QTOPIA4_VERSION
)-\
*.patch\
*
168 # This configure is very tailored towards a specific need.
169 $(QTOPIA4_TARGET_DIR
)/.configured
: $(QTOPIA4_TARGET_DIR
)/.unpacked
170 # Patching configure to get rid of some features I don't want.
171 # (I don't want SQL either but there is no option for that at all,
172 # the SQL library will be built even without the plugins/drivers).
173 ifneq ($(BR2_INET_IPV6
),y
)
174 $(SED
) 's/^CFG_IPV6=auto/CFG_IPV6=no/' $(QTOPIA4_TARGET_DIR
)/configure
175 $(SED
) 's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/' $(QTOPIA4_TARGET_DIR
)/configure
177 $(SED
) 's/^CFG_XINERAMA=auto/CFG_XINERAMA=no/' $(QTOPIA4_TARGET_DIR
)/configure
178 $(SED
) 's,-O2,$(TARGET_CFLAGS),' $(QTOPIA4_TARGET_DIR
)/mkspecs
/qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++/qmake.conf
179 -[ -f
$(QTOPIA4_QCONFIG_FILE
) ] && cp
$(QTOPIA4_QCONFIG_FILE
) \
180 $(QTOPIA4_TARGET_DIR
)/$(QTOPIA4_QCONFIG_FILE_LOCATION
)
181 (cd
$(QTOPIA4_TARGET_DIR
); rm -rf config.cache
; \
182 PATH
=$(TARGET_PATH
) \
187 -platform linux-g
++ \
188 -embedded
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
) \
189 -xplatform qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++ \
190 $(QTOPIA4_QCONFIG_COMMAND
) \
212 -prefix $(QTOPIA4_TARGET_DIR
) \
213 -docdir
$(QTOPIA4_TARGET_DIR
)/doc \
214 -headerdir
$(QTOPIA4_TARGET_DIR
)/include \
215 -datadir $(QTOPIA4_TARGET_DIR
) \
216 -plugindir
$(QTOPIA4_TARGET_DIR
)/plugins \
217 -translationdir
$(QTOPIA4_TARGET_DIR
)/translations \
218 -sysconfdir
$(QTOPIA4_TARGET_DIR
) \
219 -examplesdir
$(QTOPIA4_TARGET_DIR
)/examples \
220 -demosdir
$(QTOPIA4_TARGET_DIR
)/demos \
224 $(QTOPIA4_QT3SUPPORT
) \
226 $(QTOPIA4_LARGEFILE
) \
228 $(QTOPIA4_APPROVE_GPL_LICENSE
) \
232 $(QTOPIA4_TARGET_DIR
)/.built
: $(QTOPIA4_TARGET_DIR
)/.configured
233 $(TARGET_CONFIGURE_OPTS
) $(MAKE
) -C
$(QTOPIA4_TARGET_DIR
) sub-src
236 $(QTOPIA4_TARGET_DIR
)/.installed
: $(QTOPIA4_TARGET_DIR
)/.built
237 mkdir
-p
$(TARGET_DIR
)/usr
/lib
/fonts
238 touch
$(TARGET_DIR
)/usr
/lib
/fonts
/fontdir
239 cp
-dpf
$(QTOPIA4_TARGET_DIR
)/lib
/fonts
/helvetica
*.qpf
$(TARGET_DIR
)/usr
/lib
/fonts
240 cp
-dpf
$(QTOPIA4_TARGET_DIR
)/lib
/fonts
/fixed
*.qpf
$(TARGET_DIR
)/usr
/lib
/fonts
241 cp
-dpf
$(QTOPIA4_TARGET_DIR
)/lib
/fonts
/micro
*.qpf
$(TARGET_DIR
)/usr
/lib
/fonts
242 ifeq ($(BR2_PACKAGE_QTOPIA4_SHARED
),y
)
243 cp
-dpf
$(QTOPIA4_TARGET_DIR
)/lib
/libQt
*.so.
* $(TARGET_DIR
)/usr
/lib
/
244 -$(STRIPCMD
) $(STRIP_STRIP_UNNEEDED
) $(TARGET_DIR
)/usr
/lib
/libQt
*.so.
$(QTOPIA4_VERSION
)
246 # Install image plugins if they are built
247 if
[ -d
$(QTOPIA4_TARGET_DIR
)/plugins
/imageformats
]; then \
248 mkdir
-p
$(TARGET_DIR
)/usr
/lib
/qt4
/plugins
; \
249 cp
-dpfr
$(QTOPIA4_TARGET_DIR
)/plugins
/imageformats
$(TARGET_DIR
)/usr
/lib
/qt4
/plugins
; \
250 $(STRIPCMD
) $(STRIP_STRIP_UNNEEDED
) $(TARGET_DIR
)/usr
/lib
/qt4
/plugins
/imageformats
/*; \
252 # Remove Sql libraries, not needed
253 -rm $(TARGET_DIR
)/usr
/lib
/libQtSql
*
254 # Remove Svg libraries, not needed
255 -rm $(TARGET_DIR
)/usr
/lib
/libQtSvg
*
257 $(SED
) '\,QMAKE_CC, c\QMAKE_CC = $(TARGET_CC)' $(QTOPIA4_TARGET_DIR
)/mkspecs
/qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++/qmake.conf
258 $(SED
) '\,QMAKE_CXX, c\QMAKE_CXX = $(TARGET_CXX)' $(QTOPIA4_TARGET_DIR
)/mkspecs
/qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++/qmake.conf
259 $(SED
) '\,QMAKE_LINK, c\QMAKE_LINK = $(TARGET_CXX)' $(QTOPIA4_TARGET_DIR
)/mkspecs
/qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++/qmake.conf
260 $(SED
) '\,QMAKE_LINK_SHLIB, c\QMAKE_LINK_SHLIB = $(TARGET_CXX)' $(QTOPIA4_TARGET_DIR
)/mkspecs
/qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++/qmake.conf
261 $(SED
) '\,QMAKE_AR, c\QMAKE_AR = $(TARGET_CROSS)ar cqs' $(QTOPIA4_TARGET_DIR
)/mkspecs
/qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++/qmake.conf
262 $(SED
) '\,QMAKE_RANLIB, c\QMAKE_RANLIB = $(TARGET_RANLIB)' $(QTOPIA4_TARGET_DIR
)/mkspecs
/qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++/qmake.conf
263 $(SED
) '\,QMAKE_STRIP, c\QMAKE_STRIP = $(TARGET_CROSS)strip' $(QTOPIA4_TARGET_DIR
)/mkspecs
/qws
/linux-
$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM
)-g
++/qmake.conf
267 qtopia4
: zlib
$(QTOPIA4_DEP_LIBS
) $(QTOPIA4_TARGET_DIR
)/.installed
270 -$(MAKE
) -C
$(QTOPIA4_TARGET_DIR
) clean
273 rm -rf
$(QTOPIA4_TARGET_DIR
)
275 #############################################################
277 # Toplevel Makefile options
279 #############################################################
280 ifeq ($(BR2_PACKAGE_QTOPIA4
),y
)