]>
Commit | Line | Data |
---|---|---|
1 | ####################################################################### | |
2 | # Common libraries for tools and emulators | |
3 | stub-obj-y = stubs/ util/ crypto/ | |
4 | util-obj-y = util/ qobject/ qapi/ | |
5 | ||
6 | chardev-obj-y = chardev/ | |
7 | ||
8 | ####################################################################### | |
9 | # authz-obj-y is code used by both qemu system emulation and qemu-img | |
10 | ||
11 | authz-obj-y = authz/ | |
12 | ||
13 | ####################################################################### | |
14 | # block-obj-y is code used by both qemu system emulation and qemu-img | |
15 | ||
16 | block-obj-y = nbd/ | |
17 | block-obj-y += block.o blockjob.o job.o | |
18 | block-obj-y += block/ scsi/ | |
19 | block-obj-y += qemu-io-cmds.o | |
20 | block-obj-$(CONFIG_REPLICATION) += replication.o | |
21 | ||
22 | block-obj-m = block/ | |
23 | ||
24 | ####################################################################### | |
25 | # crypto-obj-y is code used by both qemu system emulation and qemu-img | |
26 | ||
27 | crypto-obj-y = crypto/ | |
28 | crypto-aes-obj-y = crypto/ | |
29 | ||
30 | ####################################################################### | |
31 | # qom-obj-y is code used by both qemu system emulation and qemu-img | |
32 | ||
33 | qom-obj-y = qom/ | |
34 | ||
35 | ####################################################################### | |
36 | # io-obj-y is code used by both qemu system emulation and qemu-img | |
37 | ||
38 | io-obj-y = io/ | |
39 | ||
40 | ###################################################################### | |
41 | # Target independent part of system emulation. The long term path is to | |
42 | # suppress *all* target specific code in case of system emulation, i.e. a | |
43 | # single QEMU executable should support all CPUs and machines. | |
44 | ||
45 | ifeq ($(CONFIG_SOFTMMU),y) | |
46 | common-obj-y = blockdev.o blockdev-nbd.o block/ | |
47 | common-obj-y += bootdevice.o iothread.o | |
48 | common-obj-y += job-qmp.o | |
49 | common-obj-y += net/ | |
50 | common-obj-y += qdev-monitor.o device-hotplug.o | |
51 | common-obj-$(CONFIG_WIN32) += os-win32.o | |
52 | common-obj-$(CONFIG_POSIX) += os-posix.o | |
53 | ||
54 | common-obj-$(CONFIG_LINUX) += fsdev/ | |
55 | ||
56 | common-obj-y += migration/ | |
57 | ||
58 | common-obj-y += audio/ | |
59 | common-obj-m += audio/ | |
60 | common-obj-y += hw/ | |
61 | ||
62 | common-obj-y += replay/ | |
63 | ||
64 | common-obj-y += ui/ | |
65 | common-obj-m += ui/ | |
66 | common-obj-y += bt-host.o bt-vhci.o | |
67 | bt-host.o-cflags := $(BLUEZ_CFLAGS) | |
68 | ||
69 | common-obj-y += dma-helpers.o | |
70 | common-obj-y += vl.o | |
71 | vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS) | |
72 | common-obj-$(CONFIG_TPM) += tpm.o | |
73 | ||
74 | common-obj-y += backends/ | |
75 | common-obj-y += chardev/ | |
76 | ||
77 | common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o | |
78 | qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS) | |
79 | qemu-seccomp.o-libs := $(SECCOMP_LIBS) | |
80 | ||
81 | common-obj-$(CONFIG_FDT) += device_tree.o | |
82 | ||
83 | ###################################################################### | |
84 | # qapi | |
85 | ||
86 | common-obj-y += qmp.o hmp.o | |
87 | common-obj-y += qapi/ | |
88 | endif | |
89 | ||
90 | ####################################################################### | |
91 | # Target-independent parts used in system and user emulation | |
92 | common-obj-y += cpus-common.o | |
93 | common-obj-y += hw/ | |
94 | common-obj-y += qom/ | |
95 | common-obj-y += disas/ | |
96 | ||
97 | ###################################################################### | |
98 | # Resource file for Windows executables | |
99 | version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o | |
100 | ||
101 | ###################################################################### | |
102 | # tracing | |
103 | util-obj-y += trace/ | |
104 | ||
105 | ###################################################################### | |
106 | # guest agent | |
107 | ||
108 | # FIXME: a few definitions from qapi/qapi-types.o and | |
109 | # qapi/qapi-visit.o are needed by libqemuutil.a. These should be | |
110 | # extracted into a QAPI schema module, or perhaps a separate schema. | |
111 | qga-obj-y = qga/ | |
112 | qga-vss-dll-obj-y = qga/ | |
113 | ||
114 | ###################################################################### | |
115 | # contrib | |
116 | elf2dmp-obj-y = contrib/elf2dmp/ | |
117 | ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/ | |
118 | ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/ | |
119 | libvhost-user-obj-y = contrib/libvhost-user/ | |
120 | vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS) | |
121 | vhost-user-scsi.o-libs := $(LIBISCSI_LIBS) | |
122 | vhost-user-scsi-obj-y = contrib/vhost-user-scsi/ | |
123 | vhost-user-blk-obj-y = contrib/vhost-user-blk/ | |
124 | rdmacm-mux-obj-y = contrib/rdmacm-mux/ | |
125 | ||
126 | ###################################################################### | |
127 | trace-events-subdirs = | |
128 | trace-events-subdirs += accel/kvm | |
129 | trace-events-subdirs += accel/tcg | |
130 | trace-events-subdirs += crypto | |
131 | ifeq ($(CONFIG_USER_ONLY),y) | |
132 | trace-events-subdirs += linux-user | |
133 | endif | |
134 | ifeq ($(CONFIG_BLOCK),y) | |
135 | trace-events-subdirs += authz | |
136 | trace-events-subdirs += block | |
137 | trace-events-subdirs += io | |
138 | trace-events-subdirs += nbd | |
139 | trace-events-subdirs += scsi | |
140 | endif | |
141 | ifeq ($(CONFIG_SOFTMMU),y) | |
142 | trace-events-subdirs += chardev | |
143 | trace-events-subdirs += audio | |
144 | trace-events-subdirs += hw/9pfs | |
145 | trace-events-subdirs += hw/acpi | |
146 | trace-events-subdirs += hw/alpha | |
147 | trace-events-subdirs += hw/arm | |
148 | trace-events-subdirs += hw/audio | |
149 | trace-events-subdirs += hw/block | |
150 | trace-events-subdirs += hw/block/dataplane | |
151 | trace-events-subdirs += hw/char | |
152 | trace-events-subdirs += hw/dma | |
153 | trace-events-subdirs += hw/hppa | |
154 | trace-events-subdirs += hw/i2c | |
155 | trace-events-subdirs += hw/i386 | |
156 | trace-events-subdirs += hw/i386/xen | |
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 | |
162 | trace-events-subdirs += hw/misc | |
163 | trace-events-subdirs += hw/misc/macio | |
164 | trace-events-subdirs += hw/net | |
165 | trace-events-subdirs += hw/nvram | |
166 | trace-events-subdirs += hw/pci | |
167 | trace-events-subdirs += hw/pci-host | |
168 | trace-events-subdirs += hw/ppc | |
169 | trace-events-subdirs += hw/rdma | |
170 | trace-events-subdirs += hw/rdma/vmw | |
171 | trace-events-subdirs += hw/s390x | |
172 | trace-events-subdirs += hw/scsi | |
173 | trace-events-subdirs += hw/sd | |
174 | trace-events-subdirs += hw/sparc | |
175 | trace-events-subdirs += hw/sparc64 | |
176 | trace-events-subdirs += hw/timer | |
177 | trace-events-subdirs += hw/tpm | |
178 | trace-events-subdirs += hw/usb | |
179 | trace-events-subdirs += hw/vfio | |
180 | trace-events-subdirs += hw/virtio | |
181 | trace-events-subdirs += hw/watchdog | |
182 | trace-events-subdirs += hw/xen | |
183 | trace-events-subdirs += hw/gpio | |
184 | trace-events-subdirs += migration | |
185 | trace-events-subdirs += net | |
186 | trace-events-subdirs += ui | |
187 | endif | |
188 | trace-events-subdirs += hw/display | |
189 | trace-events-subdirs += qapi | |
190 | trace-events-subdirs += qom | |
191 | trace-events-subdirs += target/arm | |
192 | trace-events-subdirs += target/hppa | |
193 | trace-events-subdirs += target/i386 | |
194 | trace-events-subdirs += target/mips | |
195 | trace-events-subdirs += target/ppc | |
196 | trace-events-subdirs += target/riscv | |
197 | trace-events-subdirs += target/s390x | |
198 | trace-events-subdirs += target/sparc | |
199 | trace-events-subdirs += util | |
200 | ||
201 | trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events) | |
202 | ||
203 | trace-obj-y = trace-root.o | |
204 | trace-obj-y += $(trace-events-subdirs:%=%/trace.o) | |
205 | trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o | |
206 | trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o | |
207 | trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o) |