summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorPatrick Georgi <patrick@georgi-clan.de>2013-02-09 15:45:02 +0100
committerPatrick Georgi <patrick@georgi-clan.de>2013-02-12 08:18:43 +0100
commit02ae0bf8feb554ab408a9129fd9fffd1dc4cf6aa (patch)
tree26c7a9af260826a524388d47005020af083990f2 /Makefile
parent9a0001623839d62d50a59060d0b653df006653d1 (diff)
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> Reviewed-on: http://review.coreboot.org/2338 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile11
1 files changed, 4 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 5147c6f983..92b4d0be82 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-for-update clean-cscope cscope distclean doxygen doxy .xcompile