summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2018-11-02 06:19:12 (GMT)
committerAlexey Neyman <stilor@att.net>2018-11-02 06:19:12 (GMT)
commitd72f065e71931c7f95f08e394d320b235b523ee4 (patch)
tree5149e00fc73f66346e04beab16730e27f10348d0
parent5958d54350a7ab4543db6a0c7627e35089a43b93 (diff)
Check if .config is a regular file before clobbering it
Fixes #1014. Signed-off-by: Alexey Neyman <stilor@att.net>
-rw-r--r--ct-ng.in15
-rw-r--r--samples/samples.mk2
2 files changed, 10 insertions, 7 deletions
diff --git a/ct-ng.in b/ct-ng.in
index 5a5bb33..2512958 100644
--- a/ct-ng.in
+++ b/ct-ng.in
@@ -101,26 +101,29 @@ NCONF := $(CT_LIBEXEC_DIR)/nconf
# TBD needed? We do supply the defconfig name explicitly below
export srctree=$(CT_LIB_DIR)
-.PHONY: menuconfig nconfig oldconfig savedefconfig defconfig
+.PHONY: menuconfig nconfig oldconfig savedefconfig defconfig check-config
-menuconfig:
+check-config:
+ @[ ! -e .config -o -f .config ] || { echo ".config is not a regular file:"; ls -dl .config; exit 1; } >&2
+
+menuconfig: check-config
@$(CT_ECHO) " CONF $@"
$(SILENT)$(MCONF) $(KCONFIG_TOP)
-nconfig:
+nconfig: check-config
@$(CT_ECHO) " CONF $@"
$(SILENT)$(NCONF) $(KCONFIG_TOP)
-oldconfig: .config
+oldconfig: .config check-config
@$(CT_ECHO) " CONF $@"
$(SILENT)$(sed) -i -r -f $(CT_LIB_DIR)/scripts/upgrade.sed $<
$(SILENT)$(CONF) --silent$@ $(KCONFIG_TOP)
-savedefconfig: .config
+savedefconfig: .config check-config
@$(CT_ECHO) ' GEN $@'
$(SILENT)$(CONF) --savedefconfig=$${DEFCONFIG-defconfig} $(KCONFIG_TOP)
-defconfig:
+defconfig: check-config
@$(CT_ECHO) ' CONF $@'
$(SILENT)$(CONF) --defconfig=$${DEFCONFIG-defconfig} $(KCONFIG_TOP)
diff --git a/samples/samples.mk b/samples/samples.mk
index 7b356dd..13f8779 100644
--- a/samples/samples.mk
+++ b/samples/samples.mk
@@ -130,7 +130,7 @@ endef
# How we do recall one sample
PHONY += $(CT_SAMPLES)
-$(CT_SAMPLES):
+$(CT_SAMPLES): check-config
@$(CT_ECHO) " CONF $@"
$(SILENT)$(CONF) --defconfig=$(call sample_dir,$@)/crosstool.config $(KCONFIG_TOP)
@echo