]> Git Repo - qemu.git/blame - Makefile.objs
build: move version-obj-y to the generic LINK rule
[qemu.git] / Makefile.objs
CommitLineData
3bc2f570 1#######################################################################
a372823a 2# Common libraries for tools and emulators
3bc2f570 3stub-obj-y = stubs/
576d5506 4util-obj-y = util/ qobject/ qapi/
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
bf0842b7 28block-obj-y += $(coroutine-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/
576d5506 33block-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
AF
60common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
61
8867aef0 62common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
b0b68fc6
PB
63
64common-obj-y += audio/
3d5a3f9a 65common-obj-y += hw/
6f991980
PB
66extra-obj-y += hw/
67
8867aef0 68common-obj-y += ui/
3d5a3f9a 69common-obj-y += bt-host.o bt-vhci.o
3e230dd2 70
c9159fe9 71common-obj-y += dma-helpers.o
c9159fe9
SW
72common-obj-y += qtest.o
73common-obj-y += vl.o
0e8c9214 74
4c696054 75common-obj-$(CONFIG_SLIRP) += slirp/
0e8c9214 76
a9b7b2ad
AL
77common-obj-y += backends/
78
f794573e
EO
79######################################################################
80# libseccomp
81ifeq ($(CONFIG_SECCOMP),y)
82common-obj-y += qemu-seccomp.o
83endif
84
94a420b1
SH
85######################################################################
86# trace
87
eac236ea 88trace-obj-y += trace/
5689dc65 89
111a38b0
RR
90######################################################################
91# smartcard
92
00c705fb
PB
93libcacard-y += libcacard/cac.o libcacard/event.o
94libcacard-y += libcacard/vcard.o libcacard/vreader.o
95libcacard-y += libcacard/vcard_emul_nss.o
96libcacard-y += libcacard/vcard_emul_type.o
97libcacard-y += libcacard/card_7816.o
98
99common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y)
111a38b0 100
2345c77c
MR
101######################################################################
102# qapi
103
ce008c1f 104common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.o
48a32bed 105common-obj-y += qmp.o hmp.o
e3193601 106
9444e9e6
PB
107#######################################################################
108# Target-independent parts used in system and user emulation
109universal-obj-y =
110universal-obj-y += qemu-log.o
111universal-obj-y += tcg-runtime.o
112universal-obj-y += hw/
113universal-obj-y += qom/
114universal-obj-y += disas/
115universal-obj-y += $(trace-obj-y)
ce008c1f 116
957f1f99
MR
117######################################################################
118# guest agent
119
59cacde8
PB
120# FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed
121# by libqemuutil.a. These should be moved to a separate .json schema.
122qga-obj-y = qga/ qapi-types.o qapi-visit.o
957f1f99 123
ad96090a
BS
124vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
125
126vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
127
14015304
AL
128QEMU_CFLAGS+=$(GLIB_CFLAGS)
129
7f07b9cb 130nested-vars += \
3bc2f570 131 stub-obj-y \
baacf047 132 util-obj-y \
4eb7ba8a 133 qga-obj-y \
69758c22 134 block-obj-y \
ee20477d 135 common-obj-y \
76cad711 136 universal-obj-y \
eac236ea
LV
137 extra-obj-y \
138 trace-obj-y
99100dc3 139dummy := $(call unnest-vars)
This page took 0.28718 seconds and 4 git commands to generate.