summaryrefslogtreecommitdiff
path: root/ct-ng.in
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 /ct-ng.in
parent5958d54350a7ab4543db6a0c7627e35089a43b93 (diff)
Check if .config is a regular file before clobbering it
Fixes #1014. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'ct-ng.in')
-rw-r--r--ct-ng.in15
1 files changed, 9 insertions, 6 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)