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