Patchwork Fix tarbin Makefile rule

login
register
mail settings
Submitter Stuart Brady
Date May 12, 2010, 7:42 p.m.
Message ID <20100512194204.GA9273@zubnet.me.uk>
Download mbox | patch
Permalink /patch/52451/
State New
Headers show

Comments

Stuart Brady - May 12, 2010, 7:42 p.m.
The 'tarbin' Makefile rule doesn't include qemu-system-sparc64, but
should do, now that sparc64-softmmu is in the default target list.

The rule attempts to tar up binaries that were not built if a target
list was passed to the configure script -- in which case, it will
either fail, or otherwise include binaries from previous builds.

Fix both problems once and for all by building a list of binaries to
include in the tarball, using the list of targets to be built.

Signed-off-by: Stuart Brady <sdb@zubnet.me.uk>
---
Blue Swirl - May 22, 2010, 9:28 a.m.
Thanks, applied.

On Wed, May 12, 2010 at 7:42 PM, Stuart Brady <sdb@zubnet.me.uk> wrote:
> The 'tarbin' Makefile rule doesn't include qemu-system-sparc64, but
> should do, now that sparc64-softmmu is in the default target list.
>
> The rule attempts to tar up binaries that were not built if a target
> list was passed to the configure script -- in which case, it will
> either fail, or otherwise include binaries from previous builds.
>
> Fix both problems once and for all by building a list of binaries to
> include in the tarball, using the list of targets to be built.
>
> Signed-off-by: Stuart Brady <sdb@zubnet.me.uk>
> ---
> diff --git a/Makefile b/Makefile
> index eb9e02b..25c825c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -298,43 +298,22 @@ tar:
>        cd /tmp && tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS --exclude .git --exclude .svn
>        rm -rf /tmp/$(FILE)
>
> +SYSTEM_TARGETS=$(filter %-softmmu,$(TARGET_DIRS))
> +SYSTEM_PROGS=$(patsubst qemu-system-i386,qemu, \
> +             $(patsubst %-softmmu,qemu-system-%, \
> +             $(SYSTEM_TARGETS)))
> +
> +USER_TARGETS=$(filter %-user,$(TARGET_DIRS))
> +USER_PROGS=$(patsubst %-bsd-user,qemu-%, \
> +           $(patsubst %-darwin-user,qemu-%, \
> +           $(patsubst %-linux-user,qemu-%, \
> +           $(USER_TARGETS))))
> +
>  # generate a binary distribution
>  tarbin:
>        cd / && tar zcvf ~/qemu-$(VERSION)-$(ARCH).tar.gz \
> -       $(bindir)/qemu \
> -       $(bindir)/qemu-system-x86_64 \
> -       $(bindir)/qemu-system-arm \
> -       $(bindir)/qemu-system-cris \
> -       $(bindir)/qemu-system-m68k \
> -       $(bindir)/qemu-system-microblaze \
> -       $(bindir)/qemu-system-mips \
> -       $(bindir)/qemu-system-mipsel \
> -       $(bindir)/qemu-system-mips64 \
> -       $(bindir)/qemu-system-mips64el \
> -       $(bindir)/qemu-system-ppc \
> -       $(bindir)/qemu-system-ppcemb \
> -       $(bindir)/qemu-system-ppc64 \
> -       $(bindir)/qemu-system-sh4 \
> -       $(bindir)/qemu-system-sh4eb \
> -       $(bindir)/qemu-system-sparc \
> -       $(bindir)/qemu-i386 \
> -       $(bindir)/qemu-x86_64 \
> -       $(bindir)/qemu-alpha \
> -       $(bindir)/qemu-arm \
> -       $(bindir)/qemu-armeb \
> -       $(bindir)/qemu-cris \
> -       $(bindir)/qemu-m68k \
> -       $(bindir)/qemu-microblaze \
> -       $(bindir)/qemu-mips \
> -       $(bindir)/qemu-mipsel \
> -       $(bindir)/qemu-ppc \
> -       $(bindir)/qemu-ppc64 \
> -       $(bindir)/qemu-ppc64abi32 \
> -       $(bindir)/qemu-sh4 \
> -       $(bindir)/qemu-sh4eb \
> -       $(bindir)/qemu-sparc \
> -       $(bindir)/qemu-sparc64 \
> -       $(bindir)/qemu-sparc32plus \
> +       $(patsubst %,$(bindir)/%, $(SYSTEM_PROGS)) \
> +       $(patsubst %,$(bindir)/%, $(USER_PROGS)) \
>        $(bindir)/qemu-img \
>        $(bindir)/qemu-nbd \
>        $(datadir)/bios.bin \
>
>
>

Patch

diff --git a/Makefile b/Makefile
index eb9e02b..25c825c 100644
--- a/Makefile
+++ b/Makefile
@@ -298,43 +298,22 @@  tar:
 	cd /tmp && tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS --exclude .git --exclude .svn
 	rm -rf /tmp/$(FILE)
 
+SYSTEM_TARGETS=$(filter %-softmmu,$(TARGET_DIRS))
+SYSTEM_PROGS=$(patsubst qemu-system-i386,qemu, \
+             $(patsubst %-softmmu,qemu-system-%, \
+             $(SYSTEM_TARGETS)))
+
+USER_TARGETS=$(filter %-user,$(TARGET_DIRS))
+USER_PROGS=$(patsubst %-bsd-user,qemu-%, \
+           $(patsubst %-darwin-user,qemu-%, \
+           $(patsubst %-linux-user,qemu-%, \
+           $(USER_TARGETS))))
+
 # generate a binary distribution
 tarbin:
 	cd / && tar zcvf ~/qemu-$(VERSION)-$(ARCH).tar.gz \
-	$(bindir)/qemu \
-	$(bindir)/qemu-system-x86_64 \
-	$(bindir)/qemu-system-arm \
-	$(bindir)/qemu-system-cris \
-	$(bindir)/qemu-system-m68k \
-	$(bindir)/qemu-system-microblaze \
-	$(bindir)/qemu-system-mips \
-	$(bindir)/qemu-system-mipsel \
-	$(bindir)/qemu-system-mips64 \
-	$(bindir)/qemu-system-mips64el \
-	$(bindir)/qemu-system-ppc \
-	$(bindir)/qemu-system-ppcemb \
-	$(bindir)/qemu-system-ppc64 \
-	$(bindir)/qemu-system-sh4 \
-	$(bindir)/qemu-system-sh4eb \
-	$(bindir)/qemu-system-sparc \
-	$(bindir)/qemu-i386 \
-	$(bindir)/qemu-x86_64 \
-	$(bindir)/qemu-alpha \
-	$(bindir)/qemu-arm \
-	$(bindir)/qemu-armeb \
-	$(bindir)/qemu-cris \
-	$(bindir)/qemu-m68k \
-	$(bindir)/qemu-microblaze \
-	$(bindir)/qemu-mips \
-	$(bindir)/qemu-mipsel \
-	$(bindir)/qemu-ppc \
-	$(bindir)/qemu-ppc64 \
-	$(bindir)/qemu-ppc64abi32 \
-	$(bindir)/qemu-sh4 \
-	$(bindir)/qemu-sh4eb \
-	$(bindir)/qemu-sparc \
-	$(bindir)/qemu-sparc64 \
-	$(bindir)/qemu-sparc32plus \
+	$(patsubst %,$(bindir)/%, $(SYSTEM_PROGS)) \
+	$(patsubst %,$(bindir)/%, $(USER_PROGS)) \
 	$(bindir)/qemu-img \
 	$(bindir)/qemu-nbd \
 	$(datadir)/bios.bin \