mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
650ab98d1d
The tracetool script is written in shell and has hit several portability problems due to shell quirks or external tools across host platforms. Additionally the amount of string processing and lack of real data structures makes it tough to implement code generator backends for tracers that are more complex. This patch replaces the shell version of tracetool with a Python version. The new tracetool design is: scripts/tracetool.py - top-level script scripts/tracetool/backend/ - tracer backends live here (simple, ust) scripts/tracetool/format/ - output formats live here (.c, .h) There is common code for trace-events definition parsing so that backends can focus on generating code rather than parsing input. Support for all existing backends (nop, stderr, simple, ust, and dtrace) is added back in follow-up patches. [Commit description written by Stefan Hajnoczi] Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
467 lines
17 KiB
Text
467 lines
17 KiB
Text
#######################################################################
|
|
# Target-independent parts used in system and user emulation
|
|
universal-obj-y =
|
|
|
|
#######################################################################
|
|
# QObject
|
|
qobject-obj-y = qint.o qstring.o qdict.o qlist.o qfloat.o qbool.o
|
|
qobject-obj-y += qjson.o json-lexer.o json-streamer.o json-parser.o
|
|
qobject-obj-y += qerror.o error.o qemu-error.o
|
|
|
|
universal-obj-y += $(qobject-obj-y)
|
|
|
|
#######################################################################
|
|
# QOM
|
|
include $(SRC_PATH)/qom/Makefile
|
|
qom-obj-y = $(addprefix qom/, $(qom-y))
|
|
qom-obj-twice-y = $(addprefix qom/, $(qom-twice-y))
|
|
|
|
universal-obj-y += $(qom-obj-y)
|
|
|
|
#######################################################################
|
|
# oslib-obj-y is code depending on the OS (win32 vs posix)
|
|
oslib-obj-y = osdep.o
|
|
oslib-obj-$(CONFIG_WIN32) += oslib-win32.o qemu-thread-win32.o
|
|
oslib-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-thread-posix.o
|
|
|
|
#######################################################################
|
|
# coroutines
|
|
coroutine-obj-y = qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
|
|
coroutine-obj-y += qemu-coroutine-sleep.o
|
|
ifeq ($(CONFIG_UCONTEXT_COROUTINE),y)
|
|
coroutine-obj-$(CONFIG_POSIX) += coroutine-ucontext.o
|
|
else
|
|
ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y)
|
|
coroutine-obj-$(CONFIG_POSIX) += coroutine-sigaltstack.o
|
|
else
|
|
coroutine-obj-$(CONFIG_POSIX) += coroutine-gthread.o
|
|
endif
|
|
endif
|
|
coroutine-obj-$(CONFIG_WIN32) += coroutine-win32.o
|
|
|
|
#######################################################################
|
|
# block-obj-y is code used by both qemu system emulation and qemu-img
|
|
|
|
block-obj-y = cutils.o cache-utils.o qemu-option.o module.o async.o
|
|
block-obj-y += nbd.o block.o aio.o aes.o qemu-config.o qemu-progress.o qemu-sockets.o
|
|
block-obj-y += $(coroutine-obj-y) $(qobject-obj-y) $(version-obj-y)
|
|
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
|
|
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
|
|
|
|
block-nested-y += raw.o cow.o qcow.o vdi.o vmdk.o cloop.o dmg.o bochs.o vpc.o vvfat.o
|
|
block-nested-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o
|
|
block-nested-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o
|
|
block-nested-y += qed-check.o
|
|
block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
|
|
block-nested-y += stream.o
|
|
block-nested-$(CONFIG_WIN32) += raw-win32.o
|
|
block-nested-$(CONFIG_POSIX) += raw-posix.o
|
|
block-nested-$(CONFIG_LIBISCSI) += iscsi.o
|
|
block-nested-$(CONFIG_CURL) += curl.o
|
|
block-nested-$(CONFIG_RBD) += rbd.o
|
|
|
|
block-obj-y += $(addprefix block/, $(block-nested-y))
|
|
|
|
net-obj-y = net.o
|
|
net-nested-y = queue.o checksum.o util.o
|
|
net-nested-y += socket.o
|
|
net-nested-y += dump.o
|
|
net-nested-$(CONFIG_POSIX) += tap.o
|
|
net-nested-$(CONFIG_LINUX) += tap-linux.o
|
|
net-nested-$(CONFIG_WIN32) += tap-win32.o
|
|
net-nested-$(CONFIG_BSD) += tap-bsd.o
|
|
net-nested-$(CONFIG_SOLARIS) += tap-solaris.o
|
|
net-nested-$(CONFIG_AIX) += tap-aix.o
|
|
net-nested-$(CONFIG_HAIKU) += tap-haiku.o
|
|
net-nested-$(CONFIG_SLIRP) += slirp.o
|
|
net-nested-$(CONFIG_VDE) += vde.o
|
|
net-obj-y += $(addprefix net/, $(net-nested-y))
|
|
|
|
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
|
|
# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
|
|
# only pull in the actual virtio-9p device if we also enabled virtio.
|
|
CONFIG_REALLY_VIRTFS=y
|
|
fsdev-nested-y = qemu-fsdev.o virtio-9p-marshal.o
|
|
else
|
|
fsdev-nested-y = qemu-fsdev-dummy.o
|
|
endif
|
|
fsdev-obj-$(CONFIG_VIRTFS) += $(addprefix fsdev/, $(fsdev-nested-y))
|
|
|
|
######################################################################
|
|
# Target independent part of system emulation. The long term path is to
|
|
# suppress *all* target specific code in case of system emulation, i.e. a
|
|
# single QEMU executable should support all CPUs and machines.
|
|
|
|
common-obj-y = $(block-obj-y) blockdev.o
|
|
common-obj-y += $(net-obj-y)
|
|
common-obj-y += $(qom-obj-twice-y)
|
|
common-obj-$(CONFIG_LINUX) += $(fsdev-obj-$(CONFIG_LINUX))
|
|
common-obj-y += readline.o console.o cursor.o
|
|
common-obj-y += $(oslib-obj-y)
|
|
common-obj-$(CONFIG_WIN32) += os-win32.o
|
|
common-obj-$(CONFIG_POSIX) += os-posix.o
|
|
|
|
common-obj-y += tcg-runtime.o host-utils.o main-loop.o
|
|
common-obj-y += irq.o input.o
|
|
common-obj-$(CONFIG_PTIMER) += ptimer.o
|
|
common-obj-$(CONFIG_MAX7310) += max7310.o
|
|
common-obj-$(CONFIG_WM8750) += wm8750.o
|
|
common-obj-$(CONFIG_TWL92230) += twl92230.o
|
|
common-obj-$(CONFIG_TSC2005) += tsc2005.o
|
|
common-obj-$(CONFIG_LM832X) += lm832x.o
|
|
common-obj-$(CONFIG_TMP105) += tmp105.o
|
|
common-obj-$(CONFIG_STELLARIS_INPUT) += stellaris_input.o
|
|
common-obj-$(CONFIG_SSD0303) += ssd0303.o
|
|
common-obj-$(CONFIG_SSD0323) += ssd0323.o
|
|
common-obj-$(CONFIG_ADS7846) += ads7846.o
|
|
common-obj-$(CONFIG_MAX111X) += max111x.o
|
|
common-obj-$(CONFIG_DS1338) += ds1338.o
|
|
common-obj-y += i2c.o smbus.o smbus_eeprom.o
|
|
common-obj-y += eeprom93xx.o
|
|
common-obj-y += scsi-disk.o cdrom.o
|
|
common-obj-y += scsi-generic.o scsi-bus.o
|
|
common-obj-y += hid.o
|
|
common-obj-y += usb/core.o usb/bus.o usb/desc.o usb/dev-hub.o
|
|
common-obj-y += usb/host-$(HOST_USB).o
|
|
common-obj-y += usb/dev-hid.o usb/dev-storage.o usb/dev-wacom.o
|
|
common-obj-y += usb/dev-serial.o usb/dev-network.o usb/dev-audio.o
|
|
common-obj-$(CONFIG_SSI) += ssi.o
|
|
common-obj-$(CONFIG_SSI_SD) += ssi-sd.o
|
|
common-obj-$(CONFIG_SD) += sd.o
|
|
common-obj-y += bt.o bt-host.o bt-vhci.o bt-l2cap.o bt-sdp.o bt-hci.o bt-hid.o
|
|
common-obj-y += bt-hci-csr.o usb/dev-bluetooth.o
|
|
common-obj-y += buffered_file.o migration.o migration-tcp.o
|
|
common-obj-y += qemu-char.o #aio.o
|
|
common-obj-y += msmouse.o ps2.o
|
|
common-obj-y += qdev.o qdev-properties.o qdev-monitor.o
|
|
common-obj-y += block-migration.o iohandler.o
|
|
common-obj-y += pflib.o
|
|
common-obj-y += bitmap.o bitops.o
|
|
|
|
common-obj-$(CONFIG_BRLAPI) += baum.o
|
|
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
|
|
common-obj-$(CONFIG_WIN32) += version.o
|
|
|
|
common-obj-$(CONFIG_SPICE) += ui/spice-core.o ui/spice-input.o ui/spice-display.o spice-qemu-char.o
|
|
|
|
audio-obj-y = audio.o noaudio.o wavaudio.o mixeng.o
|
|
audio-obj-$(CONFIG_SDL) += sdlaudio.o
|
|
audio-obj-$(CONFIG_OSS) += ossaudio.o
|
|
audio-obj-$(CONFIG_SPICE) += spiceaudio.o
|
|
audio-obj-$(CONFIG_COREAUDIO) += coreaudio.o
|
|
audio-obj-$(CONFIG_ALSA) += alsaaudio.o
|
|
audio-obj-$(CONFIG_DSOUND) += dsoundaudio.o
|
|
audio-obj-$(CONFIG_FMOD) += fmodaudio.o
|
|
audio-obj-$(CONFIG_ESD) += esdaudio.o
|
|
audio-obj-$(CONFIG_PA) += paaudio.o
|
|
audio-obj-$(CONFIG_WINWAVE) += winwaveaudio.o
|
|
audio-obj-$(CONFIG_AUDIO_PT_INT) += audio_pt_int.o
|
|
audio-obj-$(CONFIG_AUDIO_WIN_INT) += audio_win_int.o
|
|
audio-obj-y += wavcapture.o
|
|
common-obj-y += $(addprefix audio/, $(audio-obj-y))
|
|
|
|
ui-obj-y += keymaps.o
|
|
ui-obj-$(CONFIG_SDL) += sdl.o sdl_zoom.o x_keymap.o
|
|
ui-obj-$(CONFIG_COCOA) += cocoa.o
|
|
ui-obj-$(CONFIG_CURSES) += curses.o
|
|
vnc-obj-y += vnc.o d3des.o
|
|
vnc-obj-y += vnc-enc-zlib.o vnc-enc-hextile.o
|
|
vnc-obj-y += vnc-enc-tight.o vnc-palette.o
|
|
vnc-obj-y += vnc-enc-zrle.o
|
|
vnc-obj-$(CONFIG_VNC_TLS) += vnc-tls.o vnc-auth-vencrypt.o
|
|
vnc-obj-$(CONFIG_VNC_SASL) += vnc-auth-sasl.o
|
|
ifdef CONFIG_VNC_THREAD
|
|
vnc-obj-y += vnc-jobs-async.o
|
|
else
|
|
vnc-obj-y += vnc-jobs-sync.o
|
|
endif
|
|
common-obj-y += $(addprefix ui/, $(ui-obj-y))
|
|
common-obj-$(CONFIG_VNC) += $(addprefix ui/, $(vnc-obj-y))
|
|
|
|
common-obj-y += iov.o acl.o
|
|
common-obj-$(CONFIG_POSIX) += compatfd.o
|
|
common-obj-y += notify.o event_notifier.o
|
|
common-obj-y += qemu-timer.o qemu-timer-common.o
|
|
|
|
slirp-obj-y = cksum.o if.o ip_icmp.o ip_input.o ip_output.o
|
|
slirp-obj-y += slirp.o mbuf.o misc.o sbuf.o socket.o tcp_input.o tcp_output.o
|
|
slirp-obj-y += tcp_subr.o tcp_timer.o udp.o bootp.o tftp.o arp_table.o
|
|
common-obj-$(CONFIG_SLIRP) += $(addprefix slirp/, $(slirp-obj-y))
|
|
|
|
# xen backend driver support
|
|
common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
|
|
common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o xenfb.o xen_disk.o xen_nic.o
|
|
|
|
######################################################################
|
|
# libuser
|
|
|
|
user-obj-y =
|
|
user-obj-y += envlist.o path.o
|
|
user-obj-y += tcg-runtime.o host-utils.o
|
|
user-obj-y += cutils.o cache-utils.o
|
|
user-obj-y += module.o
|
|
user-obj-y += qemu-user.o
|
|
user-obj-y += $(trace-obj-y)
|
|
user-obj-y += $(qom-obj-twice-y)
|
|
|
|
######################################################################
|
|
# libhw
|
|
|
|
hw-obj-y =
|
|
hw-obj-y += vl.o loader.o
|
|
hw-obj-$(CONFIG_VIRTIO) += virtio-console.o
|
|
hw-obj-y += usb/libhw.o
|
|
hw-obj-$(CONFIG_VIRTIO_PCI) += virtio-pci.o
|
|
hw-obj-y += fw_cfg.o
|
|
hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o pci_bridge_dev.o
|
|
hw-obj-$(CONFIG_PCI) += msix.o msi.o
|
|
hw-obj-$(CONFIG_PCI) += shpc.o
|
|
hw-obj-$(CONFIG_PCI) += slotid_cap.o
|
|
hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
|
|
hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
|
|
hw-obj-y += watchdog.o
|
|
hw-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
|
|
hw-obj-$(CONFIG_ECC) += ecc.o
|
|
hw-obj-$(CONFIG_NAND) += nand.o
|
|
hw-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
|
|
hw-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
|
|
|
|
hw-obj-$(CONFIG_M48T59) += m48t59.o
|
|
hw-obj-$(CONFIG_ESCC) += escc.o
|
|
hw-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
|
|
|
|
hw-obj-$(CONFIG_SERIAL) += serial.o
|
|
hw-obj-$(CONFIG_PARALLEL) += parallel.o
|
|
hw-obj-$(CONFIG_I8254) += i8254_common.o i8254.o
|
|
hw-obj-$(CONFIG_PCSPK) += pcspk.o
|
|
hw-obj-$(CONFIG_PCKBD) += pckbd.o
|
|
hw-obj-$(CONFIG_USB_UHCI) += usb/hcd-uhci.o
|
|
hw-obj-$(CONFIG_USB_OHCI) += usb/hcd-ohci.o
|
|
hw-obj-$(CONFIG_USB_EHCI) += usb/hcd-ehci.o
|
|
hw-obj-$(CONFIG_USB_XHCI) += usb/hcd-xhci.o
|
|
hw-obj-$(CONFIG_FDC) += fdc.o
|
|
hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o
|
|
hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o
|
|
hw-obj-$(CONFIG_DMA) += dma.o
|
|
hw-obj-$(CONFIG_I82374) += i82374.o
|
|
hw-obj-$(CONFIG_HPET) += hpet.o
|
|
hw-obj-$(CONFIG_APPLESMC) += applesmc.o
|
|
hw-obj-$(CONFIG_SMARTCARD) += usb/dev-smartcard-reader.o ccid-card-passthru.o
|
|
hw-obj-$(CONFIG_SMARTCARD_NSS) += ccid-card-emulated.o
|
|
hw-obj-$(CONFIG_USB_REDIR) += usb/redirect.o
|
|
hw-obj-$(CONFIG_I8259) += i8259_common.o i8259.o
|
|
|
|
# PPC devices
|
|
hw-obj-$(CONFIG_PREP_PCI) += prep_pci.o
|
|
hw-obj-$(CONFIG_I82378) += i82378.o
|
|
# Mac shared devices
|
|
hw-obj-$(CONFIG_MACIO) += macio.o
|
|
hw-obj-$(CONFIG_CUDA) += cuda.o
|
|
hw-obj-$(CONFIG_ADB) += adb.o
|
|
hw-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
|
|
hw-obj-$(CONFIG_MAC_DBDMA) += mac_dbdma.o
|
|
# OldWorld PowerMac
|
|
hw-obj-$(CONFIG_HEATHROW_PIC) += heathrow_pic.o
|
|
hw-obj-$(CONFIG_GRACKLE_PCI) += grackle_pci.o
|
|
# NewWorld PowerMac
|
|
hw-obj-$(CONFIG_UNIN_PCI) += unin_pci.o
|
|
hw-obj-$(CONFIG_DEC_PCI) += dec_pci.o
|
|
# PowerPC E500 boards
|
|
hw-obj-$(CONFIG_PPCE500_PCI) += ppce500_pci.o
|
|
|
|
# MIPS devices
|
|
hw-obj-$(CONFIG_PIIX4) += piix4.o
|
|
hw-obj-$(CONFIG_G364FB) += g364fb.o
|
|
hw-obj-$(CONFIG_JAZZ_LED) += jazz_led.o
|
|
|
|
# PCI watchdog devices
|
|
hw-obj-$(CONFIG_PCI) += wdt_i6300esb.o
|
|
|
|
hw-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
|
|
|
|
# PCI network cards
|
|
hw-obj-$(CONFIG_NE2000_PCI) += ne2000.o
|
|
hw-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o
|
|
hw-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o
|
|
hw-obj-$(CONFIG_PCNET_COMMON) += pcnet.o
|
|
hw-obj-$(CONFIG_E1000_PCI) += e1000.o
|
|
hw-obj-$(CONFIG_RTL8139_PCI) += rtl8139.o
|
|
|
|
hw-obj-$(CONFIG_SMC91C111) += smc91c111.o
|
|
hw-obj-$(CONFIG_LAN9118) += lan9118.o
|
|
hw-obj-$(CONFIG_NE2000_ISA) += ne2000-isa.o
|
|
hw-obj-$(CONFIG_OPENCORES_ETH) += opencores_eth.o
|
|
|
|
# IDE
|
|
hw-obj-$(CONFIG_IDE_CORE) += ide/core.o ide/atapi.o
|
|
hw-obj-$(CONFIG_IDE_QDEV) += ide/qdev.o
|
|
hw-obj-$(CONFIG_IDE_PCI) += ide/pci.o
|
|
hw-obj-$(CONFIG_IDE_ISA) += ide/isa.o
|
|
hw-obj-$(CONFIG_IDE_PIIX) += ide/piix.o
|
|
hw-obj-$(CONFIG_IDE_CMD646) += ide/cmd646.o
|
|
hw-obj-$(CONFIG_IDE_MACIO) += ide/macio.o
|
|
hw-obj-$(CONFIG_IDE_VIA) += ide/via.o
|
|
hw-obj-$(CONFIG_AHCI) += ide/ahci.o
|
|
hw-obj-$(CONFIG_AHCI) += ide/ich.o
|
|
|
|
# SCSI layer
|
|
hw-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
|
|
hw-obj-$(CONFIG_ESP) += esp.o
|
|
|
|
hw-obj-y += dma-helpers.o sysbus.o isa-bus.o
|
|
hw-obj-y += qdev-addr.o
|
|
|
|
# VGA
|
|
hw-obj-$(CONFIG_VGA_PCI) += vga-pci.o
|
|
hw-obj-$(CONFIG_VGA_ISA) += vga-isa.o
|
|
hw-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
|
|
hw-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
|
|
hw-obj-$(CONFIG_VMMOUSE) += vmmouse.o
|
|
hw-obj-$(CONFIG_VGA_CIRRUS) += cirrus_vga.o
|
|
|
|
hw-obj-$(CONFIG_RC4030) += rc4030.o
|
|
hw-obj-$(CONFIG_DP8393X) += dp8393x.o
|
|
hw-obj-$(CONFIG_DS1225Y) += ds1225y.o
|
|
hw-obj-$(CONFIG_MIPSNET) += mipsnet.o
|
|
|
|
hw-obj-y += qtest.o
|
|
|
|
# Sound
|
|
sound-obj-y =
|
|
sound-obj-$(CONFIG_SB16) += sb16.o
|
|
sound-obj-$(CONFIG_ES1370) += es1370.o
|
|
sound-obj-$(CONFIG_AC97) += ac97.o
|
|
sound-obj-$(CONFIG_ADLIB) += fmopl.o adlib.o
|
|
sound-obj-$(CONFIG_GUS) += gus.o gusemu_hal.o gusemu_mixer.o
|
|
sound-obj-$(CONFIG_CS4231A) += cs4231a.o
|
|
sound-obj-$(CONFIG_HDA) += intel-hda.o hda-audio.o
|
|
|
|
adlib.o fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
|
|
hw-obj-$(CONFIG_SOUND) += $(sound-obj-y)
|
|
|
|
9pfs-nested-$(CONFIG_VIRTFS) = virtio-9p.o
|
|
9pfs-nested-$(CONFIG_VIRTFS) += virtio-9p-local.o virtio-9p-xattr.o
|
|
9pfs-nested-$(CONFIG_VIRTFS) += virtio-9p-xattr-user.o virtio-9p-posix-acl.o
|
|
9pfs-nested-$(CONFIG_VIRTFS) += virtio-9p-coth.o cofs.o codir.o cofile.o
|
|
9pfs-nested-$(CONFIG_VIRTFS) += coxattr.o virtio-9p-synth.o
|
|
9pfs-nested-$(CONFIG_OPEN_BY_HANDLE) += virtio-9p-handle.o
|
|
9pfs-nested-$(CONFIG_VIRTFS) += virtio-9p-proxy.o
|
|
|
|
hw-obj-$(CONFIG_REALLY_VIRTFS) += $(addprefix 9pfs/, $(9pfs-nested-y))
|
|
|
|
######################################################################
|
|
# libdis
|
|
# NOTE: the disassembler code is only needed for debugging
|
|
|
|
libdis-y =
|
|
libdis-$(CONFIG_ALPHA_DIS) += alpha-dis.o
|
|
libdis-$(CONFIG_ARM_DIS) += arm-dis.o
|
|
libdis-$(CONFIG_CRIS_DIS) += cris-dis.o
|
|
libdis-$(CONFIG_HPPA_DIS) += hppa-dis.o
|
|
libdis-$(CONFIG_I386_DIS) += i386-dis.o
|
|
libdis-$(CONFIG_IA64_DIS) += ia64-dis.o
|
|
libdis-$(CONFIG_M68K_DIS) += m68k-dis.o
|
|
libdis-$(CONFIG_MICROBLAZE_DIS) += microblaze-dis.o
|
|
libdis-$(CONFIG_MIPS_DIS) += mips-dis.o
|
|
libdis-$(CONFIG_PPC_DIS) += ppc-dis.o
|
|
libdis-$(CONFIG_S390_DIS) += s390-dis.o
|
|
libdis-$(CONFIG_SH4_DIS) += sh4-dis.o
|
|
libdis-$(CONFIG_SPARC_DIS) += sparc-dis.o
|
|
libdis-$(CONFIG_LM32_DIS) += lm32-dis.o
|
|
|
|
######################################################################
|
|
# trace
|
|
|
|
ifeq ($(TRACE_BACKEND),dtrace)
|
|
trace.h: trace.h-timestamp trace-dtrace.h
|
|
else
|
|
trace.h: trace.h-timestamp
|
|
endif
|
|
trace.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
|
|
$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/tracetool.py --format=h --backend=$(TRACE_BACKEND) < $< > $@," GEN trace.h")
|
|
@cmp -s $@ trace.h || cp $@ trace.h
|
|
|
|
trace.c: trace.c-timestamp
|
|
trace.c-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
|
|
$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/tracetool.py --format=c --backend=$(TRACE_BACKEND) < $< > $@," GEN trace.c")
|
|
@cmp -s $@ trace.c || cp $@ trace.c
|
|
|
|
trace.o: trace.c $(GENERATED_HEADERS)
|
|
|
|
trace-dtrace.h: trace-dtrace.dtrace
|
|
$(call quiet-command,dtrace -o $@ -h -s $<, " GEN trace-dtrace.h")
|
|
|
|
# Normal practice is to name DTrace probe file with a '.d' extension
|
|
# but that gets picked up by QEMU's Makefile as an external dependency
|
|
# rule file. So we use '.dtrace' instead
|
|
trace-dtrace.dtrace: trace-dtrace.dtrace-timestamp
|
|
trace-dtrace.dtrace-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
|
|
$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/tracetool.py --format=d --backend=$(TRACE_BACKEND) < $< > $@," GEN trace-dtrace.dtrace")
|
|
@cmp -s $@ trace-dtrace.dtrace || cp $@ trace-dtrace.dtrace
|
|
|
|
trace-dtrace.o: trace-dtrace.dtrace $(GENERATED_HEADERS)
|
|
$(call quiet-command,dtrace -o $@ -G -s $<, " GEN trace-dtrace.o")
|
|
|
|
ifeq ($(LIBTOOL),)
|
|
trace-dtrace.lo: trace-dtrace.dtrace
|
|
@echo "missing libtool. please install and rerun configure."; exit 1
|
|
else
|
|
trace-dtrace.lo: trace-dtrace.dtrace
|
|
$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC dtrace -o $@ -G -s $<, " lt GEN trace-dtrace.o")
|
|
endif
|
|
|
|
trace/simple.o: trace/simple.c $(GENERATED_HEADERS)
|
|
|
|
trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace.o
|
|
ifneq ($(TRACE_BACKEND),dtrace)
|
|
trace-obj-y = trace.o
|
|
endif
|
|
|
|
trace-nested-$(CONFIG_TRACE_DEFAULT) += default.o
|
|
|
|
trace-nested-$(CONFIG_TRACE_SIMPLE) += simple.o
|
|
trace-obj-$(CONFIG_TRACE_SIMPLE) += qemu-timer-common.o
|
|
|
|
trace-nested-$(CONFIG_TRACE_STDERR) += stderr.o
|
|
|
|
trace-nested-y += control.o
|
|
|
|
trace-obj-y += $(addprefix trace/, $(trace-nested-y))
|
|
|
|
$(trace-obj-y): $(GENERATED_HEADERS)
|
|
|
|
######################################################################
|
|
# smartcard
|
|
|
|
libcacard-y = cac.o event.o vcard.o vreader.o vcard_emul_nss.o vcard_emul_type.o card_7816.o
|
|
|
|
######################################################################
|
|
# qapi
|
|
|
|
qapi-nested-y = qapi-visit-core.o qapi-dealloc-visitor.o qmp-input-visitor.o
|
|
qapi-nested-y += qmp-output-visitor.o qmp-registry.o qmp-dispatch.o
|
|
qapi-nested-y += string-input-visitor.o string-output-visitor.o
|
|
qapi-obj-y = $(addprefix qapi/, $(qapi-nested-y))
|
|
|
|
common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.o
|
|
common-obj-y += qmp.o hmp.o
|
|
|
|
universal-obj-y += $(qapi-obj-y)
|
|
|
|
######################################################################
|
|
# guest agent
|
|
|
|
qga-nested-y = commands.o guest-agent-command-state.o
|
|
qga-nested-$(CONFIG_POSIX) += commands-posix.o channel-posix.o
|
|
qga-nested-$(CONFIG_WIN32) += commands-win32.o channel-win32.o service-win32.o
|
|
qga-obj-y = $(addprefix qga/, $(qga-nested-y))
|
|
qga-obj-y += qemu-ga.o module.o
|
|
qga-obj-$(CONFIG_WIN32) += oslib-win32.o
|
|
qga-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-sockets.o qemu-option.o
|
|
|
|
vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
|
|
|
|
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
|
|
|
|
QEMU_CFLAGS+=$(GLIB_CFLAGS)
|
|
|