Makefile.objs 6.3 KB
Newer Older
1
#######################################################################
2
# Common libraries for tools and emulators
3
stub-obj-y = stubs/ util/ crypto/
4
util-obj-y = util/ qobject/ qapi/
5

M
Marc-André Lureau 已提交
6 7
chardev-obj-y = chardev/

8 9 10 11 12
#######################################################################
# authz-obj-y is code used by both qemu system emulation and qemu-img

authz-obj-y = authz/

13 14 15
#######################################################################
# block-obj-y is code used by both qemu system emulation and qemu-img

F
Fam Zheng 已提交
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 23
block-obj-m = block/

24 25 26 27 28
#######################################################################
# crypto-obj-y is code used by both qemu system emulation and qemu-img

crypto-obj-y = crypto/
crypto-aes-obj-y = crypto/
29

30 31 32 33 34
#######################################################################
# qom-obj-y is code used by both qemu system emulation and qemu-img

qom-obj-y = qom/

35 36 37 38 39
#######################################################################
# io-obj-y is code used by both qemu system emulation and qemu-img

io-obj-y = io/

40
######################################################################
41 42 43
# Target independent part of system emulation. The long term path is to
# suppress *all* target specific code in case of system emulation, i.e. a
# single QEMU executable should support all CPUs and machines.
44

P
Paolo Bonzini 已提交
45
ifeq ($(CONFIG_SOFTMMU),y)
46
common-obj-y = blockdev.o blockdev-nbd.o block/
47
common-obj-y += bootdevice.o iothread.o
K
Kevin Wolf 已提交
48
common-obj-y += job-qmp.o
P
Paolo Bonzini 已提交
49
common-obj-y += net/
50
common-obj-y += qdev-monitor.o device-hotplug.o
51 52
common-obj-$(CONFIG_WIN32) += os-win32.o
common-obj-$(CONFIG_POSIX) += os-posix.o
G
Gerd Hoffmann 已提交
53

54 55
common-obj-$(CONFIG_LINUX) += fsdev/

56
common-obj-y += migration/
57

58
common-obj-y += audio/
G
Gerd Hoffmann 已提交
59
common-obj-m += audio/
60
common-obj-y += hw/
61

62 63
common-obj-y += replay/

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

S
Stefan Weil 已提交
69 70
common-obj-y += dma-helpers.o
common-obj-y += vl.o
71
vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS)
P
Philippe Mathieu-Daudé 已提交
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 79
qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
qemu-seccomp.o-libs := $(SECCOMP_LIBS)
80

81 82
common-obj-$(CONFIG_FDT) += device_tree.o

M
Michael Roth 已提交
83 84 85
######################################################################
# qapi

A
Anthony Liguori 已提交
86
common-obj-y += qmp.o hmp.o
87
common-obj-y += qapi/
P
Paolo Bonzini 已提交
88
endif
89

90 91
#######################################################################
# Target-independent parts used in system and user emulation
R
Richard Henderson 已提交
92
common-obj-y += cpus-common.o
P
Paolo Bonzini 已提交
93 94 95
common-obj-y += hw/
common-obj-y += qom/
common-obj-y += disas/
96

97 98 99 100
######################################################################
# Resource file for Windows executables
version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o

101 102 103 104
######################################################################
# tracing
util-obj-y +=  trace/

105 106 107
######################################################################
# guest agent

108 109 110
# FIXME: a few definitions from qapi/qapi-types.o and
# qapi/qapi-visit.o are needed by libqemuutil.a.  These should be
# 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
V
Viktor Prutyanov 已提交
116
elf2dmp-obj-y = contrib/elf2dmp/
117 118
ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
M
Marc-André Lureau 已提交
119
libvhost-user-obj-y = contrib/libvhost-user/
120 121 122
vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
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 129 130
trace-events-subdirs += accel/kvm
trace-events-subdirs += accel/tcg
trace-events-subdirs += audio
131
trace-events-subdirs += authz
132
trace-events-subdirs += block
133
trace-events-subdirs += chardev
134 135 136 137 138 139
trace-events-subdirs += crypto
trace-events-subdirs += hw/9pfs
trace-events-subdirs += hw/acpi
trace-events-subdirs += hw/alpha
trace-events-subdirs += hw/arm
trace-events-subdirs += hw/audio
140 141 142 143 144
trace-events-subdirs += hw/block
trace-events-subdirs += hw/block/dataplane
trace-events-subdirs += hw/char
trace-events-subdirs += hw/display
trace-events-subdirs += hw/dma
145
trace-events-subdirs += hw/hppa
146
trace-events-subdirs += hw/i2c
147 148
trace-events-subdirs += hw/i386
trace-events-subdirs += hw/i386/xen
149 150 151 152 153 154 155 156 157
trace-events-subdirs += hw/ide
trace-events-subdirs += hw/input
trace-events-subdirs += hw/intc
trace-events-subdirs += hw/isa
trace-events-subdirs += hw/mem
trace-events-subdirs += hw/misc
trace-events-subdirs += hw/misc/macio
trace-events-subdirs += hw/net
trace-events-subdirs += hw/nvram
158
trace-events-subdirs += hw/pci
159
trace-events-subdirs += hw/pci-host
160 161 162
trace-events-subdirs += hw/ppc
trace-events-subdirs += hw/rdma
trace-events-subdirs += hw/rdma/vmw
163
trace-events-subdirs += hw/s390x
164 165 166 167 168 169 170
trace-events-subdirs += hw/scsi
trace-events-subdirs += hw/sd
trace-events-subdirs += hw/sparc
trace-events-subdirs += hw/sparc64
trace-events-subdirs += hw/timer
trace-events-subdirs += hw/tpm
trace-events-subdirs += hw/usb
171
trace-events-subdirs += hw/vfio
172
trace-events-subdirs += hw/virtio
173
trace-events-subdirs += hw/watchdog
174
trace-events-subdirs += hw/xen
175
trace-events-subdirs += hw/gpio
176 177 178 179
trace-events-subdirs += io
trace-events-subdirs += linux-user
trace-events-subdirs += migration
trace-events-subdirs += nbd
180
trace-events-subdirs += net
181 182 183
trace-events-subdirs += qapi
trace-events-subdirs += qom
trace-events-subdirs += scsi
184 185
trace-events-subdirs += target/arm
trace-events-subdirs += target/i386
186
trace-events-subdirs += target/mips
187
trace-events-subdirs += target/ppc
188 189 190 191
trace-events-subdirs += target/s390x
trace-events-subdirs += target/sparc
trace-events-subdirs += ui
trace-events-subdirs += util
192 193 194 195 196 197 198 199

trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)

trace-obj-y = trace-root.o
trace-obj-y += $(trace-events-subdirs:%=%/trace.o)
trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o
trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o
trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o)