Port Ben's parallell Makefile hack to VMS
authorRichard Levitte <levitte@openssl.org>
Sun, 23 Apr 2017 14:17:32 +0000 (16:17 +0200)
committerRichard Levitte <levitte@openssl.org>
Sun, 23 Apr 2017 14:17:32 +0000 (16:17 +0200)
As far as I know, there is no MMS / MMK with parallellism today.
However, it might be added in the future (perhaps in MMK at least), so
we may as well prepare for it now.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3282)

Configurations/descrip.mms.tmpl

index 5b4b109..b6704f8 100644 (file)
           = qq(deassign statem
         deassign record);
   }
+  # 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\pipe $(MMS) depend && \$(MMS) _$target\n_$target";
+  }
   #use Data::Dumper;
   #print STDERR "DEBUG: before:\n", Dumper($unified_info{before});
   #print STDERR "DEBUG: after:\n", Dumper($unified_info{after});
@@ -236,24 +243,21 @@ NODEBUG=@
 
 # The main targets ###################################################
 
-all : build_generated, -
-      build_libs_nodep, build_engines_nodep, build_programs_nodep, -
-      depend
+{- dependmagic('all'); -} : build_libs_nodep, build_engines_nodep, build_programs_nodep
+{- dependmagic('build_libs'); -} : build_libs_nodep
+{- dependmagic('build_engines'); -} : build_engines_nodep
+{- dependmagic('build_programs'); -} : build_programs_nodep
 
-build_libs : build_generated, build_libs_nodep, depend
+build_generated : $(GENERATED_MANDATORY)
 build_libs_nodep : $(LIBS), $(SHLIBS)
-build_engines : build_generated, build_engines_nodep, depend
 build_engines_nodep : $(ENGINES)
-build_programs : build_generated, build_programs_nodep, depend
 build_programs_nodep : $(PROGRAMS), $(SCRIPTS)
 
-build_generated : $(GENERATED_MANDATORY)
-
 # Kept around for backward compatibility
 build_apps build_tests : build_programs
 
-test tests : build_generated, build_programs_nodep, build_engines_nodep, -
-             depend
+test : tests
+{- dependmagic('tests'); -} : build_programs_nodep, build_engines_nodep
         @ ! {- output_off() if $disabled{tests}; "" -}
         SET DEFAULT [.test]{- move("test") -}
         DEFINE SRCTOP {- sourcedir() -}