kconfig/kconfig.mk
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jan 03 22:57:25 2012 +0100 (2012-01-03)
changeset 2936 2dfea349d307
parent 2650 4d299836e994
child 2981 80151a249b85
child 3006 1c9e4e6a6922
permissions -rw-r--r--
cc/gcc: build core compilers for canadian

Currently, we rely on an existing external cross-compiler targetting
the target, to build the C library.

This can pause quite a few problems if that compiler is different from
the one we are building, because it could introduce some ABI issues.

This patch removes this dependency, by building the core compilers
as we do for standard cross, and also by building the binutils and
gcc, for running on the build machine.

This means we no longer need to offer the cross-sompiler selection in
the menuconfig.

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'