kumquat-buildroot/package/qt/qt.mk
Thomas Petazzoni ca290e7e28 qt: move host programs and specs in HOST_DIR
The Qt build system installs all host programs (uic, rcc, moc, qmake,
etc.) in the same base directory as the headers and libraries, but
that's not great for Buildroot.

So we now move the host programs and the mkspecs files to the
$(HOST_DIR), and create a qt.conf, which tells qmake where everything
is located.

Tested with Qmake and Cmake as build system for a simple Qt
application.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-07 18:22:25 +01:00

663 lines
17 KiB
Makefile

######################################################################
#
# Qt Embedded for Linux
# http://www.qtsoftware.com/
#
# This makefile was originally composed by Thomas Lundquist <thomasez@zelow.no>
# Later heavily modified by buildroot developers
#
# BTW, this uses alot of FPU calls and it's pretty slow if you use
# the kernels FPU emulation so it's better to choose soft float in the
# buildroot config (and uClibc.config of course, if you have your own.)
#
######################################################################
QT_VERSION:=4.7.1
QT_SOURCE:=qt-everywhere-opensource-src-$(QT_VERSION).tar.gz
QT_SITE:=http://get.qt.nokia.com/qt/source
QT_CAT:=$(ZCAT)
QT_TARGET_DIR:=$(BUILD_DIR)/qt-everywhere-opensource-src-$(QT_VERSION)
QT_CONFIGURE:=#empty
ifeq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y)
QT_CONFIGURE += -opensource -confirm-license
endif
# If you want extra tweaking you can copy
# $(QT_TARGET_DIR)/src/corelib/global/qconfig-myfile.h
# to the qt packages directory (where this .mk file is) and
# remove the comment.
# QT_QCONFIG_COMMAND:=-qconfig myfile
#
# For the options you can set in this file, look at
# $(QT_TARGET_DIR)/src/corelib/global/qfeatures.txt
#
QT_QCONFIG_FILE:=package/qt/qconfig-myfile.h
QT_QCONFIG_FILE_LOCATION:=/src/corelib/global/
ifeq ($(BR2_LARGEFILE),y)
QT_CONFIGURE+= -largefile
else
QT_CONFIGURE+= -no-largefile
endif
ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
QT_CONFIGURE+= -qt3support
else
QT_CONFIGURE+= -no-qt3support
endif
ifeq ($(BR2_PACKAGE_QT_DEMOS),y)
QT_CONFIGURE+= -examplesdir $(TARGET_DIR)/usr/share/qt/examples -demosdir $(TARGET_DIR)/usr/share/qt/demos
else
QT_CONFIGURE+= -nomake examples -nomake demos
endif
# ensure glib is built first if enabled for Qt's glib support
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
QT_DEP_LIBS+=libglib2
endif
### Pixel depths
QT_PIXEL_DEPTHS := # empty
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_1),y)
QT_PIXEL_DEPTHS += 1
endif
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_4),y)
QT_PIXEL_DEPTHS += 4
endif
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_8),y)
QT_PIXEL_DEPTHS += 8
endif
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_12),y)
QT_PIXEL_DEPTHS += 12
endif
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_15),y)
QT_PIXEL_DEPTHS += 15
endif
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_16),y)
QT_PIXEL_DEPTHS += 16
endif
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_18),y)
QT_PIXEL_DEPTHS += 18
endif
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_24),y)
QT_PIXEL_DEPTHS += 24
endif
ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_32),y)
QT_PIXEL_DEPTHS += 32
endif
ifneq ($(QT_PIXEL_DEPTHS),)
QT_CONFIGURE += -depths $(subst $(space),$(comma),$(strip $(QT_PIXEL_DEPTHS)))
endif
### Display drivers
ifeq ($(BR2_PACKAGE_QT_GFX_LINUXFB),y)
QT_CONFIGURE += -qt-gfx-linuxfb
else
QT_CONFIGURE += -no-gfx-linuxfb
endif
ifeq ($(BR2_PACKAGE_QT_GFX_TRANSFORMED),y)
QT_CONFIGURE += -qt-gfx-transformed
else
QT_CONFIGURE += -no-gfx-transformed
endif
ifeq ($(BR2_PACKAGE_QT_GFX_QVFB),y)
QT_CONFIGURE += -qt-gfx-qvfb
else
QT_CONFIGURE += -no-gfx-qvfb
endif
ifeq ($(BR2_PACKAGE_QT_GFX_VNC),y)
QT_CONFIGURE += -qt-gfx-vnc
else
QT_CONFIGURE += -no-gfx-vnc
endif
ifeq ($(BR2_PACKAGE_QT_GFX_MULTISCREEN),y)
QT_CONFIGURE += -qt-gfx-multiscreen
else
QT_CONFIGURE += -no-gfx-multiscreen
endif
ifeq ($(BR2_PACKAGE_QT_GFX_DIRECTFB),y)
QT_CONFIGURE += -qt-gfx-directfb
QT_DEP_LIBS+=directfb
else
QT_CONFIGURE += -no-gfx-directfb
endif
### Mouse drivers
ifeq ($(BR2_PACKAGE_QT_MOUSE_PC),y)
QT_CONFIGURE += -qt-mouse-pc
else
QT_CONFIGURE += -no-mouse-pc
endif
ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXTP),y)
QT_CONFIGURE += -qt-mouse-linuxtp
else
QT_CONFIGURE += -no-mouse-linuxtp
endif
ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXINPUT),y)
QT_CONFIGURE += -qt-mouse-linuxinput
else
QT_CONFIGURE += -no-mouse-linuxinput
endif
ifeq ($(BR2_PACKAGE_QT_MOUSE_TSLIB),y)
QT_CONFIGURE += -qt-mouse-tslib
QT_DEP_LIBS+=tslib
else
QT_CONFIGURE += -no-mouse-tslib
endif
ifeq ($(BR2_PACKAGE_QT_MOUSE_QVFB),y)
QT_CONFIGURE += -qt-mouse-qvfb
else
QT_CONFIGURE += -no-mouse-qvfb
endif
### Keyboard drivers
ifeq ($(BR2_PACKAGE_QT_KEYBOARD_TTY),y)
QT_CONFIGURE += -qt-kbd-tty
else
QT_CONFIGURE += -no-kbd-tty
endif
ifeq ($(BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT),y)
QT_CONFIGURE += -qt-kbd-linuxinput
else
QT_CONFIGURE += -no-kbd-linuxinput
endif
ifeq ($(BR2_PACKAGE_QT_KEYBOARD_QVFB),y)
QT_CONFIGURE += -qt-kbd-qvfb
else
QT_CONFIGURE += -no-kbd-qvfb
endif
ifeq ($(BR2_PACKAGE_QT_DEBUG),y)
QT_CONFIGURE+= -debug
else
QT_CONFIGURE+= -release
endif
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
QT_CONFIGURE+= -shared
else
QT_CONFIGURE+= -static
endif
ifeq ($(BR2_ENDIAN),"LITTLE")
QT_CONFIGURE+= -little-endian
else
QT_CONFIGURE+= -big-endian
endif
ifneq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
QT_CONFIGURE+= -no-gui
endif
ifeq ($(BR2_PACKAGE_QT_GIF),y)
QT_CONFIGURE+= -qt-gif
else
QT_CONFIGURE+= -no-gif
endif
ifeq ($(BR2_PACKAGE_QT_LIBMNG),y)
QT_CONFIGURE+= -qt-libmng
else
QT_CONFIGURE+= -no-libmng
endif
ifeq ($(BR2_PACKAGE_QT_QTZLIB),y)
QT_CONFIGURE+= -qt-zlib
else
ifeq ($(BR2_PACKAGE_QT_SYSTEMZLIB),y)
QT_CONFIGURE+= -system-zlib
QT_DEP_LIBS+=zlib
endif
endif
ifeq ($(BR2_PACKAGE_QT_QTJPEG),y)
QT_CONFIGURE+= -qt-libjpeg
else
ifeq ($(BR2_PACKAGE_QT_SYSTEMJPEG),y)
QT_CONFIGURE+= -system-libjpeg
QT_DEP_LIBS+=jpeg
else
QT_CONFIGURE+= -no-libjpeg
endif
endif
ifeq ($(BR2_PACKAGE_QT_QTPNG),y)
QT_CONFIGURE+= -qt-libpng
else
ifeq ($(BR2_PACKAGE_QT_SYSTEMPNG),y)
QT_CONFIGURE+= -system-libpng
QT_DEP_LIBS+=libpng
else
QT_CONFIGURE+= -no-libpng
endif
endif
ifeq ($(BR2_PACKAGE_QT_QTTIFF),y)
QT_CONFIGURE+= -qt-libtiff
else
ifeq ($(BR2_PACKAGE_QT_SYSTEMTIFF),y)
QT_CONFIGURE+= -system-libtiff
QT_DEP_LIBS+=tiff
else
QT_CONFIGURE+= -no-libtiff
endif
endif
QT_FONTS = $(addprefix $(STAGING_DIR)/usr/lib/fonts/, $(addsuffix *.qpf, \
$(if $(BR2_PACKAGE_QT_FONT_MICRO),micro) \
$(if $(BR2_PACKAGE_QT_FONT_FIXED),fixed) \
$(if $(BR2_PACKAGE_QT_FONT_HELVETICA),helvetica) \
$(if $(BR2_PACKAGE_QT_FONT_JAPANESE),japanese) \
$(if $(BR2_PACKAGE_QT_FONT_UNIFONT),unifont)))
ifeq ($(BR2_PACKAGE_QT_QTFREETYPE),y)
QT_CONFIGURE+= -qt-freetype
else
ifeq ($(BR2_PACKAGE_QT_SYSTEMFREETYPE),y)
QT_CONFIGURE+= -system-freetype
QT_CONFIGURE+= -I $(STAGING_DIR)/usr/include/freetype2/
QT_DEP_LIBS+=freetype
else
QT_CONFIGURE+= -no-freetype
endif
endif
ifeq ($(BR2_PACKAGE_QT_OPENSSL),y)
QT_CONFIGURE+= -openssl
QT_DEP_LIBS+=openssl
else
QT_CONFIGURE+= -no-openssl
endif
# Qt SQL Drivers
ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y)
ifeq ($(BR2_PACKAGE_QT_IBASE),y)
QT_CONFIGURE+= -qt-sql-ibase
endif
ifeq ($(BR2_PACKAGE_QT_MYSQL),y)
QT_CONFIGURE+= -qt-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config
QT_DEP_LIBS+=mysql_client
endif
ifeq ($(BR2_PACKAGE_QT_ODBC),y)
QT_CONFIGURE+= -qt-sql-odbc
endif
ifeq ($(BR2_PACKAGE_QT_PSQL),y)
QT_CONFIGURE+= -qt-sql-psql
endif
ifeq ($(BR2_PACKAGE_QT_SQLITE),y)
QT_CONFIGURE+= -qt-sql-sqlite
else
QT_CONFIGURE+= -no-sql-sqlite
endif
ifeq ($(BR2_PACKAGE_QT_SQLITE2),y)
QT_CONFIGURE+= -qt-sql-sqlite2
endif
else
# By default, no SQL driver is turned on by configure.
# but it seams sqlite isn't disabled despite what says
# configure --help
QT_CONFIGURE+= -no-sql-sqlite
endif
ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y)
QT_CONFIGURE+= -xmlpatterns -exceptions
else
QT_CONFIGURE+= -no-xmlpatterns
endif
ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y)
QT_CONFIGURE+= -multimedia
else
QT_CONFIGURE+= -no-multimedia
endif
ifeq ($(BR2_PACKAGE_QT_AUDIO_BACKEND),y)
QT_CONFIGURE+= -audio-backend
QT_DEP_LIBS+=alsa-lib
else
QT_CONFIGURE+= -no-audio-backend
endif
ifeq ($(BR2_PACKAGE_QT_PHONON),y)
QT_CONFIGURE+= -phonon
QT_DEP_LIBS+=gstreamer gst-plugins-base
else
QT_CONFIGURE+= -no-phonon
endif
ifeq ($(BR2_PACKAGE_QT_PHONON_BACKEND),y)
QT_CONFIGURE+= -phonon-backend
else
QT_CONFIGURE+= -no-phonon-backend
endif
ifeq ($(BR2_PACKAGE_QT_SVG),y)
QT_CONFIGURE+= -svg
else
QT_CONFIGURE+= -no-svg
endif
ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
QT_CONFIGURE+= -webkit
else
QT_CONFIGURE+= -no-webkit
endif
ifeq ($(BR2_PACKAGE_QT_SCRIPT),y)
QT_CONFIGURE+= -script
else
QT_CONFIGURE+= -no-script
endif
ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y)
QT_CONFIGURE+= -scripttools
else
QT_CONFIGURE+= -no-scripttools
endif
ifeq ($(BR2_PACKAGE_QT_JAVASCRIPTCORE),y)
QT_CONFIGURE+= -javascript-jit
else
QT_CONFIGURE+= -no-javascript-jit
endif
ifeq ($(BR2_PACKAGE_QT_STL),y)
QT_CONFIGURE+= -stl
else
QT_CONFIGURE+= -no-stl
endif
# ccache and precompiled headers don't play well together
ifeq ($(BR2_CCACHE),y)
QT_CONFIGURE += -no-pch
endif
BR2_PACKAGE_QT_EMB_PLATFORM:=$(call qstrip,$(BR2_PACKAGE_QT_EMB_PLATFORM))
# x86x86fix
# Workaround Qt Embedded bug when crosscompiling for x86 under x86 with linux
# host. It's unclear if this would happen on other hosts.
ifneq ($(findstring linux,$(GNU_HOST_NAME)),)
ifneq ($(findstring x86,$(BR2_PACKAGE_QT_EMB_PLATFORM)),)
QT_CONFIGURE+= -platform linux-g++
endif
endif
# End of workaround.
# Figure out what libs to install in the target
QT_LIBS=#empty
ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
QT_LIBS+= qt-gui
endif
ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y)
QT_LIBS+= qt-sql
endif
ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y)
QT_LIBS+= qt-multimedia
endif
ifeq ($(BR2_PACKAGE_QT_PHONON),y)
QT_LIBS+= qt-phonon
endif
ifeq ($(BR2_PACKAGE_QT_SVG),y)
QT_LIBS+= qt-svg
endif
ifeq ($(BR2_PACKAGE_QT_NETWORK),y)
QT_LIBS+= qt-network
endif
ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
QT_LIBS+= qt-webkit
endif
ifeq ($(BR2_PACKAGE_QT_XML),y)
QT_LIBS+= qt-xml
endif
ifeq ($(BR2_PACKAGE_QT_DBUS),y)
QT_LIBS+= qt-dbus
QT_DEP_LIBS+= dbus
endif
ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y)
QT_LIBS+= qt-xmlpatterns
endif
ifeq ($(BR2_PACKAGE_QT_SCRIPT),y)
QT_LIBS+= qt-script
endif
ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y)
QT_LIBS+= qt-scripttools
endif
ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
QT_LIBS+= qt-qt3support
endif
QT_QMAKE_CONF:=$(QT_TARGET_DIR)/mkspecs/qws/linux-$(BR2_PACKAGE_QT_EMB_PLATFORM)-g++/qmake.conf
# Variable for other Qt applications to use
QT_QMAKE:=$(STAGING_DIR)/usr/bin/qmake -spec qws/linux-$(BR2_PACKAGE_QT_EMB_PLATFORM)-g++
################################################################################
# QT_QMAKE_SET -- helper macro to set QMAKE_<variable> = <value> in
# QT_QMAKE_CONF. Will remove existing variable declaration if available.
#
# Argument 1 is the variable name (without QMAKE_)
# Argument 2 is the value to set variable to
#
# E.G. use like this:
# $(call QT_QMAKE_SET,variable,value)
################################################################################
define QT_QMAKE_SET
$(SED) '/QMAKE_$(1)/d' $(QT_QMAKE_CONF)
$(SED) '/include.*qws.conf/aQMAKE_$(1) = $(2)' $(QT_QMAKE_CONF)
endef
################################################################################
# QT_INSTALL_PLUGINS -- helper macro to install Qt plugins to target and
# strip them
#
# Argument 1 is the plugin folder
#
# E.G. use like this to install plugins/sqldrivers:
# $(call QT_INSTALL_PLUGINS,sqldrivers)
# ################################################################################
define QT_INSTALL_PLUGINS
if [ -d $(STAGING_DIR)/usr/plugins/$(1) ]; then \
mkdir -p $(TARGET_DIR)/usr/plugins; \
cp -dpfr $(STAGING_DIR)/usr/plugins/$(1) $(TARGET_DIR)/usr/plugins/; \
$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/plugins/$(1)/*; \
fi
endef
$(DL_DIR)/$(QT_SOURCE):
$(call DOWNLOAD,$(QT_SITE),$(QT_SOURCE))
qt-source: $(DL_DIR)/$(QT_SOURCE)
$(QT_TARGET_DIR)/.unpacked: $(DL_DIR)/$(QT_SOURCE)
$(QT_CAT) $(DL_DIR)/$(QT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(QT_TARGET_DIR) package/qt/ \
qt-$(QT_VERSION)-\*.patch \
qt-$(QT_VERSION)-\*.patch.$(ARCH)
touch $@
$(QT_TARGET_DIR)/.configured: $(QT_TARGET_DIR)/.unpacked
-[ -f $(QT_TARGET_DIR)/Makefile ] && $(MAKE) -C $(QT_TARGET_DIR) confclean
ifneq ($(BR2_INET_IPV6),y)
$(SED) 's/^CFG_IPV6=auto/CFG_IPV6=no/' $(QT_TARGET_DIR)/configure
$(SED) 's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/' $(QT_TARGET_DIR)/configure
endif
# Fix compiler path
$(call QT_QMAKE_SET,CC,$(filter-out --sysroot=%,$(TARGET_CC)))
$(call QT_QMAKE_SET,CXX,$(filter-out --sysroot=%,$(TARGET_CXX)))
$(call QT_QMAKE_SET,LINK,$(TARGET_CXX))
$(call QT_QMAKE_SET,LINK_SHLIB,$(TARGET_CXX))
$(call QT_QMAKE_SET,AR,$(TARGET_AR) cqs)
$(call QT_QMAKE_SET,OBJCOPY,$(TARGET_OBJCOPY))
$(call QT_QMAKE_SET,RANLIB,$(TARGET_RANLIB))
$(call QT_QMAKE_SET,STRIP,$(TARGET_STRIP))
$(call QT_QMAKE_SET,CFLAGS,$(TARGET_SYSROOT_OPT) $(TARGET_CFLAGS))
$(call QT_QMAKE_SET,CXXFLAGS,$(TARGET_SYSROOT_OPT) $(TARGET_CXXFLAGS))
$(call QT_QMAKE_SET,LFLAGS,$(TARGET_LDFLAGS))
-[ -f $(QT_QCONFIG_FILE) ] && cp $(QT_QCONFIG_FILE) \
$(QT_TARGET_DIR)/$(QT_QCONFIG_FILE_LOCATION)
# Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
# instead of the host then. So set PKG_CONFIG* manually.
(cd $(QT_TARGET_DIR); \
PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
./configure \
$(if $(VERBOSE),-verbose,-silent) \
-force-pkg-config \
-embedded $(BR2_PACKAGE_QT_EMB_PLATFORM) \
$(QT_QCONFIG_COMMAND) \
$(QT_CONFIGURE) \
-no-gfx-qnx \
-no-kbd-qnx \
-no-mouse-qnx \
-no-xinerama \
-no-cups \
-no-nis \
-no-accessibility \
-no-separate-debug-info \
-prefix /usr \
-hostprefix $(STAGING_DIR)/usr \
-fast \
-no-rpath \
)
touch $@
$(QT_TARGET_DIR)/.compiled: $(QT_TARGET_DIR)/.configured
$(MAKE) -C $(QT_TARGET_DIR)
touch $@
$(HOST_DIR)/usr/bin/qt.conf:
mkdir -p $(dir $@)
echo "[Paths]" > $@
echo "Prefix=$(HOST_DIR)/usr" >> $@
echo "Headers=$(STAGING_DIR)/usr/include" >> $@
echo "Libraries=$(STAGING_DIR)/usr/lib" >> $@
echo "Data=$(HOST_DIR)/usr" >> $@
echo "Binaries=$(HOST_DIR)/usr/bin" >> $@
$(STAGING_DIR)/usr/lib/libQtCore.la: $(QT_TARGET_DIR)/.compiled $(HOST_DIR)/usr/bin/qt.conf
$(MAKE) -C $(QT_TARGET_DIR) install
# Move host programs and spec files to the host directory. The
# generated qt.conf file will tell qmake where everything is.
mv $(addprefix $(STAGING_DIR)/usr/bin/,moc rcc qmake lrelease) $(HOST_DIR)/usr/bin
ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
mv $(STAGING_DIR)/usr/bin/uic $(HOST_DIR)/usr/bin
endif
mv $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/usr
qt-gui: $(STAGING_DIR)/usr/lib/libQtCore.la
mkdir -p $(TARGET_DIR)/usr/lib/fonts
ifneq ($(QT_FONTS),)
cp -dpf $(QT_FONTS) $(TARGET_DIR)/usr/lib/fonts
endif
ifneq ($(BR2_PACKAGE_QT_NOFREETYPE),y)
cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts
endif
# Install image plugins if they are built
$(call QT_INSTALL_PLUGINS,imageformats)
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtGui.so.* $(TARGET_DIR)/usr/lib/
endif
qt-sql: $(STAGING_DIR)/usr/lib/libQtCore.la
$(call QT_INSTALL_PLUGINS,sqldrivers)
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtSql.so.* $(TARGET_DIR)/usr/lib/
endif
qt-multimedia: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtMultimedia.so.* $(TARGET_DIR)/usr/lib/
endif
qt-phonon: $(STAGING_DIR)/usr/lib/libQtCore.la
$(call QT_INSTALL_PLUGINS,phonon_backend)
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libphonon.so.* $(TARGET_DIR)/usr/lib/
endif
qt-svg: $(STAGING_DIR)/usr/lib/libQtCore.la
$(call QT_INSTALL_PLUGINS,iconengines)
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtSvg.so.* $(TARGET_DIR)/usr/lib/
endif
qt-network: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtNetwork.so.* $(TARGET_DIR)/usr/lib/
endif
qt-webkit: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtWebKit.so.* $(TARGET_DIR)/usr/lib/
endif
qt-xml: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtXml.so.* $(TARGET_DIR)/usr/lib/
endif
qt-xmlpatterns: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtXmlPatterns.so.* $(TARGET_DIR)/usr/lib/
endif
qt-dbus: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtDBus.so.* $(TARGET_DIR)/usr/lib/
endif
qt-script: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtScript.so.* $(TARGET_DIR)/usr/lib/
endif
qt-scripttools: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtScriptTools.so.* $(TARGET_DIR)/usr/lib/
endif
qt-qt3support: $(STAGING_DIR)/usr/lib/libQtCore.la
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQt3Support.so.* $(TARGET_DIR)/usr/lib/
endif
$(TARGET_DIR)/usr/lib/libQtCore.so.4: $(STAGING_DIR)/usr/lib/libQtCore.la $(QT_LIBS)
# Strip all installed libs
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
cp -dpf $(STAGING_DIR)/usr/lib/libQtCore.so.* $(TARGET_DIR)/usr/lib/
-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libQt*.so.*
endif
qt: $(QT_DEP_LIBS) $(TARGET_DIR)/usr/lib/libQtCore.so.4
qt-clean:
-$(MAKE) -C $(QT_TARGET_DIR) clean
-rm -rf $(TARGET_DIR)/usr/lib/fonts
ifeq ($(BR2_PACKAGE_QT_SHARED),y)
-rm $(TARGET_DIR)/usr/lib/libQt*.so.*
-rm $(TARGET_DIR)/usr/lib/libphonon.so.*
endif
qt-dirclean:
rm -rf $(QT_TARGET_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_QT),y)
TARGETS+=qt
endif