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