33e9e9bd62
This is the first step towards creating an infrastructure for generic background jobs that aren't tied to a block device. For now, Job only stores its ID and JobDriver, the rest stays in BlockJob. The following patches will move over more parts of BlockJob to Job if they are meaningful outside the context of a block job. BlockJob.driver is now redundant, but this patch leaves it around to avoid unnecessary churn. The next patches will get rid of almost all of its uses anyway so that it can be removed later with much less churn. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com>
262 lines
8.7 KiB
Makefile
262 lines
8.7 KiB
Makefile
#######################################################################
|
|
# Common libraries for tools and emulators
|
|
stub-obj-y = stubs/ crypto/
|
|
util-obj-y = util/ qobject/ qapi/
|
|
util-obj-y += qapi/qapi-builtin-types.o
|
|
util-obj-y += qapi/qapi-types.o
|
|
util-obj-y += qapi/qapi-types-block-core.o
|
|
util-obj-y += qapi/qapi-types-block.o
|
|
util-obj-y += qapi/qapi-types-char.o
|
|
util-obj-y += qapi/qapi-types-common.o
|
|
util-obj-y += qapi/qapi-types-crypto.o
|
|
util-obj-y += qapi/qapi-types-introspect.o
|
|
util-obj-y += qapi/qapi-types-migration.o
|
|
util-obj-y += qapi/qapi-types-misc.o
|
|
util-obj-y += qapi/qapi-types-net.o
|
|
util-obj-y += qapi/qapi-types-rocker.o
|
|
util-obj-y += qapi/qapi-types-run-state.o
|
|
util-obj-y += qapi/qapi-types-sockets.o
|
|
util-obj-y += qapi/qapi-types-tpm.o
|
|
util-obj-y += qapi/qapi-types-trace.o
|
|
util-obj-y += qapi/qapi-types-transaction.o
|
|
util-obj-y += qapi/qapi-types-ui.o
|
|
util-obj-y += qapi/qapi-builtin-visit.o
|
|
util-obj-y += qapi/qapi-visit.o
|
|
util-obj-y += qapi/qapi-visit-block-core.o
|
|
util-obj-y += qapi/qapi-visit-block.o
|
|
util-obj-y += qapi/qapi-visit-char.o
|
|
util-obj-y += qapi/qapi-visit-common.o
|
|
util-obj-y += qapi/qapi-visit-crypto.o
|
|
util-obj-y += qapi/qapi-visit-introspect.o
|
|
util-obj-y += qapi/qapi-visit-migration.o
|
|
util-obj-y += qapi/qapi-visit-misc.o
|
|
util-obj-y += qapi/qapi-visit-net.o
|
|
util-obj-y += qapi/qapi-visit-rocker.o
|
|
util-obj-y += qapi/qapi-visit-run-state.o
|
|
util-obj-y += qapi/qapi-visit-sockets.o
|
|
util-obj-y += qapi/qapi-visit-tpm.o
|
|
util-obj-y += qapi/qapi-visit-trace.o
|
|
util-obj-y += qapi/qapi-visit-transaction.o
|
|
util-obj-y += qapi/qapi-visit-ui.o
|
|
util-obj-y += qapi/qapi-events.o
|
|
util-obj-y += qapi/qapi-events-block-core.o
|
|
util-obj-y += qapi/qapi-events-block.o
|
|
util-obj-y += qapi/qapi-events-char.o
|
|
util-obj-y += qapi/qapi-events-common.o
|
|
util-obj-y += qapi/qapi-events-crypto.o
|
|
util-obj-y += qapi/qapi-events-introspect.o
|
|
util-obj-y += qapi/qapi-events-migration.o
|
|
util-obj-y += qapi/qapi-events-misc.o
|
|
util-obj-y += qapi/qapi-events-net.o
|
|
util-obj-y += qapi/qapi-events-rocker.o
|
|
util-obj-y += qapi/qapi-events-run-state.o
|
|
util-obj-y += qapi/qapi-events-sockets.o
|
|
util-obj-y += qapi/qapi-events-tpm.o
|
|
util-obj-y += qapi/qapi-events-trace.o
|
|
util-obj-y += qapi/qapi-events-transaction.o
|
|
util-obj-y += qapi/qapi-events-ui.o
|
|
util-obj-y += qapi/qapi-introspect.o
|
|
|
|
chardev-obj-y = chardev/
|
|
|
|
#######################################################################
|
|
# block-obj-y is code used by both qemu system emulation and qemu-img
|
|
|
|
block-obj-y += nbd/
|
|
block-obj-y += block.o blockjob.o job.o
|
|
block-obj-y += block/ scsi/
|
|
block-obj-y += qemu-io-cmds.o
|
|
block-obj-$(CONFIG_REPLICATION) += replication.o
|
|
|
|
block-obj-m = block/
|
|
|
|
#######################################################################
|
|
# crypto-obj-y is code used by both qemu system emulation and qemu-img
|
|
|
|
crypto-obj-y = crypto/
|
|
crypto-aes-obj-y = crypto/
|
|
|
|
#######################################################################
|
|
# qom-obj-y is code used by both qemu system emulation and qemu-img
|
|
|
|
qom-obj-y = qom/
|
|
|
|
#######################################################################
|
|
# io-obj-y is code used by both qemu system emulation and qemu-img
|
|
|
|
io-obj-y = io/
|
|
|
|
######################################################################
|
|
# 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.
|
|
|
|
ifeq ($(CONFIG_SOFTMMU),y)
|
|
common-obj-y = blockdev.o blockdev-nbd.o block/
|
|
common-obj-y += bootdevice.o iothread.o
|
|
common-obj-y += net/
|
|
common-obj-y += qdev-monitor.o device-hotplug.o
|
|
common-obj-$(CONFIG_WIN32) += os-win32.o
|
|
common-obj-$(CONFIG_POSIX) += os-posix.o
|
|
|
|
common-obj-$(CONFIG_LINUX) += fsdev/
|
|
|
|
common-obj-y += migration/
|
|
|
|
common-obj-y += audio/
|
|
common-obj-m += audio/
|
|
common-obj-y += hw/
|
|
|
|
common-obj-y += replay/
|
|
|
|
common-obj-y += ui/
|
|
common-obj-m += ui/
|
|
common-obj-y += bt-host.o bt-vhci.o
|
|
bt-host.o-cflags := $(BLUEZ_CFLAGS)
|
|
|
|
common-obj-y += dma-helpers.o
|
|
common-obj-y += vl.o
|
|
vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS)
|
|
common-obj-$(CONFIG_TPM) += tpm.o
|
|
|
|
common-obj-$(CONFIG_SLIRP) += slirp/
|
|
|
|
common-obj-y += backends/
|
|
common-obj-y += chardev/
|
|
|
|
common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
|
|
qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
|
|
qemu-seccomp.o-libs := $(SECCOMP_LIBS)
|
|
|
|
common-obj-$(CONFIG_FDT) += device_tree.o
|
|
|
|
######################################################################
|
|
# qapi
|
|
|
|
common-obj-y += qapi/qapi-commands.o
|
|
common-obj-y += qapi/qapi-commands-block-core.o
|
|
common-obj-y += qapi/qapi-commands-block.o
|
|
common-obj-y += qapi/qapi-commands-char.o
|
|
common-obj-y += qapi/qapi-commands-common.o
|
|
common-obj-y += qapi/qapi-commands-crypto.o
|
|
common-obj-y += qapi/qapi-commands-introspect.o
|
|
common-obj-y += qapi/qapi-commands-migration.o
|
|
common-obj-y += qapi/qapi-commands-misc.o
|
|
common-obj-y += qapi/qapi-commands-net.o
|
|
common-obj-y += qapi/qapi-commands-rocker.o
|
|
common-obj-y += qapi/qapi-commands-run-state.o
|
|
common-obj-y += qapi/qapi-commands-sockets.o
|
|
common-obj-y += qapi/qapi-commands-tpm.o
|
|
common-obj-y += qapi/qapi-commands-trace.o
|
|
common-obj-y += qapi/qapi-commands-transaction.o
|
|
common-obj-y += qapi/qapi-commands-ui.o
|
|
common-obj-y += qapi/qapi-introspect.o
|
|
common-obj-y += qmp.o hmp.o
|
|
endif
|
|
|
|
#######################################################################
|
|
# Target-independent parts used in system and user emulation
|
|
common-obj-y += cpus-common.o
|
|
common-obj-y += hw/
|
|
common-obj-y += qom/
|
|
common-obj-y += disas/
|
|
|
|
######################################################################
|
|
# Resource file for Windows executables
|
|
version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
|
|
|
|
######################################################################
|
|
# tracing
|
|
util-obj-y += trace/
|
|
target-obj-y += trace/
|
|
|
|
######################################################################
|
|
# guest agent
|
|
|
|
# FIXME: a few definitions from qapi/qapi-types.o and
|
|
# qapi/qapi-visit.o are needed by libqemuutil.a. These should be
|
|
# extracted into a QAPI schema module, or perhaps a separate schema.
|
|
qga-obj-y = qga/
|
|
qga-vss-dll-obj-y = qga/
|
|
|
|
######################################################################
|
|
# contrib
|
|
ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
|
|
ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
|
|
libvhost-user-obj-y = contrib/libvhost-user/
|
|
vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
|
|
vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
|
|
vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
|
|
vhost-user-blk-obj-y = contrib/vhost-user-blk/
|
|
|
|
######################################################################
|
|
trace-events-subdirs =
|
|
trace-events-subdirs += util
|
|
trace-events-subdirs += crypto
|
|
trace-events-subdirs += io
|
|
trace-events-subdirs += migration
|
|
trace-events-subdirs += block
|
|
trace-events-subdirs += chardev
|
|
trace-events-subdirs += hw/block
|
|
trace-events-subdirs += hw/block/dataplane
|
|
trace-events-subdirs += hw/char
|
|
trace-events-subdirs += hw/intc
|
|
trace-events-subdirs += hw/net
|
|
trace-events-subdirs += hw/rdma
|
|
trace-events-subdirs += hw/rdma/vmw
|
|
trace-events-subdirs += hw/virtio
|
|
trace-events-subdirs += hw/audio
|
|
trace-events-subdirs += hw/misc
|
|
trace-events-subdirs += hw/misc/macio
|
|
trace-events-subdirs += hw/usb
|
|
trace-events-subdirs += hw/scsi
|
|
trace-events-subdirs += hw/nvram
|
|
trace-events-subdirs += hw/display
|
|
trace-events-subdirs += hw/input
|
|
trace-events-subdirs += hw/timer
|
|
trace-events-subdirs += hw/dma
|
|
trace-events-subdirs += hw/sparc
|
|
trace-events-subdirs += hw/sparc64
|
|
trace-events-subdirs += hw/sd
|
|
trace-events-subdirs += hw/isa
|
|
trace-events-subdirs += hw/mem
|
|
trace-events-subdirs += hw/i386
|
|
trace-events-subdirs += hw/i386/xen
|
|
trace-events-subdirs += hw/9pfs
|
|
trace-events-subdirs += hw/ppc
|
|
trace-events-subdirs += hw/pci
|
|
trace-events-subdirs += hw/pci-host
|
|
trace-events-subdirs += hw/s390x
|
|
trace-events-subdirs += hw/vfio
|
|
trace-events-subdirs += hw/acpi
|
|
trace-events-subdirs += hw/arm
|
|
trace-events-subdirs += hw/alpha
|
|
trace-events-subdirs += hw/hppa
|
|
trace-events-subdirs += hw/xen
|
|
trace-events-subdirs += hw/ide
|
|
trace-events-subdirs += hw/tpm
|
|
trace-events-subdirs += ui
|
|
trace-events-subdirs += audio
|
|
trace-events-subdirs += net
|
|
trace-events-subdirs += target/arm
|
|
trace-events-subdirs += target/i386
|
|
trace-events-subdirs += target/mips
|
|
trace-events-subdirs += target/sparc
|
|
trace-events-subdirs += target/s390x
|
|
trace-events-subdirs += target/ppc
|
|
trace-events-subdirs += qom
|
|
trace-events-subdirs += linux-user
|
|
trace-events-subdirs += qapi
|
|
trace-events-subdirs += accel/tcg
|
|
trace-events-subdirs += accel/kvm
|
|
trace-events-subdirs += nbd
|
|
trace-events-subdirs += scsi
|
|
|
|
trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)
|
|
|
|
trace-obj-y = trace-root.o
|
|
trace-obj-y += $(trace-events-subdirs:%=%/trace.o)
|
|
trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o
|
|
trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o
|
|
trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o)
|