Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 1 | ####################################################################### |
Paolo Bonzini | a372823 | 2012-12-20 16:10:26 +0100 | [diff] [blame] | 2 | # Common libraries for tools and emulators |
Daniel P. Berrange | b917da4 | 2015-10-31 14:39:52 +0900 | [diff] [blame] | 3 | stub-obj-y = stubs/ crypto/ |
Markus Armbruster | 39a1815 | 2015-09-16 13:06:28 +0200 | [diff] [blame] | 4 | util-obj-y = util/ qobject/ qapi/ |
| 5 | util-obj-y += qmp-introspect.o qapi-types.o qapi-visit.o qapi-event.o |
Paolo Bonzini | 3bc2f57 | 2012-11-16 18:35:27 +0100 | [diff] [blame] | 6 | |
Marc-André Lureau | 32d955a | 2016-12-12 15:49:01 +0300 | [diff] [blame] | 7 | chardev-obj-y = chardev/ |
| 8 | |
Paolo Bonzini | 3bc2f57 | 2012-11-16 18:35:27 +0100 | [diff] [blame] | 9 | ####################################################################### |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 10 | # block-obj-y is code used by both qemu system emulation and qemu-img |
| 11 | |
Fam Zheng | 798bfe0 | 2016-01-14 16:41:02 +0800 | [diff] [blame] | 12 | block-obj-y += nbd/ |
| 13 | block-obj-y += block.o blockjob.o |
Paolo Bonzini | 7456e4c | 2012-05-22 13:44:39 +0200 | [diff] [blame] | 14 | block-obj-y += block/ |
Kevin Wolf | 587da2c | 2013-06-05 14:19:41 +0200 | [diff] [blame] | 15 | block-obj-y += qemu-io-cmds.o |
Changlong Xie | 190b9a8 | 2016-07-27 15:01:49 +0800 | [diff] [blame] | 16 | block-obj-$(CONFIG_REPLICATION) += replication.o |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 17 | |
Fam Zheng | cc47569 | 2014-02-10 14:48:59 +0800 | [diff] [blame] | 18 | block-obj-m = block/ |
| 19 | |
Daniel P. Berrange | fb37726 | 2015-09-02 10:57:27 +0100 | [diff] [blame] | 20 | ####################################################################### |
| 21 | # crypto-obj-y is code used by both qemu system emulation and qemu-img |
| 22 | |
| 23 | crypto-obj-y = crypto/ |
| 24 | crypto-aes-obj-y = crypto/ |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 25 | |
Daniel P. Berrange | 0c7012e | 2015-09-02 11:18:16 +0100 | [diff] [blame] | 26 | ####################################################################### |
| 27 | # qom-obj-y is code used by both qemu system emulation and qemu-img |
| 28 | |
| 29 | qom-obj-y = qom/ |
| 30 | |
Daniel P. Berrange | 666a3af | 2015-02-27 16:19:33 +0000 | [diff] [blame] | 31 | ####################################################################### |
| 32 | # io-obj-y is code used by both qemu system emulation and qemu-img |
| 33 | |
| 34 | io-obj-y = io/ |
| 35 | |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 36 | ###################################################################### |
Chen Wei-Ren | 050d994 | 2011-11-15 20:47:11 +0800 | [diff] [blame] | 37 | # Target independent part of system emulation. The long term path is to |
| 38 | # suppress *all* target specific code in case of system emulation, i.e. a |
| 39 | # single QEMU executable should support all CPUs and machines. |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 40 | |
Paolo Bonzini | 0008234 | 2013-01-19 11:06:47 +0100 | [diff] [blame] | 41 | ifeq ($(CONFIG_SOFTMMU),y) |
Fam Zheng | ba1183d | 2014-02-10 14:48:52 +0800 | [diff] [blame] | 42 | common-obj-y = blockdev.o blockdev-nbd.o block/ |
Thomas Huth | 5ddc648 | 2017-06-26 07:22:57 +0200 | [diff] [blame] | 43 | common-obj-y += bootdevice.o iothread.o |
Paolo Bonzini | fd9400b | 2012-10-24 11:27:28 +0200 | [diff] [blame] | 44 | common-obj-y += net/ |
Paolo Bonzini | 1559e0d | 2013-02-04 17:20:47 +0100 | [diff] [blame] | 45 | common-obj-y += qdev-monitor.o device-hotplug.o |
Blue Swirl | b0cb640a | 2010-06-12 05:49:30 +0000 | [diff] [blame] | 46 | common-obj-$(CONFIG_WIN32) += os-win32.o |
| 47 | common-obj-$(CONFIG_POSIX) += os-posix.o |
Gerd Hoffmann | 254e595 | 2010-05-21 11:54:32 +0200 | [diff] [blame] | 48 | |
Paolo Bonzini | ee20477 | 2012-05-22 13:46:08 +0200 | [diff] [blame] | 49 | common-obj-$(CONFIG_LINUX) += fsdev/ |
Paolo Bonzini | ee20477 | 2012-05-22 13:46:08 +0200 | [diff] [blame] | 50 | |
Dr. David Alan Gilbert | 60fe637 | 2014-12-12 11:13:38 +0000 | [diff] [blame] | 51 | common-obj-y += migration/ |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 52 | |
Paolo Bonzini | b0b68fc | 2012-05-22 13:49:02 +0200 | [diff] [blame] | 53 | common-obj-y += audio/ |
Paolo Bonzini | 3d5a3f9 | 2012-05-29 11:08:47 +0200 | [diff] [blame] | 54 | common-obj-y += hw/ |
Paolo Bonzini | 6f99198 | 2012-12-17 18:17:08 +0100 | [diff] [blame] | 55 | |
Pavel Dovgalyuk | d73abd6 | 2015-09-17 19:23:37 +0300 | [diff] [blame] | 56 | common-obj-y += replay/ |
| 57 | |
Paolo Bonzini | 8867aef | 2012-05-22 13:48:15 +0200 | [diff] [blame] | 58 | common-obj-y += ui/ |
Paolo Bonzini | 3d5a3f9 | 2012-05-29 11:08:47 +0200 | [diff] [blame] | 59 | common-obj-y += bt-host.o bt-vhci.o |
Michael Tokarev | 849d828 | 2014-05-02 15:40:53 +0400 | [diff] [blame] | 60 | bt-host.o-cflags := $(BLUEZ_CFLAGS) |
Corentin Chary | 3e230dd | 2010-07-07 20:57:52 +0200 | [diff] [blame] | 61 | |
Stefan Weil | c9159fe | 2012-10-05 19:39:33 +0200 | [diff] [blame] | 62 | common-obj-y += dma-helpers.o |
Stefan Weil | c9159fe | 2012-10-05 19:39:33 +0200 | [diff] [blame] | 63 | common-obj-y += vl.o |
Michael Tokarev | 849d828 | 2014-05-02 15:40:53 +0400 | [diff] [blame] | 64 | vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS) |
Paolo Bonzini | bdee56f | 2013-04-02 18:28:41 +0200 | [diff] [blame] | 65 | common-obj-y += tpm.o |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 66 | |
Paolo Bonzini | 4c69605 | 2012-05-22 13:49:43 +0200 | [diff] [blame] | 67 | common-obj-$(CONFIG_SLIRP) += slirp/ |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 68 | |
Anthony Liguori | a9b7b2a | 2012-06-25 10:03:47 -0500 | [diff] [blame] | 69 | common-obj-y += backends/ |
Marc-André Lureau | 6b10e57 | 2017-05-29 12:39:42 +0400 | [diff] [blame] | 70 | common-obj-y += chardev/ |
Anthony Liguori | a9b7b2a | 2012-06-25 10:03:47 -0500 | [diff] [blame] | 71 | |
Paolo Bonzini | 737f351 | 2013-01-19 11:06:46 +0100 | [diff] [blame] | 72 | common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o |
Eduardo Otubo | f794573 | 2012-08-14 18:44:05 -0300 | [diff] [blame] | 73 | |
Peter Crosthwaite | 7df057b | 2015-05-24 13:20:14 -0700 | [diff] [blame] | 74 | common-obj-$(CONFIG_FDT) += device_tree.o |
| 75 | |
Michael Roth | 2345c77 | 2011-07-19 14:50:32 -0500 | [diff] [blame] | 76 | ###################################################################### |
| 77 | # qapi |
| 78 | |
Eduardo Habkost | 8e8aba5 | 2013-05-06 13:20:07 -0300 | [diff] [blame] | 79 | common-obj-y += qmp-marshal.o |
Markus Armbruster | 39a1815 | 2015-09-16 13:06:28 +0200 | [diff] [blame] | 80 | common-obj-y += qmp-introspect.o |
Anthony Liguori | 48a32be | 2011-09-02 12:34:48 -0500 | [diff] [blame] | 81 | common-obj-y += qmp.o hmp.o |
Paolo Bonzini | 0008234 | 2013-01-19 11:06:47 +0100 | [diff] [blame] | 82 | endif |
Anthony Liguori | e319360 | 2011-09-02 12:34:47 -0500 | [diff] [blame] | 83 | |
Paolo Bonzini | 9444e9e | 2012-12-20 15:24:49 +0100 | [diff] [blame] | 84 | ####################################################################### |
| 85 | # Target-independent parts used in system and user emulation |
Richard Henderson | c482cb1 | 2016-06-28 11:37:27 -0700 | [diff] [blame] | 86 | common-obj-y += cpus-common.o |
Paolo Bonzini | 0008234 | 2013-01-19 11:06:47 +0100 | [diff] [blame] | 87 | common-obj-y += hw/ |
| 88 | common-obj-y += qom/ |
| 89 | common-obj-y += disas/ |
Andreas Färber | ce008c1 | 2012-03-04 21:32:36 +0100 | [diff] [blame] | 90 | |
Michael Roth | 957f1f9 | 2011-08-11 15:38:12 -0500 | [diff] [blame] | 91 | ###################################################################### |
Stefan Weil | 0b516ef | 2013-08-08 20:18:07 +0200 | [diff] [blame] | 92 | # Resource file for Windows executables |
| 93 | version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o |
Stefan Weil | 0b516ef | 2013-08-08 20:18:07 +0200 | [diff] [blame] | 94 | |
| 95 | ###################################################################### |
Lluís Vilanova | 341ea69 | 2014-05-30 14:11:56 +0200 | [diff] [blame] | 96 | # tracing |
| 97 | util-obj-y += trace/ |
| 98 | target-obj-y += trace/ |
| 99 | |
| 100 | ###################################################################### |
Michael Roth | 957f1f9 | 2011-08-11 15:38:12 -0500 | [diff] [blame] | 101 | # guest agent |
| 102 | |
Paolo Bonzini | 59cacde | 2012-12-20 15:03:18 +0100 | [diff] [blame] | 103 | # FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed |
| 104 | # by libqemuutil.a. These should be moved to a separate .json schema. |
Fam Zheng | 169a24a | 2014-08-07 10:34:41 +0800 | [diff] [blame] | 105 | qga-obj-y = qga/ |
Tomoki Sekiyama | b39297a | 2013-08-07 11:40:18 -0400 | [diff] [blame] | 106 | qga-vss-dll-obj-y = qga/ |
David Marchand | a75eb03 | 2014-09-08 11:17:48 +0200 | [diff] [blame] | 107 | |
| 108 | ###################################################################### |
| 109 | # contrib |
| 110 | ivshmem-client-obj-y = contrib/ivshmem-client/ |
| 111 | ivshmem-server-obj-y = contrib/ivshmem-server/ |
Marc-André Lureau | 7b2e5c6 | 2016-10-18 12:24:04 +0300 | [diff] [blame] | 112 | libvhost-user-obj-y = contrib/libvhost-user/ |
Felipe Franciosi | 49cc034 | 2017-03-02 10:25:53 -0800 | [diff] [blame] | 113 | vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS) |
| 114 | vhost-user-scsi.o-libs := $(LIBISCSI_LIBS) |
| 115 | vhost-user-scsi-obj-y = contrib/vhost-user-scsi/ |
| 116 | vhost-user-scsi-obj-y += contrib/libvhost-user/libvhost-user.o |
Daniel P. Berrange | 1412cf5 | 2016-06-16 09:39:47 +0100 | [diff] [blame] | 117 | |
| 118 | ###################################################################### |
Daniel P. Berrange | 0ab8ed1 | 2017-01-25 16:14:15 +0000 | [diff] [blame] | 119 | trace-events-subdirs = |
| 120 | trace-events-subdirs += util |
| 121 | trace-events-subdirs += crypto |
| 122 | trace-events-subdirs += io |
| 123 | trace-events-subdirs += migration |
| 124 | trace-events-subdirs += block |
Marc-André Lureau | 6b10e57 | 2017-05-29 12:39:42 +0400 | [diff] [blame] | 125 | trace-events-subdirs += chardev |
Daniel P. Berrange | 0ab8ed1 | 2017-01-25 16:14:15 +0000 | [diff] [blame] | 126 | trace-events-subdirs += hw/block |
| 127 | trace-events-subdirs += hw/block/dataplane |
| 128 | trace-events-subdirs += hw/char |
| 129 | trace-events-subdirs += hw/intc |
| 130 | trace-events-subdirs += hw/net |
| 131 | trace-events-subdirs += hw/virtio |
| 132 | trace-events-subdirs += hw/audio |
| 133 | trace-events-subdirs += hw/misc |
| 134 | trace-events-subdirs += hw/usb |
| 135 | trace-events-subdirs += hw/scsi |
| 136 | trace-events-subdirs += hw/nvram |
| 137 | trace-events-subdirs += hw/display |
| 138 | trace-events-subdirs += hw/input |
| 139 | trace-events-subdirs += hw/timer |
| 140 | trace-events-subdirs += hw/dma |
| 141 | trace-events-subdirs += hw/sparc |
| 142 | trace-events-subdirs += hw/sd |
| 143 | trace-events-subdirs += hw/isa |
| 144 | trace-events-subdirs += hw/mem |
| 145 | trace-events-subdirs += hw/i386 |
| 146 | trace-events-subdirs += hw/i386/xen |
| 147 | trace-events-subdirs += hw/9pfs |
| 148 | trace-events-subdirs += hw/ppc |
| 149 | trace-events-subdirs += hw/pci |
| 150 | trace-events-subdirs += hw/s390x |
| 151 | trace-events-subdirs += hw/vfio |
| 152 | trace-events-subdirs += hw/acpi |
| 153 | trace-events-subdirs += hw/arm |
| 154 | trace-events-subdirs += hw/alpha |
| 155 | trace-events-subdirs += hw/xen |
| 156 | trace-events-subdirs += ui |
| 157 | trace-events-subdirs += audio |
| 158 | trace-events-subdirs += net |
| 159 | trace-events-subdirs += target/arm |
| 160 | trace-events-subdirs += target/i386 |
Philippe Mathieu-Daudé | b44a7fb | 2017-03-04 15:56:52 -0300 | [diff] [blame] | 161 | trace-events-subdirs += target/mips |
Daniel P. Berrange | 0ab8ed1 | 2017-01-25 16:14:15 +0000 | [diff] [blame] | 162 | trace-events-subdirs += target/sparc |
| 163 | trace-events-subdirs += target/s390x |
| 164 | trace-events-subdirs += target/ppc |
| 165 | trace-events-subdirs += qom |
| 166 | trace-events-subdirs += linux-user |
| 167 | trace-events-subdirs += qapi |
Yang Zhong | d9bb58e | 2017-06-02 14:06:44 +0800 | [diff] [blame] | 168 | trace-events-subdirs += accel/tcg |
Yang Zhong | 92229a5 | 2017-06-02 14:06:46 +0800 | [diff] [blame] | 169 | trace-events-subdirs += accel/kvm |
Vladimir Sementsov-Ogievskiy | 9588463 | 2017-07-07 18:29:18 +0300 | [diff] [blame] | 170 | trace-events-subdirs += nbd |
Daniel P. Berrange | 0ab8ed1 | 2017-01-25 16:14:15 +0000 | [diff] [blame] | 171 | |
| 172 | trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events) |
| 173 | |
| 174 | trace-obj-y = trace-root.o |
| 175 | trace-obj-y += $(trace-events-subdirs:%=%/trace.o) |
| 176 | trace-obj-$(CONFIG_TRACE_UST) += trace-ust-all.o |
| 177 | trace-obj-$(CONFIG_TRACE_DTRACE) += trace-dtrace-root.o |
| 178 | trace-obj-$(CONFIG_TRACE_DTRACE) += $(trace-events-subdirs:%=%/trace-dtrace.o) |