Commit c353f261 authored by Paolo Bonzini's avatar Paolo Bonzini

build: move per-target hw/ objects to nested Makefile.objs

This completes the move to nested Makefiles for virtio and a few
other files that were not part of obj-TARGET-y, but still were
compiled separately for each target.
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent be1029ec
...@@ -19,7 +19,8 @@ all: $(hw-obj-y) ...@@ -19,7 +19,8 @@ all: $(hw-obj-y)
@true @true
clean: clean:
rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~ */*/*.d rm -f $(addsuffix /*.o, $(dir $(sort $(hw-obj-y))))
rm -f $(addsuffix /*.d, $(dir $(sort $(hw-obj-y))))
# Include automatically generated dependency files # Include automatically generated dependency files
-include $(wildcard *.d */*.d */*/*.d) -include $(patsubst %.o, %.d, $(hw-obj-y))
# -*- Mode: makefile -*- # -*- Mode: makefile -*-
CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
CONFIG_NO_GET_MEMORY_MAPPING = $(if $(subst n,,$(CONFIG_HAVE_GET_MEMORY_MAPPING)),n,y)
CONFIG_NO_CORE_DUMP = $(if $(subst n,,$(CONFIG_HAVE_CORE_DUMP)),n,y)
include ../config-host.mak include ../config-host.mak
include config-devices.mak include config-devices.mak
include config-target.mak include config-target.mak
...@@ -122,19 +116,16 @@ endif #CONFIG_BSD_USER ...@@ -122,19 +116,16 @@ endif #CONFIG_BSD_USER
######################################################### #########################################################
# System emulator target # System emulator target
ifdef CONFIG_SOFTMMU ifdef CONFIG_SOFTMMU
CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
CONFIG_NO_GET_MEMORY_MAPPING = $(if $(subst n,,$(CONFIG_HAVE_GET_MEMORY_MAPPING)),n,y)
CONFIG_NO_CORE_DUMP = $(if $(subst n,,$(CONFIG_HAVE_CORE_DUMP)),n,y)
obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o obj-y += arch_init.o cpus.o monitor.o gdbstub.o balloon.o ioport.o
# virtio has to be here due to weird dependency between PCI and virtio-net. obj-y += hw/
# need to fix this properly
obj-$(CONFIG_NO_PCI) += pci-stub.o
obj-$(CONFIG_VIRTIO) += virtio.o virtio-blk.o virtio-balloon.o virtio-net.o virtio-serial-bus.o
obj-$(CONFIG_VIRTIO) += virtio-scsi.o
obj-y += vhost_net.o
obj-$(CONFIG_VHOST_NET) += vhost.o
obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/virtio-9p-device.o
obj-$(CONFIG_KVM) += kvm-all.o obj-$(CONFIG_KVM) += kvm-all.o
obj-$(CONFIG_NO_KVM) += kvm-stub.o obj-$(CONFIG_NO_KVM) += kvm-stub.o
obj-$(CONFIG_VGA) += vga.o
obj-y += memory.o savevm.o cputlb.o obj-y += memory.o savevm.o cputlb.o
obj-$(CONFIG_HAVE_GET_MEMORY_MAPPING) += memory_mapping.o obj-$(CONFIG_HAVE_GET_MEMORY_MAPPING) += memory_mapping.o
obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o
...@@ -148,21 +139,9 @@ QEMU_CFLAGS += $(VNC_JPEG_CFLAGS) ...@@ -148,21 +139,9 @@ QEMU_CFLAGS += $(VNC_JPEG_CFLAGS)
QEMU_CFLAGS += $(VNC_PNG_CFLAGS) QEMU_CFLAGS += $(VNC_PNG_CFLAGS)
# xen support # xen support
obj-$(CONFIG_XEN) += xen-all.o xen_machine_pv.o xen_domainbuild.o xen-mapcache.o obj-$(CONFIG_XEN) += xen-all.o xen-mapcache.o
obj-$(CONFIG_NO_XEN) += xen-stub.o obj-$(CONFIG_NO_XEN) += xen-stub.o
# Inter-VM PCI shared memory
CONFIG_IVSHMEM =
ifeq ($(CONFIG_KVM), y)
ifeq ($(CONFIG_PCI), y)
CONFIG_IVSHMEM = y
endif
endif
obj-$(CONFIG_IVSHMEM) += ivshmem.o
# Generic hotplugging
obj-y += device-hotplug.o
# Hardware support # Hardware support
ifeq ($(TARGET_ARCH), sparc64) ifeq ($(TARGET_ARCH), sparc64)
obj-y += hw/sparc64/ obj-y += hw/sparc64/
......
...@@ -3675,6 +3675,7 @@ mkdir -p $target_dir/9pfs ...@@ -3675,6 +3675,7 @@ mkdir -p $target_dir/9pfs
mkdir -p $target_dir/hw mkdir -p $target_dir/hw
mkdir -p $target_dir/hw/ide mkdir -p $target_dir/hw/ide
mkdir -p $target_dir/hw/usb mkdir -p $target_dir/hw/usb
mkdir -p $target_dir/hw/9pfs
mkdir -p $target_dir/hw/kvm mkdir -p $target_dir/hw/kvm
mkdir -p $target_dir/hw/$TARGET_ARCH mkdir -p $target_dir/hw/$TARGET_ARCH
mkdir -p $target_dir/hw/$TARGET_BASE_ARCH mkdir -p $target_dir/hw/$TARGET_BASE_ARCH
......
...@@ -5,3 +5,5 @@ hw-obj-y += virtio-9p-coth.o cofs.o codir.o cofile.o ...@@ -5,3 +5,5 @@ hw-obj-y += virtio-9p-coth.o cofs.o codir.o cofile.o
hw-obj-y += coxattr.o virtio-9p-synth.o hw-obj-y += coxattr.o virtio-9p-synth.o
hw-obj-$(CONFIG_OPEN_BY_HANDLE) += virtio-9p-handle.o hw-obj-$(CONFIG_OPEN_BY_HANDLE) += virtio-9p-handle.o
hw-obj-y += virtio-9p-proxy.o hw-obj-y += virtio-9p-proxy.o
obj-y += virtio-9p-device.o
...@@ -145,3 +145,21 @@ common-obj-$(CONFIG_BRLAPI) += baum.o ...@@ -145,3 +145,21 @@ common-obj-$(CONFIG_BRLAPI) += baum.o
# xen backend driver support # xen backend driver support
common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o
common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o xenfb.o xen_disk.o xen_nic.o common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o xenfb.o xen_disk.o xen_nic.o
# Per-target files
# virtio has to be here due to weird dependency between PCI and virtio-net.
# need to fix this properly
obj-$(CONFIG_VIRTIO) += virtio.o virtio-blk.o virtio-balloon.o virtio-net.o
obj-$(CONFIG_VIRTIO) += virtio-serial-bus.o virtio-scsi.o
obj-$(CONFIG_SOFTMMU) += vhost_net.o
obj-$(CONFIG_VHOST_NET) += vhost.o
obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/
obj-$(CONFIG_NO_PCI) += pci-stub.o
obj-$(CONFIG_VGA) += vga.o
obj-$(CONFIG_SOFTMMU) += device-hotplug.o
obj-$(CONFIG_XEN) += xen_domainbuild.o xen_machine_pv.o
# Inter-VM PCI shared memory
ifeq ($(CONFIG_PCI), y)
obj-$(CONFIG_KVM) += ivshmem.o
endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment