Makefile.objs 5.99 KB
Newer Older
1
#######################################################################
2
# Common libraries for tools and emulators
3
stub-obj-y = stubs/ crypto/
4
util-obj-y = util/ qobject/ qapi/
5 6
util-obj-y += qapi-builtin-types.o
util-obj-y += qapi-builtin-visit.o
7
util-obj-y += qmp-introspect.o qapi-types.o qapi-visit.o qapi-event.o
8

9 10
chardev-obj-y = chardev/

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

Fam Zheng's avatar
Fam Zheng committed
14 15
block-obj-y += nbd/
block-obj-y += block.o blockjob.o
16
block-obj-y += block/ scsi/
17
block-obj-y += qemu-io-cmds.o
18
block-obj-$(CONFIG_REPLICATION) += replication.o
19

20 21
block-obj-m = block/

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

crypto-obj-y = crypto/
crypto-aes-obj-y = crypto/
27

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

qom-obj-y = qom/

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

io-obj-y = io/

38
######################################################################
39 40 41
# 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.
42

43
ifeq ($(CONFIG_SOFTMMU),y)
44
common-obj-y = blockdev.o blockdev-nbd.o block/
45
common-obj-y += bootdevice.o iothread.o
Paolo Bonzini's avatar
Paolo Bonzini committed
46
common-obj-y += net/
47
common-obj-y += qdev-monitor.o device-hotplug.o
48 49
common-obj-$(CONFIG_WIN32) += os-win32.o
common-obj-$(CONFIG_POSIX) += os-posix.o
50

51 52
common-obj-$(CONFIG_LINUX) += fsdev/

53
common-obj-y += migration/
54

55
common-obj-y += audio/
56
common-obj-y += hw/
57

58 59
common-obj-y += replay/

60
common-obj-y += ui/
61
common-obj-y += bt-host.o bt-vhci.o
62
bt-host.o-cflags := $(BLUEZ_CFLAGS)
63

Stefan Weil's avatar
Stefan Weil committed
64 65
common-obj-y += dma-helpers.o
common-obj-y += vl.o
66
vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS)
Philippe Mathieu-Daudé's avatar
Philippe Mathieu-Daudé committed
67
common-obj-$(CONFIG_TPM) += tpm.o
68

69
common-obj-$(CONFIG_SLIRP) += slirp/
70

71
common-obj-y += backends/
72
common-obj-y += chardev/
73

74
common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
75 76
qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
qemu-seccomp.o-libs := $(SECCOMP_LIBS)
77

78 79
common-obj-$(CONFIG_FDT) += device_tree.o

80 81 82
######################################################################
# qapi

83
common-obj-y += qmp-commands.o
84
common-obj-y += qmp-introspect.o
85
common-obj-y += qmp.o hmp.o
86
endif
87

88 89
#######################################################################
# Target-independent parts used in system and user emulation
90
common-obj-y += cpus-common.o
91 92 93
common-obj-y += hw/
common-obj-y += qom/
common-obj-y += disas/
94

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

99 100 101 102 103
######################################################################
# tracing
util-obj-y +=  trace/
target-obj-y += trace/

104 105 106
######################################################################
# guest agent

107 108
# FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed
# by libqemuutil.a.  These should be moved to a separate .json schema.
109
qga-obj-y = qga/
110
qga-vss-dll-obj-y = qga/
111 112 113

######################################################################
# contrib
114 115
ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
116
libvhost-user-obj-y = contrib/libvhost-user/
117 118 119
vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
120
vhost-user-blk-obj-y = contrib/vhost-user-blk/
121 122

######################################################################
123 124 125 126 127 128
trace-events-subdirs =
trace-events-subdirs += util
trace-events-subdirs += crypto
trace-events-subdirs += io
trace-events-subdirs += migration
trace-events-subdirs += block
129
trace-events-subdirs += chardev
130 131 132 133 134
trace-events-subdirs += hw/block
trace-events-subdirs += hw/block/dataplane
trace-events-subdirs += hw/char
trace-events-subdirs += hw/intc
trace-events-subdirs += hw/net
135
trace-events-subdirs += hw/rdma
136
trace-events-subdirs += hw/rdma/vmw
137 138 139
trace-events-subdirs += hw/virtio
trace-events-subdirs += hw/audio
trace-events-subdirs += hw/misc
140
trace-events-subdirs += hw/misc/macio
141 142 143 144 145 146 147 148
trace-events-subdirs += hw/usb
trace-events-subdirs += hw/scsi
trace-events-subdirs += hw/nvram
trace-events-subdirs += hw/display
trace-events-subdirs += hw/input
trace-events-subdirs += hw/timer
trace-events-subdirs += hw/dma
trace-events-subdirs += hw/sparc
149
trace-events-subdirs += hw/sparc64
150 151 152 153 154 155 156 157
trace-events-subdirs += hw/sd
trace-events-subdirs += hw/isa
trace-events-subdirs += hw/mem
trace-events-subdirs += hw/i386
trace-events-subdirs += hw/i386/xen
trace-events-subdirs += hw/9pfs
trace-events-subdirs += hw/ppc
trace-events-subdirs += hw/pci
158
trace-events-subdirs += hw/pci-host
159 160 161 162 163
trace-events-subdirs += hw/s390x
trace-events-subdirs += hw/vfio
trace-events-subdirs += hw/acpi
trace-events-subdirs += hw/arm
trace-events-subdirs += hw/alpha
164
trace-events-subdirs += hw/hppa
165
trace-events-subdirs += hw/xen
166
trace-events-subdirs += hw/ide
167 168 169 170 171
trace-events-subdirs += ui
trace-events-subdirs += audio
trace-events-subdirs += net
trace-events-subdirs += target/arm
trace-events-subdirs += target/i386
172
trace-events-subdirs += target/mips
173 174 175 176 177 178
trace-events-subdirs += target/sparc
trace-events-subdirs += target/s390x
trace-events-subdirs += target/ppc
trace-events-subdirs += qom
trace-events-subdirs += linux-user
trace-events-subdirs += qapi
179
trace-events-subdirs += accel/tcg
180
trace-events-subdirs += accel/kvm
181
trace-events-subdirs += nbd
182
trace-events-subdirs += scsi
183 184 185 186 187 188 189 190

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)