You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile.objs 6.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. #######################################################################
  2. # Common libraries for tools and emulators
  3. stub-obj-y = stubs/ util/ crypto/
  4. util-obj-y = util/ qobject/ qapi/
  5. chardev-obj-y = chardev/
  6. #######################################################################
  7. # authz-obj-y is code used by both qemu system emulation and qemu-img
  8. authz-obj-y = authz/
  9. #######################################################################
  10. # block-obj-y is code used by both qemu system emulation and qemu-img
  11. block-obj-y = nbd/
  12. block-obj-y += block.o blockjob.o job.o
  13. block-obj-y += block/ scsi/
  14. block-obj-y += qemu-io-cmds.o
  15. block-obj-$(CONFIG_REPLICATION) += replication.o
  16. block-obj-m = block/
  17. #######################################################################
  18. # crypto-obj-y is code used by both qemu system emulation and qemu-img
  19. crypto-obj-y = crypto/
  20. crypto-user-obj-y = crypto/
  21. #######################################################################
  22. # qom-obj-y is code used by both qemu system emulation and qemu-img
  23. qom-obj-y = qom/
  24. #######################################################################
  25. # io-obj-y is code used by both qemu system emulation and qemu-img
  26. io-obj-y = io/
  27. ######################################################################
  28. # Target independent part of system emulation. The long term path is to
  29. # suppress *all* target specific code in case of system emulation, i.e. a
  30. # single QEMU executable should support all CPUs and machines.
  31. ifeq ($(CONFIG_SOFTMMU),y)
  32. common-obj-y = blockdev.o blockdev-nbd.o block/
  33. common-obj-y += bootdevice.o iothread.o
  34. common-obj-y += job-qmp.o
  35. common-obj-y += monitor/
  36. common-obj-y += net/
  37. common-obj-y += qdev-monitor.o device-hotplug.o
  38. common-obj-$(CONFIG_WIN32) += os-win32.o
  39. common-obj-$(CONFIG_POSIX) += os-posix.o
  40. common-obj-$(CONFIG_LINUX) += fsdev/
  41. common-obj-y += migration/
  42. common-obj-y += audio/
  43. common-obj-m += audio/
  44. common-obj-y += hw/
  45. common-obj-y += replay/
  46. common-obj-y += ui/
  47. common-obj-m += ui/
  48. common-obj-y += bt-host.o bt-vhci.o
  49. bt-host.o-cflags := $(BLUEZ_CFLAGS)
  50. common-obj-y += dma-helpers.o
  51. common-obj-y += vl.o
  52. vl.o-cflags := $(GPROF_CFLAGS) $(SDL_CFLAGS)
  53. common-obj-$(CONFIG_TPM) += tpm.o
  54. common-obj-y += backends/
  55. common-obj-y += chardev/
  56. common-obj-$(CONFIG_SECCOMP) += qemu-seccomp.o
  57. qemu-seccomp.o-cflags := $(SECCOMP_CFLAGS)
  58. qemu-seccomp.o-libs := $(SECCOMP_LIBS)
  59. common-obj-$(CONFIG_FDT) += device_tree.o
  60. ######################################################################
  61. # qapi
  62. common-obj-y += qapi/
  63. common-obj-y += monitor/
  64. endif
  65. #######################################################################
  66. # Target-independent parts used in system and user emulation
  67. common-obj-y += cpus-common.o
  68. common-obj-y += hw/
  69. common-obj-y += qom/
  70. common-obj-y += disas/
  71. ######################################################################
  72. # Resource file for Windows executables
  73. version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
  74. ######################################################################
  75. # tracing
  76. util-obj-y += trace/
  77. ######################################################################
  78. # guest agent
  79. # FIXME: a few definitions from qapi/qapi-types.o and
  80. # qapi/qapi-visit.o are needed by libqemuutil.a. These should be
  81. # extracted into a QAPI schema module, or perhaps a separate schema.
  82. qga-obj-y = qga/
  83. qga-vss-dll-obj-y = qga/
  84. ######################################################################
  85. # contrib
  86. elf2dmp-obj-y = contrib/elf2dmp/
  87. ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
  88. ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
  89. libvhost-user-obj-y = contrib/libvhost-user/
  90. vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
  91. vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
  92. vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
  93. vhost-user-blk-obj-y = contrib/vhost-user-blk/
  94. rdmacm-mux-obj-y = contrib/rdmacm-mux/
  95. vhost-user-input-obj-y = contrib/vhost-user-input/
  96. vhost-user-gpu-obj-y = contrib/vhost-user-gpu/
  97. ######################################################################
  98. trace-events-subdirs =
  99. trace-events-subdirs += accel/kvm
  100. trace-events-subdirs += accel/tcg
  101. trace-events-subdirs += crypto
  102. trace-events-subdirs += monitor
  103. ifeq ($(CONFIG_USER_ONLY),y)
  104. trace-events-subdirs += linux-user
  105. endif
  106. ifeq ($(CONFIG_BLOCK),y)
  107. trace-events-subdirs += authz
  108. trace-events-subdirs += block
  109. trace-events-subdirs += io
  110. trace-events-subdirs += nbd
  111. trace-events-subdirs += scsi
  112. endif
  113. ifeq ($(CONFIG_SOFTMMU),y)
  114. trace-events-subdirs += chardev
  115. trace-events-subdirs += audio
  116. trace-events-subdirs += hw/9pfs
  117. trace-events-subdirs += hw/acpi
  118. trace-events-subdirs += hw/alpha
  119. trace-events-subdirs += hw/arm
  120. trace-events-subdirs += hw/audio
  121. trace-events-subdirs += hw/block
  122. trace-events-subdirs += hw/block/dataplane
  123. trace-events-subdirs += hw/char
  124. trace-events-subdirs += hw/dma
  125. trace-events-subdirs += hw/hppa
  126. trace-events-subdirs += hw/i2c
  127. trace-events-subdirs += hw/i386
  128. trace-events-subdirs += hw/i386/xen
  129. trace-events-subdirs += hw/ide
  130. trace-events-subdirs += hw/input
  131. trace-events-subdirs += hw/intc
  132. trace-events-subdirs += hw/isa
  133. trace-events-subdirs += hw/mem
  134. trace-events-subdirs += hw/misc
  135. trace-events-subdirs += hw/misc/macio
  136. trace-events-subdirs += hw/net
  137. trace-events-subdirs += hw/nvram
  138. trace-events-subdirs += hw/pci
  139. trace-events-subdirs += hw/pci-host
  140. trace-events-subdirs += hw/ppc
  141. trace-events-subdirs += hw/rdma
  142. trace-events-subdirs += hw/rdma/vmw
  143. trace-events-subdirs += hw/s390x
  144. trace-events-subdirs += hw/scsi
  145. trace-events-subdirs += hw/sd
  146. trace-events-subdirs += hw/sparc
  147. trace-events-subdirs += hw/sparc64
  148. trace-events-subdirs += hw/timer
  149. trace-events-subdirs += hw/tpm
  150. trace-events-subdirs += hw/usb
  151. trace-events-subdirs += hw/vfio
  152. trace-events-subdirs += hw/virtio
  153. trace-events-subdirs += hw/watchdog
  154. trace-events-subdirs += hw/xen
  155. trace-events-subdirs += hw/gpio
  156. trace-events-subdirs += hw/riscv
  157. trace-events-subdirs += migration
  158. trace-events-subdirs += net
  159. trace-events-subdirs += ui
  160. endif
  161. trace-events-subdirs += hw/display
  162. trace-events-subdirs += qapi
  163. trace-events-subdirs += qom
  164. trace-events-subdirs += target/arm
  165. trace-events-subdirs += target/hppa
  166. trace-events-subdirs += target/i386
  167. trace-events-subdirs += target/mips
  168. trace-events-subdirs += target/ppc
  169. trace-events-subdirs += target/riscv
  170. trace-events-subdirs += target/s390x
  171. trace-events-subdirs += target/sparc
  172. trace-events-subdirs += util
  173. trace-events-files = $(SRC_PATH)/trace-events $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)
  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)