Statistics
| Branch: | Revision:

root / Makefile.objs @ 136594f1

History | View | Annotate | Download (7.9 kB)

1 0e8c9214 Andreas Färber
#######################################################################
2 ce008c1f Andreas Färber
# Target-independent parts used in system and user emulation
3 ce008c1f Andreas Färber
universal-obj-y =
4 5726c27f Blue Swirl
universal-obj-y += qemu-log.o
5 ce008c1f Andreas Färber
6 ce008c1f Andreas Färber
#######################################################################
7 0e8c9214 Andreas Färber
# QObject
8 0e8c9214 Andreas Färber
qobject-obj-y = qint.o qstring.o qdict.o qlist.o qfloat.o qbool.o
9 0e8c9214 Andreas Färber
qobject-obj-y += qjson.o json-lexer.o json-streamer.o json-parser.o
10 4ab328d6 Paolo Bonzini
qobject-obj-y += qerror.o error.o qemu-error.o
11 0e8c9214 Andreas Färber
12 ce008c1f Andreas Färber
universal-obj-y += $(qobject-obj-y)
13 ce008c1f Andreas Färber
14 ce008c1f Andreas Färber
#######################################################################
15 ce008c1f Andreas Färber
# QOM
16 7f07b9cb Paolo Bonzini
qom-obj-y = qom/
17 ce008c1f Andreas Färber
18 ce008c1f Andreas Färber
universal-obj-y += $(qom-obj-y)
19 ce008c1f Andreas Färber
20 0e8c9214 Andreas Färber
#######################################################################
21 c1b0b93b Jes Sorensen
# oslib-obj-y is code depending on the OS (win32 vs posix)
22 f3192e8f Paolo Bonzini
oslib-obj-y = osdep.o cutils.o qemu-timer-common.o
23 6774e44a Paolo Bonzini
oslib-obj-$(CONFIG_WIN32) += oslib-win32.o qemu-thread-win32.o
24 6774e44a Paolo Bonzini
oslib-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-thread-posix.o
25 c1b0b93b Jes Sorensen
26 c1b0b93b Jes Sorensen
#######################################################################
27 00dccaf1 Kevin Wolf
# coroutines
28 8c5135f9 Paolo Bonzini
coroutine-obj-y = qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
29 7e624667 Stefan Hajnoczi
coroutine-obj-y += qemu-coroutine-sleep.o
30 d0e2fce5 Aneesh Kumar K.V
ifeq ($(CONFIG_UCONTEXT_COROUTINE),y)
31 00dccaf1 Kevin Wolf
coroutine-obj-$(CONFIG_POSIX) += coroutine-ucontext.o
32 d0e2fce5 Aneesh Kumar K.V
else
33 fe91bfa8 Alex Barcelo
ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y)
34 fe91bfa8 Alex Barcelo
coroutine-obj-$(CONFIG_POSIX) += coroutine-sigaltstack.o
35 fe91bfa8 Alex Barcelo
else
36 d0e2fce5 Aneesh Kumar K.V
coroutine-obj-$(CONFIG_POSIX) += coroutine-gthread.o
37 d0e2fce5 Aneesh Kumar K.V
endif
38 fe91bfa8 Alex Barcelo
endif
39 00dccaf1 Kevin Wolf
coroutine-obj-$(CONFIG_WIN32) += coroutine-win32.o
40 00dccaf1 Kevin Wolf
41 00dccaf1 Kevin Wolf
#######################################################################
42 0e8c9214 Andreas Färber
# block-obj-y is code used by both qemu system emulation and qemu-img
43 0e8c9214 Andreas Färber
44 f3192e8f Paolo Bonzini
block-obj-y = iov.o cache-utils.o qemu-option.o module.o async.o
45 2f0c9fe6 Paolo Bonzini
block-obj-y += nbd.o block.o blockjob.o aio.o aes.o qemu-config.o
46 d7d512f6 Paolo Bonzini
block-obj-y += qemu-progress.o qemu-sockets.o uri.o notify.o
47 4ab328d6 Paolo Bonzini
block-obj-y += $(coroutine-obj-y) $(qobject-obj-y) $(version-obj-y)
48 0e8c9214 Andreas Färber
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
49 0e8c9214 Andreas Färber
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
50 7456e4ce Paolo Bonzini
block-obj-y += block/
51 69758c22 Paolo Bonzini
block-obj-y += $(qapi-obj-y) qapi-types.o qapi-visit.o
52 0e8c9214 Andreas Färber
53 9fe1ebeb Aneesh Kumar K.V
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
54 01af7daf Paul Brook
# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
55 01af7daf Paul Brook
# only pull in the actual virtio-9p device if we also enabled virtio.
56 01af7daf Paul Brook
CONFIG_REALLY_VIRTFS=y
57 01af7daf Paul Brook
endif
58 74db920c Gautham R Shenoy
59 0e8c9214 Andreas Färber
######################################################################
60 050d9940 Chen Wei-Ren
# Target independent part of system emulation. The long term path is to
61 050d9940 Chen Wei-Ren
# suppress *all* target specific code in case of system emulation, i.e. a
62 050d9940 Chen Wei-Ren
# single QEMU executable should support all CPUs and machines.
63 0e8c9214 Andreas Färber
64 6dd844db Paolo Bonzini
common-obj-y = $(block-obj-y) blockdev.o blockdev-nbd.o block/
65 d8469de6 Paolo Bonzini
common-obj-y += net.o net/
66 7f07b9cb Paolo Bonzini
common-obj-y += qom/
67 4ab328d6 Paolo Bonzini
common-obj-y += readline.o console.o cursor.o
68 dbaf26b3 Blue Swirl
common-obj-y += $(oslib-obj-y)
69 b0cb640a Blue Swirl
common-obj-$(CONFIG_WIN32) += os-win32.o
70 b0cb640a Blue Swirl
common-obj-$(CONFIG_POSIX) += os-posix.o
71 254e5950 Gerd Hoffmann
72 ee20477d Paolo Bonzini
common-obj-$(CONFIG_LINUX) += fsdev/
73 ee20477d Paolo Bonzini
extra-obj-$(CONFIG_LINUX) += fsdev/
74 ee20477d Paolo Bonzini
75 d3b12f5d Paolo Bonzini
common-obj-y += tcg-runtime.o host-utils.o main-loop.o
76 3d5a3f9a Paolo Bonzini
common-obj-y += input.o
77 c12504ce Nick Thomas
common-obj-y += buffered_file.o migration.o migration-tcp.o
78 c5705a77 Avi Kivity
common-obj-y += qemu-char.o #aio.o
79 02981419 Paolo Bonzini
common-obj-y += block-migration.o iohandler.o
80 d6d94fc3 Gerd Hoffmann
common-obj-y += pflib.o
81 e0e53b2f Corentin Chary
common-obj-y += bitmap.o bitops.o
82 9fb26641 Orit Wasserman
common-obj-y += page_cache.o
83 0e8c9214 Andreas Färber
84 0e8c9214 Andreas Färber
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
85 9fe6de94 Blue Swirl
common-obj-$(CONFIG_WIN32) += version.o
86 0e8c9214 Andreas Färber
87 8867aef0 Paolo Bonzini
common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
88 b0b68fc6 Paolo Bonzini
89 b0b68fc6 Paolo Bonzini
common-obj-y += audio/
90 3d5a3f9a Paolo Bonzini
common-obj-y += hw/
91 8867aef0 Paolo Bonzini
common-obj-y += ui/
92 3d5a3f9a Paolo Bonzini
common-obj-y += bt-host.o bt-vhci.o
93 3e230dd2 Corentin Chary
94 c9159fe9 Stefan Weil
common-obj-y += dma-helpers.o
95 0191253c Paolo Bonzini
common-obj-y += acl.o
96 6774e44a Paolo Bonzini
common-obj-$(CONFIG_POSIX) += compatfd.o
97 d7d512f6 Paolo Bonzini
common-obj-y += event_notifier.o
98 c57c846a Blue Swirl
common-obj-y += qemu-timer.o qemu-timer-common.o
99 c9159fe9 Stefan Weil
common-obj-y += qtest.o
100 c9159fe9 Stefan Weil
common-obj-y += vl.o
101 0e8c9214 Andreas Färber
102 4c696054 Paolo Bonzini
common-obj-$(CONFIG_SLIRP) += slirp/
103 0e8c9214 Andreas Färber
104 0e8c9214 Andreas Färber
######################################################################
105 f794573e Eduardo Otubo
# libseccomp
106 f794573e Eduardo Otubo
ifeq ($(CONFIG_SECCOMP),y)
107 f794573e Eduardo Otubo
common-obj-y += qemu-seccomp.o
108 f794573e Eduardo Otubo
endif
109 f794573e Eduardo Otubo
110 f794573e Eduardo Otubo
######################################################################
111 0e8c9214 Andreas Färber
# libuser
112 0e8c9214 Andreas Färber
113 0e8c9214 Andreas Färber
user-obj-y =
114 0e8c9214 Andreas Färber
user-obj-y += envlist.o path.o
115 0e8c9214 Andreas Färber
user-obj-y += tcg-runtime.o host-utils.o
116 f3192e8f Paolo Bonzini
user-obj-y += cache-utils.o
117 ce008c1f Andreas Färber
user-obj-y += module.o
118 ce008c1f Andreas Färber
user-obj-y += qemu-user.o
119 937b1258 Lluís Vilanova
user-obj-y += $(trace-obj-y)
120 7f07b9cb Paolo Bonzini
user-obj-y += qom/
121 0e8c9214 Andreas Färber
122 0e8c9214 Andreas Färber
######################################################################
123 4d904533 Blue Swirl
# libdis
124 4d904533 Blue Swirl
# NOTE: the disassembler code is only needed for debugging
125 4d904533 Blue Swirl
126 4d904533 Blue Swirl
libdis-y =
127 4d904533 Blue Swirl
libdis-$(CONFIG_ALPHA_DIS) += alpha-dis.o
128 4d904533 Blue Swirl
libdis-$(CONFIG_ARM_DIS) += arm-dis.o
129 4d904533 Blue Swirl
libdis-$(CONFIG_CRIS_DIS) += cris-dis.o
130 4d904533 Blue Swirl
libdis-$(CONFIG_HPPA_DIS) += hppa-dis.o
131 4d904533 Blue Swirl
libdis-$(CONFIG_I386_DIS) += i386-dis.o
132 903ec55c Aurelien Jarno
libdis-$(CONFIG_IA64_DIS) += ia64-dis.o
133 4d904533 Blue Swirl
libdis-$(CONFIG_M68K_DIS) += m68k-dis.o
134 4d904533 Blue Swirl
libdis-$(CONFIG_MICROBLAZE_DIS) += microblaze-dis.o
135 4d904533 Blue Swirl
libdis-$(CONFIG_MIPS_DIS) += mips-dis.o
136 4d904533 Blue Swirl
libdis-$(CONFIG_PPC_DIS) += ppc-dis.o
137 4d904533 Blue Swirl
libdis-$(CONFIG_S390_DIS) += s390-dis.o
138 4d904533 Blue Swirl
libdis-$(CONFIG_SH4_DIS) += sh4-dis.o
139 4d904533 Blue Swirl
libdis-$(CONFIG_SPARC_DIS) += sparc-dis.o
140 79368f49 Michael Walle
libdis-$(CONFIG_LM32_DIS) += lm32-dis.o
141 ad96090a Blue Swirl
142 94a420b1 Stefan Hajnoczi
######################################################################
143 94a420b1 Stefan Hajnoczi
# trace
144 94a420b1 Stefan Hajnoczi
145 b3d08c02 Daniel P. Berrange
ifeq ($(TRACE_BACKEND),dtrace)
146 c0424934 Lluís Vilanova
TRACE_H_EXTRA_DEPS=trace-dtrace.h
147 f20600f2 Alon Levy
endif
148 c0424934 Lluís Vilanova
trace.h: trace.h-timestamp $(TRACE_H_EXTRA_DEPS)
149 937b1258 Lluís Vilanova
trace.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
150 c0424934 Lluís Vilanova
	$(call quiet-command,$(TRACETOOL) \
151 c0424934 Lluís Vilanova
		--format=h \
152 c0424934 Lluís Vilanova
		--backend=$(TRACE_BACKEND) \
153 c0424934 Lluís Vilanova
		< $< > $@,"  GEN   trace.h")
