From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WirxY-0006G6-Am for qemu-devel@nongnu.org; Fri, 09 May 2014 17:04:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WirxS-0005bJ-Vo for qemu-devel@nongnu.org; Fri, 09 May 2014 17:04:00 -0400 Received: from mail-ee0-x234.google.com ([2a00:1450:4013:c00::234]:45897) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WirxS-0005bA-OT for qemu-devel@nongnu.org; Fri, 09 May 2014 17:03:54 -0400 Received: by mail-ee0-f52.google.com with SMTP id e53so2997780eek.39 for ; Fri, 09 May 2014 14:03:53 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Fri, 9 May 2014 23:03:36 +0200 Message-Id: <1399669424-29676-3-git-send-email-pbonzini@redhat.com> In-Reply-To: <1399669424-29676-1-git-send-email-pbonzini@redhat.com> References: <1399669424-29676-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PULL 02/10] build: simplify Makefile.target a bit, use just one rule for softmmu List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mjt@tls.msk.ru From: Michael Tokarev 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 [Fix user-mode compilation. - Paolo] Signed-off-by: Paolo Bonzini --- 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