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

7 8
chardev-obj-y = chardev/

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

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

18 19
block-obj-m = block/

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

crypto-obj-y = crypto/
crypto-aes-obj-y = crypto/
25

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

qom-obj-y = qom/

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

io-obj-y = io/

36
######################################################################
37 38 39
# 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.
40

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

49 50
common-obj-$(CONFIG_LINUX) += fsdev/

51
common-obj-y += migration/
52

53
common-obj-y += audio/
54
common-obj-y += hw/
55

56 57
common-obj-y += replay/

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

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

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

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

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

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

79 80 81
######################################################################
# qapi

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

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

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

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

103 104 105
######################################################################
# guest agent

106 107
# 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.
108
qga-obj-y = qga/
109
qga-vss-dll-obj-y = qga/
110 111 112

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

######################################################################
122 123 124 125 126 127
trace-events-subdirs =
trace-events-subdirs += util
trace-events-subdirs += crypto
trace-events-subdirs += io
trace-events-subdirs += migration
trace-events-subdirs += block
128
trace-events-subdirs += chardev
129 130 131 132 133
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
134
trace-events-subdirs += hw/rdma
135
trace-events-subdirs += hw/rdma/vmw
136 137 138
trace-events-subdirs += hw/virtio
trace-events-subdirs += hw/audio
trace-events-subdirs += hw/misc
139
trace-events-subdirs += hw/misc/macio
140 141 142 143 144 145 146 147
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
148
trace-events-subdirs += hw/sparc64
149 150 151 152 153 154 155 156
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
157
trace-events-subdirs += hw/pci-host
158 159 160 161 162
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
163
trace-events-subdirs += hw/hppa
164
trace-events-subdirs += hw/xen
165
trace-events-subdirs += hw/ide
166 167 168 169 170
trace-events-subdirs += ui
trace-events-subdirs += audio
trace-events-subdirs += net
trace-events-subdirs += target/arm
trace-events-subdirs += target/i386
171
trace-events-subdirs += target/mips
172 173 174 175 176 177
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
178
trace-events-subdirs += accel/tcg
179
trace-events-subdirs += accel/kvm
180
trace-events-subdirs += nbd
181
trace-events-subdirs += scsi
182 183 184 185 186 187 188 189

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)