build/Makefile.defs
changeset 78 71ad690e91f5
parent 67 63b81d807542
child 80 d6dafc5d983f
--- a/build/Makefile.defs	Fri Sep 17 16:44:34 2010 +0300
+++ b/build/Makefile.defs	Mon Oct 04 11:29:25 2010 +0300
@@ -28,8 +28,11 @@
   endif
 endif
 
+# Determine if we're building jrt or jrtext
+GEN_BUILD_FILES_DIR = $(if $(JRTEXT_SRC_ROOT),$(JRTEXT_SRC_ROOT),$(JAVA_SRC_ROOT))
+
 # S60 release file (written if release is given explicitly on commandline)
-RD_JAVA_S60_RELEASE_FILE = $(JAVA_SRC_ROOT)/inc/java_s60_release.hrh
+RD_JAVA_S60_RELEASE_FILE = $(GEN_BUILD_FILES_DIR)/inc/java_s60_release.hrh
 
 include $(JAVA_SRC_ROOT)/build/Makefile.project
 
@@ -40,6 +43,7 @@
   $(error The environment variable JAVA_6_HOME is not defined)
   endif
   export JAVA_HOME=$(JAVA_6_HOME)
+  HASH_CHAR=\#
 
   ifeq ($(notdir $(basename $(SHELL))),sh)
     # Cygwin & Linux definitions
@@ -121,6 +125,7 @@
   export PLATFORM = linux
   QMAKE = qmake
   ANT := ant
+  HASH_CHAR=\\\#
 
   ifndef JAVA_BIN_ROOT
   export JAVA_BIN_ROOT=$(JAVA_SRC_ROOT)/bin
@@ -185,6 +190,22 @@
 
 export VARIANT
 
+# Specify RVCT version explicitly by default
+OVERRIDE_RVCT = 1
+SBSCONFIG = $(PLATFORM)_$(CFG)
+ifeq ($(OVERRIDE_RVCT),1)
+  ifeq ($(PLATFORM),armv5)
+    ifdef RD_JAVA_S60_RELEASE_10_1_ONWARDS
+      SBSCONFIG = $(PLATFORM)_$(CFG).rvct4_0
+      RVCTBIN = $(RVCT40BIN)
+    else 
+      SBSCONFIG = $(PLATFORM)_$(CFG).rvct2_2
+      RVCTBIN = $(RVCT22BIN)
+    endif
+    export PATH:=$(RVCTBIN);$(subst $(RVCT40BIN),,$(subst $(RVCT22BIN),,$(PATH)))
+  endif
+endif
+
 ANT_PROJECT_DEFINES = $(foreach d,$(PROJECT_DEFINES),-D$d=1)
 
 COMPONENT_NAME ?= $(notdir $(CURDIR))
@@ -217,13 +238,16 @@
 # Common ----------------------------------
 
 # Export files need a build_defines file
-BUILDDEFINEFILE := $(JAVA_SRC_ROOT)/inc/build_defines.hrh
-QBUILDDEFINEFILE := $(JAVA_SRC_ROOT)/inc/build_defines.pri
-JAVAVERSIONFILE := $(JAVA_SRC_ROOT)/inc/java.txt
+BUILDDEFINEFILE := $(GEN_BUILD_FILES_DIR)/inc/build_defines.hrh
+QBUILDDEFINEFILE := $(GEN_BUILD_FILES_DIR)/inc/build_defines.pri
 
 # Project define file is needed by export and native phases of nonqt components
 # Native builds require project_defines.hrh for nonqt-mmp-files
-PROJECTDEFINEFILE = $(JAVA_SRC_ROOT)/inc/project_defines.hrh
+PROJECTDEFINEFILE = $(GEN_BUILD_FILES_DIR)/inc/project_defines.hrh
+
+# Java version file
+JAVAVERSIONFILE := $(GEN_BUILD_FILES_DIR)/inc/java.txt
+
 
 ifndef FIRSTTIME_FLAG
 export FIRSTTIME_FLAG = 1
@@ -237,7 +261,7 @@
 ifeq ($(BUILDENV),symbian)
 all init export configure qmake java native releasebuild test: echo_s60_release
 echo_s60_release:
-	@echo Building on top of S60 $(RD_JAVA_S60_RELEASE)
+	@echo Building on top of S60 $(RD_JAVA_S60_RELEASE), PLATFORM=$(PLATFORM) VARIANT=$(VARIANT)
 endif
 
 include $(JAVA_SRC_ROOT)/build/makefile.javaversion
@@ -245,13 +269,17 @@
 COMMA = ,
 JAVA_VERSION_ = $(subst .,$(COMMA),$(JAVA_VERSION))
 
-configure: generateconffiles generatereleasefile
+configure: create_inc_dir generateconffiles generatereleasefile
+
+create_inc_dir:
+	$(call MKDIR, $(call PATHFIX,$(GEN_BUILD_FILES_DIR)/inc))
+
 generateconffiles:
 	@echo Writing $(BUILDDEFINEFILE) ... \
 	$(shell $(call CATCOMMAND,$(JAVA_SRC_ROOT)/build/templates/generated_header.txt) > $(BUILDDEFINEFILE)) \
-	$(shell echo #define RD_JAVA_VERSION $(JAVA_VERSION_)>> $(BUILDDEFINEFILE)) \
-	$(shell echo #define RD_JAVA_BIN_VERSION_NONQT $(shell python $(JAVA_SRC_ROOT)/build/buildutils/ver2binver.py mmp $(JAVA_VERSION))>> $(BUILDDEFINEFILE)) \
-	$(foreach d, $(PROJECT_DEFINES), $(shell echo #define $d >> $(BUILDDEFINEFILE)))
+	$(shell echo $(HASH_CHAR)define RD_JAVA_VERSION $(JAVA_VERSION_)>> $(BUILDDEFINEFILE)) \
+	$(shell echo $(HASH_CHAR)define RD_JAVA_BIN_VERSION_NONQT $(shell python $(JAVA_SRC_ROOT)/build/buildutils/ver2binver.py mmp $(JAVA_VERSION))>> $(BUILDDEFINEFILE)) \
+	$(foreach d, $(PROJECT_DEFINES), $(shell echo $(HASH_CHAR)define $d>> $(BUILDDEFINEFILE)))
 	@echo Writing $(QBUILDDEFINEFILE) ... \
 	$(shell $(call CATCOMMAND,$(JAVA_SRC_ROOT)/build/templates/generated_header_hash.txt) > $(QBUILDDEFINEFILE)) \
 	$(shell echo RD_JAVA_BIN_VERSION = $(shell python $(JAVA_SRC_ROOT)/build/buildutils/ver2binver.py qmake $(JAVA_VERSION))>> $(QBUILDDEFINEFILE)) \