diff -r 3a31ca4b29c4 -r b8fa7dfeeaa1 sbsv2/raptor/lib/flm/tracecompiler.mk --- a/sbsv2/raptor/lib/flm/tracecompiler.mk Wed Aug 04 12:07:55 2010 +0100 +++ b/sbsv2/raptor/lib/flm/tracecompiler.mk Wed Oct 06 15:13:17 2010 +0100 @@ -16,6 +16,12 @@ # Expected inputs: # TARGETEXT +# Set macro for TRACES keyword +ifneq ($(TRACES),) +CDEFS:=$(CDEFS) OST_TRACE_COMPILER_IN_USE +$(if $(FLMDEBUG),$(info CDEFS=$(CDEFS))) +endif + # Set project name as TRACE_PRJNAME:=$(basename $(notdir $(PROJECT_META))) OLDTC_TRACE_PRJNAME:=$(TRACE_PRJNAME) @@ -28,9 +34,9 @@ $(if $(FLMDEBUG),$(info INCLUDES=$(USERINCLUDE) $(SYSTEMINCLUDE))) $(if $(FLMDEBUG),$(info TARGET=$(TARGET) TARGETEXT=$(TARGETEXT))) -# Find out TRACE_PATH by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES -# traces/traces__ -TRACE_PATH:=$(call get_trace_path,/traces/traces_$(TRACE_RELEASABLE_ID)) +# Find out TRACE_PATH by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES +# traces/_ +TRACE_PATH:=$(call get_trace_path,/traces/$(TRACE_RELEASABLE_ID)) ifneq ($(TRACE_PATH),) TRACE_PRJNAME:=$(TRACE_RELEASABLE_ID) else # obsolete forms for compatibility @@ -63,15 +69,18 @@ # initialise (so what output will be correct if we don't actually run the TC) TRACE_DICTIONARY:= AUTOGEN_HEADER:= -$(if $(FLMDEBUG),$(info TRACE_PATH='$(TRACE_PATH)' TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)')) +$(if $(FLMDEBUG),$(info TRACE_PATH='$(TRACE_PATH)' TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)')) # Run trace compiler only if TRACE_PATH exists ifneq ($(TRACE_PATH),) TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).done +TRACE_THISCOMPONENT_ALLRULE:=$(call sanitise,$(COMPONENT_META))_alltracedone TRACE_HEADERS:= TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist +$(if $(FLMDEBUG),$(info TRACE_SOURCE_LIST=$(TRACE_SOURCE_LIST))) TRACE_VARIANT_SOURCE_LIST:=$(OUTPUTPATH)/$(VARIANTPLATFORM)/$(VARIANTTYPE)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist +$(if $(FLMDEBUG),$(info TRACE_VARIANT_SOURCE_LIST=$(TRACE_VARIANT_SOURCE_LIST))) # The sourcelist_grouped_write macro allows us to construct a source list file, 10 objects at a time # to avoid limits on argument lengths and sizes on Windows. @@ -108,16 +117,24 @@ $(if $(FLMDEBUG),$(info Trace Compiler SOURCES: $(SOURCE))) + +.PHONY:: $(TRACE_THISCOMPONENT_ALLRULE) + +$(TRACE_THISCOMPONENT_ALLRULE):: $(TRACE_MARKER) + $(TRACE_MARKER) : $(SOURCE) TRACE_HEADERS:=$(foreach SRC,$(SOURCE),$(TRACE_PATH)/$(basename $(notdir $(SRC)))Traces.h) $(TRACE_HEADERS): $(TRACE_MARKER) -ifeq ($(GUARD_$(call sanitise,$(TRACE_MARKER))),) -GUARD_$(call sanitise,$(TRACE_MARKER)):=1 +TRACE_GUARD:=GUARD_$(call sanitise,$(TRACE_MARKER)) +$(if $(FLMDEBUG),$(info TRACE GUARD for '$(TRACE_RELEASABLE_ID)' is: $(TRACE_GUARD)=$($(TRACE_GUARD)))) -$(if $(FLMDEBUG),$(info PAST MARKER='$(TRACE_RELEASABLE_ID)')) +ifeq ($($(TRACE_GUARD)),) +$(TRACE_GUARD):=1 + +$(if $(FLMDEBUG),$(info PAST GUARD (unique trace) for '$(TRACE_RELEASABLE_ID)')) # The trace compiler likes to change . into _ so we must do the same in the case of mmps with a name like # fred.prd.mmp we want fred_prd TRACE_PRJNAME_SANITISED:=$(subst .,_,$(TRACE_PRJNAME))