]> git.proxmox.com Git - mirror_qemu.git/blob - Makefile.target
meson: link emulators without Makefile.target
[mirror_qemu.git] / Makefile.target
1 # -*- Mode: makefile -*-
2
3 BUILD_DIR?=$(CURDIR)/..
4
5 include ../config-host.mak
6 include config-target.mak
7 include $(SRC_PATH)/rules.mak
8
9 $(call set-vpath, $(SRC_PATH):$(BUILD_DIR))
10
11 ifdef CONFIG_USER_ONLY
12 # user emulator name
13 QEMU_PROG=qemu-$(TARGET_NAME)
14 else
15 # system emulator name
16 QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF)
17 endif
18
19 STPFILES=
20
21 ifdef CONFIG_TRACE_SYSTEMTAP
22 stap: $(QEMU_PROG).stp-installed $(QEMU_PROG).stp $(QEMU_PROG)-simpletrace.stp $(QEMU_PROG)-log.stp
23
24 ifdef CONFIG_USER_ONLY
25 TARGET_TYPE=user
26 else
27 TARGET_TYPE=system
28 endif
29
30 tracetool-y = $(SRC_PATH)/scripts/tracetool.py
31 tracetool-y += $(shell find $(SRC_PATH)/scripts/tracetool -name "*.py")
32
33 $(QEMU_PROG).stp-installed: $(BUILD_DIR)/trace/trace-events-all $(tracetool-y)
34 $(call quiet-command,$(TRACETOOL) \
35 --group=all \
36 --format=stap \
37 --backends=$(TRACE_BACKENDS) \
38 --binary=$(bindir)/$(QEMU_PROG) \
39 --target-name=$(TARGET_NAME) \
40 --target-type=$(TARGET_TYPE) \
41 $< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG).stp-installed")
42
43 $(QEMU_PROG).stp: $(BUILD_DIR)/trace/trace-events-all $(tracetool-y)
44 $(call quiet-command,$(TRACETOOL) \
45 --group=all \
46 --format=stap \
47 --backends=$(TRACE_BACKENDS) \
48 --binary=$(realpath .)/$(QEMU_PROG) \
49 --target-name=$(TARGET_NAME) \
50 --target-type=$(TARGET_TYPE) \
51 $< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG).stp")
52
53 $(QEMU_PROG)-simpletrace.stp: $(BUILD_DIR)/trace/trace-events-all $(tracetool-y)
54 $(call quiet-command,$(TRACETOOL) \
55 --group=all \
56 --format=simpletrace-stap \
57 --backends=$(TRACE_BACKENDS) \
58 --probe-prefix=qemu.$(TARGET_TYPE).$(TARGET_NAME) \
59 $< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG)-simpletrace.stp")
60
61 $(QEMU_PROG)-log.stp: $(BUILD_DIR)/trace/trace-events-all $(tracetool-y)
62 $(call quiet-command,$(TRACETOOL) \
63 --group=all \
64 --format=log-stap \
65 --backends=$(TRACE_BACKENDS) \
66 --probe-prefix=qemu.$(TARGET_TYPE).$(TARGET_NAME) \
67 $< > $@,"GEN","$(TARGET_DIR)$(QEMU_PROG)-log.stp")
68
69 else
70 stap:
71 endif
72 .PHONY: stap
73
74 all: stap
75
76 clean:
77 rm -f *.a *~
78 rm -f $(shell find . -name '*.[od]')
79 rm -f hmp-commands.h gdbstub-xml.c
80 rm -f trace/generated-helpers.c trace/generated-helpers.c-timestamp
81 ifdef CONFIG_TRACE_SYSTEMTAP
82 rm -f *.stp
83 endif
84
85 install: all
86 ifdef CONFIG_TRACE_SYSTEMTAP
87 $(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset"
88 $(INSTALL_DATA) $(QEMU_PROG).stp-installed "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset/$(QEMU_PROG).stp"
89 $(INSTALL_DATA) $(QEMU_PROG)-simpletrace.stp "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset/$(QEMU_PROG)-simpletrace.stp"
90 $(INSTALL_DATA) $(QEMU_PROG)-log.stp "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset/$(QEMU_PROG)-log.stp"
91 endif
92
93 .PHONY: all clean install