steps.mk
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 04 22:17:53 2009 +0000 (2009-01-04)
changeset 1123 8c5881324a79
parent 1015 d9a132dcd329
child 1143 eee9e8de51e3
permissions -rw-r--r--
Get rid of CT_LIBC_FILE, remove useless CT_MakeAbsolutePath.

CT_LIBC_FILE:
- that one was not easy, as it had sneaked into CT_ExtractAndPatch
- which in turn made CT_ExtractAndPatch have references to C library addons
- which in turn relieved the C library _extract functions from doing their own job
- which in turn imposed some nasty tricks in CT_ExtractAndPatch
- which in turn made life easier for the DUMA _get and _extract functions
- which unveiled some bizare behavior for pushd and popd:
- if using smthg ike: 'pushd foo |bar':
- the directory is *neither* changed
- *nor* is it pushed onto the stack
- which made popd fail

CT_MakeAbsolutePath:
- used only to make CT_LOCAL_TARBALLS_DIR canonical
- which is ((almost) useless:
- hopefully, the user entered a full path already
- if it's not the case, too bad...

/trunk/scripts/build/debug/200-duma.sh | 5 1 4 0 +--
/trunk/scripts/build/libc/glibc.sh | 61 32 29 0 +++++++++++++++++---------------
/trunk/scripts/build/libc/uClibc.sh | 16 10 6 0 +++++---
/trunk/scripts/build/libc/eglibc.sh | 48 26 22 0 ++++++++++++++-----------
/trunk/scripts/crosstool.sh | 8 0 8 0 ----
/trunk/scripts/functions | 77 15 62 0 ++++++++--------------------------------
6 files changed, 84 insertions(+), 131 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 folowing 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 
    37 # Make the list available to sub-processes (scripts/crosstool.sh needs it)
    38 export CT_STEPS
    39 
    40 # Print the steps list
    41 PHONY += list-steps
    42 list-steps:
    43 	@echo  'Available build steps, in order:'
    44 	@for step in $(CT_STEPS); do    \
    45 	     echo "  - $${step}";       \
    46 	 done
    47 	@echo  'Use "<step>" as action to execute only that step.'
    48 	@echo  'Use "+<step>" as action to execute up to that step.'
    49 	@echo  'Use "<step>+" as action to execute from that step onward.'
    50 
    51 # ----------------------------------------------------------
    52 # This part deals with executing steps
    53 
    54 $(CT_STEPS):
    55 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$@ STOP=$@ build
    56 
    57 $(patsubst %,+%,$(CT_STEPS)):
    58 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) STOP=$(patsubst +%,%,$@) build
    59 
    60 $(patsubst %,%+,$(CT_STEPS)):
    61 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$(patsubst %+,%,$@) build