####################################################################### # 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-$(CONFIG_AUDIO_ALSA) += audio-alsa$(DSOSUF) common-obj-$(CONFIG_AUDIO_OSS) += audio-oss$(DSOSUF) common-obj-$(CONFIG_AUDIO_PA) += audio-pa$(DSOSUF) common-obj-$(CONFIG_AUDIO_SDL) += audio-sdl$(DSOSUF) 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 += 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-$(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