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