]>
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) \ |
0bc6484d | 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) \ |
0bc6484d | 33 | $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") |
e6bf23f8 | 34 | |
34770187 DB |
35 | $(obj)/generated-tracers.h: $(obj)/generated-ust-provider.h |
36 | $(obj)/generated-tracers.c: $(obj)/generated-ust.c | |
48151859 | 37 | |
e6bf23f8 MG |
38 | endif |
39 | ||
45be2f5d LV |
40 | |
41 | ###################################################################### | |
42 | # Auto-generated tracing routines | |
eac236ea | 43 | |
707c8a98 LV |
44 | ################################################## |
45 | # Execution level | |
46 | ||
0e848f48 | 47 | $(obj)/generated-tracers.h: $(obj)/generated-tracers.h-timestamp |
6f329a55 | 48 | @cmp -s $< $@ || cp $< $@ |
1412cf58 | 49 | $(obj)/generated-tracers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
eac236ea LV |
50 | $(call quiet-command,$(TRACETOOL) \ |
51 | --format=h \ | |
5b808275 | 52 | --backends=$(TRACE_BACKENDS) \ |
0bc6484d | 53 | $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") |
eac236ea | 54 | |
707c8a98 LV |
55 | ############################## |
56 | # non-DTrace | |
0e848f48 | 57 | |
eac236ea | 58 | $(obj)/generated-tracers.c: $(obj)/generated-tracers.c-timestamp |
6f329a55 | 59 | @cmp -s $< $@ || cp $< $@ |
1412cf58 | 60 | $(obj)/generated-tracers.c-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
eac236ea LV |
61 | $(call quiet-command,$(TRACETOOL) \ |
62 | --format=c \ | |
5b808275 | 63 | --backends=$(TRACE_BACKENDS) \ |
0bc6484d | 64 | $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") |
eac236ea LV |
65 | |
66 | $(obj)/generated-tracers.o: $(obj)/generated-tracers.c $(obj)/generated-tracers.h | |
eac236ea | 67 | |
707c8a98 LV |
68 | ############################## |
69 | # DTrace | |
eac236ea LV |
70 | |
71 | # Normal practice is to name DTrace probe file with a '.d' extension | |
72 | # but that gets picked up by QEMU's Makefile as an external dependency | |
73 | # rule file. So we use '.dtrace' instead | |
5b808275 | 74 | ifeq ($(findstring dtrace,$(TRACE_BACKENDS)),dtrace) |
48151859 | 75 | |
5b808275 | 76 | $(obj)/generated-tracers-dtrace.dtrace: $(obj)/generated-tracers-dtrace.dtrace-timestamp |
9967e4fe | 77 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 78 | $(obj)/generated-tracers-dtrace.dtrace-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
eac236ea LV |
79 | $(call quiet-command,$(TRACETOOL) \ |
80 | --format=d \ | |
5b808275 | 81 | --backends=$(TRACE_BACKENDS) \ |
0bc6484d | 82 | $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") |
eac236ea | 83 | |
5b808275 | 84 | $(obj)/generated-tracers-dtrace.h: $(obj)/generated-tracers-dtrace.dtrace |
0bdb12c7 | 85 | $(call quiet-command,dtrace -o $@ -h -s $<,"GEN","$@") |
eac236ea | 86 | |
5b808275 LV |
87 | $(obj)/generated-tracers-dtrace.o: $(obj)/generated-tracers-dtrace.dtrace |
88 | ||
89 | util-obj-y += generated-tracers-dtrace.o | |
0e848f48 | 90 | endif |
eac236ea | 91 | |
707c8a98 LV |
92 | ################################################## |
93 | # Translation level | |
94 | ||
f4654226 | 95 | $(obj)/generated-helpers-wrappers.h: $(obj)/generated-helpers-wrappers.h-timestamp |
9967e4fe | 96 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 97 | $(obj)/generated-helpers-wrappers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
f4654226 LV |
98 | $(call quiet-command,$(TRACETOOL) \ |
99 | --format=tcg-helper-wrapper-h \ | |
100 | --backend=$(TRACE_BACKENDS) \ | |
0bc6484d | 101 | $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") |
f4654226 | 102 | |
707c8a98 | 103 | $(obj)/generated-helpers.h: $(obj)/generated-helpers.h-timestamp |
9967e4fe | 104 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 105 | $(obj)/generated-helpers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
707c8a98 LV |
106 | $(call quiet-command,$(TRACETOOL) \ |
107 | --format=tcg-helper-h \ | |
108 | --backend=$(TRACE_BACKENDS) \ | |
0bc6484d | 109 | $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") |
707c8a98 | 110 | |
341ea691 | 111 | $(obj)/generated-helpers.c: $(obj)/generated-helpers.c-timestamp |
9967e4fe | 112 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 113 | $(obj)/generated-helpers.c-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
341ea691 LV |
114 | $(call quiet-command,$(TRACETOOL) \ |
115 | --format=tcg-helper-c \ | |
116 | --backend=$(TRACE_BACKENDS) \ | |
0bc6484d | 117 | $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") |
341ea691 LV |
118 | |
119 | $(obj)/generated-helpers.o: $(obj)/generated-helpers.c | |
120 | ||
121 | target-obj-y += generated-helpers.o | |
122 | ||
707c8a98 | 123 | |
465830fb | 124 | $(obj)/generated-tcg-tracers.h: $(obj)/generated-tcg-tracers.h-timestamp |
9967e4fe | 125 | @cmp $< $@ >/dev/null 2>&1 || cp $< $@ |
1412cf58 | 126 | $(obj)/generated-tcg-tracers.h-timestamp: $(BUILD_DIR)/trace-events-all $(BUILD_DIR)/config-host.mak $(tracetool-y) |
465830fb LV |
127 | $(call quiet-command,$(TRACETOOL) \ |
128 | --format=tcg-h \ | |
129 | --backend=$(TRACE_BACKENDS) \ | |
0bc6484d | 130 | $< > $@,"GEN","$(patsubst %-timestamp,%,$@)") |
465830fb LV |
131 | |
132 | ||
eac236ea LV |
133 | ###################################################################### |
134 | # Backend code | |
135 | ||
34770187 DB |
136 | util-obj-y += generated-tracers.o |
137 | util-obj-$(CONFIG_TRACE_SIMPLE) += simple.o | |
781e9545 | 138 | util-obj-$(CONFIG_TRACE_FTRACE) += ftrace.o |
e6bf23f8 | 139 | util-obj-$(CONFIG_TRACE_UST) += generated-ust.o |
ff667e2e | 140 | util-obj-y += control.o |
48151859 | 141 | target-obj-y += control-target.o |
1dde0f48 | 142 | util-obj-y += qmp.o |