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 |
Paolo Bonzini | 3bc2f57 | 2012-11-16 18:35:27 +0100 | [diff] [blame] | 3 | stub-obj-y = stubs/ |
Paolo Bonzini | ff667e2 | 2012-12-21 09:45:20 +0100 | [diff] [blame] | 4 | util-obj-y = util/ qobject/ qapi/ trace/ |
Paolo Bonzini | 3bc2f57 | 2012-11-16 18:35:27 +0100 | [diff] [blame] | 5 | |
| 6 | ####################################################################### |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 7 | # block-obj-y is code used by both qemu system emulation and qemu-img |
| 8 | |
Paolo Bonzini | f157ebb | 2012-12-20 16:09:36 +0100 | [diff] [blame] | 9 | block-obj-y = async.o thread-pool.o |
| 10 | block-obj-y += nbd.o block.o blockjob.o |
Paolo Bonzini | f157ebb | 2012-12-20 16:09:36 +0100 | [diff] [blame] | 11 | block-obj-y += main-loop.o iohandler.o qemu-timer.o |
| 12 | block-obj-$(CONFIG_POSIX) += aio-posix.o |
| 13 | block-obj-$(CONFIG_WIN32) += aio-win32.o |
Paolo Bonzini | 7456e4c | 2012-05-22 13:44:39 +0200 | [diff] [blame] | 14 | block-obj-y += block/ |
Paolo Bonzini | 576d550 | 2012-12-20 15:27:51 +0100 | [diff] [blame] | 15 | block-obj-y += qapi-types.o qapi-visit.o |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 16 | |
Paolo Bonzini | 84ecb7a | 2012-12-20 17:38:14 +0100 | [diff] [blame] | 17 | block-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o |
| 18 | block-obj-y += qemu-coroutine-sleep.o |
| 19 | ifeq ($(CONFIG_UCONTEXT_COROUTINE),y) |
| 20 | block-obj-$(CONFIG_POSIX) += coroutine-ucontext.o |
| 21 | else |
| 22 | ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y) |
| 23 | block-obj-$(CONFIG_POSIX) += coroutine-sigaltstack.o |
| 24 | else |
| 25 | block-obj-$(CONFIG_POSIX) += coroutine-gthread.o |
| 26 | endif |
| 27 | endif |
| 28 | block-obj-$(CONFIG_WIN32) += coroutine-win32.o |
| 29 | |
Aneesh Kumar K.V | 9fe1ebe | 2011-06-01 12:35:13 +0530 | [diff] [blame] | 30 | ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy) |
Paul Brook | 01af7da | 2010-11-26 22:08:48 +0000 | [diff] [blame] | 31 | # Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add. |
| 32 | # only pull in the actual virtio-9p device if we also enabled virtio. |
| 33 | CONFIG_REALLY_VIRTFS=y |
| 34 | endif |
Gautham R Shenoy | 74db920 | 2010-04-29 17:44:43 +0530 | [diff] [blame] | 35 | |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 36 | ###################################################################### |
Paolo Bonzini | 6598001 | 2013-01-19 11:06:45 +0100 | [diff] [blame] | 37 | # smartcard |
| 38 | |
| 39 | libcacard-y += libcacard/cac.o libcacard/event.o |
| 40 | libcacard-y += libcacard/vcard.o libcacard/vreader.o |
| 41 | libcacard-y += libcacard/vcard_emul_nss.o |
| 42 | libcacard-y += libcacard/vcard_emul_type.o |
| 43 | libcacard-y += libcacard/card_7816.o |
| 44 | |
| 45 | ###################################################################### |
Chen Wei-Ren | 050d994 | 2011-11-15 20:47:11 +0800 | [diff] [blame] | 46 | # Target independent part of system emulation. The long term path is to |
| 47 | # suppress *all* target specific code in case of system emulation, i.e. a |
| 48 | # single QEMU executable should support all CPUs and machines. |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 49 | |
Paolo Bonzini | 0008234 | 2013-01-19 11:06:47 +0100 | [diff] [blame] | 50 | ifeq ($(CONFIG_SOFTMMU),y) |
Paolo Bonzini | 6dd844d | 2012-08-22 16:43:07 +0200 | [diff] [blame] | 51 | common-obj-y = $(block-obj-y) blockdev.o blockdev-nbd.o block/ |
Paolo Bonzini | fd9400b | 2012-10-24 11:27:28 +0200 | [diff] [blame] | 52 | common-obj-y += net/ |
Paolo Bonzini | 28ecbae | 2012-11-28 12:06:30 +0100 | [diff] [blame] | 53 | common-obj-y += readline.o |
Paolo Bonzini | 1559e0d | 2013-02-04 17:20:47 +0100 | [diff] [blame] | 54 | common-obj-y += qdev-monitor.o device-hotplug.o |
Blue Swirl | b0cb640 | 2010-06-12 05:49:30 +0000 | [diff] [blame] | 55 | common-obj-$(CONFIG_WIN32) += os-win32.o |
| 56 | common-obj-$(CONFIG_POSIX) += os-posix.o |
Gerd Hoffmann | 254e595 | 2010-05-21 11:54:32 +0200 | [diff] [blame] | 57 | |
Paolo Bonzini | ee20477 | 2012-05-22 13:46:08 +0200 | [diff] [blame] | 58 | common-obj-$(CONFIG_LINUX) += fsdev/ |
Paolo Bonzini | ee20477 | 2012-05-22 13:46:08 +0200 | [diff] [blame] | 59 | |
Juan Quintela | 0d82d0e | 2012-10-03 14:18:33 +0200 | [diff] [blame] | 60 | common-obj-y += migration.o migration-tcp.o |
Avi Kivity | c5705a7 | 2011-12-20 15:59:12 +0200 | [diff] [blame] | 61 | common-obj-y += qemu-char.o #aio.o |
Paolo Bonzini | f157ebb | 2012-12-20 16:09:36 +0100 | [diff] [blame] | 62 | common-obj-y += block-migration.o |
Orit Wasserman | ba2e28e | 2013-01-31 09:12:15 +0200 | [diff] [blame] | 63 | common-obj-y += page_cache.o xbzrle.o |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 64 | |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 65 | common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o |
| 66 | |
Paolo Bonzini | 8867aef | 2012-05-22 13:48:15 +0200 | [diff] [blame] | 67 | common-obj-$(CONFIG_SPICE) += spice-qemu-char.o |
Paolo Bonzini | b0b68fc | 2012-05-22 13:49:02 +0200 | [diff] [blame] | 68 | |
| 69 | common-obj-y += audio/ |
Paolo Bonzini | 3d5a3f9 | 2012-05-29 11:08:47 +0200 | [diff] [blame] | 70 | common-obj-y += hw/ |
Paolo Bonzini | 6f99198 | 2012-12-17 18:17:08 +0100 | [diff] [blame] | 71 | |
Paolo Bonzini | 8867aef | 2012-05-22 13:48:15 +0200 | [diff] [blame] | 72 | common-obj-y += ui/ |
Paolo Bonzini | 3d5a3f9 | 2012-05-29 11:08:47 +0200 | [diff] [blame] | 73 | common-obj-y += bt-host.o bt-vhci.o |
Corentin Chary | 3e230dd | 2010-07-07 20:57:52 +0200 | [diff] [blame] | 74 | |
Stefan Weil | c9159fe | 2012-10-05 19:39:33 +0200 | [diff] [blame] | 75 | common-obj-y += dma-helpers.o |
Stefan Weil | c9159fe | 2012-10-05 19:39:33 +0200 | [diff] [blame] | 76 | common-obj-y += vl.o |
Stefan Berger | d1a0cf7 | 2013-02-27 12:47:49 -0500 | [diff] [blame] | 77 | common-obj-y += tpm/ |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 78 | |
Paolo Bonzini | 4c69605 | 2012-05-22 13:49:43 +0200 | [diff] [blame] | 79 | common-obj-$(CONFIG_SLIRP) += slirp/ |
Andreas Färber | 0e8c921 | 2010-01-06 20:24:05 +0100 | [diff] [blame] | 80 | |
Anthony Liguori | a9b7b2a | 2012-06-25 10:03:47 -0500 | [diff] [blame] | 81 | common-obj-y += backends/ |
| 82 | |
Paolo Bonzini | 737f351 | 2013-01-19 11:06:46 +0100 | [diff] [blame] | 83 | common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o |
Eduardo Otubo | f794573 | 2012-08-14 18:44:05 -0300 | [diff] [blame] | 84 | |
Paolo Bonzini | 00c705f | 2012-05-29 11:40:24 +0200 | [diff] [blame] | 85 | common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y) |
Robert Relyea | 111a38b | 2010-11-28 16:36:38 +0200 | [diff] [blame] | 86 | |
Michael Roth | 2345c77 | 2011-07-19 14:50:32 -0500 | [diff] [blame] | 87 | ###################################################################### |
| 88 | # qapi |
| 89 | |
Andreas Färber | ce008c1 | 2012-03-04 21:32:36 +0100 | [diff] [blame] | 90 | common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.o |
Anthony Liguori | 48a32be | 2011-09-02 12:34:48 -0500 | [diff] [blame] | 91 | common-obj-y += qmp.o hmp.o |
Paolo Bonzini | 0008234 | 2013-01-19 11:06:47 +0100 | [diff] [blame] | 92 | endif |
Anthony Liguori | e319360 | 2011-09-02 12:34:47 -0500 | [diff] [blame] | 93 | |
Paolo Bonzini | 9444e9e | 2012-12-20 15:24:49 +0100 | [diff] [blame] | 94 | ####################################################################### |
| 95 | # Target-independent parts used in system and user emulation |
Paolo Bonzini | 0008234 | 2013-01-19 11:06:47 +0100 | [diff] [blame] | 96 | common-obj-y += qemu-log.o |
| 97 | common-obj-y += tcg-runtime.o |
| 98 | common-obj-y += hw/ |
| 99 | common-obj-y += qom/ |
| 100 | common-obj-y += disas/ |
Andreas Färber | ce008c1 | 2012-03-04 21:32:36 +0100 | [diff] [blame] | 101 | |
Michael Roth | 957f1f9 | 2011-08-11 15:38:12 -0500 | [diff] [blame] | 102 | ###################################################################### |
| 103 | # guest agent |
| 104 | |
Paolo Bonzini | 59cacde | 2012-12-20 15:03:18 +0100 | [diff] [blame] | 105 | # FIXME: a few definitions from qapi-types.o/qapi-visit.o are needed |
| 106 | # by libqemuutil.a. These should be moved to a separate .json schema. |
| 107 | qga-obj-y = qga/ qapi-types.o qapi-visit.o |
Michael Roth | 957f1f9 | 2011-08-11 15:38:12 -0500 | [diff] [blame] | 108 | |
Blue Swirl | ad96090 | 2010-03-29 19:23:52 +0000 | [diff] [blame] | 109 | vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS) |
| 110 | |
| 111 | vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS) |
| 112 | |
Anthony Liguori | 1401530 | 2011-08-20 22:18:37 -0500 | [diff] [blame] | 113 | QEMU_CFLAGS+=$(GLIB_CFLAGS) |
| 114 | |
Paolo Bonzini | 7f07b9c | 2012-05-22 13:42:53 +0200 | [diff] [blame] | 115 | nested-vars += \ |
Paolo Bonzini | 3bc2f57 | 2012-11-16 18:35:27 +0100 | [diff] [blame] | 116 | stub-obj-y \ |
Paolo Bonzini | baacf04 | 2012-12-20 15:58:44 +0100 | [diff] [blame] | 117 | util-obj-y \ |
Paolo Bonzini | 4eb7ba8 | 2012-05-22 13:50:58 +0200 | [diff] [blame] | 118 | qga-obj-y \ |
Paolo Bonzini | 69758c2 | 2012-09-19 15:11:05 +0200 | [diff] [blame] | 119 | block-obj-y \ |
Paolo Bonzini | 82cb6b0 | 2013-01-19 11:06:48 +0100 | [diff] [blame] | 120 | common-obj-y |
Paolo Bonzini | 99100dc | 2012-05-22 13:41:27 +0200 | [diff] [blame] | 121 | dummy := $(call unnest-vars) |