build: simplify Makefile.target a bit, use just one rule for softmmu
On win*, we build QEMU_PROGW (GUI) and create a console app QEMU_PROG from it, while on non-win*, we make only QEMU_PROG using the same rules as used for QEMU_PROGW on win*. Make just one rule for building main executable, and an additional rule for win* to make console app from it. Also consolidate tests for $(QEMU_PROGW). Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> [Fix user-mode compilation. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
5a8b231e7e
commit
5c40c7395d
@ -16,19 +16,22 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/include
|
|||||||
ifdef CONFIG_USER_ONLY
|
ifdef CONFIG_USER_ONLY
|
||||||
# user emulator name
|
# user emulator name
|
||||||
QEMU_PROG=qemu-$(TARGET_NAME)
|
QEMU_PROG=qemu-$(TARGET_NAME)
|
||||||
|
QEMU_PROG_BUILD = $(QEMU_PROG)
|
||||||
else
|
else
|
||||||
# system emulator name
|
# system emulator name
|
||||||
|
QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF)
|
||||||
ifneq (,$(findstring -mwindows,$(libs_softmmu)))
|
ifneq (,$(findstring -mwindows,$(libs_softmmu)))
|
||||||
# Terminate program name with a 'w' because the linker builds a windows executable.
|
# Terminate program name with a 'w' because the linker builds a windows executable.
|
||||||
QEMU_PROGW=qemu-system-$(TARGET_NAME)w$(EXESUF)
|
QEMU_PROGW=qemu-system-$(TARGET_NAME)w$(EXESUF)
|
||||||
endif # windows executable
|
$(QEMU_PROG): $(QEMU_PROGW)
|
||||||
QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF)
|
$(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW) $(QEMU_PROG)," GEN $(TARGET_DIR)$(QEMU_PROG)")
|
||||||
|
QEMU_PROG_BUILD = $(QEMU_PROGW)
|
||||||
|
else
|
||||||
|
QEMU_PROG_BUILD = $(QEMU_PROG)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PROGS=$(QEMU_PROG)
|
PROGS=$(QEMU_PROG) $(QEMU_PROGW)
|
||||||
ifdef QEMU_PROGW
|
|
||||||
PROGS+=$(QEMU_PROGW)
|
|
||||||
endif
|
|
||||||
STPFILES=
|
STPFILES=
|
||||||
|
|
||||||
config-target.h: config-target.h-timestamp
|
config-target.h: config-target.h-timestamp
|
||||||
@ -164,16 +167,9 @@ ifndef CONFIG_HAIKU
|
|||||||
LIBS+=-lm
|
LIBS+=-lm
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef QEMU_PROGW
|
# build either PROG or PROGW
|
||||||
# The linker builds a windows executable. Make also a console executable.
|
$(QEMU_PROG_BUILD): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
|
||||||
$(QEMU_PROGW): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
|
|
||||||
$(call LINK,$^)
|
$(call LINK,$^)
|
||||||
$(QEMU_PROG): $(QEMU_PROGW)
|
|
||||||
$(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW) $(QEMU_PROG)," GEN $(TARGET_DIR)$(QEMU_PROG)")
|
|
||||||
else
|
|
||||||
$(QEMU_PROG): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
|
|
||||||
$(call LINK,$^)
|
|
||||||
endif
|
|
||||||
|
|
||||||
gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/scripts/feature_to_c.sh
|
gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/scripts/feature_to_c.sh
|
||||||
$(call quiet-command,rm -f $@ && $(SHELL) $(SRC_PATH)/scripts/feature_to_c.sh $@ $(TARGET_XML_FILES)," GEN $(TARGET_DIR)$@")
|
$(call quiet-command,rm -f $@ && $(SHELL) $(SRC_PATH)/scripts/feature_to_c.sh $@ $(TARGET_XML_FILES)," GEN $(TARGET_DIR)$@")
|
||||||
|
Loading…
Reference in New Issue
Block a user