]>
Commit | Line | Data |
---|---|---|
1 | ####################################################################### | |
2 | # Common libraries for tools and emulators | |
3 | stub-obj-y = stubs/ crypto/ | |
4 | util-obj-y = util/ qobject/ qapi/ | |
5 | util-obj-y += qapi/qapi-builtin-types.o | |
6 | util-obj-y += qapi/qapi-types.o | |
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-job.o | |
14 | util-obj-y += qapi/qapi-types-migration.o | |
15 | util-obj-y += qapi/qapi-types-misc.o | |
16 | util-obj-y += qapi/qapi-types-net.o | |
17 | util-obj-y += qapi/qapi-types-rocker.o | |
18 | util-obj-y += qapi/qapi-types-run-state.o | |
19 | util-obj-y += qapi/qapi-types-sockets.o | |
20 | util-obj-y += qapi/qapi-types-tpm.o | |
21 | util-obj-y += qapi/qapi-types-trace.o | |
22 | util-obj-y += qapi/qapi-types-transaction.o | |
23 | util-obj-y += qapi/qapi-types-ui.o | |
24 | util-obj-y += qapi/qapi-builtin-visit.o | |
25 | util-obj-y += qapi/qapi-visit.o | |
26 | util-obj-y += qapi/qapi-visit-block-core.o | |
27 | util-obj-y += qapi/qapi-visit-block.o | |
28 | util-obj-y += qapi/qapi-visit-char.o | |
29 | util-obj-y += qapi/qapi-visit-common.o | |
30 | util-obj-y += qapi/qapi-visit-crypto.o | |
31 | util-obj-y += qapi/qapi-visit-introspect.o | |
32 | util-obj-y += qapi/qapi-visit-job.o | |
33 | util-obj-y += qapi/qapi-visit-migration.o | |
34 | util-obj-y += qapi/qapi-visit-misc.o | |
35 | util-obj-y += qapi/qapi-visit-net.o | |
36 | util-obj-y += qapi/qapi-visit-rocker.o | |
37 | util-obj-y += qapi/qapi-visit-run-state.o | |
38 | util-obj-y += qapi/qapi-visit-sockets.o | |
39 | util-obj-y += qapi/qapi-visit-tpm.o | |
40 | util-obj-y += qapi/qapi-visit-trace.o | |
41 | util-obj-y += qapi/qapi-visit-transaction.o | |
42 | util-obj-y += qapi/qapi-visit-ui.o | |
43 | util-obj-y += qapi/qapi-events.o | |
44 | util-obj-y += qapi/qapi-events-block-core.o | |
45 | util-obj-y += qapi/qapi-events-block.o | |
46 | util-obj-y += qapi/qapi-events-char.o | |
47 | util-obj-y += qapi/qapi-events-common.o | |
48 | util-obj-y += qapi/qapi-events-crypto.o | |
49 | util-obj-y += qapi/qapi-events-introspect.o | |
50 | util-obj-y += qapi/qapi-events-job.o | |
51 | util-obj-y += qapi/qapi-events-migration.o | |
52 | util-obj-y += qapi/qapi-events-misc.o | |
53 | util-obj-y += qapi/qapi-events-net.o | |
54 | util-obj-y += qapi/qapi-events-rocker.o | |
55 | util-obj-y += qapi/qapi-events-run-state.o | |
56 | util-obj-y += qapi/qapi-events-sockets.o | |
57 | util-obj-y += qapi/qapi-events-tpm.o | |
58 | util-obj-y += qapi/qapi-events-trace.o | |
59 | util-obj-y += qapi/qapi-events-transaction.o | |
60 | util-obj-y += qapi/qapi-events-ui.o | |
61 | util-obj-y += qapi/qapi-introspect.o | |
62 | ||
63 | chardev-obj-y = chardev/ | |
64 | ||
65 | ####################################################################### | |
66 | # block-obj-y is code used by both qemu system emulation and qemu-img | |
67 | ||
68 | block-obj-y += nbd/ | |
69 | block-obj-y += block.o blockjob.o job.o | |
70 | block-obj-y += block/ scsi/ | |
71 | block-obj-y += qemu-io-cmds.o | |
72 | block-obj-$(CONFIG_REPLICATION) += replication.o | |
73 | ||
74 | block-obj-m = block/ | |
75 | ||
76 | ####################################################################### | |
77 | # crypto-obj-y is code used by both qemu system emulation and qemu-img | |
78 | ||
79 | crypto-obj-y = crypto/ | |
80 | crypto-aes-obj-y = crypto/ | |
81 | ||
82 | ####################################################################### | |
83 | # qom-obj-y is code used by both qemu system emulation and qemu-img | |
84 | ||
85 | qom-obj-y = qom/ | |
86 | ||
87 | ####################################################################### | |
88 | # io-obj-y is code used by both qemu system emulation and qemu-img | |
89 | ||
90 | io-obj-y = io/ | |
91 | ||
92 | ###################################################################### | |
93 | # Target independent part of system emulation. The long term path is to | |
94 | # suppress *all* target specific code in case of system emulation, i.e. a | |
95 | # single QEMU executable should support all CPUs and machines. | |
96 | ||
97 | ifeq ($(CONFIG_SOFTMMU),y) | |
98 | common-obj-y = blockdev.o blockdev-nbd.o block/ | |
99 | common-obj-y += bootdevice.o iothread.o | |
100 | common-obj-y += job-qmp.o | |
101 | common-obj-y += net/ | |
102 | common-obj-y += qdev-monitor.o device-hotplug.o | |
103 | common-obj-$(CONFIG_WIN32) += os-win32.o | |
104 | common-obj-$(CONFIG_POSIX) += os-posix.o | |
105 | ||
106 | common-obj-$(CONFIG_LINUX) += fsdev/ | |
107 | ||
108 | common-obj-y += migration/ | |
109 | ||
110 | common-obj-y += audio/ | |
111 | common-obj-m += audio/ | |
112 | common-obj-y += hw/ | |
113 | ||
114 | common-obj-y += replay/ | |
115 | ||
116 | common-obj-y += ui/ | |
117 | common-obj-m += ui/ | |
118 | common-obj-y += bt-host.o bt-vhci.o | |
119 | bt-host.o-cflags := $(BLUEZ_CFLAGS) | |
120 | ||
121 | common-obj-y += dma-helpers.o | |
122 | common-obj-y += vl.o | |
123 | vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS) | |
124 | common-obj-$(CONFIG_TPM) += tpm.o | |
125 | ||
126 | common-obj-$(CONFIG_SLIRP) += slirp/ | |
127 | ||
128 | common-obj-y += backends/ | |
129 | common-obj-y += chardev/ | |
130 | ||
131 | common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o | |
132 | qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS) | |
133 | qemu-seccomp.o-libs := $(SECCOMP_LIBS) | |
134 | ||
135 | common-obj-$(CONFIG_FDT) += device_tree.o | |
136 | ||
137 | ###################################################################### | |
138 | # qapi | |
139 | ||
140 | common-obj-y += qapi/qapi-commands.o | |
141 | common-obj-y += qapi/qapi-commands-block-core.o | |
142 | common-obj-y += qapi/qapi-commands-block.o | |
143 | common-obj-y += qapi/qapi-commands-char.o | |
144 | common-obj-y += qapi/qapi-commands-common.o | |
145 | common-obj-y += qapi/qapi-commands-crypto.o | |
146 | common-obj-y += qapi/qapi-commands-introspect.o | |
147 | common-obj-y += qapi/qapi-commands-job.o | |
148 | common-obj-y += qapi/qapi-commands-migration.o | |
149 | common-obj-y += qapi/qapi-commands-misc.o | |
150 | common-obj-y += qapi/qapi-commands-net.o | |
151 | common-obj-y += qapi/qapi-commands-rocker.o | |
152 | common-obj-y += qapi/qapi-commands-run-state.o | |
153 | common-obj-y += qapi/qapi-commands-sockets.o | |
154 | common-obj-y += qapi/qapi-commands-tpm.o | |
155 | common-obj-y += qapi/qapi-commands-trace.o | |
156 | common-obj-y += qapi/qapi-commands-transaction.o | |
157 | common-obj-y += qapi/qapi-commands-ui.o | |
158 | common-obj-y += qapi/qapi-introspect.o | |
159 | common-obj-y += qmp.o hmp.o | |
160 | endif | |
161 | ||
162 | ####################################################################### | |
163 | # Target-independent parts used in system and user emulation | |
164 | common-obj-y += cpus-common.o | |
165 | common-obj-y += hw/ | |
166 | common-obj-y += qom/ | |
167 | common-obj-y += disas/ | |
168 | ||
169 | ###################################################################### | |
170 | # Resource file for Windows executables | |
171 | version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o | |
172 | ||
173 | ###################################################################### | |
174 | # tracing | |
175 | util-obj-y += trace/ | |
176 | target-obj-y += trace/ | |
177 | ||
178 | ###################################################################### | |
179 | # guest agent | |
180 | ||
181 | # FIXME: a few definitions from qapi/qapi-types.o and | |
182 | # qapi/qapi-visit.o are needed by libqemuutil.a. These should be | |
183 | # extracted into a QAPI schema module, or perhaps a separate schema. | |
184 | qga-obj-y = qga/ | |
185 | qga-vss-dll-obj-y = qga/ | |
186 | ||
187 | ###################################################################### | |
188 | # contrib | |
189 | elf2dmp-obj-y = contrib/elf2dmp/ | |
190 | ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/ | |
191 | ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/ | |
192 | libvhost-user-obj-y = contrib/libvhost-user/ | |
193 | vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS) | |
194 | vhost-user-scsi.o-libs := $(LIBISCSI_LIBS) | |
195 | vhost-user-scsi-obj-y = contrib/vhost-user-scsi/ | |
196 | vhost-user-blk-obj-y = contrib/vhost-user-blk/ | |
197 | ||
198 | ###################################################################### | |
199 | trace-events-subdirs = | |
200 | trace-events-subdirs += accel/kvm | |
201 | trace-events-subdirs += accel/tcg | |
202 | trace-events-subdirs += audio | |
203 | trace-events-subdirs += block | |
204 | trace-events-subdirs += chardev | |
205 | trace-events-subdirs += crypto | |
206 | trace-events-subdirs += hw/9pfs | |
207 | trace-events-subdirs += hw/acpi | |
208 | trace-events-subdirs += hw/alpha | |
209 | trace-events-subdirs += hw/arm | |
210 | trace-events-subdirs += hw/audio | |
211 | trace-events-subdirs += hw/block | |
212 | trace-events-subdirs += hw/block/dataplane | |
213 | trace-events-subdirs += hw/char | |
214 | trace-events-subdirs += hw/display | |
215 | trace-events-subdirs += hw/dma | |
216 | trace-events-subdirs += hw/hppa | |
217 | trace-events-subdirs += hw/i2c | |
218 | trace-events-subdirs += hw/i386 | |
219 | trace-events-subdirs += hw/i386/xen | |
220 | trace-events-subdirs += hw/ide | |
221 | trace-events-subdirs += hw/input | |
222 | trace-events-subdirs += hw/intc | |
223 | trace-events-subdirs += hw/isa | |
224 | trace-events-subdirs += hw/mem | |
225 | trace-events-subdirs += hw/misc | |
226 | trace-events-subdirs += hw/misc/macio | |
227 | trace-events-subdirs += hw/net | |
228 | trace-events-subdirs += hw/nvram | |
229 | trace-events-subdirs += hw/pci | |
230 | trace-events-subdirs += hw/pci-host | |
231 | trace-events-subdirs += hw/ppc | |
232 | trace-events-subdirs += hw/rdma | |
233 | trace-events-subdirs += hw/rdma/vmw | |
234 | trace-events-subdirs += hw/s390x | |
235 | trace-events-subdirs += hw/scsi | |
236 | trace-events-subdirs += hw/sd | |
237 | trace-events-subdirs += hw/sparc | |
238 | trace-events-subdirs += hw/sparc64 | |
239 | trace-events-subdirs += hw/timer | |
240 | trace-events-subdirs += hw/tpm | |
241 | trace-events-subdirs += hw/usb | |
242 | trace-events-subdirs += hw/vfio | |
243 | trace-events-subdirs += hw/virtio | |
244 | trace-events-subdirs += hw/watchdog | |
245 | trace-events-subdirs += hw/xen | |
246 | trace-events-subdirs += io | |
247 | trace-events-subdirs += linux-user | |
248 | trace-events-subdirs += migration | |
249 | trace-events-subdirs += nbd | |
250 | trace-events-subdirs += net | |
251 | trace-events-subdirs += qapi | |
252 | trace-events-subdirs += qom | |
253 | trace-events-subdirs += scsi | |
254 | trace-events-subdirs += target/arm | |
255 | trace-events-subdirs += target/i386 | |
256 | trace-events-subdirs += target/mips | |
257 | trace-events-subdirs += target/ppc | |
258 | trace-events-subdirs += target/s390x | |
259 | trace-events-subdirs += target/sparc | |
260 | trace-events-subdirs += ui | |
261 | trace-events-subdirs += util | |
262 | ||
263 | trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events) | |
264 | ||
265 | trace-obj-y = trace-root.o | |
266 | trace-obj-y += $(trace-events-subdirs:%=%/trace.o) | |
267 | trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o | |
268 | trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o | |
269 | trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o) |