steps.mk
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 12 21:38:12 2010 +0200 (2010-09-12)
changeset 2109 4a45c5758258
parent 1965 e3d532dd8b5d
child 2278 e86826b8621a
permissions -rw-r--r--
config: change name of default build dir

'targets' is not really meaningfull.
'build' means what it means.
'.build' just hides it as well! :-)

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