| ####################################################################### |
| # Common libraries for tools and emulators |
| qom-obj-y = qom/libqom.fa |
| |
| ####################################################################### |
| # code used by both qemu system emulation and qemu-img |
| |
| ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y) |
| |
| authz-obj-y = authz/libauthz.fa |
| authz/libauthz.fa-libs = $(if $(CONFIG_AUTH_PAM),-lpam) |
| |
| block-obj-y += libblock.fa |
| |
| libblock.fa-libs = $(ZSTD_LIBS) |
| libblock.fa-libs += $(LIBNFS_LIBS) |
| libblock.fa-libs += $(LIBISCSI_LIBS) |
| libblock.fa-libs += $(CURL_LIBS) |
| libblock.fa-libs += $(RBD_LIBS) |
| libblock.fa-libs += $(GLUSTERFS_LIBS) |
| libblock.fa-libs += $(VXHS_LIBS) |
| libblock.fa-libs += $(LIBSSH_LIBS) |
| libblock.fa-libs += $(BZIP2_LIBS) |
| libblock.fa-libs += $(LZFSE_LIBS) |
| libblock.fa-libs += $(if $(CONFIG_LINUX_AIO),-laio) |
| libblock.fa-libs += $(LIBXML2_LIBS) |
| |
| chardev-obj-y = chardev/libchardev.fa |
| |
| crypto-obj-y = crypto/libcrypto.fa |
| |
| io-obj-y = io/libio.fa |
| |
| endif # CONFIG_SOFTMMU or CONFIG_TOOLS |
| |
| ####################################################################### |
| # storage-daemon-obj-y is code used by qemu-storage-daemon (these objects are |
| # used for system emulation, too, but specified separately there) |
| |
| storage-daemon-obj-y = block/ monitor/ qapi/ qom/ storage-daemon/ |
| storage-daemon-obj-y += blockdev.o blockdev-nbd.o iothread.o job-qmp.o |
| storage-daemon-obj-$(CONFIG_WIN32) += os-win32.o |
| storage-daemon-obj-$(CONFIG_POSIX) += os-posix.o |
| |
| ###################################################################### |
| # 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 |
| common-obj-y += bootdevice.o iothread.o |
| common-obj-y += dump/ |
| common-obj-y += job-qmp.o |
| common-obj-y += monitor/ |
| common-obj-y += net/ |
| common-obj-y += qdev-monitor.o |
| common-obj-$(CONFIG_WIN32) += os-win32.o |
| common-obj-$(CONFIG_POSIX) += os-posix.o |
| |
| common-obj-$(CONFIG_LINUX) += fsdev/ |
| |
| common-obj-y += accel/ |
| common-obj-y += migration/ |
| |
| common-obj-$(if $(CONFIG_CURL),m) += block-curl$(DSOSUF) |
| common-obj-$(if $(CONFIG_GLUSTERFS),m) += block-gluster$(DSOSUF) |
| common-obj-$(if $(CONFIG_LIBISCSI),m) += block-iscsi$(DSOSUF) |
| common-obj-$(if $(CONFIG_LIBNFS),m) += block-nfs$(DSOSUF) |
| common-obj-$(if $(CONFIG_LIBSSH),m) += block-ssh$(DSOSUF) |
| common-obj-$(if $(CONFIG_RBD),m) += block-rbd$(DSOSUF) |
| |
| common-obj-$(if $(CONFIG_LZFSE),m) += block-dmg-lzfse$(DSOSUF) |
| common-obj-$(if $(and $(CONFIG_BZIP2),$(CONFIG_DMG)),m) += block-dmg-bz2$(DSOSUF) |
| |
| common-obj-y += audio/ |
| common-obj-m += audio/ |
| common-obj-y += hw/ |
| common-obj-m += hw/ |
| |
| common-obj-y += replay/ |
| |
| common-obj-y += ui/ |
| common-obj-m += ui/ |
| |
| common-obj-y += dma-helpers.o |
| common-obj-$(CONFIG_TPM) += tpm.o |
| |
| common-obj-y += backends/ |
| common-obj-y += chardev/ |
| common-obj-m += 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 |
| |
| common-obj-y += qapi/ |
| |
| endif # CONFIG_SOFTMMU |
| |
| ####################################################################### |
| # 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 |