summaryrefslogtreecommitdiffstats
path: root/config.profiles/symbian/qtconfig.flm
diff options
context:
space:
mode:
Diffstat (limited to 'config.profiles/symbian/qtconfig.flm')
-rw-r--r--config.profiles/symbian/qtconfig.flm88
1 files changed, 88 insertions, 0 deletions
diff --git a/config.profiles/symbian/qtconfig.flm b/config.profiles/symbian/qtconfig.flm
new file mode 100644
index 0000000..61ee6e6
--- /dev/null
+++ b/config.profiles/symbian/qtconfig.flm
@@ -0,0 +1,88 @@
+# /****************************************************************************
+# **
+# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# ** Contact:
+# **
+# ****************************************************************************/
+
+# FLM to build Qt tools.
+
+QT_ROOT:= ../..
+TARGETDIR:=$(EPOCROOT)/$(INSTALLPATH)
+MKSPECDIR:=$(EPOCROOT)/$(INSTALLPATH)/qt
+SOURCEDIR:=$(EXTENSION_ROOT)/$(QT_ROOT)/bin
+TOOLSSRCDIR:=$(EXTENSION_ROOT)/$(QT_ROOT)/src/tools
+LANGUAGETOOLDIR:=$(EXTENSION_ROOT)/$(QT_ROOT)/tools/linguist
+CONFIGURE_APP:=configure$(DOTEXE)
+
+$(call makepath,$(TARGETDIR))
+
+ifneq ($(filter linux,$(HOSTPLATFORM)),)
+PLATFORM:=$(PLATFORM.LINUX)
+else
+PLATFORM:=$(PLATFORM.WIN32)
+endif
+
+TARGET_TOOLS:=$(TARGETDIR)/qmake$(DOTEXE) $(TARGETDIR)/moc$(DOTEXE) $(TARGETDIR)/rcc$(DOTEXE) $(TARGETDIR)/uic$(DOTEXE) $(TARGETDIR)/lrelease$(DOTEXE)
+QT_TOOLS:= $(TOOLSSRCDIR)/uic $(TOOLSSRCDIR)/moc $(TOOLSSRCDIR)/rcc $(LANGUAGETOOLDIR)/lrelease
+SOURCE_TOOLS:=$(SOURCEDIR)/qmake$(DOTEXE) $(SOURCEDIR)/moc$(DOTEXE) $(SOURCEDIR)/rcc$(DOTEXE) $(SOURCEDIR)/uic$(DOTEXE) $(SOURCEDIR)/lrelease$(DOTEXE)
+
+define QtConfiguration
+ifneq ($(filter linux,$(HOSTPLATFORM)),)
+$(TARGET_TOOLS): $(QT_TOOLS)
+else
+$(TARGET_TOOLS): $(SOURCEDIR)/qmake$(DOTEXE)
+endif
+ $(call startrule,qtconf_deploy) \
+ $(GNUCP) $(SOURCEDIR)/$$(notdir $$@) $$@ \
+ $(call endrule,qtconf_deploy)
+
+ifneq ($(filter linux,$(HOSTPLATFORM)),)
+$(QT_TOOLS): $(TOOLSSRCDIR)/bootstrap
+ $(call startrule,qtconf_tools_build) \
+ cd $$@; \
+ $(GNUMAKE38); \
+ cd .. \
+ $(call endrule,qtconf_tools_build)
+
+$(TOOLSSRCDIR)/bootstrap:$(SOURCEDIR)/qmake$(DOTEXE)
+ $(call startrule,qtconf_bootstrap_build) \
+ cd $(TOOLSSRCDIR)/bootstrap; \
+ $(GNUMAKE38); \
+ cd .. \
+ $(call endrule,qtconf_bootstrap_build)
+endif
+
+
+$(SOURCEDIR)/qmake$(DOTEXE): $(EXTENSION_ROOT)/$(QT_ROOT)/$(CONFIGURE_APP)
+ $(call startrule,qtconf) \
+ cd $(EXTENSION_ROOT)/$(QT_ROOT) && unset INCLUDE && unset LIB && $(EXTENSION_ROOT)/$(QT_ROOT)/$(CONFIGURE_APP) -platform $(PLATFORM) -xplatform $(XPLATFORM) $(OPTIONS) \
+ $(call endrule,qtconf)
+ $(call startrule,headerexport) \
+ cd $(EXTENSION_ROOT)/$(QT_ROOT)/config.profiles/symbian && \
+ perl headerexport -base-dir $(EXTENSION_ROOT)/$(QT_ROOT) -copy -oneway -outdir $(EPOCROOT)/epoc32/include/ -outsubdir mw
+ $(call endrule,headerexport)
+ $(call startrule,mkspecexport) \
+ $(GNUCP) -R $(EXTENSION_ROOT)/$(QT_ROOT)/mkspecs $(MKSPECDIR)
+ $(call endrule,mkspecexport)
+endef
+
+# Here a variable named "done_<sanitised $SISFILE>" gets created
+GUARD:=done_$(call sanitise,$(TARGETDIR)/qmake$(DOTEXE))
+# If variable "done_..." not set, set it to 1, so that
+# UREL and UDEB do not execute makesis twice on the same target
+ifeq ($($(GUARD)),)
+$(GUARD):=1
+ifneq ($(filter linux,$(HOSTPLATFORM)),)
+EXPORT:: $(QT_TOOLS) $(TARGET_TOOLS)
+else
+EXPORT:: $(TARGET_TOOLS)
+endif
+$(eval $(call QtConfiguration))
+$(eval $(call whatmacro,$(TARGET_TOOLS)))
+ifeq ($(OSTYPE),unix)
+$(eval $(call GenerateStandardCleanTarget,$(QT_TOOLS) $(TARGET_TOOLS) $(SOURCE_TOOLS),$(TARGETDIR)))
+else
+$(eval $(call GenerateStandardCleanTarget,$(TARGET_TOOLS) $(SOURCE_TOOLS),$(TARGETDIR)))
+endif
+endif