Statistics
| Branch: | Revision:

root / Makefile.objs @ c48c6522

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