Patrick Georgi (patrick@georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2338
-gerrit
commit 0350a7ab7d101e5b27f24b23bac7aace33d7eaa6 Author: Patrick Georgi patrick@georgi-clan.de Date: Sat Feb 9 15:45:02 2013 +0100
build system: Don't run the full build system on "make clean"
When running "make clean" the build system used to parse the entire build system. Besides costing time, it prevents cleaning the tree if a blobs-board is selected but blobs are not enabled.
Instead, clean always removes all of $(obj) and .xcompile, while distclean additionally removes .config and the like.
Besides cleaning up more completely (eg. dependency files), a side effect is that this also removes $(obj)/util, if it exists (default location for build tools).
Change-Id: Ief6362460d4eb7edcb4b0a47ec76cb9a61bf3b86 Signed-off-by: Patrick Georgi patrick@georgi-clan.de --- Makefile | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/Makefile b/Makefile index 527fbcc..92b4d0b 100644 --- a/Makefile +++ b/Makefile @@ -97,10 +97,10 @@ ifeq ($(strip $(HAVE_DOTCONFIG)),) NOCOMPILE:=1 endif ifneq ($(MAKECMDGOALS),) -ifneq ($(filter %config distclean,$(MAKECMDGOALS)),) +ifneq ($(filter %config %clean,$(MAKECMDGOALS)),) NOCOMPILE:=1 endif -ifeq ($(MAKECMDGOALS), distclean) +ifeq ($(MAKECMDGOALS), %clean) NOMKDIR:=1 endif endif @@ -299,9 +299,7 @@ doxygen-clean: rm -rf $(DOXYGEN_OUTPUT_DIR)
clean-for-update: doxygen-clean clean-for-update-target - rm -f $(allobjs) .xcompile - rm -f $(DEPENDENCIES) - rmdir -p $(alldirs) 2>/dev/null >/dev/null || true + rm -rf $(obj) .xcompile
clean: clean-for-update clean-target rm -f .ccwrap @@ -309,8 +307,7 @@ clean: clean-for-update clean-target clean-cscope: rm -f cscope.out
-distclean: - rm -rf $(obj) +distclean: clean rm -f .config .config.old ..config.tmp .kconfig.d .tmpconfig* .ccwrap .xcompile
-.PHONY: $(PHONY) clean clean-cscope cscope distclean doxygen doxy .xcompile +.PHONY: $(PHONY) clean clean-for-update clean-cscope cscope distclean doxygen doxy .xcompile