]> git.proxmox.com Git - mirror_qemu.git/blob - Makefile.objs
meson: convert block
[mirror_qemu.git] / Makefile.objs
1 #######################################################################
2 # Common libraries for tools and emulators
3 qom-obj-y = qom/libqom.fa
4
5 #######################################################################
6 # code used by both qemu system emulation and qemu-img
7
8 ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
9
10 authz-obj-y = authz/libauthz.fa
11 authz/libauthz.fa-libs = $(if $(CONFIG_AUTH_PAM),-lpam)
12
13 block-obj-y += libblock.fa
14
15 libblock.fa-libs = $(ZSTD_LIBS)
16 libblock.fa-libs += $(LIBNFS_LIBS)
17 libblock.fa-libs += $(LIBISCSI_LIBS)
18 libblock.fa-libs += $(CURL_LIBS)
19 libblock.fa-libs += $(RBD_LIBS)
20 libblock.fa-libs += $(GLUSTERFS_LIBS)
21 libblock.fa-libs += $(VXHS_LIBS)
22 libblock.fa-libs += $(LIBSSH_LIBS)
23 libblock.fa-libs += $(BZIP2_LIBS)
24 libblock.fa-libs += $(LZFSE_LIBS)
25 libblock.fa-libs += $(if $(CONFIG_LINUX_AIO),-laio)
26 libblock.fa-libs += $(LIBXML2_LIBS)
27
28 chardev-obj-y = chardev/libchardev.fa
29
30 crypto-obj-y = crypto/libcrypto.fa
31
32 io-obj-y = io/libio.fa
33
34 endif # CONFIG_SOFTMMU or CONFIG_TOOLS
35
36 #######################################################################
37 # storage-daemon-obj-y is code used by qemu-storage-daemon (these objects are
38 # used for system emulation, too, but specified separately there)
39
40 storage-daemon-obj-y = block/ monitor/ qapi/ qom/ storage-daemon/
41 storage-daemon-obj-y += blockdev.o blockdev-nbd.o iothread.o job-qmp.o
42 storage-daemon-obj-$(CONFIG_WIN32) += os-win32.o
43 storage-daemon-obj-$(CONFIG_POSIX) += os-posix.o
44
45 ######################################################################
46 # Target independent part of system emulation. The long term path is to
47 # suppress *all* target specific code in case of system emulation, i.e. a
48 # single QEMU executable should support all CPUs and machines.
49
50 ifeq ($(CONFIG_SOFTMMU),y)
51 common-obj-y = blockdev.o blockdev-nbd.o
52 common-obj-y += bootdevice.o iothread.o
53 common-obj-y += dump/
54 common-obj-y += job-qmp.o
55 common-obj-y += monitor/
56 common-obj-y += net/
57 common-obj-y += qdev-monitor.o
58 common-obj-$(CONFIG_WIN32) += os-win32.o
59 common-obj-$(CONFIG_POSIX) += os-posix.o
60
61 common-obj-$(CONFIG_LINUX) += fsdev/
62
63 common-obj-y += accel/
64 common-obj-y += migration/
65
66 common-obj-$(if $(CONFIG_CURL),m) += block-curl$(DSOSUF)
67 common-obj-$(if $(CONFIG_GLUSTERFS),m) += block-gluster$(DSOSUF)
68 common-obj-$(if $(CONFIG_LIBISCSI),m) += block-iscsi$(DSOSUF)
69 common-obj-$(if $(CONFIG_LIBNFS),m) += block-nfs$(DSOSUF)
70 common-obj-$(if $(CONFIG_LIBSSH),m) += block-ssh$(DSOSUF)
71 common-obj-$(if $(CONFIG_RBD),m) += block-rbd$(DSOSUF)
72
73 common-obj-$(if $(CONFIG_LZFSE),m) += block-dmg-lzfse$(DSOSUF)
74 common-obj-$(if $(and $(CONFIG_BZIP2),$(CONFIG_DMG)),m) += block-dmg-bz2$(DSOSUF)
75
76 common-obj-y += audio/
77 common-obj-m += audio/
78 common-obj-y += hw/
79 common-obj-m += hw/
80
81 common-obj-y += replay/
82
83 common-obj-y += ui/
84 common-obj-m += ui/
85
86 common-obj-y += dma-helpers.o
87 common-obj-$(CONFIG_TPM) += tpm.o
88
89 common-obj-y += backends/
90 common-obj-y += chardev/
91 common-obj-m += chardev/
92
93 common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
94 qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
95 qemu-seccomp.o-libs := $(SECCOMP_LIBS)
96
97 common-obj-$(CONFIG_FDT) += device_tree.o
98
99 common-obj-y += qapi/
100
101 endif # CONFIG_SOFTMMU
102
103 #######################################################################
104 # Target-independent parts used in system and user emulation
105 common-obj-y += cpus-common.o
106 common-obj-y += hw/
107 common-obj-y += qom/
108 common-obj-y += disas/
109
110 ######################################################################
111 # Resource file for Windows executables
112 version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o