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