154 f20600f2 Alon Levy
	@cmp -s $@ trace.h || cp $@ trace.h
155 f20600f2 Alon Levy
156 f20600f2 Alon Levy
trace.c: trace.c-timestamp
157 937b1258 Lluís Vilanova
trace.c-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
158 c0424934 Lluís Vilanova
	$(call quiet-command,$(TRACETOOL) \
159 c0424934 Lluís Vilanova
		--format=c \
160 c0424934 Lluís Vilanova
		--backend=$(TRACE_BACKEND) \
161 c0424934 Lluís Vilanova
		< $< > $@,"  GEN   trace.c")
162 f20600f2 Alon Levy
	@cmp -s $@ trace.c || cp $@ trace.c
163 f20600f2 Alon Levy
164 f20600f2 Alon Levy
trace.o: trace.c $(GENERATED_HEADERS)
165 f20600f2 Alon Levy
166 f20600f2 Alon Levy
trace-dtrace.h: trace-dtrace.dtrace
167 f20600f2 Alon Levy
	$(call quiet-command,dtrace -o $@ -h -s $<, "  GEN   trace-dtrace.h")
168 f20600f2 Alon Levy
169 f20600f2 Alon Levy
# Normal practice is to name DTrace probe file with a '.d' extension
170 cbae0863 Stefan Weil
# but that gets picked up by QEMU's Makefile as an external dependency
171 f20600f2 Alon Levy
# rule file. So we use '.dtrace' instead
172 f20600f2 Alon Levy
trace-dtrace.dtrace: trace-dtrace.dtrace-timestamp
173 937b1258 Lluís Vilanova
trace-dtrace.dtrace-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
174 c0424934 Lluís Vilanova
	$(call quiet-command,$(TRACETOOL) \
175 c0424934 Lluís Vilanova
		--format=d \
176 c0424934 Lluís Vilanova
		--backend=$(TRACE_BACKEND) \
177 c0424934 Lluís Vilanova
		< $< > $@,"  GEN   trace-dtrace.dtrace")
