kconfig/kconfig.mk
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:43:07 2011 +0200 (2011-07-17)
changeset 2893 a8a65758664f
parent 2650 4d299836e994
child 2981 80151a249b85
child 3006 1c9e4e6a6922
permissions -rw-r--r--
cc/gcc: do not use the core pass-2 to build the baremetal compiler

In case we build a baremetal compiler, use the standard passes:
- core_cc is used to build the C library;
- as such, it is meant to run on build, not host;
- the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

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'