From 0dc8565c4fa521e71667030ec0f994aa4f3918ec Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 17 Mar 2018 15:16:56 -0700 Subject: Merge steps.mk into ct-ng Signed-off-by: Alexey Neyman --- ct-ng.in | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'ct-ng.in') diff --git a/ct-ng.in b/ct-ng.in index 761b8856..0b1e47d4 100644 --- a/ct-ng.in +++ b/ct-ng.in @@ -136,6 +136,7 @@ help-samples:: help-build:: @echo @echo 'Build actions (#: force number of // jobs):' + @echo ' list-steps - List all build steps' help-clean:: @echo @@ -152,6 +153,8 @@ help-env:: else \ echo 'Environment variables (see http://crosstool-ng.github.io/docs/build/)'; \ fi + @echo ' STOP=step - Stop the build just after this step (list with list-steps)' + @echo ' RESTART=step - Restart the build just before this step (list with list-steps)' help-tail:: @echo @@ -213,6 +216,60 @@ build: .config build.%: $(SILENT)$(MAKE) -rf $(CT_NG) build CT_JOBS=$* +# The _for_build steps are noop for native and cross, +# but are actual steps for canadian and cross-native. +# Please keep the last line with a '\' and keep the following empty line: +# it helps when diffing and merging. +CT_STEPS := \ + companion_tools_for_build \ + companion_libs_for_build \ + binutils_for_build \ + companion_tools_for_host \ + companion_libs_for_host \ + binutils_for_host \ + cc_core_pass_1 \ + kernel_headers \ + libc_start_files \ + cc_core_pass_2 \ + libc \ + cc_for_build \ + cc_for_host \ + libc_post_cc \ + companion_libs_for_target \ + binutils_for_target \ + debug \ + test_suite \ + finish \ + +# Keep an empty line above this comment, so the last +# back-slash terminated line works as expected. + +# Make the list available to sub-processes (scripts/crosstool-NG.sh needs it) +export CT_STEPS + +# Print the steps list +PHONY += list-steps +list-steps: + @echo 'Available build steps, in order:' + @for step in $(CT_STEPS); do \ + echo " - $${step}"; \ + done + @echo 'Use "" as action to execute only that step.' + @echo 'Use "+" as action to execute up to that step.' + @echo 'Use "+" as action to execute from that step onward.' + +# ---------------------------------------------------------- +# This part deals with executing steps + +$(CT_STEPS): + $(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$@ STOP=$@ build + +$(patsubst %,+%,$(CT_STEPS)): + $(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) STOP=$(patsubst +%,%,$@) build + +$(patsubst %,%+,$(CT_STEPS)): + $(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) RESTART=$(patsubst %+,%,$@) build + PHONY += version version: @echo 'This is crosstool-NG version $(CT_VERSION)' -- cgit v1.2.3