Statistics
| Branch: | Revision:

root / Makefile.objs @ d7582078

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