[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/10] build: simplify Makefile.target a bit, use ju
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 02/10] build: simplify Makefile.target a bit, use just one rule for softmmu |
Date: |
Thu, 8 May 2014 15:36:30 +0200 |
From: Michael Tokarev <address@hidden>
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 <address@hidden>
[Fix user-mode compilation. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>
---
Makefile.target | 26 +++++++++++---------------
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index 6d8fde8..2726b74 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -16,19 +16,22 @@ QEMU_CFLAGS+=-I$(SRC_PATH)/include
ifdef CONFIG_USER_ONLY
# user emulator name
QEMU_PROG=qemu-$(TARGET_NAME)
+QEMU_PROG_BUILD = $(QEMU_PROG)
else
# system emulator name
+QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF)
ifneq (,$(findstring -mwindows,$(libs_softmmu)))
# Terminate program name with a 'w' because the linker builds a windows
executable.
QEMU_PROGW=qemu-system-$(TARGET_NAME)w$(EXESUF)
-endif # windows executable
-QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF)
+$(QEMU_PROG): $(QEMU_PROGW)
+ $(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
-
-PROGS=$(QEMU_PROG)
-ifdef QEMU_PROGW
-PROGS+=$(QEMU_PROGW)
endif
+
+PROGS=$(QEMU_PROG) $(QEMU_PROGW)
STPFILES=
config-target.h: config-target.h-timestamp
@@ -164,16 +167,9 @@ ifndef CONFIG_HAIKU
LIBS+=-lm
endif
-ifdef QEMU_PROGW
-# The linker builds a windows executable. Make also a console executable.
-$(QEMU_PROGW): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
- $(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
+# build either PROG or PROGW
+$(QEMU_PROG_BUILD): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
$(call LINK,$^)
-endif
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)$@")
--
1.8.3.1
- [Qemu-devel] [PATCH 00/10] build: pending fixes and improvements, Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 01/10] build: Fix per-object variables for Makefile.target, Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 05/10] Makefile.target: use $(INSTALL_PROG) for installing, not $(INSTALL), Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 04/10] Makefile: strip tools and modules too, Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 06/10] Makefile: use $(INSTALL_LIB) for modules not $(INSTALL_PROG), Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 03/10] build: simplify Makefile.target around unnest-vars invocations, Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 02/10] build: simplify Makefile.target a bit, use just one rule for softmmu,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 07/10] build: add support for per-object -cflags and -libs to all rules, Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 08/10] build: convert some obj-specific CFLAGS to use new foo.o-cflags syntax, Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 10/10] libcacard: remove libcacard-specific CFLAGS and LIBS from global vars, Paolo Bonzini, 2014/05/08
- [Qemu-devel] [PATCH 09/10] build: simplify and fix fix-obj-vars, Paolo Bonzini, 2014/05/08