diff -r 997c19261166 -r 9f25be3da657 imgtools/imaker/src/imaker_image.mk --- a/imgtools/imaker/src/imaker_image.mk Fri Jun 18 13:49:03 2010 +0300 +++ b/imgtools/imaker/src/imaker_image.mk Thu Jun 24 10:35:05 2010 +0300 @@ -17,31 +17,36 @@ USE_FEATVAR = $(call select,$(word 1,$(getsbvrominc)),invalid,0,1) -USE_FOTA = 0 USE_IMGCHK = 0 -USE_IINTPRSIS = 0 -USE_IREADIMG = 0 -USE_IROMBLD = 0 -USE_OVERRIDE = 1 +USE_NOROMHDR = 0 +USE_QTLOCLZTN = 0 USE_ROFS = 1,2,3 USE_ROFSFILE = $(call iif,$(USE_PAGING),1,0) USE_ROMFILE = 1 +USE_SMR = 0 USE_SYMGEN = 0 USE_UDEB = 0 -USE_VERGEN = 0 -$(foreach rofs,1 2 3 4 5 6,\ - $(eval USE_ROFS$(rofs) = $$(if $$(findstring $(rofs),$$(filter-out :%,$$(subst :, :,$$(subst $$(,), ,$$(USE_ROFS))))),1,0))) +# Temporary +USE_BLRWORKDIR = 0 #============================================================================== TYPE = rnd -BUILD_INFOMK = image_conf_buildinfo.mk -BUILD_NAMEMK = image_conf_naming.mk +MAJOR_VERSION = 001 +MINOR_VERSION = 000 +SW_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION) +SW_TYPEINFO = $(call select,$(TYPE),rnd,RD) + +BUILD_INFOMK = $(call findfile,image_conf_buildinfo.mk,,1) +BUILD_NAMEMK = $(call findfile,image_conf_naming.mk,,1) BUILD_YEAR = $(YEAR) +BUILD_MONTH = $(MONTH) BUILD_WEEK = $(WEEK) -BUILD_NUMBER = xx +BUILD_DAY = $(DAY) +BUILD_ID = 001 +BUILD_NUMBER = 001 COREPLAT_NAME = COREPLAT_DIR = $(CONFIGROOT)/$(COREPLAT_NAME) @@ -49,24 +54,31 @@ PLATFORM_NAME = $(subst .,,$(COREPLAT_VERSION)$(S60_VERSION)) PLATFORM_DIR = $(CONFIGROOT)/$(PLATFORM_NAME) PRODUCT_MSTNAME = +PRODUCT_MSTDIR = $(if $(PRODUCT_MSTNAME),$(PLATFORM_DIR)/$(PRODUCT_MSTNAME)) PRODUCT_NAME = PRODUCT_MANUFACT = Nokia PRODUCT_MODEL = N00 PRODUCT_TYPE = PRODUCT_REVISION = 01 -PRODUCT_DIR = $(PLATFORM_DIR)/$(if $(PRODUCT_MSTNAME),$(PRODUCT_MSTNAME)/)$(PRODUCT_NAME) +PRODUCT_DIR = $(if $(PRODUCT_NAME),$(PLATFORM_DIR)/$(if $(PRODUCT_MSTNAME),$(PRODUCT_MSTNAME)/)$(PRODUCT_NAME)) FEATURE_VARIANT = $(PRODUCT_NAME) FEATVAR_IDIR = $(call getrominc) +FEATVAR_HRH = $(call findfile,feature_settings.hrh) -LABEL = -NAME = $(PRODUCT_NAME)$(LABEL) -WORKDIR = $(if $(PRODUCT_NAME),$(E32ROMBLD)/$(PRODUCT_NAME),$(CURDIR)) -WORKPREFIX = $(WORKDIR)/$(NAME) -WORKNAME = $(WORKPREFIX) +LABEL = +NAME = $(or $(PRODUCT_NAME),imaker)$(LABEL) +WORKDIR = $(if $(PRODUCT_NAME),$(E32ROMBLD)/$(PRODUCT_NAME),$(CURDIR)) -IMAGE_HBY = -IMAGE_TYPE = +IMAGE_TYPE = +IMAGE_ID = $(or $(subst CORE,1,$(subst ROFS,,$(filter CORE ROFS%,$(IMAGE_TYPE)))),\ + $(call lcase,$(call substr,1,1,$(filter EMMC MCARD UDA,$(IMAGE_TYPE))))) +IMAGE_PREFIX = $($(IMAGE_TYPE)_PREFIX)_$(call lcase,$(IMAGE_TYPE)) +IMAGE_HBY = +IMAGE_VERSDIR = RESOURCE_FILES_DIR\versions + +IMAGE_ORIDEFILES = +IMAGE_ORIDECONF = TRACE_IDIR = $(addsuffix /traces,$(FEATVAR_IDIR)) TRACE_PREFIX = @@ -75,72 +87,63 @@ OVERRIDE_CONF = OVERRIDE_REPLACE/WARN #OVERRIDE_REPLACE/ADD, OVERRIDE_REPLACE/SKIP, OVERRIDE_SKIP/ADD -GENIBY_FILEPAT = *.dll *.exe *.agt *.csy *.fsy *.tsy *.drv *.nif *.pgn *.prt +#GENIBY_FILEPAT = *.dll *.exe *.agt *.csy *.fsy *.tsy *.drv *.nif *.pgn *.prt ARM_VERSION = ARMV5 -SOS_VERSION = #9.3, 9.4, 9.5 -S60_VERSION = #3.2, 5.0 - -ROFS_MAXSIZE = 0x10000000 - -CPPFILE_LIST = -MKFILE_LIST = $(call findfile,$(BUILD_INFOMK) $(BUILD_NAMEMK) $(LANGPACK_SYSLANGMK),$(FEATVAR_IDIR)) | $(VARIANT_MK) - +SOS_VERSION = #9.5 +S60_VERSION = -############################################################################### -# +CPPFILE_FILTER = FF_WDP_\S+|SYMBIAN_\S+ +CPPFILE_LIST = $(if $(FEATURE_VARIANT),$(FEATVAR_HRH)) -SOS.IMAGE.STEPS =\ - $(filter-out %POST,$(SOS.CORE.STEPS) $(SOS.VARIANT.STEPS))\ - $(filter %POST,$(SOS.CORE.STEPS) $(SOS.VARIANT.STEPS)) - -ALL.IMAGE.STEPS = $(SOS.IMAGE.STEPS) - -CLEAN_WORKAREA = del | $(WORKDIR)/* | deldir | $(WORKDIR)/* -ALL.CLEAN.STEPS = $(ALL.IMAGE.STEPS) WORKAREA +TARGET_PRODUCT = +TARGET_DEFAULT = all ############################################################################### # Internal macros and definitions -getrominc = $(if $(call true,$(USE_FEATVAR)),$(getsbvrominc),$(CONFIGROOT) $(E32ROM)) +getrominc =\ + $(if $(call true,$(USE_FEATVAR)),$(getsbvrominc),$(if $(word 5,$(__i_getrominc)),$(call restwords,5,$(__i_getrominc))\ + ,$(PRODUCT_DIR) $(PRODUCT_MSTDIR) $(CONFIGROOT)) $(E32ROM) $(E32ROMINC) $(E32INC)/oem $(E32INC)) + +# ,$(PRODUCT_DIR) $(PRODUCT_MSTDIR) $(CONFIGROOT)) $(E32INC)/config $(E32ROM) $(E32ROMINC) $(E32INC)/internal $(E32INC)) getsbvrominc =\ - $(if $(call equal,$(__i_featvar),$(FEATURE_VARIANT)),,$(eval __i_featvar := $(FEATURE_VARIANT))\ - $(eval __i_getrominc := $(shell $(PERL) -x $(IMAKER_TOOL) --incdir $(__i_featvar))))$(__i_getrominc) + $(if $(and $(FEATURE_VARIANT),$(call equal,$(__i_featvar),$(FEATURE_VARIANT))),,$(eval __i_featvar := $(FEATURE_VARIANT))\ + $(eval __i_getrominc := $(if $(__i_featvar),$(shell $(PERL) -x $(IMAKER_TOOL) --incdir $(__i_featvar)),invalid)))$(__i_getrominc) -includeiby = $(call peval,\ +includeiby = $(if $(strip $1),$(call peval,\ my @files = ();\ while ($(call pquote,$1) =~ /(?:([1-6]):)?(?:<(.+?)>|"+(.+?)"+|(\S+))/g) {\ my $$rom = (defined($$1) ? $$1 : q());\ - push(@files, ($$rom ? q(ROM_IMAGE[).$$rom.q(] {\\\n) : q()) . q(\#include ).\ - (defined($$2) ? qq(<$$2>) : q(").GetRelFname(defined($$3) ? $$3 : $$4, $(call pquote,$2)).q(")) . ($$rom ? q(\\\n}) : q()))\ + push(@files, ($$rom ? q(ROM_IMAGE[).$$rom.q(] {\n) : q()) . q(\#include ).\ + (defined($$2) ? qq(<$$2>) : q(").GetAbsFname(defined($$3) ? $$3 : $$4).q(")) . ($$rom ? q(\n}) : q()))\ }\ - return(join(q(\\\n), @files))) + return(join(q(), map(q(\n) . $$_, @files))))) define BLDROM_HDRINFO - // Generated master oby for $($(IMAGE_TYPE)_TITLE) image creation + // Generated master oby for $($1_TITLE) image creation // - // Filename: $($(IMAGE_TYPE)_MSTOBY) - // Work dir: $(call peval,GetAbsDirname(q(.))) - // Command : $(BLDROM_CMD) + // Filename: $($1_MSTOBY) + // Command : $(call BLDROM_CMD,$1) endef define BLDROM_PLUGINFO - // Buildrom plugins - // - $(call iif,$(USE_OVERRIDE), - externaltool=override:$($(IMAGE_TYPE)_PLUGINLOG);$(if $(filter debug 127,$(VERBOSE)),debug,0) - $(OVERRIDE_CONF)) - externaltool=obyparse:$($(IMAGE_TYPE)_PLUGINLOG);$(if $(filter debug 127,$(VERBOSE)),debug,0) - $(call iif,$(call select,$(IMAGE_TYPE),CORE,$(USE_ROFS1)), + /* Buildrom plugins + */ + externaltool=override:-i$1;-l$($1_PLUGINLOG)$(if $(filter debug 127,$(VERBOSE)),;-ddebug) + $(OVERRIDE_CONF) + externaltool=obyparse:-i$1;-l$($1_PLUGINLOG);-w$($1_DIR)$(if $(filter debug 127,$(VERBOSE)),;-ddebug);-f$(FEATURE_VARIANT) + externaltool=stubsischeck:-i$1;-l$($1_PLUGINLOG)$(if $(filter debug 127,$(VERBOSE)),;-ddebug) + $(call iif,$(if $(filter CORE,$1),$(USE_ROFS1)), $(call iif,$(USE_ROMFILE), OBYPARSE_ROM $(CORE_ROMFILE)) $(call iif,$(USE_ROFSFILE), OBYPARSE_ROFS1 $(CORE_ROFSFILE)) ) $(call iif,$(USE_UDEB), - OBYPARSE_UDEB $(call select,$(USE_UDEB),full,*,$($(IMAGE_TYPE)_UDEBFILE))) + OBYPARSE_UDEB $(call select,$(USE_UDEB),full,*,$($1_UDEBFILE))) endef getgenfiles = $(if $1,\ @@ -148,54 +151,60 @@ $(if $(__i_cmd),"$(call getelem,2,$1)")\ $(call getgenfiles,$(call restelems,$(if $(filter geniby%,$(__i_cmd)),7,$(if $(filter write%,$(__i_cmd)),4,2)),$1))) -# TEMPORARY -_buildoby = $(if $1,\ - $(eval __i_elem1 := $(call getelem,1,$1))\ - $(if $(filter geniby%,$(call lcase,$(__i_elem1))),$1,\ - geniby | $(__i_elem1) | $(call getelem,2,$1) | $(call getelem,3,$1) | \#include "%3" | end |\ - $(call _buildoby,$(call restelems,4,$1)))) -# TEMPORARY - #============================================================================== -BLDROM_CMD = $(BLDROM_TOOL) $(filter-out --D% -U%,$(BLR.$(IMAGE_TYPE).OPT)) $(BLR.$(IMAGE_TYPE).IDIR) $($(IMAGE_TYPE)_MSTOBY) +BLDROM_CMD = $(BLDROM_TOOL)\ + $(filter-out --D% -U% $(filter-out $(BLDROM_CMDDOPT),$(filter -D%,$(BLR.$1.OPT))),$(BLR.$1.OPT))\ + $(BLR.$1.IDIR) $(subst \,/,$($1_MSTOBY)) + +BLDROM_CMDDOPT = -DFEATUREVARIANT=% -D_FULL_DEBUG -D_PLAT=% CLEAN_BLDROM =\ - del | "$($(IMAGE_TYPE)_PREFIX).*" "$($(IMAGE_TYPE)_DIR)/tmp?.oby" "$($(IMAGE_TYPE)_DIR)/ecom*.s??" "$($(IMAGE_TYPE)_PLUGINLOG)" |\ - $(BLR.$(IMAGE_TYPE).CLEAN) + del | $(foreach file,dir *.img *.inc *.log *.oby *.symbol,"$($1_PREFIX).$(file)")\ + $(foreach file,ecom*.s?? features.dat loglinux.oby logwin.oby tmp?.oby,"$($1_DIR)/$(file)")\ + "$($1_PLUGINLOG)" |\ + $(BLR.$1.CLEAN) BUILD_BLDROM =\ - $(if $(BLR.$(IMAGE_TYPE).BUILD),$(BLR.$(IMAGE_TYPE).BUILD),\ - echo-q | Creating $($(IMAGE_TYPE)_TITLE) SOS image |\ - cd | $($(IMAGE_TYPE)_DIR) |\ - cmd | $(strip $(BLDROM_CMD)) | $(BLDROM_PARSE) |\ - copy | tmp1.oby | $($(IMAGE_TYPE)_PREFIX).tmp1.oby |\ - $(call iif,$(KEEPTEMP),,del | "tmp?.oby" "$($(IMAGE_TYPE)_PREFIX).dummy*" |)\ - $(BLR.$(IMAGE_TYPE).POST)) + $(or $(BLR.$1.BUILD),\ + echo-q | Creating $($1_TITLE) SOS $(if $(filter -noimage,$(BLR.$1.OPT)),oby,image) |\ + $(call iif,$(USE_BLRWORKDIR),,cd | "$($1_DIR)" |)\ + cmd | $(strip $(call BLDROM_CMD,$1)) | $(BLDROM_PARSE) |\ + move | "$($1_DIR)/tmp1.oby" | $($1_PREFIX).tmp1.oby |\ + $(call iif,$(KEEPTEMP),,del | "$($1_DIR)/tmp?.oby" "$($1_PREFIX).dummy*" |)\ + $(BLR.$1.POST)) -CLEAN_MAKSYMROFS = del | $($(IMAGE_TYPE)_SYM) -BUILD_MAKSYMROFS =\ - echo-q | Creating $($(IMAGE_TYPE)_TITLE) symbol file |\ - cmd | $(MAKSYMROFS_TOOL) $(call pathconv,$($(IMAGE_TYPE)_LOG) $($(IMAGE_TYPE)_SYM)) + +############################################################################### +# Steps + +IMAGE_STEPS = core $(VARIANT_STEPS) + +VARIANT_STEPS = $(call iif,$(USE_ROFS2),langpack_$(or $(TARGETID),01))\ + $(foreach rofs,3 4 5 6,$(call iif,$(USE_ROFS$(rofs)),rofs$(rofs))) ############################################################################### # Targets -.PHONY:\ - all flash flash-all image image-all\ - i2file +.PHONY: default all flash image variant #i2file variant-i2file + +default default-%:\ + ;@$(call IMAKER,$$(if $$(PRODUCT_NAME),,$$(TARGET_PRODUCT)) $$(TARGET_DEFAULT)) -all flash-all image-all: USE_SYMGEN = 1 -all flash flash-all : ;@$(call IMAKER,$$(ALL.IMAGE.STEPS)) +all : ;@$(call IMAKER,flash-all) +image: ;@$(call IMAKER,flash-image) + +flash flash-% image-%: ;@$(call IMAKER,$$(IMAGE_STEPS)) -image image-all: ;@$(call IMAKER,$$(SOS.IMAGE.STEPS)) +variant variant_% variant-%: ;@$(call IMAKER,$$(VARIANT_STEPS)) -i2file: ;@$(call IMAKER,$(call ucase,$@)) +#i2file : ;@$(call IMAKER,$(call ucase,$@)) +#variant-i2file: ;@$(call IMAKER,VARIANTI2F) #============================================================================== -include $(addprefix $(IMAKER_DIR)/imaker_,$(addsuffix .mk,core odp rofs2 rofs3 rofs4 uda variant)) +$(call includechk,$(addprefix $(IMAKER_DIR)/imaker_,fat.mk odp.mk rofs.mk smr.mk core.mk variant.mk)) # END OF IMAKER_IMAGE.MK