From 27c40a93175d4dcb559325db9354910b3d16cd4e Mon Sep 17 00:00:00 2001 From: Ben Laurie Date: Sun, 26 Jun 2016 13:09:23 +0100 Subject: Ensure that global dependencies are built first, even for parallell builds Also, make sure that per-file deps are included in the build, even if previous builds have failed. Reviewed-by: Richard Levitte --- Configurations/unix-Makefile.tmpl | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 6dbed436f2..34ba56a497 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -56,6 +56,13 @@ return $engine . $dsoext; } + # This makes sure things get built in the order they need + # to. You're welcome. + sub dependmagic { + my $target = shift; + + return "$target: build_generated\n\t\$(MAKE) depend && \$(MAKE) _$target\n_$target"; + } ''; -} PLATFORM={- $config{target} -} @@ -210,25 +217,21 @@ PROCESSOR= {- $config{processor} -} # The main targets ################################################### -all: build_generated \ - build_libs_nodep build_engines_nodep build_apps_nodep \ - depend link-utils +{- dependmagic('all'); -}: build_libs_nodep build_engines_nodep build_apps_nodep link-utils +{- dependmagic('build_libs'); -}: build_libs_nodep +{- dependmagic('build_engines'); -}: build_engines_nodep +{- dependmagic('build_apps'); -}: build_apps_nodep +{- dependmagic('build_tests'); -}: build_tests_nodep -build_libs: build_generated build_libs_nodep depend +build_generated: $(GENERATED_MANDATORY) build_libs_nodep: libcrypto.pc libssl.pc openssl.pc -build_engines: build_generated build_engines_nodep depend build_engines_nodep: $(ENGINES) -build_apps: build_generated build_apps_nodep depend build_apps_nodep: $(PROGRAMS) $(SCRIPTS) -build_tests: build_generated build_tests_nodep depend build_tests_nodep: $(TESTPROGS) -build_generated: $(GENERATED_MANDATORY) - test: tests -tests: build_generated \ - build_tests_nodep build_apps_nodep build_engines_nodep \ - depend link-utils +{- dependmagic('tests'); -}: build_tests_nodep build_apps_nodep \ + build_engines_nodep link-utils @ : {- output_off() if $disabled{tests}; "" -} ( cd test; \ SRCTOP=../$(SRCDIR) \ -- cgit v1.2.3