178 f20600f2 Alon Levy
	@cmp -s $@ trace-dtrace.dtrace || cp $@ trace-dtrace.dtrace
179 f20600f2 Alon Levy
180 f20600f2 Alon Levy
trace-dtrace.o: trace-dtrace.dtrace $(GENERATED_HEADERS)
181 c0424934 Lluís Vilanova
	$(call quiet-command,dtrace -o $@ -G -s $<, "  GEN   trace-dtrace.o")
182 f20600f2 Alon Levy
183 44dc0ca3 Alon Levy
ifeq ($(LIBTOOL),)
184 44dc0ca3 Alon Levy
trace-dtrace.lo: trace-dtrace.dtrace
185 44dc0ca3 Alon Levy
	@echo "missing libtool. please install and rerun configure."; exit 1
186 44dc0ca3 Alon Levy
else
187 44dc0ca3 Alon Levy
trace-dtrace.lo: trace-dtrace.dtrace
188 3f534581 Brad
	$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC dtrace -o $@ -G -s $<, "  lt GEN trace-dtrace.o")
189 44dc0ca3 Alon Levy
endif
190 44dc0ca3 Alon Levy
191 edb47ec4 Lluís
trace/simple.o: trace/simple.c $(GENERATED_HEADERS)
192 f20600f2 Alon Levy
193 09001ee7 Lluís
trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace.o
194 09001ee7 Lluís
ifneq ($(TRACE_BACKEND),dtrace)
195 94a420b1 Stefan Hajnoczi
trace-obj-y = trace.o
196 b3d08c02 Daniel P. Berrange
endif
197 94a420b1 Stefan Hajnoczi
198 046e7c5f Paolo Bonzini
trace-obj-$(CONFIG_TRACE_DEFAULT) += trace/default.o
199 046e7c5f Paolo Bonzini
trace-obj-$(CONFIG_TRACE_SIMPLE) += trace/simple.o
200 09001ee7 Lluís
trace-obj-$(CONFIG_TRACE_SIMPLE) += qemu-timer-common.o
201 046e7c5f Paolo Bonzini
trace-obj-$(CONFIG_TRACE_STDERR) += trace/stderr.o
202 046e7c5f Paolo Bonzini
trace-obj-y += trace/control.o
203 edb47ec4 Lluís
204 5689dc65 Michael Roth
$(trace-obj-y): $(GENERATED_HEADERS)
205 5689dc65 Michael Roth
206 111a38b0 Robert Relyea
######################################################################
207 111a38b0 Robert Relyea
# smartcard
208 111a38b0 Robert Relyea
209 00c705fb Paolo Bonzini
libcacard-y += libcacard/cac.o libcacard/event.o
210 00c705fb Paolo Bonzini
libcacard-y += libcacard/vcard.o libcacard/vreader.o
211 00c705fb Paolo Bonzini
libcacard-y += libcacard/vcard_emul_nss.o
212 00c705fb Paolo Bonzini
libcacard-y += libcacard/vcard_emul_type.o
213 00c705fb Paolo Bonzini
libcacard-y += libcacard/card_7816.o
214 00c705fb Paolo Bonzini
215 00c705fb Paolo Bonzini
common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y)
216 111a38b0 Robert Relyea
217 2345c77c Michael Roth
######################################################################
218 2345c77c Michael Roth
# qapi
219 2345c77c Michael Roth
220 dd5614d6 Paolo Bonzini
qapi-obj-y = qapi/
221 93b91c59 Luiz Capitulino
qapi-obj-y += qapi-types.o qapi-visit.o
222 2345c77c Michael Roth
223 ce008c1f Andreas Färber
common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.o
224 48a32bed Anthony Liguori
common-obj-y += qmp.o hmp.o
225 e3193601 Anthony Liguori
226 ce008c1f Andreas Färber
universal-obj-y += $(qapi-obj-y)
227 ce008c1f Andreas Färber
228 957f1f99 Michael Roth
######################################################################
229 957f1f99 Michael Roth
# guest agent
230 957f1f99 Michael Roth
231 136594f1 Paolo Bonzini
qga-obj-y = qga/ qemu-ga.o module.o qemu-tool.o
232 136594f1 Paolo Bonzini
qga-obj-$(CONFIG_POSIX) += qemu-sockets.o qemu-option.o
233 957f1f99 Michael Roth
234 ad96090a Blue Swirl
vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
235 ad96090a Blue Swirl
236 ad96090a Blue Swirl
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
237 ad96090a Blue Swirl
238 14015304 Anthony Liguori
QEMU_CFLAGS+=$(GLIB_CFLAGS)
239 14015304 Anthony Liguori
240 7f07b9cb Paolo Bonzini
nested-vars += \
241 4eb7ba8a Paolo Bonzini
	qga-obj-y \
242 7f07b9cb Paolo Bonzini
	qom-obj-y \
243 dd5614d6 Paolo Bonzini
	qapi-obj-y \
244 69758c22 Paolo Bonzini
	block-obj-y \
245 7f07b9cb Paolo Bonzini
	user-obj-y \
246 ee20477d Paolo Bonzini
	common-obj-y \
247 ee20477d Paolo Bonzini
	extra-obj-y
248 99100dc3 Paolo Bonzini
dummy := $(call unnest-vars)