sbsv2/raptor/lib/flm/e32abiv2.flm
changeset 616 24e4ef208cca
parent 590 360bd6b35136
child 625 a1925fb7753a
equal deleted inserted replaced
613:839712f5a78c 616:24e4ef208cca
   512 endef
   512 endef
   513 
   513 
   514 # Determine what object files will be linked by using the source files.
   514 # Determine what object files will be linked by using the source files.
   515 CPPFILES_LINKOBJECTS:=$(call mapcpp2object,$(CPPFILES))
   515 CPPFILES_LINKOBJECTS:=$(call mapcpp2object,$(CPPFILES))
   516 CFILES_LINKOBJECTS:=$(call mapc2object,$(CFILES))
   516 CFILES_LINKOBJECTS:=$(call mapc2object,$(CFILES))
   517 ifeq ($(TRANSFORM_CIA),1) 
   517 ifeq ($(TRANSFORM_CIA),1)
   518   CIAFILES_LINKOBJECTS:=$(patsubst %_.cpp,%_.o,$(CIA_CPPFILES))
   518   CIAFILES_LINKOBJECTS:=$(patsubst %_.cpp,%_.o,$(CIA_CPPFILES))
   519 else
   519 else
   520   CIAFILES_LINKOBJECTS:=$(call mapcia2object,$(CIAFILES))
   520   CIAFILES_LINKOBJECTS:=$(call mapcia2object,$(CIAFILES))
   521 endif
   521 endif
   522 ASMFILES_LINKOBJECTS:=$(call mapasm2object,$(ASMFILES))
   522 ASMFILES_LINKOBJECTS:=$(call mapasm2object,$(ASMFILES))
   549 # be shorter than the maximum allowed by windows.
   549 # be shorter than the maximum allowed by windows.
   550 define groupin10
   550 define groupin10
   551 	$(if $1,@echo -e $(foreach L,$(wordlist 1,10,$1),"$(L)\\n") >>$(VIAFILE),)
   551 	$(if $1,@echo -e $(foreach L,$(wordlist 1,10,$1),"$(L)\\n") >>$(VIAFILE),)
   552 	$(if $1,$(call groupin10,$(wordlist 11,$(words $1),$1)),@true)
   552 	$(if $1,$(call groupin10,$(wordlist 11,$(words $1),$1)),@true)
   553 endef
   553 endef
       
   554 
       
   555 ################################################
       
   556 ## ARMFPU postlinker option
       
   557 #
       
   558 POSTLINKER_FPU:=$(patsubst $(ARMFPU)>%,%,$(filter $(ARMFPU)>%,$(POSTLINKER_FPU_MAPPING)))
       
   559 POSTLINKER_FPU:=$(if $(POSTLINKER_FPU),$(POSTLINKER_FPU),$(POSTLINKER_FPU_DEFAULT))
   554 
   560 
   555 ################################################
   561 ################################################
   556 
   562 
   557 
   563 
   558 ## Link-type selection:
   564 ## Link-type selection:
   652 	  $(ELF2E32) \
   658 	  $(ELF2E32) \
   653 	  --sid=0x$(if $(SID),$(SID),$(if $(UID3),$(UID3),0)) \
   659 	  --sid=0x$(if $(SID),$(SID),$(if $(UID3),$(UID3),0)) \
   654 	  --version=$(VERSION) \
   660 	  --version=$(VERSION) \
   655 	  --capability=$(FINAL_CAPABILITIES) \
   661 	  --capability=$(FINAL_CAPABILITIES) \
   656 	  --linkas=$(call dblquote,$(LINKASVERSIONED)) \
   662 	  --linkas=$(call dblquote,$(LINKASVERSIONED)) \
   657 	  --fpu=$(if $(ARMFPU),$(ARMFPU),$(POSTLINKER_FPU_DEFAULT)) \
   663 	  --fpu=$(POSTLINKER_FPU) \
   658 	  --targettype=$(POSTLINKTARGETTYPE) \
   664 	  --targettype=$(POSTLINKTARGETTYPE) \
   659 	  --output=$$(call dblquote,$$@) \
   665 	  --output=$$(call dblquote,$$@) \
   660 	  --elfinput=$(call dblquote,$(LINK_TARGET)) \
   666 	  --elfinput=$(call dblquote,$(LINK_TARGET)) \
   661 	  $(if $(UID1),--uid1=0x$(UID1),) \
   667 	  $(if $(UID1),--uid1=0x$(UID1),) \
   662 	  $(if $(UID2),--uid2=0x$(UID2),) \
   668 	  $(if $(UID2),--uid2=0x$(UID2),) \
   702 
   708 
   703 endif # if TARGETTYPE lib
   709 endif # if TARGETTYPE lib
   704 
   710 
   705 
   711 
   706 ## Run trace compiler ##############################################
   712 ## Run trace compiler ##############################################
       
   713 # The following variable defines a prereq that source code will 
       
   714 # depend on so that tracing happens before compilation.  Must be 
       
   715 # blank by default so that if tracing is off then there will be
       
   716 # no dependency.  The tracecompiler code will set it if this
       
   717 # project actually does depend on trace-generated headers:
       
   718 TRACE_THISCOMPONENT_ALLRULE:=
       
   719 
       
   720 # Tracing requires a UID to make uniquely numbered trace points
   707 ifeq ($(UID3),)
   721 ifeq ($(UID3),)
   708  ifeq ($(UID2),)
   722  ifeq ($(UID2),)
   709   USE_TRACE_COMPILER:=
   723   USE_TRACE_COMPILER:=
   710  else
   724  else
   711   UID_TC:=$(UID2)
   725   UID_TC:=$(UID2)
   777 
   791 
   778 $(eval DEPENDFILENAME:=$(1).d)
   792 $(eval DEPENDFILENAME:=$(1).d)
   779 $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
   793 $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
   780 
   794 
   781 # $4 is for language specific options (e.g. C++ vs C)
   795 # $4 is for language specific options (e.g. C++ vs C)
   782 $(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),)  
   796 $(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(TRACE_THISCOMPONENT_ALLRULE) 
   783 	$(call startrule,compile,,$(2))		\
   797 	$(call startrule,compile,,$(2))		\
   784 		$(if $(PERTURBSTARTTIME), $(RANSLEEP) $(PERTURBMSECS) ;,) \
   798 		$(if $(PERTURBSTARTTIME), $(RANSLEEP) $(PERTURBMSECS) ;,) \
   785 		$(if $(MULTIFILE_ENABLED), echo $(2) $(3) > $(MULTIFILE_VIAFILE) ;,) \
   799 		$(if $(MULTIFILE_ENABLED), echo $(2) $(3) > $(MULTIFILE_VIAFILE) ;,) \
   786 		$(CC) $(LICENSERETRY_OPTION) \
   800 		$(CC) $(LICENSERETRY_OPTION) \
   787 			$(CC_CORE_ARGS) \
   801 			$(CC_CORE_ARGS) \
   792 			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
   806 			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
   793 			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
   807 			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
   794 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                      \
   808 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                      \
   795 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   809 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   796 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   810 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   797 			$(if $(NOHIDEALL),--no_hide_all,) \
   811 			$(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
   798 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
   812 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
   799 			$(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
   813 			$(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
   800 			$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
   814 			$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
   801 			--via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   815 			--via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   802 	$(call endrule,compile)
   816 	$(call endrule,compile)
   854 			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
   868 			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
   855 			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
   869 			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
   856 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
   870 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
   857 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   871 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   858 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   872 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   859 			$(if $(NOHIDEALL),--no_hide_all,) \
   873 			$(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
   860 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   874 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   861 	$(call endrule,e32cpponly)
   875 	$(call endrule,e32cpponly)
   862 
   876 
   863 CLEANTARGETS:=$$(CLEANTARGETS) $(CPPONLYTARGET)
   877 CLEANTARGETS:=$$(CLEANTARGETS) $(CPPONLYTARGET)
   864 endef
   878 endef
   888 			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
   902 			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
   889 			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
   903 			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
   890 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
   904 			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
   891 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   905 			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
   892 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   906 			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
   893 			$(if $(NOHIDEALL),--no_hide_all,) \
   907 			$(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
   894 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
   908 			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
   895 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   909 			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
   896 	$(call endrule,e32listing)
   910 	$(call endrule,e32listing)
   897 
   911 
   898 CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET)
   912 CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET)
  1100         ROMDIR:=$(EPOC_ROOT)/epoc32/rom/$(TOBLDINF)
  1114         ROMDIR:=$(EPOC_ROOT)/epoc32/rom/$(TOBLDINF)
  1101 
  1115 
  1102         # Default values
  1116         # Default values
  1103         ROMFILETYPE:=file
  1117         ROMFILETYPE:=file
  1104         ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT)
  1118         ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT)
  1105         ROMPATH:=sys/bin/
  1119         ROMPATH:=$(if $(TARGETPATH),$(TARGETPATH)/,sys/bin/)
  1106         ROMDECORATIONS:=
  1120         ROMDECORATIONS:=
  1107         ROMFILETYPE_RAM:=data
  1121         ROMFILETYPE_RAM:=data
  1108         ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT)
  1122         ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT)
  1109         ROMPATH_RAM:=sys/bin/
  1123         ROMPATH_RAM:=sys/bin/
  1110         BUILDROMTARGET:=1
  1124         BUILDROMTARGET:=1
  1177         $(ALLTARGET)::ROMFILE
  1191         $(ALLTARGET)::ROMFILE
  1178         ROMFILE::
  1192         ROMFILE::
  1179 	        $(call startrule,rombuild)	\
  1193 	        $(call startrule,rombuild)	\
  1180 	        $(GNUMKDIR) -p $(ROMDIR) \
  1194 	        $(GNUMKDIR) -p $(ROMDIR) \
  1181             $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \
  1195             $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \
  1182             $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT)   $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME))	\
  1196             $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT)   $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME))	\
  1183 	        $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT)   $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME))	\
  1197 	        $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT)   $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME))	\
  1184 	        $(call endrule,buildromfiletarget)
  1198 	        $(call endrule,buildromfiletarget)
  1185     endef
  1199     endef
  1186 
  1200 
  1187     # When VARIANTTYPE changes, romfile is finished,
  1201     # When VARIANTTYPE changes, romfile is finished,
  1188     # apart from if this is a new component......
  1202     # apart from if this is a new component......