]>
Commit | Line | Data |
---|---|---|
bf582c34 | 1 | QAPI_MODULES = block-core block char common crypto introspect job migration |
4a5c9903 YS |
2 | QAPI_MODULES += misc net rdma rocker run-state sockets tpm trace transaction |
3 | QAPI_MODULES += ui | |
bf582c34 | 4 | |
3bc2f570 | 5 | ####################################################################### |
a372823a | 6 | # Common libraries for tools and emulators |
b917da4c | 7 | stub-obj-y = stubs/ crypto/ |
39a18158 | 8 | util-obj-y = util/ qobject/ qapi/ |
eb815e24 MA |
9 | util-obj-y += qapi/qapi-builtin-types.o |
10 | util-obj-y += qapi/qapi-types.o | |
bf582c34 | 11 | util-obj-y += $(QAPI_MODULES:%=qapi/qapi-types-%.o) |
eb815e24 MA |
12 | util-obj-y += qapi/qapi-builtin-visit.o |
13 | util-obj-y += qapi/qapi-visit.o | |
bf582c34 | 14 | util-obj-y += $(QAPI_MODULES:%=qapi/qapi-visit-%.o) |
eb815e24 | 15 | util-obj-y += qapi/qapi-events.o |
bf582c34 | 16 | util-obj-y += $(QAPI_MODULES:%=qapi/qapi-events-%.o) |
eb815e24 | 17 | util-obj-y += qapi/qapi-introspect.o |
3bc2f570 | 18 | |
32d955a4 MAL |
19 | chardev-obj-y = chardev/ |
20 | ||
0e8c9214 AF |
21 | ####################################################################### |
22 | # block-obj-y is code used by both qemu system emulation and qemu-img | |
23 | ||
798bfe00 | 24 | block-obj-y += nbd/ |
33e9e9bd | 25 | block-obj-y += block.o blockjob.o job.o |
e5b5728c | 26 | block-obj-y += block/ scsi/ |
587da2c3 | 27 | block-obj-y += qemu-io-cmds.o |
190b9a8b | 28 | block-obj-$(CONFIG_REPLICATION) += replication.o |
0e8c9214 | 29 | |
cc475698 FZ |
30 | block-obj-m = block/ |
31 | ||
fb37726d DB |
32 | ####################################################################### |
33 | # crypto-obj-y is code used by both qemu system emulation and qemu-img | |
34 | ||
35 | crypto-obj-y = crypto/ | |
36 | crypto-aes-obj-y = crypto/ | |
74db920c | 37 | |
0c7012e0 DB |
38 | ####################################################################### |
39 | # qom-obj-y is code used by both qemu system emulation and qemu-img | |
40 | ||
41 | qom-obj-y = qom/ | |
42 | ||
666a3af9 DB |
43 | ####################################################################### |
44 | # io-obj-y is code used by both qemu system emulation and qemu-img | |
45 | ||
46 | io-obj-y = io/ | |
47 | ||
0e8c9214 | 48 | ###################################################################### |
050d9940 CWR |
49 | # Target independent part of system emulation. The long term path is to |
50 | # suppress *all* target specific code in case of system emulation, i.e. a | |
51 | # single QEMU executable should support all CPUs and machines. | |
0e8c9214 | 52 | |
00082344 | 53 | ifeq ($(CONFIG_SOFTMMU),y) |
ba1183da | 54 | common-obj-y = blockdev.o blockdev-nbd.o block/ |
5ddc6482 | 55 | common-obj-y += bootdevice.o iothread.o |
1a90bc81 | 56 | common-obj-y += job-qmp.o |
fd9400b3 | 57 | common-obj-y += net/ |
1559e0d4 | 58 | common-obj-y += qdev-monitor.o device-hotplug.o |
b0cb640a BS |
59 | common-obj-$(CONFIG_WIN32) += os-win32.o |
60 | common-obj-$(CONFIG_POSIX) += os-posix.o | |
254e5950 | 61 | |
ee20477d | 62 | common-obj-$(CONFIG_LINUX) += fsdev/ |
ee20477d | 63 | |
60fe637b | 64 | common-obj-y += migration/ |
0e8c9214 | 65 | |
b0b68fc6 | 66 | common-obj-y += audio/ |
08a05b37 | 67 | common-obj-m += audio/ |
3d5a3f9a | 68 | common-obj-y += hw/ |
6f991980 | 69 | |
d73abd6d PD |
70 | common-obj-y += replay/ |
71 | ||
8867aef0 | 72 | common-obj-y += ui/ |
61b4d9a2 | 73 | common-obj-m += ui/ |
3d5a3f9a | 74 | common-obj-y += bt-host.o bt-vhci.o |
849d8284 | 75 | bt-host.o-cflags := $(BLUEZ_CFLAGS) |
3e230dd2 | 76 | |
c9159fe9 | 77 | common-obj-y += dma-helpers.o |
c9159fe9 | 78 | common-obj-y += vl.o |
849d8284 | 79 | vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS) |
c39f95dc | 80 | common-obj-$(CONFIG_TPM) += tpm.o |
0e8c9214 | 81 | |
4c696054 | 82 | common-obj-$(CONFIG_SLIRP) += slirp/ |
0e8c9214 | 83 | |
a9b7b2ad | 84 | common-obj-y += backends/ |
6b10e573 | 85 | common-obj-y += chardev/ |
a9b7b2ad | 86 | |
737f3518 | 87 | common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o |
c3883e1f FZ |
88 | qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS) |
89 | qemu-seccomp.o-libs := $(SECCOMP_LIBS) | |
f794573e | 90 | |
7df057ba PC |
91 | common-obj-$(CONFIG_FDT) += device_tree.o |
92 | ||
2345c77c MR |
93 | ###################################################################### |
94 | # qapi | |
95 | ||
eb815e24 | 96 | common-obj-y += qapi/qapi-commands.o |
bf582c34 | 97 | common-obj-y += $(QAPI_MODULES:%=qapi/qapi-commands-%.o) |
eb815e24 | 98 | common-obj-y += qapi/qapi-introspect.o |
48a32bed | 99 | common-obj-y += qmp.o hmp.o |
00082344 | 100 | endif |
e3193601 | 101 | |
9444e9e6 PB |
102 | ####################################################################### |
103 | # Target-independent parts used in system and user emulation | |
c482cb11 | 104 | common-obj-y += cpus-common.o |
00082344 PB |
105 | common-obj-y += hw/ |
106 | common-obj-y += qom/ | |
107 | common-obj-y += disas/ | |
ce008c1f | 108 | |
0b516ef0 SW |
109 | ###################################################################### |
110 | # Resource file for Windows executables | |
111 | version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o | |
0b516ef0 | 112 | |
341ea691 LV |
113 | ###################################################################### |
114 | # tracing | |
115 | util-obj-y += trace/ | |
116 | target-obj-y += trace/ | |
117 | ||
957f1f99 MR |
118 | ###################################################################### |
119 | # guest agent | |
120 | ||
eb815e24 MA |
121 | # FIXME: a few definitions from qapi/qapi-types.o and |
122 | # qapi/qapi-visit.o are needed by libqemuutil.a. These should be | |
123 | # extracted into a QAPI schema module, or perhaps a separate schema. | |
169a24ae | 124 | qga-obj-y = qga/ |
b39297ae | 125 | qga-vss-dll-obj-y = qga/ |
a75eb03b DM |
126 | |
127 | ###################################################################### | |
128 | # contrib | |
3fa2d384 | 129 | elf2dmp-obj-y = contrib/elf2dmp/ |
b1449edb KR |
130 | ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/ |
131 | ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/ | |
7b2e5c65 | 132 | libvhost-user-obj-y = contrib/libvhost-user/ |
49cc0340 FF |
133 | vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS) |
134 | vhost-user-scsi.o-libs := $(LIBISCSI_LIBS) | |
135 | vhost-user-scsi-obj-y = contrib/vhost-user-scsi/ | |
406d2aa2 | 136 | vhost-user-blk-obj-y = contrib/vhost-user-blk/ |
a5d2f6f8 | 137 | rdmacm-mux-obj-y = contrib/rdmacm-mux/ |
1412cf58 DB |
138 | |
139 | ###################################################################### | |
0ab8ed18 | 140 | trace-events-subdirs = |
eb7ccb3c PMD |
141 | trace-events-subdirs += accel/kvm |
142 | trace-events-subdirs += accel/tcg | |
143 | trace-events-subdirs += audio | |
0ab8ed18 | 144 | trace-events-subdirs += block |
6b10e573 | 145 | trace-events-subdirs += chardev |
eb7ccb3c PMD |
146 | trace-events-subdirs += crypto |
147 | trace-events-subdirs += hw/9pfs | |
148 | trace-events-subdirs += hw/acpi | |
149 | trace-events-subdirs += hw/alpha | |
150 | trace-events-subdirs += hw/arm | |
151 | trace-events-subdirs += hw/audio | |
0ab8ed18 DB |
152 | trace-events-subdirs += hw/block |
153 | trace-events-subdirs += hw/block/dataplane | |
154 | trace-events-subdirs += hw/char | |
0ab8ed18 | 155 | trace-events-subdirs += hw/display |
0ab8ed18 | 156 | trace-events-subdirs += hw/dma |
eb7ccb3c | 157 | trace-events-subdirs += hw/hppa |
08bb9b34 | 158 | trace-events-subdirs += hw/i2c |
0ab8ed18 DB |
159 | trace-events-subdirs += hw/i386 |
160 | trace-events-subdirs += hw/i386/xen | |
eb7ccb3c PMD |
161 | trace-events-subdirs += hw/ide |
162 | trace-events-subdirs += hw/input | |
163 | trace-events-subdirs += hw/intc | |
164 | trace-events-subdirs += hw/isa | |
165 | trace-events-subdirs += hw/mem | |
166 | trace-events-subdirs += hw/misc | |
167 | trace-events-subdirs += hw/misc/macio | |
168 | trace-events-subdirs += hw/net | |
169 | trace-events-subdirs += hw/nvram | |
0ab8ed18 | 170 | trace-events-subdirs += hw/pci |
bfec08b5 | 171 | trace-events-subdirs += hw/pci-host |
eb7ccb3c PMD |
172 | trace-events-subdirs += hw/ppc |
173 | trace-events-subdirs += hw/rdma | |
174 | trace-events-subdirs += hw/rdma/vmw | |
0ab8ed18 | 175 | trace-events-subdirs += hw/s390x |
eb7ccb3c PMD |
176 | trace-events-subdirs += hw/scsi |
177 | trace-events-subdirs += hw/sd | |
178 | trace-events-subdirs += hw/sparc | |
179 | trace-events-subdirs += hw/sparc64 | |
180 | trace-events-subdirs += hw/timer | |
181 | trace-events-subdirs += hw/tpm | |
182 | trace-events-subdirs += hw/usb | |
0ab8ed18 | 183 | trace-events-subdirs += hw/vfio |
eb7ccb3c | 184 | trace-events-subdirs += hw/virtio |
050c2ea0 | 185 | trace-events-subdirs += hw/watchdog |
0ab8ed18 | 186 | trace-events-subdirs += hw/xen |
eb7ccb3c PMD |
187 | trace-events-subdirs += io |
188 | trace-events-subdirs += linux-user | |
189 | trace-events-subdirs += migration | |
190 | trace-events-subdirs += nbd | |
0ab8ed18 | 191 | trace-events-subdirs += net |
eb7ccb3c PMD |
192 | trace-events-subdirs += qapi |
193 | trace-events-subdirs += qom | |
194 | trace-events-subdirs += scsi | |
0ab8ed18 DB |
195 | trace-events-subdirs += target/arm |
196 | trace-events-subdirs += target/i386 | |
b44a7fb1 | 197 | trace-events-subdirs += target/mips |
0ab8ed18 | 198 | trace-events-subdirs += target/ppc |
eb7ccb3c PMD |
199 | trace-events-subdirs += target/s390x |
200 | trace-events-subdirs += target/sparc | |
201 | trace-events-subdirs += ui | |
202 | trace-events-subdirs += util | |
0ab8ed18 DB |
203 | |
204 | trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events) | |
205 | ||
206 | trace-obj-y = trace-root.o | |
207 | trace-obj-y += $(trace-events-subdirs:%=%/trace.o) | |
208 | trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o | |
209 | trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o | |
210 | trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o) |