meson: infrastructure for building emulators
[qemu/ar7.git] / Makefile.objs
blob0920cdb40c580170f7236818f51d8cc86dbaa1c1
1 #######################################################################
2 # Common libraries for tools and emulators
3 qom-obj-y = qom/libqom.fa
5 #######################################################################
6 # code used by both qemu system emulation and qemu-img
8 ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
10 chardev-obj-y = chardev/
12 authz-obj-y = authz/libauthz.fa
13 authz/libauthz.fa-libs = $(if $(CONFIG_AUTH_PAM),-lpam)
15 block-obj-y = block/ nbd/ scsi/
16 block-obj-y += block.o blockjob.o job.o
17 block-obj-y += qemu-io-cmds.o
18 block-obj-$(CONFIG_REPLICATION) += replication.o
20 block-obj-m = block/
22 crypto-obj-y = crypto/libcrypto.fa
24 io-obj-y = io/libio.fa
26 endif # CONFIG_SOFTMMU or CONFIG_TOOLS
28 #######################################################################
29 # storage-daemon-obj-y is code used by qemu-storage-daemon (these objects are
30 # used for system emulation, too, but specified separately there)
32 storage-daemon-obj-y = block/ monitor/ qapi/ qom/ storage-daemon/
33 storage-daemon-obj-y += blockdev.o blockdev-nbd.o iothread.o job-qmp.o
34 storage-daemon-obj-$(CONFIG_WIN32) += os-win32.o
35 storage-daemon-obj-$(CONFIG_POSIX) += os-posix.o
37 ######################################################################
38 # Target independent part of system emulation. The long term path is to
39 # suppress *all* target specific code in case of system emulation, i.e. a
40 # single QEMU executable should support all CPUs and machines.
42 ifeq ($(CONFIG_SOFTMMU),y)
43 common-obj-y = blockdev.o blockdev-nbd.o block/
44 common-obj-y += bootdevice.o iothread.o
45 common-obj-y += dump/
46 common-obj-y += job-qmp.o
47 common-obj-y += monitor/
48 common-obj-y += net/
49 common-obj-y += qdev-monitor.o
50 common-obj-$(CONFIG_WIN32) += os-win32.o
51 common-obj-$(CONFIG_POSIX) += os-posix.o
53 common-obj-$(CONFIG_LINUX) += fsdev/
55 common-obj-y += accel/
56 common-obj-y += migration/
58 common-obj-y += audio/
59 common-obj-m += audio/
60 common-obj-y += hw/
61 common-obj-m += hw/
63 common-obj-y += replay/
65 common-obj-y += ui/
66 common-obj-m += ui/
68 common-obj-y += dma-helpers.o
69 common-obj-$(CONFIG_TPM) += tpm.o
71 common-obj-y += backends/
72 common-obj-y += chardev/
73 common-obj-m += chardev/
75 common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
76 qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
77 qemu-seccomp.o-libs := $(SECCOMP_LIBS)
79 common-obj-$(CONFIG_FDT) += device_tree.o
81 common-obj-y += qapi/
83 endif # CONFIG_SOFTMMU
85 #######################################################################
86 # Target-independent parts used in system and user emulation
87 common-obj-y += cpus-common.o
88 common-obj-y += hw/
89 common-obj-y += qom/
90 common-obj-y += disas/
92 ######################################################################
93 # Resource file for Windows executables
94 version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o