author | Daniel Jacobs <daniel.jacobs@nokia.com> |
Mon, 17 May 2010 11:07:30 +0100 | |
changeset 554 | e7dd8533063f |
parent 521 | 53251dd57e58 |
child 563 | 51b77162794b |
permissions | -rw-r--r-- |
277
dbd582b8c0ab
SF Bug 1562 - [Raptor] Tracecompiler SYSTEMINCLUDE should be based on TARGETEXT not TARGETTYPE
timothy.murphy@nokia.com
parents:
236
diff
changeset
|
1 |
# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 | 2 |
# All rights reserved. |
3 |
# This component and the accompanying materials are made available |
|
4 |
# under the terms of the License "Eclipse Public License v1.0" |
|
5 |
# which accompanies this distribution, and is available |
|
6 |
# at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 |
# |
|
8 |
# Initial Contributors: |
|
9 |
# Nokia Corporation - initial contribution. |
|
10 |
# |
|
11 |
# Contributors: |
|
12 |
# |
|
13 |
# Description: |
|
14 |
# Run Trace Compiler on source files to generate trace headers and decode files |
|
15 |
||
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
16 |
# Expected inputs: |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
17 |
# TARGETEXT |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
18 |
|
277
dbd582b8c0ab
SF Bug 1562 - [Raptor] Tracecompiler SYSTEMINCLUDE should be based on TARGETEXT not TARGETTYPE
timothy.murphy@nokia.com
parents:
236
diff
changeset
|
19 |
# Set project name as <mmp_name> |
3 | 20 |
TRACE_PRJNAME:=$(basename $(notdir $(PROJECT_META))) |
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
21 |
OLDTC_TRACE_PRJNAME:=$(TRACE_PRJNAME) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
22 |
TRACE_RELEASABLE_ID:=$(TARGET)_$(TARGETEXT) |
277
dbd582b8c0ab
SF Bug 1562 - [Raptor] Tracecompiler SYSTEMINCLUDE should be based on TARGETEXT not TARGETTYPE
timothy.murphy@nokia.com
parents:
236
diff
changeset
|
23 |
|
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
24 |
define get_trace_path |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
25 |
$(firstword $(filter %$1, $(USERINCLUDE) $(SYSTEMINCLUDE))) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
26 |
endef |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
27 |
|
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
28 |
$(if $(FLMDEBUG),$(info <debug>INCLUDES=$(USERINCLUDE) $(SYSTEMINCLUDE)</debug>)) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
29 |
$(if $(FLMDEBUG),$(info <debug>TARGET=$(TARGET) TARGETEXT=$(TARGETEXT)</debug>)) |
277
dbd582b8c0ab
SF Bug 1562 - [Raptor] Tracecompiler SYSTEMINCLUDE should be based on TARGETEXT not TARGETTYPE
timothy.murphy@nokia.com
parents:
236
diff
changeset
|
30 |
|
519
206fd7d7ef46
Use TRACE_RELEASABLE_ID more consistently. Fix comment spelling.
timothy.murphy@nokia.com
parents:
517
diff
changeset
|
31 |
# Find out TRACE_PATH by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES |
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
32 |
# traces/traces_<target_name>_<target_extension> |
519
206fd7d7ef46
Use TRACE_RELEASABLE_ID more consistently. Fix comment spelling.
timothy.murphy@nokia.com
parents:
517
diff
changeset
|
33 |
TRACE_PATH:=$(call get_trace_path,/traces/traces_$(TRACE_RELEASABLE_ID)) |
277
dbd582b8c0ab
SF Bug 1562 - [Raptor] Tracecompiler SYSTEMINCLUDE should be based on TARGETEXT not TARGETTYPE
timothy.murphy@nokia.com
parents:
236
diff
changeset
|
34 |
ifneq ($(TRACE_PATH),) |
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
35 |
TRACE_PRJNAME:=$(TRACE_RELEASABLE_ID) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
36 |
else # obsolete forms for compatibility |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
37 |
# traces_<target_name>_<target_ext> |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
38 |
TRACE_PATH:=$(call get_trace_path,/traces_$(TARGET)_$(TARGETEXT)) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
39 |
ifneq ($(TRACE_PATH),) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
40 |
# set project name as <target_name>_<target_ext> instead of <mmp_name> |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
41 |
# to trick old TCom into finding the path. |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
42 |
OLDTC_TRACE_PRJNAME:=$(TARGET)_$(TARGETEXT) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
43 |
else |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
44 |
# traces_<target_name>_<target_type> |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
45 |
TRACE_PATH:=$(call get_trace_path,/traces_$(TARGET)_$(TARGETTYPE)) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
46 |
ifneq ($(TRACE_PATH),) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
47 |
# set project name as <target_name>_<target_type> instead of <mmp_name> |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
48 |
# to trick old TCom into finding the path. |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
49 |
OLDTC_TRACE_PRJNAME:=$(TARGET)_$(TARGETTYPE) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
50 |
else |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
51 |
# traces_<mmp_name> |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
52 |
TRACE_PATH:=$(call get_trace_path,/traces_$(TRACE_PRJNAME)) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
53 |
|
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
54 |
# traces |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
55 |
ifeq ($(TRACE_PATH),) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
56 |
TRACE_PATH:=$(call get_trace_path,/traces) |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
57 |
endif |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
58 |
endif |
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
59 |
endif |
277
dbd582b8c0ab
SF Bug 1562 - [Raptor] Tracecompiler SYSTEMINCLUDE should be based on TARGETEXT not TARGETTYPE
timothy.murphy@nokia.com
parents:
236
diff
changeset
|
60 |
endif |
dbd582b8c0ab
SF Bug 1562 - [Raptor] Tracecompiler SYSTEMINCLUDE should be based on TARGETEXT not TARGETTYPE
timothy.murphy@nokia.com
parents:
236
diff
changeset
|
61 |
|
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
62 |
|
236
a2dc04c8e649
fix: Don't print what information if we have no intention of running the trace compiler.
timothy.murphy@nokia.com
parents:
173
diff
changeset
|
63 |
# initialise (so what output will be correct if we don't actually run the TC) |
a2dc04c8e649
fix: Don't print what information if we have no intention of running the trace compiler.
timothy.murphy@nokia.com
parents:
173
diff
changeset
|
64 |
TRACE_DICTIONARY:= |
a2dc04c8e649
fix: Don't print what information if we have no intention of running the trace compiler.
timothy.murphy@nokia.com
parents:
173
diff
changeset
|
65 |
AUTOGEN_HEADER:= |
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
66 |
$(if $(FLMDEBUG),$(info <debug>TRACE_PATH='$(TRACE_PATH)' TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)'</debug>)) |
3 | 67 |
|
68 |
# Run trace compiler only if TRACE_PATH exists |
|
69 |
ifneq ($(TRACE_PATH),) |
|
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
70 |
TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).done |
3 | 71 |
TRACE_HEADERS:= |
72 |
||
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
73 |
TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist |
3 | 74 |
|
75 |
# 1. Append to or create the list of source files for trace compiler to process |
|
76 |
# 2. Check if the hash in trace marker remain unchanged. If not, remove marker so trace compiler will run again. |
|
77 |
X:=$(shell set -x ; $(GNUMKDIR) -p $(TRACE_MARKER_PATH) ; $(GNUTOUCH) $(TRACE_SOURCE_LIST) ; echo -e "$(subst $(CHAR_SPACE),\\n,$(SOURCE))" | $(GNUSORT) -u $(TRACE_SOURCE_LIST) - > $(TRACE_SOURCE_LIST).tmp && $(GNUMV) $(TRACE_SOURCE_LIST).tmp $(TRACE_SOURCE_LIST) ; $(GNUMD5SUM) -c $(TRACE_MARKER) || $(GNURM) $(TRACE_MARKER)) |
|
78 |
||
79 |
$(if $(FLMDEBUG),$(info <debug>Trace Compiler sourcelist generation output: $(X)</debug>)) |
|
80 |
||
81 |
$(TRACE_MARKER) : $(SOURCE) |
|
82 |
||
83 |
TRACE_HEADERS:=$(foreach SRC,$(SOURCE),$(TRACE_PATH)/$(basename $(notdir $(SRC)))Traces.h) |
|
84 |
||
85 |
$(TRACE_HEADERS): $(TRACE_MARKER) |
|
86 |
||
87 |
ifeq ($(GUARD_$(call sanitise,$(TRACE_MARKER))),) |
|
88 |
GUARD_$(call sanitise,$(TRACE_MARKER)):=1 |
|
89 |
||
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
90 |
$(if $(FLMDEBUG),$(info <debug>PAST MARKER='$(TRACE_RELEASABLE_ID)'</debug>)) |
300
e87b08dc4b44
SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
timothy.murphy@nokia.com
parents:
293
diff
changeset
|
91 |
# The trace compiler likes to change . into _ so we must do the same in the case of mmps with a name like |
e87b08dc4b44
SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
timothy.murphy@nokia.com
parents:
293
diff
changeset
|
92 |
# fred.prd.mmp we want fred_prd |
e87b08dc4b44
SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
timothy.murphy@nokia.com
parents:
293
diff
changeset
|
93 |
TRACE_PRJNAME_SANITISED:=$(subst .,_,$(TRACE_PRJNAME)) |
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
94 |
OLDTC_TRACE_PRJNAME_SANITISED:=$(subst .,_,$(OLDTC_TRACE_PRJNAME)) |
300
e87b08dc4b44
SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
timothy.murphy@nokia.com
parents:
293
diff
changeset
|
95 |
|
236
a2dc04c8e649
fix: Don't print what information if we have no intention of running the trace compiler.
timothy.murphy@nokia.com
parents:
173
diff
changeset
|
96 |
|
3 | 97 |
JAVA_COMMAND:=$(SBS_JAVATC) |
98 |
TRACE_COMPILER_PATH:=$(EPOCROOT)/epoc32/tools |
|
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
99 |
|
521
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
100 |
# declare the trace_compile macro but only do it once in the build |
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
101 |
ifeq ($(trace_compile),) |
521
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
102 |
|
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
103 |
# Find out which macro to declare - the one supporting the new CLI |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
104 |
# or the old one. First try to find TraceCompilerMain.class |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
105 |
# If it is there then it might be the new posix-like interface |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
106 |
TRACE_VER:= |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
107 |
TRACE_VSTR:= |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
108 |
|
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
109 |
TCClass:=$(wildcard $(TRACE_COMPILER_PATH)/tracecompiler/com/nokia/tracecompiler/TraceCompilerMain.class) |
521
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
110 |
ifneq ($(TCClass),) |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
111 |
# Get the version string from the TC (assume it's the new one) |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
112 |
TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompilerMain |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
113 |
TRACE_VSTR:=$(firstword $(subst TraceCompiler version ,,$(shell $(JAVA_COMMAND) $(TRACE_COMPILER_START) --version))) |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
114 |
# check if it looks like a version that supports the new cli interface: supporting up to verion 9 in the future. |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
115 |
TRACE_VER:=$(findstring new,$(foreach version,2 3 4 5 6 7 8 9,$(patsubst $(version).%,new,$(TRACE_VSTR)))) |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
116 |
endif |
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
117 |
$(if $(FLMDEBUG),$(info <debug>TRACE_VSTR=$(TRACE_VSTR) TRACE_VER=$(TRACE_VER)</debug>)) |
3 | 118 |
|
521
53251dd57e58
fix: tracecompiler - recognise old versions which do have a Main class but don't have a CLI.
timothy.murphy@nokia.com
parents:
519
diff
changeset
|
119 |
ifeq ($(TRACE_VER),new) |
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
120 |
define trace_compile |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
121 |
$(TRACE_MARKER) : $(PROJECT_META) |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
122 |
$(call startrule,tracecompile) \ |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
123 |
( $(GNUCAT) $(TRACE_SOURCE_LIST); \ |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
124 |
echo -en "*ENDOFSOURCEFILES*\n" ) | \ |
519
206fd7d7ef46
Use TRACE_RELEASABLE_ID more consistently. Fix comment spelling.
timothy.murphy@nokia.com
parents:
517
diff
changeset
|
125 |
$(JAVA_COMMAND) $(TRACE_COMPILER_START) $(if $(FLMDEBUG),-d,) --uid=$(UID_TC) --project=$(TRACE_PRJNAME) --mmp=$(PROJECT_META) --traces=$(TRACE_PATH) && \ |
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
126 |
$(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) && \ |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
127 |
{ $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \ |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
128 |
$(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \ |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
129 |
$(call endrule,tracecompile) |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
130 |
endef |
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
131 |
|
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
132 |
else # Old inteface |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
133 |
TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler |
3 | 134 |
# 1. Use pipe to send inputs to trace compiler to process |
135 |
# 2. Create a hash regarding to source names and put it in marker. |
|
136 |
# 3. Show source names that are processed by trace compiler |
|
137 |
define trace_compile |
|
138 |
$(TRACE_MARKER) : $(PROJECT_META) |
|
139 |
$(call startrule,tracecompile) \ |
|
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
140 |
( echo -en "$(OLDTC_TRACE_PRJNAME)\n$(PROJECT_META)\n"; \ |
3 | 141 |
$(GNUCAT) $(TRACE_SOURCE_LIST); \ |
142 |
echo -en "*ENDOFSOURCEFILES*\n" ) | \ |
|
293
5bbbb5fd2a8a
fix: remove OSTv2 dependency so we will still work with the old one
timothy.murphy@nokia.com
parents:
291
diff
changeset
|
143 |
$(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) && \ |
89
315b0aa777bd
Make TC fail when there is an error. This is hypothetical in this version but the next version of the TC is in testing.
timothy.murphy@nokia.com
parents:
3
diff
changeset
|
144 |
$(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) && \ |
300
e87b08dc4b44
SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
timothy.murphy@nokia.com
parents:
293
diff
changeset
|
145 |
{ $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \ |
e87b08dc4b44
SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
timothy.murphy@nokia.com
parents:
293
diff
changeset
|
146 |
$(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \ |
3 | 147 |
$(call endrule,tracecompile) |
148 |
endef |
|
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
149 |
|
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
150 |
# End - new/old trace compiler |
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
151 |
endif |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
152 |
|
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
153 |
# End - tracecompile is defined |
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
154 |
endif |
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
155 |
|
517
b97b96f395b6
fix: calculate autogen header locations every time.
timothy.murphy@nokia.com
parents:
516
diff
changeset
|
156 |
ifeq ($(TRACE_VER),new) |
b97b96f395b6
fix: calculate autogen header locations every time.
timothy.murphy@nokia.com
parents:
516
diff
changeset
|
157 |
TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml |
b97b96f395b6
fix: calculate autogen header locations every time.
timothy.murphy@nokia.com
parents:
516
diff
changeset
|
158 |
AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h |
b97b96f395b6
fix: calculate autogen header locations every time.
timothy.murphy@nokia.com
parents:
516
diff
changeset
|
159 |
else |
b97b96f395b6
fix: calculate autogen header locations every time.
timothy.murphy@nokia.com
parents:
516
diff
changeset
|
160 |
TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(OLDTC_TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml |
b97b96f395b6
fix: calculate autogen header locations every time.
timothy.murphy@nokia.com
parents:
516
diff
changeset
|
161 |
AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/$(OLDTC_TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h |
b97b96f395b6
fix: calculate autogen header locations every time.
timothy.murphy@nokia.com
parents:
516
diff
changeset
|
162 |
endif |
3 | 163 |
|
164 |
$(eval $(trace_compile)) |
|
165 |
||
166 |
$(eval $(call GenerateStandardCleanTarget, $(TRACE_PATH)/tracebuilder.cache $(TRACE_MARKER) $(TRACE_SOURCE_LIST),,)) |
|
167 |
||
511
7581d432643a
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.
timothy.murphy@nokia.com
parents:
300
diff
changeset
|
168 |
$(call makepath,$(TRACE_PATH) $(dir $(TRACE_DICTIONARY) $(AUTOGEN_HEADER))) |
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
169 |
# End - guard that prevents repeated calls to TCom |
3 | 170 |
endif |
171 |
||
172 |
$(eval $(call GenerateStandardCleanTarget,$(TRACE_HEADERS),,)) |
|
173 |
||
516
cd8318d5fb3a
Somewhat more sane choice of directory.
timothy.murphy@nokia.com
parents:
515
diff
changeset
|
174 |
# End - Nothing to trace (not trace path in include) |
3 | 175 |
else |
176 |
# Indicate to following parts of the FLM that we actually won't run |
|
177 |
# trace compiler so they can set dependencies accordingly. |
|
178 |
USE_TRACE_COMPILER:= |
|
179 |
endif |
|
180 |