sbsv2/raptor/lib/flm/e32abiv2.flm
changeset 18 de5b887c98f7
parent 13 c327db0664bb
child 28 b8fa7dfeeaa1
equal deleted inserted replaced
14:eb060913c963 18:de5b887c98f7
    46                            $(call equal,$(FEATUREVARIANT),1))),1)
    46                            $(call equal,$(FEATUREVARIANT),1))),1)
    47 endif
    47 endif
    48 
    48 
    49 ifeq ($(DOBUILD),1)
    49 ifeq ($(DOBUILD),1)
    50 
    50 
    51 $(if $(FLMDEBUG),$(info <flm name='e32abiv2' target='$(TARGET)' type='$(TARGETTYPE)' outputpath='$(OUTPUTPATH)' metasource='$(METASOURCE)' postlinkfiletype='$(POSTLINKFILETYPE)' />))
    51 $(if $(FLMDEBUG),$(info <debug><flm name='e32abiv2' target='$(TARGET)' type='$(TARGETTYPE)' outputpath='$(OUTPUTPATH)' metasource='$(METASOURCE)' postlinkfiletype='$(POSTLINKFILETYPE)' /></debug>))
       
    52 
       
    53 # Enable DELETE_ON_FAILED_COMPILE work around for failed RVCT 2.2 compiles
       
    54 ifneq ($(DELETE_ON_FAILED_COMPILE),)
       
    55 RVCT22_DELETE_WORKAROUND:=|| { $$(GNURM) $$@; exit 1; }
       
    56 endif # ifneq ($(DELETE_ON_FAILED_COMPILE),)
    52 
    57 
    53 # Strip switch-type parameters
    58 # Strip switch-type parameters
    54 #
    59 #
    55 POSTLINKTARGETTYPE:=$(strip $(POSTLINKTARGETTYPE))
    60 POSTLINKTARGETTYPE:=$(strip $(POSTLINKTARGETTYPE))
       
    61 TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
       
    62 
    56 UID1:=$(strip $(UID1))
    63 UID1:=$(strip $(UID1))
    57 UID2:=$(strip $(UID2))
    64 UID2:=$(strip $(UID2))
    58 UID3:=$(strip $(UID3))
    65 UID3:=$(strip $(UID3))
    59 SID:=$(strip $(SECUREID))
    66 SID:=$(strip $(SECUREID))
    60 VENDORID:=$(strip $(VENDORID))
    67 VENDORID:=$(strip $(VENDORID))
   126   VER_E32IMPORTLIBBASE:=$(IMPORTLIBPATH)/$(EXPORTLIBRARY){$(VERSIONHEX)}
   133   VER_E32IMPORTLIBBASE:=$(IMPORTLIBPATH)/$(EXPORTLIBRARY){$(VERSIONHEX)}
   127 endif
   134 endif
   128 
   135 
   129 # Postlinkable targets need to be linked and elf2e32'd
   136 # Postlinkable targets need to be linked and elf2e32'd
   130 ifneq ($(DOPOSTLINK),)
   137 ifneq ($(DOPOSTLINK),)
   131     E32TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
   138     E32TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(TARGETEXT)
   132     LINK_TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).sym
   139     LINK_TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(TARGETEXT).sym
   133     MAPFILE:=$(RELEASABLEPATH)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).map
   140     MAPFILE:=$(RELEASABLEPATH)/$(TARGET).$(TARGETEXT).map
   134 else
   141 else
   135   E32TARGET:=
   142   E32TARGET:=
   136   LINK_TARGET:=
   143   LINK_TARGET:=
   137   MAPFILE:=
   144   MAPFILE:=
   138 endif
   145 endif
   163   ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_DSO)),)
   170   ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_DSO)),)
   164     IMPORTLIBTARGET_DSO:=$(TMP_IMPORTLIBTARGET_ROOT).dso
   171     IMPORTLIBTARGET_DSO:=$(TMP_IMPORTLIBTARGET_ROOT).dso
   165     IMPORTLIBTARGETVERSIONED_DSO:=$(VER_E32IMPORTLIBBASE).dso
   172     IMPORTLIBTARGETVERSIONED_DSO:=$(VER_E32IMPORTLIBBASE).dso
   166   endif
   173   endif
   167 
   174 
   168   # ABIv1 .lib (for specific builds, toolchains and host OS platforms only)
   175   # ABIv1 .lib (for specific kits and toolchains only)
   169   IMPORTLIBTARGET_LIB:=
   176   IMPORTLIBTARGET_LIB:=
   170   IMPORTLIBTARGETVERSIONED_LIB:=
   177   IMPORTLIBTARGETVERSIONED_LIB:=
   171   BUILDMARKER_IMPORTLIBTARGET_LIB:=TARGET_$(subst :,,$(VER_E32IMPORTLIBBASE)).lib
   178   BUILDMARKER_IMPORTLIBTARGET_LIB:=TARGET_$(subst :,,$(VER_E32IMPORTLIBBASE)).lib
   172   # Only for builds that require and support them, and only on windows
   179   # Only for kits that require and tools that support them
   173   ifeq ($(OSTYPE),cygwin)
   180   ifneq ($(SUPPORTS_ABIV1_IMPLIBS),)
   174   ifeq ($(GENERATE_ABIV1_IMPLIBS),1)
       
   175     WHATRELEASE:=$(WHATRELEASE) $(if $(EXPLICITVERSION),,$(TMP_IMPORTLIBTARGET_ROOT).lib)
   181     WHATRELEASE:=$(WHATRELEASE) $(if $(EXPLICITVERSION),,$(TMP_IMPORTLIBTARGET_ROOT).lib)
   176     WHATRELEASE:=$(WHATRELEASE) $(VER_E32IMPORTLIBBASE).lib
   182     WHATRELEASE:=$(WHATRELEASE) $(VER_E32IMPORTLIBBASE).lib
   177     ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_LIB)),)
   183     ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_LIB)),)
   178       IMPORTLIBTARGET_LIB:=$(TMP_IMPORTLIBTARGET_ROOT).lib
   184       IMPORTLIBTARGET_LIB:=$(TMP_IMPORTLIBTARGET_ROOT).lib
   179       IMPORTLIBTARGETVERSIONED_LIB:=$(VER_E32IMPORTLIBBASE).lib
   185       IMPORTLIBTARGETVERSIONED_LIB:=$(VER_E32IMPORTLIBBASE).lib
   180     endif
   186     endif
   181   endif
   187   endif
   182   endif
       
   183 endif
   188 endif
   184 
   189 
   185 # Try to make sure that we get the right linkas name
   190 # Try to make sure that we get the right linkas name
   186 # If linkas is specified then split it up and
   191 # If linkas is specified then split it up and
   187 # put the hex version number in the right place
   192 # put the hex version number in the right place
   188 ifeq ($(LINKAS),)
   193 ifeq ($(LINKAS),)
   189   LINKASNAME=$(TARGET)
   194   LINKASNAME=$(TARGET)
   190   LINKASTYPE=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
   195   LINKASTYPE=$(TARGETEXT)
   191 else
   196 else
   192   SPLIT_LINKAS=$(subst ., ,$(LINKAS))
   197   SPLIT_LINKAS=$(subst ., ,$(LINKAS))
   193   LINKASNAME=$(word 1,$(SPLIT_LINKAS))
   198   LINKASNAME=$(word 1,$(SPLIT_LINKAS))
   194   LINKASTYPE=$(word 2,$(SPLIT_LINKAS))
   199   LINKASTYPE=$(word 2,$(SPLIT_LINKAS))
   195 endif
   200 endif
   710 endif
   715 endif
   711 
   716 
   712 # USE_TRACE_COMPILER defaults to blank in Raptor config.
   717 # USE_TRACE_COMPILER defaults to blank in Raptor config.
   713 # Users can turn TC on by setting it to 1 in user config.
   718 # Users can turn TC on by setting it to 1 in user config.
   714 ifneq ($(USE_TRACE_COMPILER),)
   719 ifneq ($(USE_TRACE_COMPILER),)
       
   720   # TARGETEXT is already set
   715   include $(FLMHOME)/tracecompiler.mk
   721   include $(FLMHOME)/tracecompiler.mk
   716   WHATRELEASE:=$(WHATRELEASE) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
   722   WHATRELEASE:=$(WHATRELEASE) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
   717 endif
   723 endif
   718 
   724 
   719 CC_CPPONLY_ARGS:=$(SYMBIAN_CCFLAGS) $(if $(DEBUG_INFO),-g) $(DEBUG_FORMAT) \
   725 CC_CPPONLY_ARGS:=$(SYMBIAN_CCFLAGS) $(if $(DEBUG_INFO),-g) $(DEBUG_FORMAT) \
   790 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   796 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   791 			$(if $(NOHIDEALL),--no_hide_all,) \
   797 			$(if $(NOHIDEALL),--no_hide_all,) \
   792 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
   798 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
   793 			$(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
   799 			$(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
   794 			$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
   800 			$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
   795 			--via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<))  \
   801 			--via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   796 	$(call endrule,compile)
   802 	$(call endrule,compile)
   797 
   803 
   798 ifeq ($(NO_DEPEND_GENERATE),)
   804 ifeq ($(NO_DEPEND_GENERATE),)
   799   CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
   805   CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
   800 endif
   806 endif
   849 			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
   855 			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
   850 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
   856 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
   851 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   857 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   852 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   858 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   853 			$(if $(NOHIDEALL),--no_hide_all,) \
   859 			$(if $(NOHIDEALL),--no_hide_all,) \
   854 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \
   860 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   855 	$(call endrule,e32cpponly)
   861 	$(call endrule,e32cpponly)
   856 
   862 
   857 CLEANTARGETS:=$$(CLEANTARGETS) $(CPPONLYTARGET)
   863 CLEANTARGETS:=$$(CLEANTARGETS) $(CPPONLYTARGET)
   858 endef
   864 endef
   859 
   865 
   862 endif
   868 endif
   863 
   869 
   864 define e32abiv2_listing
   870 define e32abiv2_listing
   865 # $1 is the sourcefile
   871 # $1 is the sourcefile
   866 
   872 
   867 $(eval LISTINGTARGET:=$(strip $(call extractandmap,$(CPPFILEEXTENSIONS) $(CFILEEXTENSIONS),.$(subst _,.,$(call sanitise,$(FULLVARIANTPATH))).$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).lst,$1)))
   873 $(eval LISTINGTARGET:=$(strip $(call extractandmap,$(CPPFILEEXTENSIONS) $(CFILEEXTENSIONS),.$(subst _,.,$(call sanitise,$(FULLVARIANTPATH))).$(TARGET).$(TARGETEXT).lst,$1)))
   868 $(eval DEPENDFILENAME:=$(call map2listfile,$1).d)
   874 $(eval DEPENDFILENAME:=$(call map2listfile,$1).d)
   869 $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
   875 $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
   870 
   876 
   871 
   877 
   872 LISTING:: $(LISTINGTARGET)
   878 LISTING:: $(LISTINGTARGET)
   884 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
   890 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
   885 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   891 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   886 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   892 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   887 			$(if $(NOHIDEALL),--no_hide_all,) \
   893 			$(if $(NOHIDEALL),--no_hide_all,) \
   888 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
   894 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
   889 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \
   895 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   890 	$(call endrule,e32listing)
   896 	$(call endrule,e32listing)
   891 
   897 
   892 CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET)
   898 CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET)
   893 
   899 
   894 ifeq ($(NO_DEPEND_GENERATE),))
   900 ifeq ($(NO_DEPEND_GENERATE),))
   918 # Fivespaces variable created to ensure a suitable gap of space characters
   924 # Fivespaces variable created to ensure a suitable gap of space characters
   919 # Is placed between the separate arguments. This fixes a problem in Cygwin, where
   925 # Is placed between the separate arguments. This fixes a problem in Cygwin, where
   920 # separate arguments are interpreted as a single argument when passed to bash
   926 # separate arguments are interpreted as a single argument when passed to bash
   921 FIVESPACES=$(BLANK)     $(BLANK)
   927 FIVESPACES=$(BLANK)     $(BLANK)
   922 
   928 
   923 FREEZEGUARD:=TARGET_$(TARGET)_$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))_$(IMPORTLIBPATH)_EFREEZE
   929 FREEZEGUARD:=TARGET_$(TARGET)_$(TARGETEXT)_$(IMPORTLIBPATH)_EFREEZE
   924 
   930 
   925 define e32freeze
   931 define e32freeze
   926 
   932 
   927 FREEZE:: $(1)
   933 FREEZE:: $(1)
   928 	$(call startrule,freeze,,$(RESOLVED_DEFFILE)) \
   934 	$(call startrule,freeze,,$(RESOLVED_DEFFILE)) \
   979 			$(if $(LTCG),$(LTCG_OPTION),) \
   985 			$(if $(LTCG),$(LTCG_OPTION),) \
   980 			$(OPTION_COMPILER) \
   986 			$(OPTION_COMPILER) \
   981 			$(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS) $(CIADEFS)) $(CPP_LANG_OPTION)      \
   987 			$(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS) $(CIADEFS)) $(CPP_LANG_OPTION)      \
   982 	 		$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(USERINCLUDE)))     \
   988 	 		$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(USERINCLUDE)))     \
   983 	 		$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(SYSTEMINCLUDE))) \
   989 	 		$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(SYSTEMINCLUDE))) \
   984 	 		$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \
   990 	 		$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   985 	$(call endrule,cia2cpp2o)
   991 	$(call endrule,cia2cpp2o)
   986 
   992 
   987 
   993 
   988 # preprocessed CIA file to a CPP file
   994 # preprocessed CIA file to a CPP file
   989 $(e32abiv2_CPPFILE): $(e32abiv2_PREFILE)
   995 $(e32abiv2_CPPFILE): $(e32abiv2_PREFILE)
  1005 
  1011 
  1006 
  1012 
  1007 $(e32abiv2_PREFILE): $1 $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)
  1013 $(e32abiv2_PREFILE): $1 $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)
  1008 	$(call startrule,cia2cpp,,$1) \
  1014 	$(call startrule,cia2cpp,,$1) \
  1009 	$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
  1015 	$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
  1010 	$(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) \
  1016 	$(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
  1011 	$(if $(NO_DEPEND_GENERATE),,&& $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d)) \
  1017 	$(if $(NO_DEPEND_GENERATE),,&& $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d)) \
  1012 	$(call endrule,cia2cpp)
  1018 	$(call endrule,cia2cpp)
  1013 
  1019 
  1014 ifeq ($(NO_DEPEND_GENERATE),)
  1020 ifeq ($(NO_DEPEND_GENERATE),)
  1015   CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  1021   CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  1050 $(1): $(2) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)
  1056 $(1): $(2) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)
  1051 	$(call startrule,asmcompile,,$(2)) \
  1057 	$(call startrule,asmcompile,,$(2)) \
  1052 		$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
  1058 		$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
  1053 		$(CC) $(e32abiv2_asm_OPTIONS) \
  1059 		$(CC) $(e32abiv2_asm_OPTIONS) \
  1054 		$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
  1060 		$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
  1055 	 	$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \
  1061 	 	$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
  1056 	$(call endrule,asmcompile)
  1062 	$(call endrule,asmcompile)
  1057 ifeq ($(NO_DEPEND_GENERATE),)
  1063 ifeq ($(NO_DEPEND_GENERATE),)
  1058 	$(call startrule,asmdependencies) \
  1064 	$(call startrule,asmdependencies) \
  1059 		$(CC) -M $(subst --no_rtti,,$(e32abiv2_asm_OPTIONS)) --depend_format=unix \
  1065 		$(CC) -M $(subst --no_rtti,,$(e32abiv2_asm_OPTIONS)) --depend_format=unix \
  1060 	  	$(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) \
  1066 	  	$(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
  1061 	$(call endrule,asmdependencies)
  1067 	$(call endrule,asmdependencies)
  1062 endif
  1068 endif
  1063 
  1069 
  1064 ifeq ($(NO_DEPEND_GENERATE),)
  1070 ifeq ($(NO_DEPEND_GENERATE),)
  1065   CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  1071   CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  1094         ROMDIR:=$(EPOC_ROOT)/epoc32/rom/$(TOBLDINF)
  1100         ROMDIR:=$(EPOC_ROOT)/epoc32/rom/$(TOBLDINF)
  1095 
  1101 
  1096         # Default values
  1102         # Default values
  1097         ROMFILETYPE:=file
  1103         ROMFILETYPE:=file
  1098         ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT)
  1104         ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT)
  1099         ROMPATH:=sys/bin/
  1105         ROMPATH:=$(if $(TARGETPATH),$(TARGETPATH)/,sys/bin/)
  1100         ROMDECORATIONS:=
  1106         ROMDECORATIONS:=
  1101         ROMFILETYPE_RAM:=data
  1107         ROMFILETYPE_RAM:=data
  1102         ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT)
  1108         ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT)
  1103         ROMPATH_RAM:=sys/bin/
  1109         ROMPATH_RAM:=sys/bin/
  1104         BUILDROMTARGET:=1
  1110         BUILDROMTARGET:=1
  1115         ifeq ($(PAGED),0)
  1121         ifeq ($(PAGED),0)
  1116             ROMDECORATIONS:=$(ROMDECORATIONS) unpaged
  1122             ROMDECORATIONS:=$(ROMDECORATIONS) unpaged
  1117         endif
  1123         endif
  1118 
  1124 
  1119 
  1125 
       
  1126         DATATEXT:=
  1120         ifeq ($(TESTCODE),TRUE)
  1127         ifeq ($(TESTCODE),TRUE)
  1121         	# Add 'TEST' to the .iby filename
  1128         	# Add 'TEST' to the .iby filename
  1122         	ROMTEST:=test
  1129         	ROMTEST:=test
  1123             ifeq ($(TEST_OPTION),BOTH)
  1130             ifeq ($(TEST_OPTION),BOTH)
  1124                 DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).auto.bat test/$(MODULE).auto.bat"\n"data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).manual.bat test/$(MODULE).manual.bat"
  1131                 DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).auto.bat test/$(MODULE).auto.bat"\n"data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).manual.bat test/$(MODULE).manual.bat"
  1125             else
  1132             else
  1126                 ifneq ($(TEST_OPTION),NONE)
  1133                 ifneq ($(TEST_OPTION),NONE)
  1127                     DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TEST_OPTION).bat test/$(MODULE).$(TEST_OPTION).bat"
  1134                     DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TEST_OPTION).bat test/$(MODULE).$(TEST_OPTION).bat"
  1128                 endif
  1135                 endif
  1129             endif
  1136             endif
  1130         else
       
  1131         	DATATEXT:=
       
  1132         endif
  1137         endif
  1133 
  1138 
  1134         # ROMTARGET
  1139         # ROMTARGET
  1135         ifneq ($(ROMTARGET),)
  1140         ifneq ($(ROMTARGET),)
  1136             ifneq ($(words $(ROMTARGET)),1)
  1141             ifneq ($(words $(ROMTARGET)),1)
  1172         $(ALLTARGET)::ROMFILE
  1177         $(ALLTARGET)::ROMFILE
  1173         ROMFILE::
  1178         ROMFILE::
  1174 	        $(call startrule,rombuild)	\
  1179 	        $(call startrule,rombuild)	\
  1175 	        $(GNUMKDIR) -p $(ROMDIR) \
  1180 	        $(GNUMKDIR) -p $(ROMDIR) \
  1176             $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \
  1181             $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \
  1177             $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT)   $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME))	\
  1182             $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT)   $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME))	\
  1178 	        $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT)   $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME))	\
  1183 	        $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT)   $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME))	\
  1179 	        $(call endrule,buildromfiletarget)
  1184 	        $(call endrule,buildromfiletarget)
  1180     endef
  1185     endef
  1181 
  1186 
  1182     # When VARIANTTYPE changes, romfile is finished,
  1187     # When VARIANTTYPE changes, romfile is finished,
  1183     # apart from if this is a new component......
  1188     # apart from if this is a new component......