diff options
author | Patrick Georgi <patrick@georgi-clan.de> | 2013-02-09 15:45:02 +0100 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2013-02-12 08:18:43 +0100 |
commit | 02ae0bf8feb554ab408a9129fd9fffd1dc4cf6aa (patch) | |
tree | 26c7a9af260826a524388d47005020af083990f2 | |
parent | 9a0001623839d62d50a59060d0b653df006653d1 (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>
-rw-r--r-- | Makefile | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -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 |