]> git.proxmox.com Git - qemu.git/blame - Makefile.objs
build: move QAPI definitions for QEMU out of qapi-obj-y
[qemu.git] / Makefile.objs
CommitLineData
3bc2f570 1#######################################################################
a372823a 2# Common libraries for tools and emulators
3bc2f570 3stub-obj-y = stubs/
a372823a 4util-obj-y = util/ qobject/
3bc2f570 5
00dccaf1
KW
6#######################################################################
7# coroutines
8c5135f9 8coroutine-obj-y = qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
7e624667 9coroutine-obj-y += qemu-coroutine-sleep.o
1d728c39
BS
10
11# If you change this logic, please also check tests/Makefile
d0e2fce5 12ifeq ($(CONFIG_UCONTEXT_COROUTINE),y)
00dccaf1 13coroutine-obj-$(CONFIG_POSIX) += coroutine-ucontext.o
d0e2fce5 14else
fe91bfa8
AB
15ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y)
16coroutine-obj-$(CONFIG_POSIX) += coroutine-sigaltstack.o
17else
d0e2fce5
AK
18coroutine-obj-$(CONFIG_POSIX) += coroutine-gthread.o
19endif
fe91bfa8 20endif
00dccaf1
KW
21coroutine-obj-$(CONFIG_WIN32) += coroutine-win32.o
22
0e8c9214
AF
23#######################################################################
24# block-obj-y is code used by both qemu system emulation and qemu-img
25
f157ebba
PB
26block-obj-y = async.o thread-pool.o
27block-obj-y += nbd.o block.o blockjob.o
a372823a 28block-obj-y += $(coroutine-obj-y) $(version-obj-y)
f157ebba
PB
29block-obj-y += main-loop.o iohandler.o qemu-timer.o
30block-obj-$(CONFIG_POSIX) += aio-posix.o
31block-obj-$(CONFIG_WIN32) += aio-win32.o
7456e4ce 32block-obj-y += block/
69758c22 33block-obj-y += $(qapi-obj-y) qapi-types.o qapi-visit.o
0e8c9214 34
9fe1ebeb 35ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
01af7daf
PB
36# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
37# only pull in the actual virtio-9p device if we also enabled virtio.
38CONFIG_REALLY_VIRTFS=y
39endif
74db920c 40
0e8c9214 41######################################################################
050d9940
CWR
42# Target independent part of system emulation. The long term path is to
43# suppress *all* target specific code in case of system emulation, i.e. a
44# single QEMU executable should support all CPUs and machines.
0e8c9214 45
6dd844db 46common-obj-y = $(block-obj-y) blockdev.o blockdev-nbd.o block/
fd9400b3 47common-obj-y += net/
28ecbaee 48common-obj-y += readline.o
b0cb640a
BS
49common-obj-$(CONFIG_WIN32) += os-win32.o
50common-obj-$(CONFIG_POSIX) += os-posix.o
254e5950 51
ee20477d
PB
52common-obj-$(CONFIG_LINUX) += fsdev/
53extra-obj-$(CONFIG_LINUX) += fsdev/
54
0d82d0e8 55common-obj-y += migration.o migration-tcp.o
c5705a77 56common-obj-y += qemu-char.o #aio.o
f157ebba 57common-obj-y += block-migration.o
9fb26641 58common-obj-y += page_cache.o
0e8c9214 59
0e8c9214 60common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
9fe6de94 61common-obj-$(CONFIG_WIN32) += version.o
0e8c9214 62
8867aef0 63common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
b0b68fc6
PB
64
65common-obj-y += audio/
3d5a3f9a 66common-obj-y += hw/
6f991980
PB
67extra-obj-y += hw/
68
8867aef0 69common-obj-y += ui/
3d5a3f9a 70common-obj-y += bt-host.o bt-vhci.o
3e230dd2 71
c9159fe9 72common-obj-y += dma-helpers.o
c9159fe9
SW
73common-obj-y += qtest.o
74common-obj-y += vl.o
0e8c9214 75
4c696054 76common-obj-$(CONFIG_SLIRP) += slirp/
0e8c9214 77
a9b7b2ad
AL
78common-obj-y += backends/
79
f794573e
EO
80######################################################################
81# libseccomp
82ifeq ($(CONFIG_SECCOMP),y)
83common-obj-y += qemu-seccomp.o
84endif
85
94a420b1
SH
86######################################################################
87# trace
88
eac236ea 89trace-obj-y += trace/
5689dc65 90
111a38b0
RR
91######################################################################
92# smartcard
93
00c705fb
PB
94libcacard-y += libcacard/cac.o libcacard/event.o
95libcacard-y += libcacard/vcard.o libcacard/vreader.o
96libcacard-y += libcacard/vcard_emul_nss.o
97libcacard-y += libcacard/vcard_emul_type.o
98libcacard-y += libcacard/card_7816.o
99
100common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y)
111a38b0 101
2345c77c
MR
102######################################################################
103# qapi
104
dd5614d6 105qapi-obj-y = qapi/
2345c77c 106
ce008c1f 107common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.o
48a32bed 108common-obj-y += qmp.o hmp.o
e3193601 109
9444e9e6
PB
110#######################################################################
111# Target-independent parts used in system and user emulation
112universal-obj-y =
113universal-obj-y += qemu-log.o
114universal-obj-y += tcg-runtime.o
115universal-obj-y += hw/
116universal-obj-y += qom/
117universal-obj-y += disas/
118universal-obj-y += $(trace-obj-y)
ce008c1f 119universal-obj-y += $(qapi-obj-y)
59cacde8 120universal-obj-y += qapi-types.o qapi-visit.o
ce008c1f 121
957f1f99
MR
122######################################################################
123# guest agent
124
59cacde8
PB
125# FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed
126# by libqemuutil.a. These should be moved to a separate .json schema.
127qga-obj-y = qga/ qapi-types.o qapi-visit.o
957f1f99 128
ad96090a
BS
129vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
130
131vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
132
14015304
AL
133QEMU_CFLAGS+=$(GLIB_CFLAGS)
134
7f07b9cb 135nested-vars += \
3bc2f570 136 stub-obj-y \
baacf047 137 util-obj-y \
4eb7ba8a 138 qga-obj-y \
dd5614d6 139 qapi-obj-y \
69758c22 140 block-obj-y \
ee20477d 141 common-obj-y \
76cad711 142 universal-obj-y \
eac236ea
LV
143 extra-obj-y \
144 trace-obj-y
99100dc3 145dummy := $(call unnest-vars)