Skip to contentSkip to conversation

core: distclean is a noconfig target

PATCH New Yann E. MORIN 2 participants 2 messages Sep 11, 2016 – Sep 17, 2016 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 core: distclean is a noconfig target

When the .config contains invalid configuration *(e.g. two providers for a same virtual package), it is not possible to run "make distclean" because the .config file is sourced and packages interpreted in this case.

Add distclean to the noconfig list, so that we can run it in all cases.

However, this meand that DL_DIR is no longer set, and thus the default download location never removed. We fix that by always removing the download location, so that if it is the one configured we still remove it (no change) and if it is not the one configured, we remove an non-existing location and leave the user's location intact (no change either).

Cc Thomas Petazzoni <[email protected]>

---
Changes v1 -> v2:
- don't forget to remove the default download location (Thomas)
- typoes (Thomas)

---
 Makefile | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
Makefile +2 -5
index dfef021..92feff3 100644
@@ -86,7 +86,7 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo
 noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
 	defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \
 	randpackageconfig allyespackageconfig allnopackageconfig \
-	print-version olddefconfig
+	print-version olddefconfig distclean
 
 # Some global targets do not trigger a build, but are used to collect
 # metadata, or do various checks. When such targets are triggered,
@@ -905,13 +905,10 @@ clean:
 		$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
 
 distclean: clean
-ifeq ($(DL_DIR),$(TOPDIR)/dl)
-	rm -rf $(DL_DIR)
-endif
 ifeq ($(O),output)
 	rm -rf $(O)
 endif
-	rm -rf $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \
+	rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \
 		$(CONFIG_DIR)/.auto.deps $(BR2_EXTERNAL_FILE)
 
 help:
Signature · 1 line
2.7.4
#1 lore raw

PATCH v2 1/1 core: distclean is a noconfig target

Hello,

Quoted 17 lines · Yann E. MORIN

When the .config contains invalid configuration *(e.g. two providers for a same virtual package), it is not possible to run "make distclean" because the .config file is sourced and packages interpreted in this case.

Add distclean to the noconfig list, so that we can run it in all cases.

However, this meand that DL_DIR is no longer set, and thus the default download location never removed. We fix that by always removing the download location, so that if it is the one configured we still remove it (no change) and if it is not the one configured, we remove an non-existing location and leave the user's location intact (no change either).

Cc Thomas Petazzoni <[email protected]>
Quoted 7 lines

---
Changes v1 -> v2:
- don't forget to remove the default download location (Thomas)
- typoes (Thomas)

---
 Makefile | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com