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 <levitte@openssl.org>
This commit is contained in:
Ben Laurie 2016-06-26 13:09:23 +01:00
parent fe964f0c88
commit 27c40a9317

View file

@ -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
build_libs: build_generated build_libs_nodep depend
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)
{- 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_generated: $(GENERATED_MANDATORY)
build_libs_nodep: libcrypto.pc libssl.pc openssl.pc
build_engines_nodep: $(ENGINES)
build_apps_nodep: $(PROGRAMS) $(SCRIPTS)
build_tests_nodep: $(TESTPROGS)
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) \