steps.mk
author Yann Diorcet (diorcet.yann@gmail.com)
Fri Nov 16 14:59:27 2012 +0100 (2012-11-16)
changeset 3115 1c68438f44f7
parent 2936 2dfea349d307
child 3117 2b64e1b502cd
permissions -rw-r--r--
complibs: introduce generic multi-complibs infrastructure

Use the same method as companion tools for providing generic and
extendable companion libs.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <515c5c4635d99ebe4877.1353074410@macbook-smorlat.local>
Patchwork-Id: 199613
     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             companion_libs_for_build \
    23             binutils_for_build       \
    24             elf2flt_for_build        \
    25             companion_libs_for_host  \
    26             binutils_for_host        \
    27             elf2flt_for_host         \
    28             sstrip_for_host          \
    29             cc_core_pass_1           \
    30             kernel_headers           \
    31             libc_start_files         \
    32             cc_core_pass_2           \
    33             libc                     \
    34             cc_for_build             \
    35             cc_for_host              \
    36             libc_finish              \
    37             libelf_for_target        \
    38             binutils_for_target      \
    39             debug                    \
    40             test_suite               \
    41             finish                   \
    42 
    43 # Keep an empty line above this comment, so the last
    44 # back-slash terminated line works as expected.
    45 
    46 # Make the list available to sub-processes (scripts/crosstool-NG.sh needs it)
    47 export CT_STEPS
    48 
    49 # Print the steps list
    50 PHONY += list-steps
    51 list-steps:
    52 	@echo  'Available build steps, in order:'
    53 	@for step in $(CT_STEPS); do    \
    54 	     echo "  - $${step}";       \
    55 	 done
    56 	@echo  'Use "<step>" as action to execute only that step.'
    57 	@echo  'Use "+<step>" as action to execute up to that step.'
    58 	@echo  'Use "<step>+" as action to execute from that step onward.'
    59 
    60 # ----------------------------------------------------------
    61 # This part deals with executing steps
    62 
    63 $(CT_STEPS):
    64 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$@ STOP=$@ build
    65 
    66 $(patsubst %,+%,$(CT_STEPS)):
    67 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) STOP=$(patsubst +%,%,$@) build
    68 
    69 $(patsubst %,%+,$(CT_STEPS)):
    70 	$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$(patsubst %+,%,$@) build