build: remove universal-obj-y
All of universal-obj-y, user-obj-y (right now unused) and common-obj-y can be unified into common-obj-y if we take care of defining CONFIG_SOFTMMU and CONFIG_USER_ONLY in the toplevel makefile. This is similar to how we define symbols for hardware components. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
737f351892
commit
000823449c
8
Makefile
8
Makefile
@ -103,6 +103,8 @@ defconfig:
|
||||
|
||||
-include config-all-devices.mak
|
||||
-include config-all-disas.mak
|
||||
CONFIG_SOFTMMU := $(if $(filter %-softmmu,$(TARGET_DIRS)),y)
|
||||
CONFIG_USER_ONLY := $(if $(filter %-user,$(TARGET_DIRS)),y)
|
||||
|
||||
ifneq ($(wildcard config-host.mak),)
|
||||
include $(SRC_PATH)/Makefile.objs
|
||||
@ -133,11 +135,7 @@ pixman/Makefile: $(SRC_PATH)/pixman/configure
|
||||
$(SRC_PATH)/pixman/configure:
|
||||
(cd $(SRC_PATH)/pixman; autoreconf -v --install)
|
||||
|
||||
$(SUBDIR_RULES): libqemuutil.a libqemustub.a
|
||||
|
||||
$(filter %-softmmu,$(SUBDIR_RULES)): $(universal-obj-y) $(common-obj-y) $(extra-obj-y)
|
||||
|
||||
$(filter %-user,$(SUBDIR_RULES)): $(universal-obj-y) $(user-obj-y)
|
||||
$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(extra-obj-y)
|
||||
|
||||
ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
|
||||
romsubdir-%:
|
||||
|
@ -47,6 +47,7 @@ libcacard-y += libcacard/card_7816.o
|
||||
# suppress *all* target specific code in case of system emulation, i.e. a
|
||||
# single QEMU executable should support all CPUs and machines.
|
||||
|
||||
ifeq ($(CONFIG_SOFTMMU),y)
|
||||
common-obj-y = $(block-obj-y) blockdev.o blockdev-nbd.o block/
|
||||
common-obj-y += net/
|
||||
common-obj-y += readline.o
|
||||
@ -89,15 +90,15 @@ common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y)
|
||||
|
||||
common-obj-y += qmp-marshal.o qapi-visit.o qapi-types.o
|
||||
common-obj-y += qmp.o hmp.o
|
||||
endif
|
||||
|
||||
#######################################################################
|
||||
# Target-independent parts used in system and user emulation
|
||||
universal-obj-y =
|
||||
universal-obj-y += qemu-log.o
|
||||
universal-obj-y += tcg-runtime.o
|
||||
universal-obj-y += hw/
|
||||
universal-obj-y += qom/
|
||||
universal-obj-y += disas/
|
||||
common-obj-y += qemu-log.o
|
||||
common-obj-y += tcg-runtime.o
|
||||
common-obj-y += hw/
|
||||
common-obj-y += qom/
|
||||
common-obj-y += disas/
|
||||
|
||||
######################################################################
|
||||
# guest agent
|
||||
@ -118,6 +119,5 @@ nested-vars += \
|
||||
qga-obj-y \
|
||||
block-obj-y \
|
||||
common-obj-y \
|
||||
universal-obj-y \
|
||||
extra-obj-y
|
||||
dummy := $(call unnest-vars)
|
||||
|
@ -145,8 +145,7 @@ nested-vars += obj-y
|
||||
include $(SRC_PATH)/Makefile.objs
|
||||
|
||||
all-obj-y = $(obj-y)
|
||||
all-obj-y += $(addprefix ../, $(universal-obj-y))
|
||||
all-obj-$(CONFIG_SOFTMMU) += $(addprefix ../, $(common-obj-y))
|
||||
all-obj-y += $(addprefix ../, $(common-obj-y))
|
||||
|
||||
ifdef QEMU_PROGW
|
||||
# The linker builds a windows executable. Make also a console executable.
|
||||
|
@ -1,18 +1,18 @@
|
||||
universal-obj-$(CONFIG_ALPHA_DIS) += alpha.o
|
||||
universal-obj-$(CONFIG_ARM_DIS) += arm.o
|
||||
universal-obj-$(CONFIG_CRIS_DIS) += cris.o
|
||||
universal-obj-$(CONFIG_HPPA_DIS) += hppa.o
|
||||
universal-obj-$(CONFIG_I386_DIS) += i386.o
|
||||
universal-obj-$(CONFIG_IA64_DIS) += ia64.o
|
||||
universal-obj-$(CONFIG_M68K_DIS) += m68k.o
|
||||
universal-obj-$(CONFIG_MICROBLAZE_DIS) += microblaze.o
|
||||
universal-obj-$(CONFIG_MIPS_DIS) += mips.o
|
||||
universal-obj-$(CONFIG_PPC_DIS) += ppc.o
|
||||
universal-obj-$(CONFIG_S390_DIS) += s390.o
|
||||
universal-obj-$(CONFIG_SH4_DIS) += sh4.o
|
||||
universal-obj-$(CONFIG_SPARC_DIS) += sparc.o
|
||||
universal-obj-$(CONFIG_LM32_DIS) += lm32.o
|
||||
common-obj-$(CONFIG_ALPHA_DIS) += alpha.o
|
||||
common-obj-$(CONFIG_ARM_DIS) += arm.o
|
||||
common-obj-$(CONFIG_CRIS_DIS) += cris.o
|
||||
common-obj-$(CONFIG_HPPA_DIS) += hppa.o
|
||||
common-obj-$(CONFIG_I386_DIS) += i386.o
|
||||
common-obj-$(CONFIG_IA64_DIS) += ia64.o
|
||||
common-obj-$(CONFIG_M68K_DIS) += m68k.o
|
||||
common-obj-$(CONFIG_MICROBLAZE_DIS) += microblaze.o
|
||||
common-obj-$(CONFIG_MIPS_DIS) += mips.o
|
||||
common-obj-$(CONFIG_PPC_DIS) += ppc.o
|
||||
common-obj-$(CONFIG_S390_DIS) += s390.o
|
||||
common-obj-$(CONFIG_SH4_DIS) += sh4.o
|
||||
common-obj-$(CONFIG_SPARC_DIS) += sparc.o
|
||||
common-obj-$(CONFIG_LM32_DIS) += lm32.o
|
||||
|
||||
# TODO: As long as the TCG interpreter and its generated code depend
|
||||
# on the QEMU target, we cannot compile the disassembler here.
|
||||
#universal-obj-$(CONFIG_TCI_DIS) += tci.o
|
||||
#common-obj-$(CONFIG_TCI_DIS) += tci.o
|
||||
|
@ -1,9 +1,10 @@
|
||||
# core qdev-related obj files, also used by *-user:
|
||||
universal-obj-y += qdev.o qdev-properties.o
|
||||
common-obj-y += qdev.o qdev-properties.o
|
||||
# irq.o needed for qdev GPIO handling:
|
||||
universal-obj-y += irq.o
|
||||
common-obj-y += irq.o
|
||||
|
||||
common-obj-y = usb/ ide/ pci/
|
||||
ifeq ($(CONFIG_SOFTMMU),y)
|
||||
common-obj-y += usb/ ide/ pci/
|
||||
common-obj-y += loader.o
|
||||
common-obj-$(CONFIG_VIRTIO) += virtio-console.o
|
||||
common-obj-$(CONFIG_VIRTIO) += virtio-rng.o
|
||||
@ -217,3 +218,4 @@ obj-$(CONFIG_LINUX) += vfio_pci.o
|
||||
endif
|
||||
|
||||
$(obj)/baum.o: QEMU_CFLAGS += $(SDL_CFLAGS)
|
||||
endif
|
||||
|
@ -1,2 +1,2 @@
|
||||
universal-obj-y = object.o container.o qom-qobject.o
|
||||
universal-obj-y += cpu.o
|
||||
common-obj-y = object.o container.o qom-qobject.o
|
||||
common-obj-y += cpu.o
|
||||
|
Loading…
Reference in New Issue
Block a user