Makefile.objs 5.7 KB
Newer Older
1 2 3 4
#######################################################################
# Stub library, linked in tools
stub-obj-y = stubs/

5 6 7
#######################################################################
# Target-independent parts used in system and user emulation
universal-obj-y =
8
universal-obj-y += qemu-log.o
9

10 11 12 13
#######################################################################
# QObject
qobject-obj-y = qint.o qstring.o qdict.o qlist.o qfloat.o qbool.o
qobject-obj-y += qjson.o json-lexer.o json-streamer.o json-parser.o
14
qobject-obj-y += qerror.o error.o qemu-error.o
15

16 17 18 19
universal-obj-y += $(qobject-obj-y)

#######################################################################
# QOM
20
qom-obj-y = qom/
21 22 23

universal-obj-y += $(qom-obj-y)

24 25 26 27 28 29 30
#######################################################################
# Core hw code (qdev core)
hw-core-obj-y += hw/
hw-core-obj-y += qemu-option.o

universal-obj-y += $(hw-core-obj-y)

31
#######################################################################
32 33 34 35
# util-obj-y is code depending on the OS (win32 vs posix)
util-obj-y = osdep.o cutils.o qemu-timer-common.o
util-obj-$(CONFIG_WIN32) += oslib-win32.o qemu-thread-win32.o
util-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-thread-posix.o
36

K
Kevin Wolf 已提交
37 38
#######################################################################
# coroutines
39
coroutine-obj-y = qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
40
coroutine-obj-y += qemu-coroutine-sleep.o
B
Blue Swirl 已提交
41 42

# If you change this logic, please also check tests/Makefile
43
ifeq ($(CONFIG_UCONTEXT_COROUTINE),y)
K
Kevin Wolf 已提交
44
coroutine-obj-$(CONFIG_POSIX) += coroutine-ucontext.o
45
else
46 47 48
ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y)
coroutine-obj-$(CONFIG_POSIX) += coroutine-sigaltstack.o
else
49 50
coroutine-obj-$(CONFIG_POSIX) += coroutine-gthread.o
endif
51
endif
K
Kevin Wolf 已提交
52 53
coroutine-obj-$(CONFIG_WIN32) += coroutine-win32.o

54 55 56
#######################################################################
# block-obj-y is code used by both qemu system emulation and qemu-img

57
block-obj-y = iov.o cache-utils.o qemu-option.o module.o async.o
P
Paolo Bonzini 已提交
58
block-obj-y += nbd.o block.o blockjob.o aes.o qemu-config.o
59
block-obj-y += thread-pool.o qemu-progress.o qemu-sockets.o uri.o notify.o
60
block-obj-y += $(coroutine-obj-y) $(qobject-obj-y) $(version-obj-y)
P
Paolo Bonzini 已提交
61 62
block-obj-$(CONFIG_POSIX) += event_notifier-posix.o aio-posix.o
block-obj-$(CONFIG_WIN32) += event_notifier-win32.o aio-win32.o
63
block-obj-y += block/
P
Paolo Bonzini 已提交
64
block-obj-y += $(qapi-obj-y) qapi-types.o qapi-visit.o
65

66
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
P
Paul Brook 已提交
67 68 69 70
# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
# only pull in the actual virtio-9p device if we also enabled virtio.
CONFIG_REALLY_VIRTFS=y
endif
71

72
######################################################################
73 74 75
# Target independent part of system emulation. The long term path is to
# suppress *all* target specific code in case of system emulation, i.e. a
# single QEMU executable should support all CPUs and machines.
76

P
Paolo Bonzini 已提交
77
common-obj-y = $(block-obj-y) blockdev.o blockdev-nbd.o block/
P
Paolo Bonzini 已提交
78
common-obj-y += net/
79
common-obj-y += qom/
80
common-obj-y += readline.o
81 82
common-obj-$(CONFIG_WIN32) += os-win32.o
common-obj-$(CONFIG_POSIX) += os-posix.o
G
Gerd Hoffmann 已提交
83

84 85 86
common-obj-$(CONFIG_LINUX) += fsdev/
extra-obj-$(CONFIG_LINUX) += fsdev/

P
Paolo Bonzini 已提交
87
common-obj-y += tcg-runtime.o host-utils.o main-loop.o
88 89
common-obj-y += migration.o migration-tcp.o
common-obj-y += migration.o migration-tcp.o
90
common-obj-y += qemu-char.o #aio.o
91
common-obj-y += block-migration.o iohandler.o
92
common-obj-y += bitmap.o bitops.o
O
Orit Wasserman 已提交
93
common-obj-y += page_cache.o
94 95

common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
96
common-obj-$(CONFIG_WIN32) += version.o
97

98
common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
99 100

common-obj-y += audio/
101
common-obj-y += hw/
102 103
extra-obj-y += hw/

104
common-obj-y += ui/
105
common-obj-y += bt-host.o bt-vhci.o
106

S
Stefan Weil 已提交
107
common-obj-y += dma-helpers.o
108
common-obj-y += acl.o
109
common-obj-$(CONFIG_POSIX) += compatfd.o
110
common-obj-y += qemu-timer.o qemu-timer-common.o
S
Stefan Weil 已提交
111 112
common-obj-y += qtest.o
common-obj-y += vl.o
113

114
common-obj-$(CONFIG_SLIRP) += slirp/
115

116 117
common-obj-y += backends/

118 119 120 121 122 123
######################################################################
# libseccomp
ifeq ($(CONFIG_SECCOMP),y)
common-obj-y += qemu-seccomp.o
endif

124 125 126 127 128 129
######################################################################
# libuser

user-obj-y =
user-obj-y += envlist.o path.o
user-obj-y += tcg-runtime.o host-utils.o
130
user-obj-y += cache-utils.o
131
user-obj-y += module.o
132
user-obj-y += qom/
133

B
Blue Swirl 已提交
134
######################################################################
135
# disassemblers
B
Blue Swirl 已提交
136 137
# NOTE: the disassembler code is only needed for debugging

138
universal-obj-y += disas/
139

140 141 142
######################################################################
# trace

143
trace-obj-y += trace/
144

P
Paolo Bonzini 已提交
145 146
universal-obj-y += $(trace-obj-y)

R
Robert Relyea 已提交
147 148 149
######################################################################
# smartcard

150 151 152 153 154 155 156
libcacard-y += libcacard/cac.o libcacard/event.o
libcacard-y += libcacard/vcard.o libcacard/vreader.o
libcacard-y += libcacard/vcard_emul_nss.o
libcacard-y += libcacard/vcard_emul_type.o
libcacard-y += libcacard/card_7816.o

common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y)
R
Robert Relyea 已提交
157

M
Michael Roth 已提交
158 159 160
######################################################################
# qapi

161
qapi-obj-y = qapi/
162
qapi-obj-y += qapi-types.o qapi-visit.o
M
Michael Roth 已提交
163

164
common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.o
A
Anthony Liguori 已提交
165
common-obj-y += qmp.o hmp.o
166

167 168
universal-obj-y += $(qapi-obj-y)

169 170 171
######################################################################
# guest agent

172
qga-obj-y = qga/ module.o
173
qga-obj-$(CONFIG_POSIX) += qemu-sockets.o qemu-option.o
174

175 176 177 178
vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)

vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)

179 180
QEMU_CFLAGS+=$(GLIB_CFLAGS)

181
nested-vars += \
182
	stub-obj-y \
183
	qga-obj-y \
184
	qom-obj-y \
185
	qapi-obj-y \
P
Paolo Bonzini 已提交
186
	block-obj-y \
187
	user-obj-y \
188
	common-obj-y \
189
	universal-obj-y \
190
	hw-core-obj-y \
191 192
	extra-obj-y \
	trace-obj-y
193
dummy := $(call unnest-vars)