mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-25 16:31:06 +00:00
7b54eaaee1
Fixes #345.
97 lines
2.7 KiB
Makefile
97 lines
2.7 KiB
Makefile
#
|
|
# \brief Makefile for building the Qt4 tools
|
|
# \author Christian Prochaska
|
|
# \author Norman Feske
|
|
# \date 2009-05-15
|
|
#
|
|
|
|
REP_DIR := $(realpath ../..)
|
|
|
|
include $(REP_DIR)/lib/mk/qt5_version.inc
|
|
|
|
#
|
|
# Compound rule for building the tools in the right order
|
|
#
|
|
all: qmake/qmake moc/moc rcc/rcc uic/uic
|
|
|
|
#
|
|
# Determine qmakespec to be passed to the sub makefiles
|
|
#
|
|
ifeq ($(shell uname -m),x86_64)
|
|
HOST_ARCH := 64
|
|
else
|
|
HOST_ARCH := 32
|
|
endif
|
|
|
|
QMAKESPEC = $(REP_DIR)/contrib/$(QT5)/qtbase/mkspecs/linux-g++-$(HOST_ARCH)
|
|
|
|
#
|
|
# Build qmake
|
|
#
|
|
qmake/qmake:
|
|
QMAKESPEC=$(QMAKESPEC) make -C qmake
|
|
|
|
#
|
|
# Build the other tools using qmake
|
|
#
|
|
vpath bootstrap.pro $(REP_DIR)/contrib/$(QT5)/qtbase/src/tools/bootstrap
|
|
vpath moc.pro $(REP_DIR)/contrib/$(QT5)/qtbase/src/tools/moc
|
|
vpath rcc.pro $(REP_DIR)/contrib/$(QT5)/qtbase/src/tools/rcc
|
|
vpath uic.pro $(REP_DIR)/contrib/$(QT5)/qtbase/src/tools/uic
|
|
|
|
#
|
|
# The Makefile needs to rebuild itself to get the correct source paths.
|
|
# This gets done by the 'qmake' target.
|
|
#
|
|
|
|
bootstrap/libQtBootstrap.a: bootstrap/Makefile
|
|
QMAKESPEC=$(QMAKESPEC) make -C bootstrap qmake
|
|
QMAKESPEC=$(QMAKESPEC) make -C bootstrap
|
|
|
|
moc/moc: bootstrap/libQtBootstrap.a moc/Makefile
|
|
QMAKESPEC=$(QMAKESPEC) make -C moc qmake
|
|
QMAKESPEC=$(QMAKESPEC) make -C moc
|
|
|
|
rcc/rcc: rcc/Makefile bootstrap/libQtBootstrap.a
|
|
QMAKESPEC=$(QMAKESPEC) make -C rcc qmake
|
|
QMAKESPEC=$(QMAKESPEC) make -C rcc
|
|
|
|
uic/uic: uic/Makefile bootstrap/libQtBootstrap.a
|
|
QMAKESPEC=$(QMAKESPEC) make -C uic qmake
|
|
QMAKESPEC=$(QMAKESPEC) make -C uic
|
|
|
|
#
|
|
# Rule to generate tool Makefiles from the respective pro files via qmake
|
|
#
|
|
# The second include path is required to resolve the Genode-specific
|
|
# 'gconfig.cpp' file. Even though this is a 'cpp' file, it is used via
|
|
# '#include'. So we have to make its location known to the 'INCLUDEPATH'.
|
|
#
|
|
%/Makefile: %.pro
|
|
QMAKESPEC=$(QMAKESPEC) qmake/qmake -o $*/Makefile \
|
|
QT_BUILD_TREE=$(REP_DIR)/contrib/$(QT5)/qtbase \
|
|
QT_CONFIG+=zlib \
|
|
INCLUDEPATH+=$(REP_DIR)/include/qt5 \
|
|
INCLUDEPATH+=$(REP_DIR)/contrib/$(QT5)/qtbase/include \
|
|
INCLUDEPATH+=$(REP_DIR)/include/qt5/qtbase \
|
|
INCLUDEPATH+=$(REP_DIR)/contrib/$(QT5)/qtbase/include \
|
|
INCLUDEPATH+=$(REP_DIR)/include/qt5/qtbase/QtCore \
|
|
INCLUDEPATH+=$(REP_DIR)/contrib/$(QT5)/qtbase/include/QtCore \
|
|
INCLUDEPATH+=$(REP_DIR)/src/lib/qt5/qtbase/src/corelib/global \
|
|
INCLUDEPATH+=$(REP_DIR)/contrib/$(QT5)/qtbase/include/QtCore/5.1.0 \
|
|
INCLUDEPATH+=$(REP_DIR)/contrib/$(QT5)/qtbase/include/QtCore/5.1.0/QtCore \
|
|
INCLUDEPATH+=$(REP_DIR)/include/qt5/qtbase/QtXml \
|
|
INCLUDEPATH+=$(REP_DIR)/contrib/$(QT5)/qtbase/include/QtXml \
|
|
-after DESTDIR= \
|
|
-after "LIBS+=-lQtBootstrap -L../bootstrap" \
|
|
$^
|
|
|
|
#
|
|
# Clean rule
|
|
#
|
|
clean:
|
|
make -C qmake clean
|
|
rm -rf bootstrap moc rcc uic
|
|
|
|
distclean: clean
|