kconfig/kconfig.mk
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 24 19:35:24 2011 +0200 (2011-07-24)
changeset 2900 369e2fbe9010
parent 2650 4d299836e994
child 2981 80151a249b85
child 3006 1c9e4e6a6922
permissions -rw-r--r--
cc-gcc: the frontends are responsible for mkdir/chdir

The build dir are created depending on the host (host for that specific
backend, not host for the toolchain). Only the frontends know what host
this is, so only the frontends can create non-ambiguous dirs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # ===========================================================================
     2 # crosstool-NG configuration targets
     3 # These targets are used from top-level makefile
     4 
     5 #-----------------------------------------------------------
     6 # The configurators rules
     7 
     8 configurators = menuconfig nconfig oldconfig
     9 PHONY += $(configurators)
    10 
    11 $(configurators): config_files
    12 
    13 CONF  := $(CT_LIB_DIR)/kconfig/conf
    14 MCONF := $(CT_LIB_DIR)/kconfig/mconf
    15 NCONF := $(CT_LIB_DIR)/kconfig/nconf
    16 
    17 menuconfig:
    18 	@$(ECHO) "  CONF  $(KCONFIG_TOP)"
    19 	$(SILENT)$(MCONF) $(KCONFIG_TOP)
    20 
    21 nconfig:
    22 	@$(ECHO) "  CONF  $(KCONFIG_TOP)"
    23 	$(SILENT)$(NCONF) $(KCONFIG_TOP)
    24 
    25 oldconfig: .config
    26 	@$(ECHO) "  CONF  $(KCONFIG_TOP)"
    27 	$(SILENT)$(CONF) --silent$@ $(KCONFIG_TOP)
    28 
    29 # Always be silent, the stdout an be >.config
    30 extractconfig:
    31 	@awk 'BEGIN { dump=0; }                                                 \
    32 	      dump==1 && $$0~/^\[.....\][[:space:]]+(# |)CT_/ {                 \
    33 	          $$1="";                                                       \
    34 	          gsub("^[[:space:]]","");                                      \
    35 	          print;                                                        \
    36 	      }                                                                 \
    37 	      $$0~/Dumping user-supplied crosstool-NG configuration: done in/ { \
    38 	          dump=0;                                                       \
    39 	      }                                                                 \
    40 	      $$0~/Dumping user-supplied crosstool-NG configuration$$/ {        \
    41 	          dump=1;                                                       \
    42 	      }'
    43 
    44 #-----------------------------------------------------------
    45 # Help text used by make help
    46 
    47 help-config::
    48 	@echo  '  menuconfig         - Update current config using a menu based program'
    49 	@echo  '  oldconfig          - Update current config using a provided .config as base'
    50 	@echo  '  extractconfig      - Extract to stdout the configuration items from a'
    51 	@echo  '                       build.log file piped to stdin'