steps.mk
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Mar 26 18:47:34 2009 +0000 (2009-03-26)
changeset 1268 5594b05bc2d8
parent 1143 eee9e8de51e3
child 1324 48c12c696778
permissions -rw-r--r--
Add support for building toolchains with gcc-4.4 snapshots.
Initial patch by Dmitry PLOTNIKOV: http://sourceware.org/ml/crossgcc/2009-03/msg00053.html
It [the toolchain] uses current ct-ng (nightly snapshot 20090324, latest
release 1.3.2 work also), glibc 2.9 (from CVS), binutils 2.19 and latest
snapshot of GCC 4.4.0 (as of March 20, 2009).

We have successfully built linux kernel 2.6.29 and a lot of other stuff
with this toolchain.

Here's the patch that adds GCC 4.4.0 to the ct-ng menu and enables it to
download a 4.4.0 snapshot from ftp.

Patch was adpated by me, mostly to better fit the configuration layout.

/trunk/scripts/build/cc/gcc.sh | 34 22 12 0 ++++++++++++++++++++++------------
/trunk/config/cc/gcc.in | 35 30 5 0 ++++++++++++++++++++++++++++++-----
2 files changed, 52 insertions(+), 17 deletions(-)
     1 # Makefile for each steps
     2 # Copyright 2006 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
     3 
     4 # ----------------------------------------------------------
     5 # This is the steps help entry
     6 
     7 help-build::
     8 	@echo  '  list-steps         - List all build steps'
     9 
    10 help-env::
    11 	@echo  '  STOP               - Stop the build just after this step'
    12 	@echo  '  RESTART            - Restart the build just before this step'
    13 
    14 # ----------------------------------------------------------
    15 # The steps list
    16 
    17 # Please keep the last line with a '\' and keep the following empy line:
    18 # it helps when diffing and merging.
    19 CT_STEPS := libc_check_config   \
    20             kernel_headers      \
    21             gmp                 \
    22             mpfr                \
    23             binutils            \
    24             cc_core_pass_1      \
    25             libc_headers        \
    26             libc_start_files    \
    27             cc_core_pass_2      \
    28             libc                \
    29             cc                  \
    30             libc_finish         \
    31             gmp_target          \
    32             mpfr_target         \
    33             binutils_target     \
    34             tools               \
    35             debug               \
    36             finish              \
    37 
    38 # Make the list available to sub-processes (scripts/crosstool-NG.sh needs it)
    39 export CT_STEPS
    40 
    41 # Print the steps list
    42 PHONY += list-steps
    43 list-steps:
    44 	@echo  'Available build steps, in order:'
    45 	@for step in $(CT_STEPS); do    \
    46 	     echo "  - $${step}";       \
    47 	 done
    48 	@echo  'Use "<step>" as action to execute only that step.'
    49 	@echo  'Use "+<step>" as action to execute up to that step.'
    50 	@echo  'Use "<step>+" as action to execute from that step onward.'
    51 
    52 # ----------------------------------------------------------
    53 # This part deals with executing steps
    54 
    55 $(CT_STEPS):
    56 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$@ STOP=$@ build
    57 
    58 $(patsubst %,+%,$(CT_STEPS)):
    59 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) STOP=$(patsubst +%,%,$@) build
    60 
    61 $(patsubst %,%+,$(CT_STEPS)):
    62 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$(patsubst %+,%,$@) build