Merge remote-tracking branch 'remotes/kraxel/tags/seabios-1.12-20181120-pull-request...
[qemu/ar7.git] / Makefile.objs
blob1e1ff387d79a731181e9695e8d6ad9bca34bd570
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
63 chardev-obj-y = chardev/
65 #######################################################################
66 # block-obj-y is code used by both qemu system emulation and qemu-img
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
74 block-obj-m = block/
76 #######################################################################
77 # crypto-obj-y is code used by both qemu system emulation and qemu-img
79 crypto-obj-y = crypto/
80 crypto-aes-obj-y = crypto/
82 #######################################################################
83 # qom-obj-y is code used by both qemu system emulation and qemu-img
85 qom-obj-y = qom/
87 #######################################################################
88 # io-obj-y is code used by both qemu system emulation and qemu-img
90 io-obj-y = io/
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.
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
106 common-obj-$(CONFIG_LINUX) += fsdev/
108 common-obj-y += migration/
110 common-obj-y += audio/
111 common-obj-m += audio/
112 common-obj-y += hw/
114 common-obj-y += replay/
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)
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
126 common-obj-$(CONFIG_SLIRP) += slirp/
128 common-obj-y += backends/
129 common-obj-y += chardev/
131 common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
132 qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
133 qemu-seccomp.o-libs := $(SECCOMP_LIBS)
135 common-obj-$(CONFIG_FDT) += device_tree.o
137 ######################################################################
138 # qapi
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
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/
169 ######################################################################
170 # Resource file for Windows executables
171 version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
173 ######################################################################
174 # tracing
175 util-obj-y +=  trace/
176 target-obj-y += trace/
178 ######################################################################
179 # guest agent
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/
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/
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
263 trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)
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)