steps.mk
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Sat Aug 04 23:40:16 2012 +0200 (2012-08-04)
changeset 3028 670c97e4646c
parent 2935 4a563f872440
child 3115 1c68438f44f7
permissions -rw-r--r--
scripts: update config.{guess,sub}

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 # Makefile for each steps
     2 # Copyright 2006 Yann E. MORIN <yann.morin.1998@free.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 # The _for_build steps are noop for native and cross,
    18 # but are actual steps for canadian and cross-native.
    19 # Please keep the last line with a '\' and keep the following empy line:
    20 # it helps when diffing and merging.
    21 CT_STEPS := libc_check_config   \
    22             gmp_for_build       \
    23             mpfr_for_build      \
    24             ppl_for_build       \
    25             cloog_for_build     \
    26             mpc_for_build       \
    27             libelf_for_build    \
    28             binutils_for_build  \
    29             elf2flt_for_build   \
    30             gmp_for_host        \
    31             mpfr_for_host       \
    32             ppl_for_host        \
    33             cloog_for_host      \
    34             mpc_for_host        \
    35             libelf_for_host     \
    36             binutils_for_host   \
    37             elf2flt_for_host    \
    38             sstrip_for_host     \
    39             cc_core_pass_1      \
    40             kernel_headers      \
    41             libc_start_files    \
    42             cc_core_pass_2      \
    43             libc                \
    44             cc_for_build        \
    45             cc_for_host         \
    46             libc_finish         \
    47             libelf_for_target   \
    48             binutils_for_target \
    49             debug               \
    50             test_suite          \
    51             finish              \
    52 
    53 # Keep an empty line above this comment, so the last
    54 # back-slash terminated line works as expected.
    55 
    56 # Make the list available to sub-processes (scripts/crosstool-NG.sh needs it)
    57 export CT_STEPS
    58 
    59 # Print the steps list
    60 PHONY += list-steps
    61 list-steps:
    62 	@echo  'Available build steps, in order:'
    63 	@for step in $(CT_STEPS); do    \
    64 	     echo "  - $${step}";       \
    65 	 done
    66 	@echo  'Use "<step>" as action to execute only that step.'
    67 	@echo  'Use "+<step>" as action to execute up to that step.'
    68 	@echo  'Use "<step>+" as action to execute from that step onward.'
    69 
    70 # ----------------------------------------------------------
    71 # This part deals with executing steps
    72 
    73 $(CT_STEPS):
    74 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$@ STOP=$@ build
    75 
    76 $(patsubst %,+%,$(CT_STEPS)):
    77 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) STOP=$(patsubst +%,%,$@) build
    78 
    79 $(patsubst %,%+,$(CT_STEPS)):
    80 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$(patsubst %+,%,$@) build