qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: mjt@tls.msk.ru
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	[thread overview]
Message-ID: <1399556198-17776-3-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1399556198-17776-1-git-send-email-pbonzini@redhat.com>

From: Michael Tokarev <mjt@tls.msk.ru>

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>
---
 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

  parent reply	other threads:[~2014-05-08 13:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-08 13:36 [Qemu-devel] [PATCH 00/10] build: pending fixes and improvements Paolo Bonzini
2014-05-08 13:36 ` [Qemu-devel] [PATCH 01/10] build: Fix per-object variables for Makefile.target Paolo Bonzini
2014-05-08 13:36 ` Paolo Bonzini [this message]
2014-05-08 13:36 ` [Qemu-devel] [PATCH 03/10] build: simplify Makefile.target around unnest-vars invocations Paolo Bonzini
2014-05-08 13:36 ` [Qemu-devel] [PATCH 04/10] Makefile: strip tools and modules too Paolo Bonzini
2014-05-08 13:36 ` [Qemu-devel] [PATCH 05/10] Makefile.target: use $(INSTALL_PROG) for installing, not $(INSTALL) Paolo Bonzini
2014-05-08 13:36 ` [Qemu-devel] [PATCH 06/10] Makefile: use $(INSTALL_LIB) for modules not $(INSTALL_PROG) Paolo Bonzini
2014-05-08 13:36 ` [Qemu-devel] [PATCH 07/10] build: add support for per-object -cflags and -libs to all rules Paolo Bonzini
2014-05-08 13:36 ` [Qemu-devel] [PATCH 08/10] build: convert some obj-specific CFLAGS to use new foo.o-cflags syntax Paolo Bonzini
2014-05-08 13:36 ` [Qemu-devel] [PATCH 09/10] build: simplify and fix fix-obj-vars Paolo Bonzini
2014-05-08 13:53   ` Michael Tokarev
2014-05-08 14:30     ` Paolo Bonzini
2014-05-08 13:36 ` [Qemu-devel] [PATCH 10/10] libcacard: remove libcacard-specific CFLAGS and LIBS from global vars Paolo Bonzini
2014-05-08 14:50   ` Michael Tokarev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1399556198-17776-3-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).