1####################################################################### 2# Common libraries for tools and emulators 3stub-obj-y = stubs/ crypto/ 4util-obj-y = util/ qobject/ qapi/ 5util-obj-y += qmp-introspect.o qapi-types.o qapi-visit.o qapi-event.o 6 7chardev-obj-y = chardev/ 8 9####################################################################### 10# block-obj-y is code used by both qemu system emulation and qemu-img 11 12block-obj-y += nbd/ 13block-obj-y += block.o blockjob.o 14block-obj-y += block/ scsi/ 15block-obj-y += qemu-io-cmds.o 16block-obj-$(CONFIG_REPLICATION) += replication.o 17 18block-obj-m = block/ 19 20####################################################################### 21# crypto-obj-y is code used by both qemu system emulation and qemu-img 22 23crypto-obj-y = crypto/ 24crypto-aes-obj-y = crypto/ 25 26####################################################################### 27# qom-obj-y is code used by both qemu system emulation and qemu-img 28 29qom-obj-y = qom/ 30 31####################################################################### 32# io-obj-y is code used by both qemu system emulation and qemu-img 33 34io-obj-y = io/ 35 36###################################################################### 37# Target independent part of system emulation. The long term path is to 38# suppress *all* target specific code in case of system emulation, i.e. a 39# single QEMU executable should support all CPUs and machines. 40 41ifeq ($(CONFIG_SOFTMMU),y) 42common-obj-y = blockdev.o blockdev-nbd.o block/ 43common-obj-y += bootdevice.o iothread.o 44common-obj-y += net/ 45common-obj-y += qdev-monitor.o device-hotplug.o 46common-obj-$(CONFIG_WIN32) += os-win32.o 47common-obj-$(CONFIG_POSIX) += os-posix.o 48 49common-obj-$(CONFIG_LINUX) += fsdev/ 50 51common-obj-y += migration/ 52 53common-obj-y += audio/ 54common-obj-y += hw/ 55 56common-obj-y += replay/ 57 58common-obj-y += ui/ 59common-obj-y += bt-host.o bt-vhci.o 60bt-host.o-cflags := $(BLUEZ_CFLAGS) 61 62common-obj-y += dma-helpers.o 63common-obj-y += vl.o 64vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS) 65common-obj-$(CONFIG_TPM) += tpm.o 66 67common-obj-$(CONFIG_SLIRP) += slirp/ 68 69common-obj-y += backends/ 70common-obj-y += chardev/ 71 72common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o 73qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS) 74qemu-seccomp.o-libs := $(SECCOMP_LIBS) 75 76common-obj-$(CONFIG_FDT) += device_tree.o 77 78###################################################################### 79# qapi 80 81common-obj-y += qmp-marshal.o 82common-obj-y += qmp-introspect.o 83common-obj-y += qmp.o hmp.o 84endif 85 86####################################################################### 87# Target-independent parts used in system and user emulation 88common-obj-y += cpus-common.o 89common-obj-y += hw/ 90common-obj-y += qom/ 91common-obj-y += disas/ 92 93###################################################################### 94# Resource file for Windows executables 95version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o 96 97###################################################################### 98# tracing 99util-obj-y += trace/ 100target-obj-y += trace/ 101 102###################################################################### 103# guest agent 104 105# FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed 106# by libqemuutil.a. These should be moved to a separate .json schema. 107qga-obj-y = qga/ 108qga-vss-dll-obj-y = qga/ 109 110###################################################################### 111# contrib 112ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/ 113ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/ 114libvhost-user-obj-y = contrib/libvhost-user/ 115vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS) 116vhost-user-scsi.o-libs := $(LIBISCSI_LIBS) 117vhost-user-scsi-obj-y = contrib/vhost-user-scsi/ 118 119###################################################################### 120trace-events-subdirs = 121trace-events-subdirs += util 122trace-events-subdirs += crypto 123trace-events-subdirs += io 124trace-events-subdirs += migration 125trace-events-subdirs += block 126trace-events-subdirs += chardev 127trace-events-subdirs += hw/block 128trace-events-subdirs += hw/block/dataplane 129trace-events-subdirs += hw/char 130trace-events-subdirs += hw/intc 131trace-events-subdirs += hw/net 132trace-events-subdirs += hw/virtio 133trace-events-subdirs += hw/audio 134trace-events-subdirs += hw/misc 135trace-events-subdirs += hw/usb 136trace-events-subdirs += hw/scsi 137trace-events-subdirs += hw/nvram 138trace-events-subdirs += hw/display 139trace-events-subdirs += hw/input 140trace-events-subdirs += hw/timer 141trace-events-subdirs += hw/dma 142trace-events-subdirs += hw/sparc 143trace-events-subdirs += hw/sd 144trace-events-subdirs += hw/isa 145trace-events-subdirs += hw/mem 146trace-events-subdirs += hw/i386 147trace-events-subdirs += hw/i386/xen 148trace-events-subdirs += hw/9pfs 149trace-events-subdirs += hw/ppc 150trace-events-subdirs += hw/pci 151trace-events-subdirs += hw/s390x 152trace-events-subdirs += hw/vfio 153trace-events-subdirs += hw/acpi 154trace-events-subdirs += hw/arm 155trace-events-subdirs += hw/alpha 156trace-events-subdirs += hw/xen 157trace-events-subdirs += hw/ide 158trace-events-subdirs += ui 159trace-events-subdirs += audio 160trace-events-subdirs += net 161trace-events-subdirs += target/arm 162trace-events-subdirs += target/i386 163trace-events-subdirs += target/mips 164trace-events-subdirs += target/sparc 165trace-events-subdirs += target/s390x 166trace-events-subdirs += target/ppc 167trace-events-subdirs += qom 168trace-events-subdirs += linux-user 169trace-events-subdirs += qapi 170trace-events-subdirs += accel/tcg 171trace-events-subdirs += accel/kvm 172trace-events-subdirs += nbd 173trace-events-subdirs += scsi 174 175trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events) 176 177trace-obj-y = trace-root.o 178trace-obj-y += $(trace-events-subdirs:%=%/trace.o) 179trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o 180trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o 181trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o) 182