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))