]> git.proxmox.com Git - qemu.git/blob - trace/Makefile.objs
Merge remote-tracking branch 'kraxel/seabios-a810e4e' into staging
[qemu.git] / trace / Makefile.objs
1 # -*- mode: makefile -*-
2
3 ######################################################################
4 # Auto-generated tracing routines
5
6 ifeq ($(TRACE_BACKEND),dtrace)
7 TRACE_H_EXTRA_DEPS=$(obj)/generated-tracers-dtrace.h
8 endif
9 $(obj)/generated-tracers.h: $(obj)/generated-tracers.h-timestamp $(TRACE_H_EXTRA_DEPS)
10 $(obj)/generated-tracers.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
11 $(call quiet-command,$(TRACETOOL) \
12 --format=h \
13 --backend=$(TRACE_BACKEND) \
14 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
15 @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
16
17 $(obj)/generated-tracers.c: $(obj)/generated-tracers.c-timestamp
18 $(obj)/generated-tracers.c-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
19 $(call quiet-command,$(TRACETOOL) \
20 --format=c \
21 --backend=$(TRACE_BACKEND) \
22 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
23 @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
24
25 $(obj)/generated-tracers.o: $(obj)/generated-tracers.c $(obj)/generated-tracers.h
26
27 ifneq ($(TRACE_BACKEND),dtrace)
28 trace-obj-y += generated-tracers.o
29 endif
30
31
32 ######################################################################
33 # Auto-generated DTrace code
34
35 # Normal practice is to name DTrace probe file with a '.d' extension
36 # but that gets picked up by QEMU's Makefile as an external dependency
37 # rule file. So we use '.dtrace' instead
38 $(obj)/generated-tracers-dtrace.dtrace: $(obj)/generated-tracers-dtrace.dtrace-timestamp
39 $(obj)/generated-tracers-dtrace.dtrace-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
40 $(call quiet-command,$(TRACETOOL) \
41 --format=d \
42 --backend=$(TRACE_BACKEND) \
43 < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
44 @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
45
46 $(obj)/generated-tracers-dtrace.h: trace/generated-tracers-dtrace.dtrace
47 $(call quiet-command,dtrace -o $@ -h -s $<, " GEN $@")
48
49 $(obj)/generated-tracers-dtrace.o: trace/generated-tracers-dtrace.dtrace
50 $(call quiet-command,dtrace -o $@ -G -s $<, " GEN $@")
51
52 trace-obj-$(CONFIG_TRACE_DTRACE) += generated-tracers-dtrace.o
53
54
55 ifeq ($(LIBTOOL),)
56 $(obj)/generated-tracers-dtrace.lo: $(obj)/generated-tracers-dtrace.dtrace
57 @echo "missing libtool. please install and rerun configure."; exit 1
58 else
59 $(obj)/generated-tracers-dtrace.lo: $(obj)/generated-tracers-dtrace.dtrace
60 $(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC dtrace -o $@ -G -s $<, " lt GEN $@")
61 endif
62
63
64 ######################################################################
65 # Backend code
66
67 trace-obj-$(CONFIG_TRACE_DEFAULT) += default.o
68 trace-obj-$(CONFIG_TRACE_SIMPLE) += simple.o
69 trace-obj-$(CONFIG_TRACE_STDERR) += stderr.o
70 trace-obj-y += control.o