genode/repos/qt4/tool/Makefile
Norman Feske ca971bbfd8 Move repositories to 'repos/' subdirectory
This patch changes the top-level directory layout as a preparatory
step for improving the tools for managing 3rd-party source codes.
The rationale is described in the issue referenced below.

Issue #1082
2014-05-14 16:08:00 +02:00

79 lines
1.8 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/qt_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
#
HOST_ARCH := $(shell uname -m)
ifneq ($(HOST_ARCH),x86_64)
HOST_ARCH=x86
endif
QMAKESPEC = $(REP_DIR)/contrib/$(QT4)/mkspecs/qws/linux-$(HOST_ARCH)-g++
#
# Build qmake
#
qmake/qmake:
QMAKESPEC=$(QMAKESPEC) make -C qmake
#
# Build the other tools using qmake
#
vpath bootstrap.pro $(REP_DIR)/contrib/$(QT4)/src/tools/bootstrap
vpath moc.pro $(REP_DIR)/contrib/$(QT4)/src/tools/moc
vpath rcc.pro $(REP_DIR)/contrib/$(QT4)/src/tools/rcc
vpath uic.pro $(REP_DIR)/contrib/$(QT4)/src/tools/uic
bootstrap/libbootstrap.a: bootstrap/Makefile
make -C bootstrap
moc/moc: moc/Makefile bootstrap/libbootstrap.a
make -C moc
rcc/rcc: rcc/Makefile bootstrap/libbootstrap.a
make -C rcc
uic/uic: uic/Makefile bootstrap/libbootstrap.a
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
mkdir -p $*
QMAKESPEC=$(QMAKESPEC) qmake/qmake -o $*/Makefile \
QT_BUILD_TREE=$(REP_DIR)/contrib/$(QT4) \
INCLUDEPATH+=$(REP_DIR)/include/qt4 \
INCLUDEPATH+=$(REP_DIR)/include/qt4/QtCore \
INCLUDEPATH+=$(REP_DIR)/src/lib/qt4/src/corelib/global \
-after DESTDIR= \
-after LIBS+=-L../bootstrap\
$^
#
# Clean rule
#
clean:
make -C qmake clean
rm -rf bootstrap moc rcc uic
distclean: clean