sbsv2/raptor/lib/flm/build.flm
changeset 13 c327db0664bb
parent 2 39c28ec933dd
equal deleted inserted replaced
12:5e7562f67577 13:c327db0664bb
    22 CREATABLEPATHS:=
    22 CREATABLEPATHS:=
    23 CLEANTARGETS:=
    23 CLEANTARGETS:=
    24 
    24 
    25 .PHONY:: PP_EXPORTS
    25 .PHONY:: PP_EXPORTS
    26 
    26 
       
    27 ifneq ($(filter win,$(HOSTPLATFORM)),)
       
    28 SBS:=$(subst \,/,$(SBS_HOME)/bin/sbs.bat)
       
    29 else
       
    30 SBS:=$(SBS_HOME)/bin/sbs
       
    31 endif
    27 
    32 
    28 SBS := $(subst \,/,$(SBS_HOME)/bin/sbs)
       
    29 
    33 
    30 define doexports
    34 define doexports
    31 PP_EXPORTS::
    35 PP_EXPORTS::
    32 	$(call startrule,makefile_generation_exports) \
    36 	$(call startrule,makefile_generation_exports) \
    33 	export TALON_DESCRAMBLE=0; \
    37 	$(SBS) --toolcheck=off --export-only $(component_list) $(config_list) -f- -m $(MAKEFILE_PATH).exports $(CLI_OPTIONS)  \
    34 	$(SBS) --export-only $(component_list) $(config_list) -f- -m $(SBS_BUILD_DIR)/makefiles_export.mk $(cli_options)  --mo=DESCRAMBLE:=  --mo=TALON_DESCRAMBLE:=0 | $(GNUSED) 's#]I*]>#XXX#' \
       
    35 	$(call endrule,makefile_generation_exports)
    38 	$(call endrule,makefile_generation_exports)
    36 
    39 
    37 CLEANTARGETS:=$$(CLEANTARGETS) $(SBS_BUILD_DIR)/makefiles_export.mk
    40 CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH).exports 
    38 endef
    41 endef
    39 
    42 
    40 # Generate makefiles for particular bldinf
    43 # Generate makefiles for particular bldinf
    41 # $(1) = source target source target......
    44 # $(1) = source target source target......
    42 define generate_makefiles
    45 define generate_makefiles
    43 
    46 
    44 $$(info XXX component_list=$(COMPONENT_PATHS) makefile=$(MAKEFILE_PATH))
    47 ALL:: $(MAKEFILE_PATH)
    45 
    48 
    46 ifeq ($(NO_BUILD),1)
    49 $(MAKEFILE_PATH): $(COMPONENT_PATHS) $(if $(DOEXPORT),| PP_EXPORTS )
    47 ALL:: $(MAKEFILE_PATH)
       
    48 else
       
    49 include $(MAKEFILE_PATH)
       
    50 endif
       
    51 
       
    52 $(MAKEFILE_PATH): $(COMPONENT_PATHS) | PP_EXPORTS 
       
    53 	$(call startrule,makefile_generation) \
    50 	$(call startrule,makefile_generation) \
    54 	export TALON_DESCRAMBLE=0; \
    51 	$(SBS) --noexport --toolcheck=off -n $(CLI_OPTIONS) $(component_list) $(config_list) -m $$@ -f- \
    55 	$(SBS) --toolcheck=off -n $(CLI_OPTIONS) $(component_list) $(config_list) -m $$@ -f- --mo=DESCRAMBLE:= --mo=TALON_DESCRAMBLE:=0  | $(GNUSED) 's#\]\][>]#XXX#' && \
       
    56 	$(MAKE) -j 8 -f $$@.resource_deps \
       
    57 	$(call endrule,makefile_generation)
    52 	$(call endrule,makefile_generation)
    58 
    53 
    59 CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH) 
    54 CLEANTARGETS:=$$(CLEANTARGETS) $(MAKEFILE_PATH) 
    60 
    55 
    61 endef
    56 endef
    62 
    57 
    63 # Create config list for commands
    58 # Create config list for commands
    64 config_list:=$(addprefix -c ,$(CONFIGS))
    59 config_list:=$(addprefix -c ,$(CONFIGS))
    65 component_list:=$(addprefix -b ,$(COMPONENT_PATHS))
    60 component_list:=$(addprefix -b ,$(COMPONENT_PATHS))
    66 $(info COMFIG_LIST: $(config_list))
       
    67 
    61 
    68 $(eval $(doexports))
    62 $(if $(FLMDEBUG),$(info <debug>build.flm: configlist: $(config_list)</debug>))
       
    63 
       
    64 # Do exports only if asked. This doesn't work brilliantly in emake
       
    65 # since exports are often duplicated in some components - leads to conflicts 
       
    66 # and rebuilds.  Better to export before trying to do parallel parsing at all.
       
    67 $(if $(DOEXPORT),$(eval $(doexports)),$(if $(FLMDEBUG),$(info <debug>build.flm: Exports off </debug>)))
    69 
    68 
    70 # Create the Makefiles
    69 # Create the Makefiles
    71 $(eval $(call generate_makefiles))
    70 $(eval $(call generate_makefiles))
    72 
    71 
       
    72 CREATABLEPATHS:=$(CREATABLEPATHS) $(dir $(MAKEFILE_PATH))
       
    73 
    73 $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),$(CREATABLEPATHS),))
    74 $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),$(CREATABLEPATHS),))
    74 $(call makepath,$(CREATABLEPATHS))
    75 $(call makepath,$(CREATABLEPATHS))
    75 
    76