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