]>
Commit | Line | Data |
---|---|---|
eac236ea LV |
1 | # -*- mode: makefile -*- |
2 | ||
cef517ca SH |
3 | ###################################################################### |
4 | # tracetool source files | |
5 | # Every rule that invokes tracetool must depend on this so code is regenerated | |
6 | # if tracetool itself changes. | |
7 | ||
8 | tracetool-y = $(SRC_PATH)/scripts/tracetool.py | |
9 | tracetool-y += $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py") | |
10 | ||
1412cf58 DB |
11 | $(BUILD_DIR)/trace-events-all: $(trace-events-y:%=$(SRC_PATH)/%) |
12 | $(call quiet-command,cat $^ > $@) | |
13 | ||
e6bf23f8 MG |
14 | ###################################################################### |
15 | # Auto-generated event descriptions for LTTng ust code | |
16 | ||
5b808275 | 17 | ifeq ($(findstring ust,$(TRACE_BACKENDS)),ust) |
48151859 | 18 | |
e6bf23f8 | 19 | $(obj)/generated-ust-provider.h: $(obj)/generated-ust-provider.h-timestamp |
9967e4fe | 20 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 21 | $(obj)/generated-ust-provider.h-timestamp: $(BUILD_DIR)/trace-events-all $(tracetool-y) |
e6bf23f8 MG |
22 | $(call quiet-command,$(TRACETOOL) \ |
23 | --format=ust-events-h \ | |
5b808275 | 24 | --backends=$(TRACE_BACKENDS) \ |
e6bf23f8 | 25 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") |
e6bf23f8 MG |
26 | |
27 | $(obj)/generated-ust.c: $(obj)/generated-ust.c-timestamp $(BUILD_DIR)/config-host.mak | |
9967e4fe | 28 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 29 | $(obj)/generated-ust.c-timestamp: $(BUILD_DIR)/trace-events-all $(tracetool-y) |
e6bf23f8 MG |
30 | $(call quiet-command,$(TRACETOOL) \ |
31 | --format=ust-events-c \ | |
5b808275 | 32 | --backends=$(TRACE_BACKENDS) \ |
e6bf23f8 | 33 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") |
e6bf23f8 MG |
34 | |
35 | $(obj)/generated-events.h: $(obj)/generated-ust-provider.h | |
36 | $(obj)/generated-events.c: $(obj)/generated-ust.c | |
48151859 | 37 | |
e6bf23f8 MG |
38 | endif |
39 | ||
eac236ea | 40 | ###################################################################### |
45be2f5d LV |
41 | # Auto-generated event descriptions |
42 | ||
43 | $(obj)/generated-events.h: $(obj)/generated-events.h-timestamp | |
9967e4fe | 44 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 45 | $(obj)/generated-events.h-timestamp: $(BUILD_DIR)/trace-events-all $(tracetool-y) |
45be2f5d LV |
46 | $(call quiet-command,$(TRACETOOL) \ |
47 | --format=events-h \ | |
5b808275 | 48 | --backends=$(TRACE_BACKENDS) \ |
45be2f5d | 49 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") |
45be2f5d | 50 | |
a7373b1f | 51 | $(obj)/generated-events.c: $(obj)/generated-events.c-timestamp $(BUILD_DIR)/config-host.mak |
9967e4fe | 52 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 53 | $(obj)/generated-events.c-timestamp: $(BUILD_DIR)/trace-events-all $(tracetool-y) |
45be2f5d LV |
54 | $(call quiet-command,$(TRACETOOL) \ |
55 | --format=events-c \ | |
5b808275 | 56 | --backends=$(TRACE_BACKENDS) \ |
45be2f5d | 57 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") |
45be2f5d LV |
58 | |
59 | util-obj-y += generated-events.o | |
60 | ||
61 | ||
62 | ###################################################################### | |
63 | # Auto-generated tracing routines | |
eac236ea | 64 | |
707c8a98 LV |
65 | ################################################## |
66 | # Execution level | |
67 | ||
0e848f48 | 68 | $(obj)/generated-tracers.h: $(obj)/generated-tracers.h-timestamp |
6f329a55 | 69 | @cmp -s $< $@ || cp $< $@ |
1412cf58 | 70 | $(obj)/generated-tracers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
eac236ea LV |
71 | $(call quiet-command,$(TRACETOOL) \ |
72 | --format=h \ | |
5b808275 | 73 | --backends=$(TRACE_BACKENDS) \ |
eac236ea | 74 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") |
eac236ea | 75 | |
707c8a98 LV |
76 | ############################## |
77 | # non-DTrace | |
0e848f48 | 78 | |
eac236ea | 79 | $(obj)/generated-tracers.c: $(obj)/generated-tracers.c-timestamp |
6f329a55 | 80 | @cmp -s $< $@ || cp $< $@ |
1412cf58 | 81 | $(obj)/generated-tracers.c-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
eac236ea LV |
82 | $(call quiet-command,$(TRACETOOL) \ |
83 | --format=c \ | |
5b808275 | 84 | --backends=$(TRACE_BACKENDS) \ |
eac236ea | 85 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") |
eac236ea LV |
86 | |
87 | $(obj)/generated-tracers.o: $(obj)/generated-tracers.c $(obj)/generated-tracers.h | |
eac236ea | 88 | |
707c8a98 LV |
89 | ############################## |
90 | # DTrace | |
eac236ea LV |
91 | |
92 | # Normal practice is to name DTrace probe file with a '.d' extension | |
93 | # but that gets picked up by QEMU's Makefile as an external dependency | |
94 | # rule file. So we use '.dtrace' instead | |
5b808275 | 95 | ifeq ($(findstring dtrace,$(TRACE_BACKENDS)),dtrace) |
48151859 | 96 | |
5b808275 | 97 | $(obj)/generated-tracers-dtrace.dtrace: $(obj)/generated-tracers-dtrace.dtrace-timestamp |
9967e4fe | 98 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 99 | $(obj)/generated-tracers-dtrace.dtrace-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
eac236ea LV |
100 | $(call quiet-command,$(TRACETOOL) \ |
101 | --format=d \ | |
5b808275 | 102 | --backends=$(TRACE_BACKENDS) \ |
eac236ea | 103 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") |
eac236ea | 104 | |
5b808275 | 105 | $(obj)/generated-tracers-dtrace.h: $(obj)/generated-tracers-dtrace.dtrace |
eac236ea LV |
106 | $(call quiet-command,dtrace -o $@ -h -s $<, " GEN $@") |
107 | ||
5b808275 LV |
108 | $(obj)/generated-tracers-dtrace.o: $(obj)/generated-tracers-dtrace.dtrace |
109 | ||
110 | util-obj-y += generated-tracers-dtrace.o | |
0e848f48 | 111 | endif |
eac236ea | 112 | |
707c8a98 LV |
113 | ################################################## |
114 | # Translation level | |
115 | ||
f4654226 | 116 | $(obj)/generated-helpers-wrappers.h: $(obj)/generated-helpers-wrappers.h-timestamp |
9967e4fe | 117 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 118 | $(obj)/generated-helpers-wrappers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
f4654226 LV |
119 | $(call quiet-command,$(TRACETOOL) \ |
120 | --format=tcg-helper-wrapper-h \ | |
121 | --backend=$(TRACE_BACKENDS) \ | |
122 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") | |
f4654226 | 123 | |
707c8a98 | 124 | $(obj)/generated-helpers.h: $(obj)/generated-helpers.h-timestamp |
9967e4fe | 125 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 126 | $(obj)/generated-helpers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
707c8a98 LV |
127 | $(call quiet-command,$(TRACETOOL) \ |
128 | --format=tcg-helper-h \ | |
129 | --backend=$(TRACE_BACKENDS) \ | |
130 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") | |
707c8a98 | 131 | |
341ea691 | 132 | $(obj)/generated-helpers.c: $(obj)/generated-helpers.c-timestamp |
9967e4fe | 133 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 134 | $(obj)/generated-helpers.c-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
341ea691 LV |
135 | $(call quiet-command,$(TRACETOOL) \ |
136 | --format=tcg-helper-c \ | |
137 | --backend=$(TRACE_BACKENDS) \ | |
138 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") | |
341ea691 LV |
139 | |
140 | $(obj)/generated-helpers.o: $(obj)/generated-helpers.c | |
141 | ||
142 | target-obj-y += generated-helpers.o | |
143 | ||
707c8a98 | 144 | |
465830fb | 145 | $(obj)/generated-tcg-tracers.h: $(obj)/generated-tcg-tracers.h-timestamp |
9967e4fe | 146 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 147 | $(obj)/generated-tcg-tracers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
465830fb LV |
148 | $(call quiet-command,$(TRACETOOL) \ |
149 | --format=tcg-h \ | |
150 | --backend=$(TRACE_BACKENDS) \ | |
151 | < $< > $@," GEN $(patsubst %-timestamp,%,$@)") | |
465830fb LV |
152 | |
153 | ||
eac236ea LV |
154 | ###################################################################### |
155 | # Backend code | |
156 | ||
ddbc41de | 157 | util-obj-$(CONFIG_TRACE_SIMPLE) += simple.o generated-tracers.o |
781e9545 | 158 | util-obj-$(CONFIG_TRACE_FTRACE) += ftrace.o |
e6bf23f8 | 159 | util-obj-$(CONFIG_TRACE_UST) += generated-ust.o |
ff667e2e | 160 | util-obj-y += control.o |
48151859 | 161 | target-obj-y += control-target.o |
1dde0f48 | 162 | util-obj-y += qmp.o |