From 26fca83a22f66e2ea0339e6b1ee1bdc628c1508b Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Wed, 11 Sep 2013 11:34:48 +0100 Subject: [PATCH] MIPS: Kbuild: Do not allow building vmlinuz when !ZBOOT When CONFIG_SYS_SUPPORTS_ZBOOT is not enabled, we will still try to build the decompressor code in arch/mips/boot/compressed as a dependency for producing the vmlinuz target and this will result in the following build failure: OBJCOPY arch/mips/boot/compressed/vmlinux.bin arch/mips/boot/compressed/decompress.c: In function 'decompress_kernel': arch/mips/boot/compressed/decompress.c:105:2: error: implicit declaration of function 'decompress' make[1]: *** [arch/mips/boot/compressed/decompress.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [vmlinuz] Error 2 This is a genuine build failure because we have no implementation for the decompress() function body since no kernel compression method defined in CONFIG_KERNEL_(GZIP,BZIP2...) has been enabled. arch/mips/Makefile already guards the install target for the "vmlinuz" binary with a proper ifdef CONFIG_SYS_SUPPORTS_ZBOOT, we now also do the same if we attempt to do a "make vmlinuz" and show that CONFIG_SYS_SUPPORTS_ZBOOT is not enabled. [ralf@linux-mips.org: Cleanup the makefile rule as suggested by James Hogan.] Signed-off-by: Florian Fainelli Reviewed-by: James Hogan Cc: linux-mips@linux-mips.org Cc: blogic@openwrt.org Cc: richard@nod.at Patchwork: https://patchwork.linux-mips.org/patch/5817/ Signed-off-by: Ralf Baechle --- arch/mips/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/mips/Makefile b/arch/mips/Makefile index f9a0c30..de300b9 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile @@ -306,10 +306,16 @@ $(boot-y): $(vmlinux-32) FORCE $(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) \ $(bootvars-y) arch/mips/boot/$@ +ifdef CONFIG_SYS_SUPPORTS_ZBOOT # boot/compressed $(bootz-y): $(vmlinux-32) FORCE $(Q)$(MAKE) $(build)=arch/mips/boot/compressed \ $(bootvars-y) 32bit-bfd=$(32bit-bfd) $@ +else +vmlinuz: FORCE + @echo ' CONFIG_SYS_SUPPORTS_ZBOOT is not enabled' + /bin/false +endif CLEAN_FILES += vmlinux.32 vmlinux.64 -- 2.7.4