summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorPawel Moll <pawel.moll@arm.com>2012-10-29 11:23:02 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-17 08:46:08 -0800
commita77af8b6ec02d86956f5252fc37f1d9af5a93b7d (patch)
tree50b20d802323a70769608422104ce7f6a46c736d /Makefile
parentbf2c3394c626762602993707f728fdb07ba1ca4f (diff)
downloadlwn-a77af8b6ec02d86956f5252fc37f1d9af5a93b7d.tar.gz
lwn-a77af8b6ec02d86956f5252fc37f1d9af5a93b7d.zip
kbuild: Do not remove vmlinux when cleaning external module
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>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile8
1 files changed, 5 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 23807aa12d83..9193e42b8551 100644
--- 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) \