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