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>
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'