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