aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorSam Ravnborg <sam@mars.ravnborg.org>2004-08-10 00:01:02 +0200
committerSam Ravnborg <sam@mars.ravnborg.org>2004-08-10 00:01:02 +0200
commit94869f86021d8d3e785e2222d151fb4b98d2ae2a (patch)
tree481c1bb7ce493b2e65131210ac4c2e1808ef8fa8 /scripts
parentcb4f38e1a55c8af15306261a99fc2be1be27d421 (diff)
downloadhistory-94869f86021d8d3e785e2222d151fb4b98d2ae2a.tar.gz
kbuild: Accept absolute paths in clean-files and introduce clean-dirs
Teach kbuild to accept absolute paths in clean-files. This avoids using clean-rules in several places. Introduced clean-dirs to delete complete directories. Kept clean-rule - but do not print anything when used. Cleaned up a few places now the infrastructure are improved. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.clean30
-rw-r--r--scripts/package/Makefile6
2 files changed, 25 insertions, 11 deletions
diff --git a/scripts/Makefile.clean b/scripts/Makefile.clean
index 7277dd208ead79..1daba06231517e 100644
--- a/scripts/Makefile.clean
+++ b/scripts/Makefile.clean
@@ -29,21 +29,35 @@ subdir-ymn := $(sort $(subdir-ym) $(subdir-n) $(subdir-))
# Add subdir path
subdir-ymn := $(addprefix $(obj)/,$(subdir-ymn))
-__clean-files := $(wildcard $(addprefix $(obj)/, \
- $(extra-y) $(EXTRA_TARGETS) $(always) $(host-progs) \
- $(targets) $(clean-files)))
+__clean-files := $(extra-y) $(EXTRA_TARGETS) $(always) $(host-progs) \
+ $(targets) $(clean-files)
+__clean-files := $(wildcard \
+ $(addprefix $(obj)/, $(filter-out /%, $(__clean-files))) \
+ $(filter /%, $(__clean-files)))
+__clean-dirs := $(wildcard \
+ $(addprefix $(obj)/, $(filter-out /%, $(clean-dirs))) \
+ $(filter /%, $(clean-dirs)))
# ==========================================================================
-quiet_cmd_clean = CLEAN $(obj)
- cmd_clean = rm -f $(__clean-files); $(clean-rule)
+quiet_cmd_clean = CLEAN $(obj)
+ cmd_clean = rm -f $(__clean-files)
+quiet_cmd_cleandir = CLEAN $(__clean-dirs)
+ cmd_cleandir = rm -rf $(__clean-dirs)
+
__clean: $(subdir-ymn)
-ifneq ($(strip $(__clean-files) $(clean-rule)),)
+ifneq ($(strip $(__clean-files)),)
+$(call cmd,clean)
-else
- @:
endif
+ifneq ($(strip $(__clean-dirs)),)
+ +$(call cmd,cleandir)
+endif
+ifneq ($(strip $(clean-rule)),)
+ +$(clean-rule)
+endif
+ @:
+
# ===========================================================================
# Generic stuff
diff --git a/scripts/package/Makefile b/scripts/package/Makefile
index 48f89e17a3cf5e..3b1f2eff258448 100644
--- a/scripts/package/Makefile
+++ b/scripts/package/Makefile
@@ -51,7 +51,7 @@ rpm-pkg rpm: $(objtree)/kernel.spec
$(RPM) --target $(UTS_MACHINE) -ta ../$(KERNELPATH).tar.gz
rm ../$(KERNELPATH).tar.gz
-clean-rule += rm -f $(objtree)/kernel.spec
+clean-files := $(objtree)/kernel.spec
# binrpm-pkg
.PHONY: binrpm-pkg
@@ -67,7 +67,7 @@ binrpm-pkg: $(objtree)/binkernel.spec
$(RPM) --define "_builddir $(srctree)" --target $(UTS_MACHINE) -bb $<
-clean-rule += rm -f $(objtree)/binkernel.spec
+clean-files += $(objtree)/binkernel.spec
# Deb target
# ---------------------------------------------------------------------------
@@ -77,7 +77,7 @@ deb-pkg:
$(MAKE)
$(CONFIG_SHELL) $(srctree)/scripts/package/builddeb
-clean-rule += && rm -rf $(objtree)/debian/
+clean-dirs += $(objtree)/debian/
# Help text displayed when executing 'make help'