diff mbox

kbuild: Do not remove vmlinux when cleaning external module

Message ID 1351509782-12462-1-git-send-email-pawel.moll@arm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Pawel Moll Oct. 29, 2012, 11:23 a.m. UTC
Since commit 1f2bfbd00e466ff3489b2ca5cc75b1cccd14c123 "kbuild:
link of vmlinux moved to a script" make clean with M=<dir>
argument (so cleaning external module) removes vmlinux,
System.map and couple of other files from the *main* kernel
build directory! This not what was happening before and almost
certainly not what one would expect.

This patch moves makes the clean target of the script called
only when !KBUILD_EXTMOD.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
---
 Makefile |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Romain Francoise Nov. 10, 2012, 12:59 p.m. UTC | #1
Pawel Moll <pawel.moll@arm.com> writes:

> Since commit 1f2bfbd00e466ff3489b2ca5cc75b1cccd14c123 "kbuild:
> link of vmlinux moved to a script" make clean with M=<dir>
> argument (so cleaning external module) removes vmlinux,
> System.map and couple of other files from the *main* kernel
> build directory! This not what was happening before and almost
> certainly not what one would expect.

> This patch moves makes the clean target of the script called
> only when !KBUILD_EXTMOD.

Thanks, I have the same problem and this patch fixes it.

Michal, can you pick it up? It's not yet in kbuild.git, it seems.
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michal Marek Dec. 9, 2012, 3:04 p.m. UTC | #2
On Sat, Nov 10, 2012 at 01:59:21PM +0100, Romain Francoise wrote:
> Pawel Moll <pawel.moll@arm.com> writes:
> 
> > Since commit 1f2bfbd00e466ff3489b2ca5cc75b1cccd14c123 "kbuild:
> > link of vmlinux moved to a script" make clean with M=<dir>
> > argument (so cleaning external module) removes vmlinux,
> > System.map and couple of other files from the *main* kernel
> > build directory! This not what was happening before and almost
> > certainly not what one would expect.
> 
> > This patch moves makes the clean target of the script called
> > only when !KBUILD_EXTMOD.
> 
> Thanks, I have the same problem and this patch fixes it.
> 
> Michal, can you pick it up? It's not yet in kbuild.git, it seems.

Sorry for the delay. I applied it to kbuild.git#kbuild now, with

Cc: stable@vger.kernel.org [v3.5+]

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 5be2ee8..fa16e12 100644
--- a/Makefile
+++ b/Makefile
@@ -1008,11 +1008,14 @@  clean: rm-dirs  := $(CLEAN_DIRS)
 clean: rm-files := $(CLEAN_FILES)
 clean-dirs      := $(addprefix _clean_, . $(vmlinux-alldirs) Documentation samples)
 
-PHONY += $(clean-dirs) clean archclean
+PHONY += $(clean-dirs) clean archclean vmlinuxclean
 $(clean-dirs):
 	$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
 
-clean: archclean
+vmlinuxclean:
+	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
+
+clean: archclean vmlinuxclean
 
 # mrproper - Delete all generated files, including .config
 #
@@ -1239,7 +1242,6 @@  scripts: ;
 endif # KBUILD_EXTMOD
 
 clean: $(clean-dirs)
-	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
 	$(call cmd,rmdirs)
 	$(call cmd,rmfiles)
 	@find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \