[PATCH 1/2] x86/boot/build: make 'make bzlilo' not depend on vmlinux or $(obj)/bzImage

From: Masahiro Yamada
Date: Sat Feb 15 2020 - 01:40:28 EST


bzlilo is an installation target because it copies files to
$(INSTALL_PATH)/, then runs 'lilo'.

However, arch/x86/Makefile and arch/x86/boot/Makefile have it depend on
vmlinux, $(obj)/bzImage, respectively.

'make bzlilo' may update some build artifacts in the source tree.

As commit 19514fc665ff ("arm, kbuild: make "make install" not depend
on vmlinux") explained, it should not happen.

Make 'bzlilo' not depend on any build artifact.

Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---

arch/x86/Makefile | 6 +++---
arch/x86/boot/Makefile | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 94df0868804b..a034d7787b7e 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -267,7 +267,7 @@ drivers-$(CONFIG_FB) += arch/x86/video/

boot := arch/x86/boot

-BOOT_TARGETS = bzlilo bzdisk fdimage fdimage144 fdimage288 isoimage
+BOOT_TARGETS = bzdisk fdimage fdimage144 fdimage288 isoimage

PHONY += bzImage $(BOOT_TARGETS)

@@ -288,8 +288,8 @@ endif
$(BOOT_TARGETS): vmlinux
$(Q)$(MAKE) $(build)=$(boot) $@

-PHONY += install
-install:
+PHONY += install bzlilo
+install bzlilo:
$(Q)$(MAKE) $(build)=$(boot) $@

PHONY += vdso_install
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index 050164ba3def..1b37746aab82 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -144,7 +144,7 @@ isoimage: $(obj)/bzImage
$(call cmd,genimage,isoimage,$(obj)/image.iso)
@$(kecho) 'Kernel: $(obj)/image.iso is ready'

-bzlilo: $(obj)/bzImage
+bzlilo:
if [ -f $(INSTALL_PATH)/vmlinuz ]; then mv $(INSTALL_PATH)/vmlinuz $(INSTALL_PATH)/vmlinuz.old; fi
if [ -f $(INSTALL_PATH)/System.map ]; then mv $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi
cat $(obj)/bzImage > $(INSTALL_PATH)/vmlinuz
--
2.17.1