diff options
-rw-r--r-- | ct-ng.comp | 3 | ||||
-rw-r--r-- | docs/ct-ng.1.in | 41 | ||||
-rw-r--r-- | kconfig/kconfig.mk | 13 |
3 files changed, 55 insertions, 2 deletions
@@ -15,13 +15,14 @@ _ct_ng () { stop_steps=$(echo "${steps}" |sed -r -e 's/(^| )/+\1/;') actions='help menuconfig oldconfig saveconfig extractconfig + defconfig olddefconfig build build. build-all build-all. wiki-samples list-samples list-samples-short list-steps show-tuple show-all show-config clean distclean updatetools tarball version' - vars="RESTART= STOP= PREFIX= V=" + vars="RESTART= STOP= PREFIX= V= DEFCONFIG=" ct_ng_opts="${samples} ${show_samples} ${build_samples} ${steps} ${start_steps} ${stop_steps} diff --git a/docs/ct-ng.1.in b/docs/ct-ng.1.in index a7885166..d6b97610 100644 --- a/docs/ct-ng.1.in +++ b/docs/ct-ng.1.in @@ -60,6 +60,47 @@ Samples can be later recalled by calling with the target tuple they represent. ." .TP +.B defconfig +Save the current configuration to a mini-defconfig file, that contains only +the strictly required symbols to reproduce the configuraiton. defconfig files +are much smaller than a complete .config, so it is easy to send by mail. As +only non-default symbols are present in a defconfig, it easy to spot the +meaningfull values. Also, it is easy to use defconfig files with newer +versions of +.BR crosstool-NG . +By default the mini-defconfig is saved to a file named +.IR defconfig , +unless the variable +.B $DEFCONFIG +is set, in which case the mini-defconfig will be saved to the file referenced +by +.BR $DEFCONFIG . + +Note: only the +.I .config +file for +.B crosstool-NG +is saved. Config files for the components are +.B not +saved. Use +.B saveconfig +for that +." +.TP +.B olddefconfig +Configure +.B crosstool-NG +using a mini-defconfig file (previously saved with +.B defconfig +or manually edited). The default mini-defconfig is rad from the file +.IR defconfig , +unless the vraiable +.B $DEFCONFIG +is set, inwhich case the mini-defconfig will be read from the file referenced +by +.B $DEFCONFIG +." +.TP .B build Builds the configured toolchain. ." diff --git a/kconfig/kconfig.mk b/kconfig/kconfig.mk index 8748287c..4cacf737 100644 --- a/kconfig/kconfig.mk +++ b/kconfig/kconfig.mk @@ -5,7 +5,7 @@ #----------------------------------------------------------- # The configurators rules -configurators = menuconfig nconfig oldconfig +configurators = menuconfig nconfig oldconfig defconfig olddefconfig PHONY += $(configurators) $(configurators): config_files @@ -27,6 +27,14 @@ oldconfig: .config @$(ECHO) " CONF $(KCONFIG_TOP)" $(SILENT)$(CONF) --silent$@ $(KCONFIG_TOP) +defconfig: .config + @$(ECHO) ' GEN $@' + $(SILENT)$(CONF) --savedefconfig=$${CONFIG-defconfig} $(KCONFIG_TOP) + +olddefconfig: + @$(ECHO) ' CONF $@' + $(SILENT)$(CONF) --defconfig=$${CONFIG-defconfig} $(KCONFIG_TOP) + # Always be silent, the stdout an be >.config extractconfig: @$(awk) 'BEGIN { dump=0; } \ @@ -50,3 +58,6 @@ help-config:: @echo ' oldconfig - Update current config using a provided .config as base' @echo ' extractconfig - Extract to stdout the configuration items from a' @echo ' build.log file piped to stdin' + @echo ' defconfig - Save current config as a mini-defconfig to $${CONFIG}' + @echo ' olddefconfig - Update config from a mini-defconfig $${CONFIG}' + @echo ' (default: $${CONFIG}=./defconfig)' |