steps.mk
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 04 00:04:23 2011 +0200 (2011-05-04)
changeset 2608 aa09a36c3d36
parent 2278 e86826b8621a
child 2905 286b2937c101
child 2912 6467c949c91c
permissions -rw-r--r--
scripts/functions: test for decompressors before use

./configure does check for the presence of gz and bzip2, so we can
safely use them in the build scripts.

On the other hand, more recent formats (eg. XZ) are not yet widely
available, and we do not want, and can't, force the user to install
them as a pre-requisite.

So, build up a list of allowed tarball formats based on the available
decompressors. For no, this is a static list, but the upcoming XZ
support will conditionnaly add to this list.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     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=step          - Stop the build just after this step (list with list-steps)'
    12 	@echo  '  RESTART=step       - Restart the build just before this step (list with list-steps)'
    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             gmp                 \
    21             mpfr                \
    22             ppl                 \
    23             cloog               \
    24             mpc                 \
    25             libelf              \
    26             binutils            \
    27             elf2flt             \
    28             sstrip              \
    29             cc_core_pass_1      \
    30             kernel_headers      \
    31             libc_start_files    \
    32             cc_core_pass_2      \
    33             libc                \
    34             cc                  \
    35             libc_finish         \
    36             libelf_target       \
    37             binutils_target     \
    38             debug               \
    39             test_suite          \
    40             finish              \
    41 
    42 # Make the list available to sub-processes (scripts/crosstool-NG.sh needs it)
    43 export CT_STEPS
    44 
    45 # Print the steps list
    46 PHONY += list-steps
    47 list-steps:
    48 	@echo  'Available build steps, in order:'
    49 	@for step in $(CT_STEPS); do    \
    50 	     echo "  - $${step}";       \
    51 	 done
    52 	@echo  'Use "<step>" as action to execute only that step.'
    53 	@echo  'Use "+<step>" as action to execute up to that step.'
    54 	@echo  'Use "<step>+" as action to execute from that step onward.'
    55 
    56 # ----------------------------------------------------------
    57 # This part deals with executing steps
    58 
    59 $(CT_STEPS):
    60 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$@ STOP=$@ build
    61 
    62 $(patsubst %,+%,$(CT_STEPS)):
    63 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) STOP=$(patsubst +%,%,$@) build
    64 
    65 $(patsubst %,%+,$(CT_STEPS)):
    66 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$(patsubst %+,%,$@) build