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