steps.mk
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 14 16:21:07 2008 +0000 (2008-09-14)
changeset 850 ef8549b58b6f
parent 602 1968d150a34f
child 932 264d38e5b5ba
permissions -rw-r--r--
Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

/trunk/scripts/build/kernel/none.sh | 77 6 71 0 +----
/trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++-
/trunk/scripts/build/libc/none.sh | 513 9 504 0 +-----------------------------
/trunk/scripts/crosstool.sh | 17 9 8 0 +
/trunk/scripts/functions | 6 4 2 0 +
/trunk/scripts/showSamples.sh | 6 3 3 0
/trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++
/trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++
/trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++--
/trunk/config/kernel.in | 9 8 1 0 +
/trunk/config/toolchain.in | 1 1 0 0 +
/trunk/config/cc/gcc.in | 3 3 0 0 +
/trunk/config/debug/dmalloc.in | 1 1 0 0 +
/trunk/config/debug/gdb.in | 4 3 1 0 +
/trunk/config/debug/strace.in | 1 1 0 0 +
/trunk/config/debug/duma.in | 1 1 0 0 +
/trunk/config/cc.in | 8 8 0 0 +
/trunk/config/target.in | 13 13 0 0 +
/trunk/config/binutils.in | 1 1 0 0 +
/trunk/config/gmp_mpfr.in | 1 1 0 0 +
/trunk/config/libc.in | 17 11 6 0 +
/trunk/arch/arm/functions | 3 1 2 0 -
22 files changed, 600 insertions(+), 652 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@461
     4
CT_STEPS := libc_check_config   \
yann@461
     5
            kernel_headers      \
yann@466
     6
            gmp                 \
yann@466
     7
            mpfr                \
yann@461
     8
            binutils            \
yann@461
     9
            cc_core_pass_1      \
yann@461
    10
            libc_headers        \
yann@461
    11
            libc_start_files    \
yann@461
    12
            cc_core_pass_2      \
yann@461
    13
            libc                \
yann@461
    14
            cc                  \
yann@461
    15
            libc_finish         \
yann@461
    16
            binutils_target     \
yann@602
    17
            gmp_target          \
yann@602
    18
            mpfr_target         \
yann@461
    19
            tools               \
yann@461
    20
            debug               \
yann@461
    21
yann@461
    22
export CT_STEPS
yann@181
    23
yann@181
    24
$(CT_STEPS):
yann@205
    25
	@$(CT_NG) RESTART=$@ STOP=$@ build
yann@136
    26
yann@304
    27
$(patsubst %,+%,$(CT_STEPS)):
yann@304
    28
	@$(CT_NG) STOP=$(patsubst +%,%,$@) build
yann@136
    29
yann@304
    30
$(patsubst %,%+,$(CT_STEPS)):
yann@304
    31
	@$(CT_NG) RESTART=$(patsubst %+,%,$@) build
yann@181
    32
yann@181
    33
help-build::
yann@544
    34
	@echo  '  list-steps         - List all build steps'
yann@181
    35
yann@544
    36
list-steps:
yann@181
    37
	@echo  'Available build steps, in order:'
yann@181
    38
	@for step in $(CT_STEPS); do    \
yann@181
    39
	     echo "  - $${step}";       \
yann@181
    40
	 done
yann@544
    41
	@echo  'Use "$(CT_NG) <step>" to execute only that step.'
yann@544
    42
	@echo  'Use "$(CT_NG) +<step>" to execute up to that step.'
yann@544
    43
	@echo  'Use "$(CT_NG) <step>+" to execute from that step onward.'