steps.mk
author Yann Diorcet <diorcet.yann@gmail.com>
Mon Nov 19 21:45:09 2012 +0100 (2012-11-19)
changeset 3121 5016315d88ba
parent 3115 1c68438f44f7
child 3123 6a5946fbc728
permissions -rw-r--r--
binutils/binutils: simplify gold dependencies

In preparation of adding a new kernel-type, Yann D. came up
with a change in semantic on binutils/gold availability.

So far, it was architectures' responsibility to declare that
they did support binutils/gold or not. It makes much more sense
that binutils/gold declares its own availability depending on
the current architecture; after all, architectures have no way
to know wether gold supports them, while gold does know it.

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