]> git.proxmox.com Git - mirror_qemu.git/blame - trace/Makefile.objs
trace: Multi-backend tracing
[mirror_qemu.git] / trace / Makefile.objs
CommitLineData
eac236ea
LV
1# -*- mode: makefile -*-
2
e6bf23f8
MG
3######################################################################
4# Auto-generated event descriptions for LTTng ust code
5
5b808275 6ifeq ($(findstring ust,$(TRACE_BACKENDS)),ust)
e6bf23f8
MG
7$(obj)/generated-ust-provider.h: $(obj)/generated-ust-provider.h-timestamp
8$(obj)/generated-ust-provider.h-timestamp: $(SRC_PATH)/trace-events
9 $(call quiet-command,$(TRACETOOL) \
10 --format=ust-events-h \
5b808275 11 --backends=$(TRACE_BACKENDS) \
e6bf23f8
MG
12 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
13 @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
14
15$(obj)/generated-ust.c: $(obj)/generated-ust.c-timestamp $(BUILD_DIR)/config-host.mak
16$(obj)/generated-ust.c-timestamp: $(SRC_PATH)/trace-events
17 $(call quiet-command,$(TRACETOOL) \
18 --format=ust-events-c \
5b808275 19 --backends=$(TRACE_BACKENDS) \
e6bf23f8
MG
20 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
21 @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
22
23$(obj)/generated-events.h: $(obj)/generated-ust-provider.h
24$(obj)/generated-events.c: $(obj)/generated-ust.c
25endif
26
eac236ea 27######################################################################
45be2f5d
LV
28# Auto-generated event descriptions
29
30$(obj)/generated-events.h: $(obj)/generated-events.h-timestamp
31$(obj)/generated-events.h-timestamp: $(SRC_PATH)/trace-events
32 $(call quiet-command,$(TRACETOOL) \
33 --format=events-h \
5b808275 34 --backends=$(TRACE_BACKENDS) \
45be2f5d
LV
35 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
36 @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
37
a7373b1f 38$(obj)/generated-events.c: $(obj)/generated-events.c-timestamp $(BUILD_DIR)/config-host.mak
45be2f5d
LV
39$(obj)/generated-events.c-timestamp: $(SRC_PATH)/trace-events
40 $(call quiet-command,$(TRACETOOL) \
41 --format=events-c \
5b808275 42 --backends=$(TRACE_BACKENDS) \
45be2f5d
LV
43 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
44 @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
45
46util-obj-y += generated-events.o
47
48
49######################################################################
50# Auto-generated tracing routines
eac236ea 51
0e848f48 52$(obj)/generated-tracers.h: $(obj)/generated-tracers.h-timestamp
6f329a55 53 @cmp -s $< $@ || cp $< $@
eac236ea
LV
54$(obj)/generated-tracers.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
55 $(call quiet-command,$(TRACETOOL) \
56 --format=h \
5b808275 57 --backends=$(TRACE_BACKENDS) \
eac236ea 58 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
eac236ea 59
0e848f48
PB
60######################################################################
61# Auto-generated tracing routines (non-DTrace)
62
eac236ea 63$(obj)/generated-tracers.c: $(obj)/generated-tracers.c-timestamp
6f329a55 64 @cmp -s $< $@ || cp $< $@
eac236ea
LV
65$(obj)/generated-tracers.c-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
66 $(call quiet-command,$(TRACETOOL) \
67 --format=c \
5b808275 68 --backends=$(TRACE_BACKENDS) \
eac236ea 69 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
eac236ea
LV
70
71$(obj)/generated-tracers.o: $(obj)/generated-tracers.c $(obj)/generated-tracers.h
eac236ea
LV
72
73
74######################################################################
75# Auto-generated DTrace code
76
77# Normal practice is to name DTrace probe file with a '.d' extension
78# but that gets picked up by QEMU's Makefile as an external dependency
79# rule file. So we use '.dtrace' instead
5b808275
LV
80ifeq ($(findstring dtrace,$(TRACE_BACKENDS)),dtrace)
81$(obj)/generated-tracers-dtrace.dtrace: $(obj)/generated-tracers-dtrace.dtrace-timestamp
82$(obj)/generated-tracers-dtrace.dtrace-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
eac236ea
LV
83 $(call quiet-command,$(TRACETOOL) \
84 --format=d \
5b808275 85 --backends=$(TRACE_BACKENDS) \
eac236ea
LV
86 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
87 @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
88
5b808275 89$(obj)/generated-tracers-dtrace.h: $(obj)/generated-tracers-dtrace.dtrace
eac236ea
LV
90 $(call quiet-command,dtrace -o $@ -h -s $<, " GEN $@")
91
5b808275
LV
92$(obj)/generated-tracers-dtrace.o: $(obj)/generated-tracers-dtrace.dtrace
93
94util-obj-y += generated-tracers-dtrace.o
0e848f48 95endif
eac236ea 96
eac236ea
LV
97######################################################################
98# Backend code
99
ff667e2e 100util-obj-$(CONFIG_TRACE_SIMPLE) += simple.o
781e9545 101util-obj-$(CONFIG_TRACE_FTRACE) += ftrace.o
e6bf23f8 102util-obj-$(CONFIG_TRACE_UST) += generated-ust.o
ff667e2e
PB
103util-obj-y += control.o
104util-obj-y += generated-tracers.o