kbuild: fix bugs in cleaning targets
"make clean", "make clobber", "make mrproper" and "make distclean"
missed to clean-up some files when they were run with
O=<some_dir> option.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reported-by: Wolfgang Denk <wd@denx.de>
diff --git a/Makefile b/Makefile
index 341f336..e5f5a8c 100644
--- a/Makefile
+++ b/Makefile
@@ -1173,7 +1173,7 @@
clean: rm-dirs := $(CLEAN_DIRS)
clean: rm-files := $(CLEAN_FILES)
-clean-dirs := $(foreach f,$(u-boot-alldirs),$(if $(wildcard $f/Makefile),$f))
+clean-dirs := $(foreach f,$(u-boot-alldirs),$(if $(wildcard $(srctree)/$f/Makefile),$f))
clean-dirs := $(addprefix _clean_, $(clean-dirs) doc/DocBook)
diff --git a/dts/Makefile b/dts/Makefile
index 9907463f..e59550c 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -44,4 +44,4 @@
clean-files := dt.dtb.S
# Let clean descend into dts directories
-subdir- += ../arch/*/dts
+subdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/sandbox/dts ../arch/x86/dts
diff --git a/scripts/Makefile.clean b/scripts/Makefile.clean
index 5cd0f51..d6dcd47 100644
--- a/scripts/Makefile.clean
+++ b/scripts/Makefile.clean
@@ -39,7 +39,8 @@
# Temporal work-around for U-Boot
-subdir-ymn := $(foreach f, $(subdir-ymn), $(if $(wildcard $f/Makefile),$f))
+subdir-ymn := $(foreach f, $(subdir-ymn), \
+ $(if $(wildcard $(srctree)/$f/Makefile),$f))
# build a list of files to remove, usually relative to the current
# directory