xtensa: fix parallel make
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 17 Sep 2012 01:44:49 +0000 (05:44 +0400)
committerChris Zankel <chris@zankel.net>
Wed, 3 Oct 2012 22:12:29 +0000 (15:12 -0700)
Make vmlinux.tmp and vmlinux.tmp.gz separate build targets, avoid
removing vmlinux.tmp during vmlinux.tmp.gz build.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
arch/xtensa/boot/boot-elf/Makefile
arch/xtensa/boot/boot-redboot/Makefile

index 08e8814f8c713b720ce4a824263f3efcba07dcc9..4bbc26f797f16b6ff0238b65001e3b0506c3f61e 100644 (file)
@@ -20,9 +20,11 @@ boot-y               := bootstrap.o
 
 OBJS           := $(addprefix $(obj)/,$(boot-y))
 
-Image: vmlinux $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
+vmlinux.tmp: vmlinux
        $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
-               vmlinux vmlinux.tmp
+               $^ $@
+
+Image: vmlinux.tmp $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
        $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
                --add-section image=vmlinux.tmp \
                --set-section-flags image=contents,alloc,load,load,data \
@@ -30,7 +32,6 @@ Image:        vmlinux $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
        $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
                -T arch/$(ARCH)/boot/boot-elf/boot.lds \
                -o arch/$(ARCH)/boot/$@.elf $@.tmp
-       rm -f $@.tmp vmlinux.tmp
 
 Image.initrd:  vmlinux $(OBJS)
        $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
@@ -44,7 +45,7 @@ Image.initrd: vmlinux $(OBJS)
        $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
                -T $(srctree)/arch/$(ARCH)/boot/boot-elf/boot.ld \
                -o arch/$(ARCH)/boot/$@.elf $@.tmp
-       rm -f $@.tmp vmlinux.tmp
+#rm -f $@.tmp vmlinux.tmp
 
 
 zImage:        Image
index 872029b84435eb561ec97fd125ddb8ad51fbab07..25a78c6b153002b9a5486a4cd3a4628b217b2f81 100644 (file)
@@ -21,15 +21,17 @@ LIBS        := arch/xtensa/boot/lib/lib.a arch/xtensa/lib/lib.a
 
 LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
 
-zImage: vmlinux $(OBJS) $(LIBS)
+vmlinux.tmp: vmlinux
        $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
-               vmlinux vmlinux.tmp
-       gzip -vf9 vmlinux.tmp
+               $^ $@
+
+vmlinux.tmp.gz: vmlinux.tmp
+       $(GZIP) $(GZIP_FLAGS) $^ > $@
+
+zImage: vmlinux.tmp.gz $(OBJS) $(LIBS)
        $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
                --add-section image=vmlinux.tmp.gz \
                --set-section-flags image=contents,alloc,load,load,data \
                $(OBJS) $@.tmp
        $(LD) $(LD_ARGS) -o $@.elf $@.tmp $(LIBS) -L/xtensa-elf/lib $(LIBGCC)
        $(OBJCOPY) -S -O binary $@.elf arch/$(ARCH)/boot/$@.redboot
-       rm -f $@.tmp $@.elf vmlinux.tmp.gz
-