Makefile.objs 5.69 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/
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-y += bt-host.o bt-vhci.o
60
bt-host.o-cflags := $(BLUEZ_CFLAGS)
61

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

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

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

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

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

78 79 80
######################################################################
# qapi

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

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

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

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

102 103 104
######################################################################
# guest agent

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

######################################################################
# contrib
112 113
ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
114
libvhost-user-obj-y = contrib/libvhost-user/
115 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/
vhost-user-scsi-obj-y += contrib/libvhost-user/libvhost-user.o
119 120

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

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)