Unified - Adapt the Unix and VMS templates to support GENERATE
[openssl.git] / Configurations / unix-Makefile.tmpl
index 8ccadbb2152e66558f2ab85815adaf729d75cfa0..226f5bdfa88d46257570e403cbe55183e0178dcd 100644 (file)
@@ -390,16 +390,11 @@ uninstall_dev:
                : {- output_on() unless windowsdll(); "" -}; \
        done
        @ : {- output_on() if $disabled{shared}; "" -}
-       @echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc"
-       @$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc
-       @echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc"
-       @$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc
-       @echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc"
-       @$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc
-       @echo $(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
-       -@$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
-       @echo $(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)
-       -@$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)
+       $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc
+       $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc
+       $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc
+       -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
+       -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)
 
 install_engines:
        @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
@@ -427,8 +422,7 @@ uninstall_engines:
                echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$$fn"; \
                $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines/$$fn; \
        done
-       @echo "$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines"
-       -@$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines
+       -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/engines
 
 install_runtime:
        @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
@@ -502,10 +496,8 @@ uninstall_runtime:
        done
        : {- output_on() unless windowsdll(); "" -};
        $(RM) $(DESTDIR)$(OPENSSLDIR)/openssl.cnf
-       @echo "$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin"
-       -@$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin
-       @echo "$(RMDIR) $(DESTDIR)$(OPENSSLDIR)/misc"
-       -@$(RMDIR) $(DESTDIR)$(OPENSSLDIR)/misc
+       -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin
+       -$(RMDIR) $(DESTDIR)$(OPENSSLDIR)/misc
 
 # A method to extract all names from a .pod file
 # The first sed extracts everything between "=head1 NAME" and the next =head1
@@ -824,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};