Unified - Adapt the Unix and VMS templates to support GENERATE
[openssl.git] / Configurations / unix-Makefile.tmpl
index a9f0ae1e5affee9f8007efe6e19ad8bb2387ebcb..226f5bdfa88d46257570e403cbe55183e0178dcd 100644 (file)
@@ -389,7 +389,7 @@ uninstall_dev:
                $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
                : {- output_on() unless windowsdll(); "" -}; \
        done
-       @ : {- output_on() if $config{no_shared}; "" -}
+       @ : {- output_on() if $disabled{shared}; "" -}
        $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc
        $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc
        $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc
@@ -816,6 +816,43 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)/Configurations/commo
       return map { shlib_simple($_) } @_;
   }
 
+  sub generatesrc {
+      my %args = @_;
+      my $generator = join(" ", @{$args{generator}});
+
+      if ($args{src} !~ /\.[sS]$/) {
+          return <<"EOF";
+$args{src}: $args{generator}->[0]
+       \$(PERL) $generator > \$@
+EOF
+      } else {
+          if ($args{generator}->[0] =~ /\.[sS]$/) {
+              return <<"EOF";
+$args{src}: $args{generator}->[0]
+       \$(CC) \$(CFLAGS) -E \$< > \$@
+EOF
+          } elsif ($args{generator}->[0] =~ /\.pl$/) {
+             return <<"EOF";
+$args{src}: $args{generator}->[0]
+       ( trap "rm -f \$@.S" INT; \\
+         CC="\$(CC)" \$(PERL) $generator \$@.S; \\
+         if grep '^#' \$@.S >/dev/null; then \\
+             \$(CC) -E -P \$@.S > \$@ && rm -f \$@.S; \\
+         else \\
+             mv \$@.S \$@; \\
+         fi )
+EOF
+          } elsif ($args{generator}->[0] =~ /\.m4$/) {
+              return <<"EOF";
+$args{src}: $args{generator}->[0]
+       m4 -B 8192 $generator > \$@
+EOF
+          } else {
+              die "Generator type for $args{src} unknown: $args{generator}\n";
+          }
+      }
+  }
+
   sub src2obj {
       my %args = @_;
       my $obj = $args{obj};