| From bd1ee804af8bdf2fd5131234330615f8aecbd9ed Mon Sep 17 00:00:00 2001 |
| From: Pawel Moll <pawel.moll@arm.com> |
| Date: Mon, 29 Oct 2012 11:23:02 +0000 |
| Subject: kbuild: Do not remove vmlinux when cleaning external module |
| |
| From: Pawel Moll <pawel.moll@arm.com> |
| |
| commit bd1ee804af8bdf2fd5131234330615f8aecbd9ed upstream. |
| |
| 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> |
| Signed-off-by: Michal Marek <mmarek@suse.cz> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| Makefile | 8 +++++--- |
| 1 file changed, 5 insertions(+), 3 deletions(-) |
| |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -1021,11 +1021,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 |
| # |
| @@ -1252,7 +1255,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) \ |