]> git.proxmox.com Git - mirror_qemu.git/blame - trace/Makefile.objs
virtio: decrement vq->inuse in virtqueue_discard()
[mirror_qemu.git] / trace / Makefile.objs
CommitLineData
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
8tracetool-y = $(SRC_PATH)/scripts/tracetool.py
9tracetool-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 17ifeq ($(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
38endif
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
59util-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 95ifeq ($(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
110util-obj-y += generated-tracers-dtrace.o
0e848f48 111endif
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
142target-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 157util-obj-$(CONFIG_TRACE_SIMPLE) += simple.o generated-tracers.o
781e9545 158util-obj-$(CONFIG_TRACE_FTRACE) += ftrace.o
e6bf23f8 159util-obj-$(CONFIG_TRACE_UST) += generated-ust.o
ff667e2e 160util-obj-y += control.o
48151859 161target-obj-y += control-target.o
1dde0f48 162util-obj-y += qmp.o