]> git.proxmox.com Git - mirror_qemu.git/blame - Makefile.objs
qapi: Generate separate .h, .c for each module
[mirror_qemu.git] / Makefile.objs
CommitLineData
3bc2f570 1#######################################################################
a372823a 2# Common libraries for tools and emulators
b917da4c 3stub-obj-y = stubs/ crypto/
39a18158 4util-obj-y = util/ qobject/ qapi/
cdb6610a 5util-obj-y += qapi-builtin-types.o
252dc310
MA
6util-obj-y += qapi-types.o
7util-obj-y += qapi/qapi-types-block-core.o
8util-obj-y += qapi/qapi-types-block.o
9util-obj-y += qapi/qapi-types-char.o
10util-obj-y += qapi/qapi-types-common.o
11util-obj-y += qapi/qapi-types-crypto.o
12util-obj-y += qapi/qapi-types-introspect.o
13util-obj-y += qapi/qapi-types-migration.o
14util-obj-y += qapi/qapi-types-net.o
15util-obj-y += qapi/qapi-types-rocker.o
16util-obj-y += qapi/qapi-types-run-state.o
17util-obj-y += qapi/qapi-types-sockets.o
18util-obj-y += qapi/qapi-types-tpm.o
19util-obj-y += qapi/qapi-types-trace.o
20util-obj-y += qapi/qapi-types-transaction.o
21util-obj-y += qapi/qapi-types-ui.o
cdb6610a 22util-obj-y += qapi-builtin-visit.o
252dc310
MA
23util-obj-y += qapi-visit.o
24util-obj-y += qapi/qapi-visit-block-core.o
25util-obj-y += qapi/qapi-visit-block.o
26util-obj-y += qapi/qapi-visit-char.o
27util-obj-y += qapi/qapi-visit-common.o
28util-obj-y += qapi/qapi-visit-crypto.o
29util-obj-y += qapi/qapi-visit-introspect.o
30util-obj-y += qapi/qapi-visit-migration.o
31util-obj-y += qapi/qapi-visit-net.o
32util-obj-y += qapi/qapi-visit-rocker.o
33util-obj-y += qapi/qapi-visit-run-state.o
34util-obj-y += qapi/qapi-visit-sockets.o
35util-obj-y += qapi/qapi-visit-tpm.o
36util-obj-y += qapi/qapi-visit-trace.o
37util-obj-y += qapi/qapi-visit-transaction.o
38util-obj-y += qapi/qapi-visit-ui.o
39util-obj-y += qapi-event.o
40util-obj-y += qapi/qapi-events-block-core.o
41util-obj-y += qapi/qapi-events-block.o
42util-obj-y += qapi/qapi-events-char.o
43util-obj-y += qapi/qapi-events-common.o
44util-obj-y += qapi/qapi-events-crypto.o
45util-obj-y += qapi/qapi-events-introspect.o
46util-obj-y += qapi/qapi-events-migration.o
47util-obj-y += qapi/qapi-events-net.o
48util-obj-y += qapi/qapi-events-rocker.o
49util-obj-y += qapi/qapi-events-run-state.o
50util-obj-y += qapi/qapi-events-sockets.o
51util-obj-y += qapi/qapi-events-tpm.o
52util-obj-y += qapi/qapi-events-trace.o
53util-obj-y += qapi/qapi-events-transaction.o
54util-obj-y += qapi/qapi-events-ui.o
55util-obj-y += qmp-introspect.o
3bc2f570 56
32d955a4
MAL
57chardev-obj-y = chardev/
58
0e8c9214
AF
59#######################################################################
60# block-obj-y is code used by both qemu system emulation and qemu-img
61
798bfe00
FZ
62block-obj-y += nbd/
63block-obj-y += block.o blockjob.o
e5b5728c 64block-obj-y += block/ scsi/
587da2c3 65block-obj-y += qemu-io-cmds.o
190b9a8b 66block-obj-$(CONFIG_REPLICATION) += replication.o
0e8c9214 67
cc475698
FZ
68block-obj-m = block/
69
fb37726d
DB
70#######################################################################
71# crypto-obj-y is code used by both qemu system emulation and qemu-img
72
73crypto-obj-y = crypto/
74crypto-aes-obj-y = crypto/
74db920c 75
0c7012e0
DB
76#######################################################################
77# qom-obj-y is code used by both qemu system emulation and qemu-img
78
79qom-obj-y = qom/
80
666a3af9
DB
81#######################################################################
82# io-obj-y is code used by both qemu system emulation and qemu-img
83
84io-obj-y = io/
85
0e8c9214 86######################################################################
050d9940
CWR
87# Target independent part of system emulation. The long term path is to
88# suppress *all* target specific code in case of system emulation, i.e. a
89# single QEMU executable should support all CPUs and machines.
0e8c9214 90
00082344 91ifeq ($(CONFIG_SOFTMMU),y)
ba1183da 92common-obj-y = blockdev.o blockdev-nbd.o block/
5ddc6482 93common-obj-y += bootdevice.o iothread.o
fd9400b3 94common-obj-y += net/
1559e0d4 95common-obj-y += qdev-monitor.o device-hotplug.o
b0cb640a
BS
96common-obj-$(CONFIG_WIN32) += os-win32.o
97common-obj-$(CONFIG_POSIX) += os-posix.o
254e5950 98
ee20477d 99common-obj-$(CONFIG_LINUX) += fsdev/
ee20477d 100
60fe637b 101common-obj-y += migration/
0e8c9214 102
b0b68fc6 103common-obj-y += audio/
3d5a3f9a 104common-obj-y += hw/
6f991980 105
d73abd6d
PD
106common-obj-y += replay/
107
8867aef0 108common-obj-y += ui/
3d5a3f9a 109common-obj-y += bt-host.o bt-vhci.o
849d8284 110bt-host.o-cflags := $(BLUEZ_CFLAGS)
3e230dd2 111
c9159fe9 112common-obj-y += dma-helpers.o
c9159fe9 113common-obj-y += vl.o
849d8284 114vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS)
c39f95dc 115common-obj-$(CONFIG_TPM) += tpm.o
0e8c9214 116
4c696054 117common-obj-$(CONFIG_SLIRP) += slirp/
0e8c9214 118
a9b7b2ad 119common-obj-y += backends/
6b10e573 120common-obj-y += chardev/
a9b7b2ad 121
737f3518 122common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
c3883e1f
FZ
123qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
124qemu-seccomp.o-libs := $(SECCOMP_LIBS)
f794573e 125
7df057ba
PC
126common-obj-$(CONFIG_FDT) += device_tree.o
127
2345c77c
MR
128######################################################################
129# qapi
130
834a3f34 131common-obj-y += qmp-commands.o
252dc310
MA
132common-obj-y += qapi/qapi-commands-block-core.o
133common-obj-y += qapi/qapi-commands-block.o
134common-obj-y += qapi/qapi-commands-char.o
135common-obj-y += qapi/qapi-commands-common.o
136common-obj-y += qapi/qapi-commands-crypto.o
137common-obj-y += qapi/qapi-commands-introspect.o
138common-obj-y += qapi/qapi-commands-migration.o
139common-obj-y += qapi/qapi-commands-net.o
140common-obj-y += qapi/qapi-commands-rocker.o
141common-obj-y += qapi/qapi-commands-run-state.o
142common-obj-y += qapi/qapi-commands-sockets.o
143common-obj-y += qapi/qapi-commands-tpm.o
144common-obj-y += qapi/qapi-commands-trace.o
145common-obj-y += qapi/qapi-commands-transaction.o
146common-obj-y += qapi/qapi-commands-ui.o
39a18158 147common-obj-y += qmp-introspect.o
48a32bed 148common-obj-y += qmp.o hmp.o
00082344 149endif
e3193601 150
9444e9e6
PB
151#######################################################################
152# Target-independent parts used in system and user emulation
c482cb11 153common-obj-y += cpus-common.o
00082344
PB
154common-obj-y += hw/
155common-obj-y += qom/
156common-obj-y += disas/
ce008c1f 157
0b516ef0
SW
158######################################################################
159# Resource file for Windows executables
160version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
0b516ef0 161
341ea691
LV
162######################################################################
163# tracing
164util-obj-y += trace/
165target-obj-y += trace/
166
957f1f99
MR
167######################################################################
168# guest agent
169
59cacde8
PB
170# FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed
171# by libqemuutil.a. These should be moved to a separate .json schema.
169a24ae 172qga-obj-y = qga/
b39297ae 173qga-vss-dll-obj-y = qga/
a75eb03b
DM
174
175######################################################################
176# contrib
b1449edb
KR
177ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
178ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
7b2e5c65 179libvhost-user-obj-y = contrib/libvhost-user/
49cc0340
FF
180vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
181vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
182vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
406d2aa2 183vhost-user-blk-obj-y = contrib/vhost-user-blk/
1412cf58
DB
184
185######################################################################
0ab8ed18
DB
186trace-events-subdirs =
187trace-events-subdirs += util
188trace-events-subdirs += crypto
189trace-events-subdirs += io
190trace-events-subdirs += migration
191trace-events-subdirs += block
6b10e573 192trace-events-subdirs += chardev
0ab8ed18
DB
193trace-events-subdirs += hw/block
194trace-events-subdirs += hw/block/dataplane
195trace-events-subdirs += hw/char
196trace-events-subdirs += hw/intc
197trace-events-subdirs += hw/net
ef6d4ccd 198trace-events-subdirs += hw/rdma
919ae3dd 199trace-events-subdirs += hw/rdma/vmw
0ab8ed18
DB
200trace-events-subdirs += hw/virtio
201trace-events-subdirs += hw/audio
202trace-events-subdirs += hw/misc
4b402e09 203trace-events-subdirs += hw/misc/macio
0ab8ed18
DB
204trace-events-subdirs += hw/usb
205trace-events-subdirs += hw/scsi
206trace-events-subdirs += hw/nvram
207trace-events-subdirs += hw/display
208trace-events-subdirs += hw/input
209trace-events-subdirs += hw/timer
210trace-events-subdirs += hw/dma
211trace-events-subdirs += hw/sparc
8bcf1c79 212trace-events-subdirs += hw/sparc64
0ab8ed18
DB
213trace-events-subdirs += hw/sd
214trace-events-subdirs += hw/isa
215trace-events-subdirs += hw/mem
216trace-events-subdirs += hw/i386
217trace-events-subdirs += hw/i386/xen
218trace-events-subdirs += hw/9pfs
219trace-events-subdirs += hw/ppc
220trace-events-subdirs += hw/pci
bfec08b5 221trace-events-subdirs += hw/pci-host
0ab8ed18
DB
222trace-events-subdirs += hw/s390x
223trace-events-subdirs += hw/vfio
224trace-events-subdirs += hw/acpi
225trace-events-subdirs += hw/arm
226trace-events-subdirs += hw/alpha
a72bd606 227trace-events-subdirs += hw/hppa
0ab8ed18 228trace-events-subdirs += hw/xen
3eee2611 229trace-events-subdirs += hw/ide
0ab8ed18
DB
230trace-events-subdirs += ui
231trace-events-subdirs += audio
232trace-events-subdirs += net
233trace-events-subdirs += target/arm
234trace-events-subdirs += target/i386
b44a7fb1 235trace-events-subdirs += target/mips
0ab8ed18
DB
236trace-events-subdirs += target/sparc
237trace-events-subdirs += target/s390x
238trace-events-subdirs += target/ppc
239trace-events-subdirs += qom
240trace-events-subdirs += linux-user
241trace-events-subdirs += qapi
d9bb58e5 242trace-events-subdirs += accel/tcg
92229a57 243trace-events-subdirs += accel/kvm
9588463e 244trace-events-subdirs += nbd
7c9e5276 245trace-events-subdirs += scsi
0ab8ed18
DB
246
247trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)
248
249trace-obj-y = trace-root.o
250trace-obj-y += $(trace-events-subdirs:%=%/trace.o)
251trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o
252trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o
253trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o)