]> git.proxmox.com Git - mirror_qemu.git/blame_incremental - Makefile.objs
fuzz: add target/fuzz makefile rules
[mirror_qemu.git] / Makefile.objs
... / ...
CommitLineData
1#######################################################################
2# Common libraries for tools and emulators
3stub-obj-y = stubs/
4util-obj-y = crypto/ util/ qobject/ qapi/
5qom-obj-y = qom/
6
7#######################################################################
8# code used by both qemu system emulation and qemu-img
9
10ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
11
12chardev-obj-y = chardev/
13
14authz-obj-y = authz/
15
16block-obj-y = nbd/
17block-obj-y += block.o blockjob.o job.o
18block-obj-y += block/ scsi/
19block-obj-y += qemu-io-cmds.o
20block-obj-$(CONFIG_REPLICATION) += replication.o
21
22block-obj-m = block/
23
24crypto-obj-y = crypto/
25
26io-obj-y = io/
27
28endif # CONFIG_SOFTMMU or CONFIG_TOOLS
29
30######################################################################
31# Target independent part of system emulation. The long term path is to
32# suppress *all* target specific code in case of system emulation, i.e. a
33# single QEMU executable should support all CPUs and machines.
34
35ifeq ($(CONFIG_SOFTMMU),y)
36common-obj-y = blockdev.o blockdev-nbd.o block/
37common-obj-y += bootdevice.o iothread.o
38common-obj-y += dump/
39common-obj-y += job-qmp.o
40common-obj-y += monitor/
41common-obj-y += net/
42common-obj-y += qdev-monitor.o device-hotplug.o
43common-obj-$(CONFIG_WIN32) += os-win32.o
44common-obj-$(CONFIG_POSIX) += os-posix.o
45
46common-obj-$(CONFIG_LINUX) += fsdev/
47
48common-obj-y += accel/
49common-obj-y += migration/
50
51common-obj-y += audio/
52common-obj-m += audio/
53common-obj-y += hw/
54
55common-obj-y += replay/
56
57common-obj-y += ui/
58common-obj-m += ui/
59
60common-obj-y += dma-helpers.o
61common-obj-$(CONFIG_TPM) += tpm.o
62
63common-obj-y += backends/
64common-obj-y += chardev/
65
66common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
67qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
68qemu-seccomp.o-libs := $(SECCOMP_LIBS)
69
70common-obj-$(CONFIG_FDT) += device_tree.o
71
72common-obj-y += qapi/
73
74endif # CONFIG_SOFTMMU
75
76#######################################################################
77# Target-independent parts used in system and user emulation
78common-obj-y += cpus-common.o
79common-obj-y += hw/
80common-obj-y += qom/
81common-obj-y += disas/
82
83######################################################################
84# Resource file for Windows executables
85version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
86
87######################################################################
88# tracing
89util-obj-y += trace/
90
91######################################################################
92# guest agent
93
94# FIXME: a few definitions from qapi/qapi-types.o and
95# qapi/qapi-visit.o are needed by libqemuutil.a. These should be
96# extracted into a QAPI schema module, or perhaps a separate schema.
97qga-obj-y = qga/
98qga-vss-dll-obj-y = qga/
99
100######################################################################
101# contrib
102elf2dmp-obj-y = contrib/elf2dmp/
103ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
104ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
105libvhost-user-obj-y = contrib/libvhost-user/
106vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
107vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
108vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
109vhost-user-blk-obj-y = contrib/vhost-user-blk/
110rdmacm-mux-obj-y = contrib/rdmacm-mux/
111vhost-user-input-obj-y = contrib/vhost-user-input/
112vhost-user-gpu-obj-y = contrib/vhost-user-gpu/
113virtiofsd-obj-y = tools/virtiofsd/
114
115######################################################################
116trace-events-subdirs =
117trace-events-subdirs += accel/kvm
118trace-events-subdirs += accel/tcg
119trace-events-subdirs += backends
120trace-events-subdirs += crypto
121trace-events-subdirs += monitor
122ifeq ($(CONFIG_USER_ONLY),y)
123trace-events-subdirs += linux-user
124endif
125ifeq ($(CONFIG_BLOCK),y)
126trace-events-subdirs += authz
127trace-events-subdirs += block
128trace-events-subdirs += io
129trace-events-subdirs += nbd
130trace-events-subdirs += scsi
131endif
132ifeq ($(CONFIG_SOFTMMU),y)
133trace-events-subdirs += audio
134trace-events-subdirs += chardev
135trace-events-subdirs += hw/9pfs
136trace-events-subdirs += hw/acpi
137trace-events-subdirs += hw/alpha
138trace-events-subdirs += hw/arm
139trace-events-subdirs += hw/audio
140trace-events-subdirs += hw/block
141trace-events-subdirs += hw/block/dataplane
142trace-events-subdirs += hw/char
143trace-events-subdirs += hw/dma
144trace-events-subdirs += hw/hppa
145trace-events-subdirs += hw/i2c
146trace-events-subdirs += hw/i386
147trace-events-subdirs += hw/i386/xen
148trace-events-subdirs += hw/ide
149trace-events-subdirs += hw/input
150trace-events-subdirs += hw/intc
151trace-events-subdirs += hw/isa
152trace-events-subdirs += hw/mem
153trace-events-subdirs += hw/mips
154trace-events-subdirs += hw/misc
155trace-events-subdirs += hw/misc/macio
156trace-events-subdirs += hw/net
157trace-events-subdirs += hw/nvram
158trace-events-subdirs += hw/pci
159trace-events-subdirs += hw/pci-host
160trace-events-subdirs += hw/ppc
161trace-events-subdirs += hw/rdma
162trace-events-subdirs += hw/rdma/vmw
163trace-events-subdirs += hw/rtc
164trace-events-subdirs += hw/s390x
165trace-events-subdirs += hw/scsi
166trace-events-subdirs += hw/sd
167trace-events-subdirs += hw/sparc
168trace-events-subdirs += hw/sparc64
169trace-events-subdirs += hw/timer
170trace-events-subdirs += hw/tpm
171trace-events-subdirs += hw/usb
172trace-events-subdirs += hw/vfio
173trace-events-subdirs += hw/virtio
174trace-events-subdirs += hw/watchdog
175trace-events-subdirs += hw/xen
176trace-events-subdirs += hw/gpio
177trace-events-subdirs += hw/riscv
178trace-events-subdirs += migration
179trace-events-subdirs += net
180trace-events-subdirs += ui
181endif
182trace-events-subdirs += hw/core
183trace-events-subdirs += hw/display
184trace-events-subdirs += qapi
185trace-events-subdirs += qom
186trace-events-subdirs += target/arm
187trace-events-subdirs += target/hppa
188trace-events-subdirs += target/i386
189trace-events-subdirs += target/mips
190trace-events-subdirs += target/ppc
191trace-events-subdirs += target/riscv
192trace-events-subdirs += target/s390x
193trace-events-subdirs += target/sparc
194trace-events-subdirs += util
195
196trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)
197
198trace-obj-y = trace-root.o
199trace-obj-y += $(trace-events-subdirs:%=%/trace.o)
200trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o
201trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o
202trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o)