summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-11-20 14:05:48 +0100
committerPeter Korsgaard <jacmet@sunsite.dk>2009-11-20 14:34:04 +0100
commit406053d5dc2e44b908ce77404c2750ef8b45dc11 (patch)
tree9f773511b103ac363536aac282aa9f7c3a4a673f
parent83182dd28edfccd0cbfffd48f2bdfabc5939aedf (diff)
Makefile: cleanup *clean targets
As discussed on the list, fixup the *clean targets, so we now have: clean: remove all generated files (E.G. everything in output/) distclean: same as clean, but also remove the kconfig build and .config Also tweak 'make help' output to match. This also merges the two different clean / distclean targets we had depending on if there was a .config present or not (most variables are not defined for !.config case, so E.G. the clean target ends up being a noop). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--CHANGES5
-rw-r--r--Makefile41
2 files changed, 19 insertions, 27 deletions
diff --git a/CHANGES b/CHANGES
index 1da84d8a3..c46b1296e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,10 @@
2009.11, Not yet released:
+ Fixed *clean targets. Now clean removes everything generated,
+ so you can do a fresh rebuild. Distclean furthermore removes
+ kbuild tools and .config, bringing the source tree back in a
+ pristine state.
+
Toolchain: ARM cortex A8 support, GCC 4.4.2.
New packages: divine, gvfs, libarchive, libmicrohttpd,
diff --git a/Makefile b/Makefile
index bbd49d415..018cf6ded 100644
--- a/Makefile
+++ b/Makefile
@@ -338,7 +338,7 @@ $(BASE_TARGETS): dirs
world: dependencies dirs $(BASE_TARGETS) $(TARGETS_ALL)
-.PHONY: all world dirs clean dirclean distclean source \
+.PHONY: all world dirs clean distclean source \
$(BASE_TARGETS) $(TARGETS) $(TARGETS_ALL) \
$(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
$(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
@@ -439,25 +439,6 @@ external-deps:
@$(MAKE) -Bs BR2_WGET=$(TOPDIR)/toolchain/wget-show-external-deps.sh \
SPIDER=--spider source
-#############################################################
-#
-# Cleanup and misc junk
-#
-#############################################################
-clean: $(TARGETS_CLEAN)
- rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(BUILD_DIR)/.root $(STAMP_DIR)
-
-dirclean: $(TARGETS_DIRCLEAN)
- rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(BUILD_DIR)/.root $(STAMP_DIR)
-
-distclean:
-ifeq ($(DL_DIR),$(TOPDIR)/dl)
- rm -rf $(DL_DIR)
-endif
- rm -rf $(TOOLCHAIN_DIR) $(BUILD_DIR) $(BINARIES_DIR) \
- .config.cmd
- $(MAKE) -C $(CONFIG) clean
-
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
all: menuconfig
@@ -573,20 +554,26 @@ defconfig: $(CONFIG)/conf
source-check: allyesconfig
$(MAKE) _source-check
+endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
+
#############################################################
#
# Cleanup and misc junk
#
#############################################################
clean:
- rm -f .config .config.old .config.cmd .tmpconfig.h .lognr.*
- -$(MAKE) -C $(CONFIG) clean
+ rm -rf $(STAGING_DIR) $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
+ $(STAMP_DIR) $(BUILD_DIR) $(TOOLCHAIN_DIR)
distclean: clean
- rm -rf sources/*
-
-
-endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
+ifeq ($(DL_DIR),$(TOPDIR)/dl)
+ rm -rf $(DL_DIR)
+endif
+ifeq ($(O),output)
+ rm -rf $(O)
+endif
+ rm -rf .config .config.old .config.cmd .auto.deps
+ -$(MAKE) -C $(CONFIG) clean
flush:
rm -f $(BUILD_DIR)/tgt-config.cache
@@ -603,7 +590,7 @@ cross: $(BASE_TARGETS)
help:
@echo 'Cleaning:'
- @echo ' clean - delete temporary files created by build'
+ @echo ' clean - delete all files created by build'
@echo ' distclean - delete all non-source files (including .config)'
@echo
@echo 'Build:'