Misc small fixes.
[openssl.git] / Configurations / unix-Makefile.tmpl
index 39a62e0cea235a3150d0f123655727784ce39576..0e7ff81a9ad804792ce0034ec5e1dfc5f5220493 100644 (file)
@@ -88,6 +88,8 @@ MISC_SCRIPTS=$(SRCDIR)/tools/c_hash $(SRCDIR)/tools/c_info \
             $(SRCDIR)/tools/c_issuer $(SRCDIR)/tools/c_name \
             $(BLDDIR)/apps/CA.pl $(SRCDIR)/apps/tsget
 
+SHLIB_INFO={- join(" ", map { "\"".shlib($_).";".shlib_simple($_)."\"" } @{$unified_info{libraries}}) -}
+
 # DESTDIR is for package builders so that they can configure for, say,
 # /usr/ and yet have everything installed to /tmp/somedir/usr/.
 # Normally it is left empty.
@@ -170,6 +172,7 @@ AR=$(CROSS_COMPILE){- $target{ar} || "ar" -} $(ARFLAGS) r
 RANLIB= {- $target{ranlib} -}
 NM= $(CROSS_COMPILE){- $target{nm} || "nm" -}
 RM= rm -f
+RMDIR= rmdir
 TAR= {- $target{tar} || "tar" -}
 TARFLAGS= {- $target{tarflags} -}
 MAKEDEPEND=$(CROSS_COMPILE){- $config{makedepprog} -}
@@ -216,7 +219,17 @@ list-tests:
        @TOP=$(SRCDIR) PERL=$(PERL) $(PERL) $(SRCDIR)/test/run_tests.pl list
 
 libclean:
-       -rm -f `find $(BLDDIR) -name '*$(LIB_EXT)' -o -name '*$(SHLIB_EXT)'`
+       @set -e; for s in $(SHLIB_INFO); do \
+               s1=`echo "$$s" | cut -f1 -d";"`; \
+               s2=`echo "$$s" | cut -f2 -d";"`; \
+               echo $(RM) $$s1; \
+               $(RM) $$s1; \
+               if [ "$$s1" != "$$s2" ]; then \
+                       echo $(RM) $$s2; \
+                       $(RM) $$s2; \
+               fi; \
+       done
+       $(RM) $(LIBS)
 
 install: install_sw install_ssldirs install_docs
 
@@ -249,7 +262,7 @@ Makefile: FORCE
 
 install_sw: all install_dev install_engines install_runtime
 
-uninstall_sw: uninstall_dev uninstall_engines uninstall_runtime
+uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev
 
 install_docs: install_man_docs install_html_docs
 
@@ -282,25 +295,28 @@ install_dev:
                      $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \
        done
        @ : {- output_off() if $config{no_shared}; "" -}
-       @set -e; for s in $(SHLIBS); do \
-               fn=`basename $$s`; \
-               echo "install $$s -> $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn"; \
-               cp $$s $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.new; \
-               chmod 644 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.new; \
-               mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.new \
-                     $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \
-               if [ "$(SHLIB_EXT)" != "$(SHLIB_EXT_SIMPLE)" ]; then \
-                       echo "link $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2 -> $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn"; \
-                       fn2=`basename $$fn $(SHLIB_EXT)`$(SHLIB_EXT_SIMPLE); \
-                       ln -sf $$fn $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
+       @set -e; for s in $(SHLIB_INFO); do \
+               s1=`echo "$$s" | cut -f1 -d";"`; \
+               s2=`echo "$$s" | cut -f2 -d";"`; \
+               fn1=`basename $$s1`; \
+               fn2=`basename $$s2`; \
+               : {- output_off() if windowsdll(); "" -}; \
+               echo "install $$s1 -> $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1"; \
+               cp $$s1 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1.new; \
+               chmod 644 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1.new; \
+               mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1.new \
+                     $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1; \
+               if [ "$$fn1" != "$$fn2" ]; then \
+                       echo "link $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2 -> $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1"; \
+                       ln -sf $$fn1 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
                fi; \
+               : {- output_on() if windowsdll(); "" -}{- output_off() unless windowsdll(); "" -}; \
+               echo "install $$s2 -> $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2"; \
+               cp $$s2 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2.new; \
+               chmod 644 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2.new; \
+               mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2.new \
+                     $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
                : {- output_off() unless windowsdll(); "" -}; \
-               echo "install $$s.a -> $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.a"; \
-               cp $$s.a $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.a.new; \
-               chmod 644 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.a.new; \
-               mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.a.new \
-                     $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.a; \
-               : {- output_on() unless windowsdll(); "" -}; \
        done
        @ : {- output_on() if $config{no_shared}; "" -}
        @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
@@ -322,31 +338,42 @@ uninstall_dev:
                echo "$(RM) $(DESTDIR)$(INSTALLTOP)/include/openssl/$$fn"; \
                $(RM) $(DESTDIR)$(INSTALLTOP)/include/openssl/$$fn; \
        done
+       -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/include/openssl
+       -$(RMDIR) $(DESTDIR)$(INSTALLTOP)/include
        @set -e; for l in $(LIBS); do \
                fn=`basename $$l`; \
                echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn"; \
                $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \
        done
-       @set -e; for s in $(SHLIBS); do \
-               fn=`basename $$s`; \
-               if [ "$(SHLIB_EXT)" != "$(SHLIB_EXT_SIMPLE)" ]; then \
-                       fn2=`basename $$fn $(SHLIB_EXT)`$(SHLIB_EXT_SIMPLE); \
+       @ : {- output_off() if $config{no_shared}; "" -}
+       @set -e; for s in $(SHLIB_INFO); do \
+               s1=`echo "$$s" | cut -f1 -d";"`; \
+               s2=`echo "$$s" | cut -f2 -d";"`; \
+               fn1=`basename $$s1`; \
+               fn2=`basename $$s2`; \
+               : {- output_off() if windowsdll(); "" -}; \
+               echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1"; \
+               $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn1; \
+               if [ "$$fn1" != "$$fn2" ]; then \
                        echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2"; \
                        $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
                fi; \
-               echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn"; \
-               $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \
+               : {- output_on() if windowsdll(); "" -}{- output_off() unless windowsdll(); "" -}; \
+               echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2"; \
+               $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
                : {- output_off() unless windowsdll(); "" -}; \
-               echo "$(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.a"; \
-               $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.a; \
-               : {- output_on() unless windowsdll(); "" -}; \
        done
+       @ : {- output_on() if $config{no_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)
 
 install_engines:
        @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
@@ -374,6 +401,8 @@ 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
 
 install_runtime:
        @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
@@ -382,7 +411,7 @@ install_runtime:
        @echo "*** Installing runtime files"
        : {- output_off() unless windowsdll(); "" -};
        @set -e; for s in $(SHLIBS); do \
-               fn=`basename $$i`; \
+               fn=`basename $$s`; \
                echo "install $$s -> $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
                cp $$s $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
                chmod 644 $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
@@ -441,12 +470,16 @@ uninstall_runtime:
        done
        : {- output_off() unless windowsdll(); "" -};
        @set -e; for s in $(SHLIBS); do \
-               fn=`basename $$i`; \
+               fn=`basename $$s`; \
                echo "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
                $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
        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
 
 # A method to extract all names from a .pod file
 # The first sed extracts everything between "=head1 NAME" and the next =head1
@@ -856,7 +889,7 @@ EOF
        cp -p $shlib\$(SHLIB_EXT) test/
 EOF
   }
-  sub obj2dynlib {
+  sub obj2dso {
       my %args = @_;
       my $lib = $args{lib};
       my $libd = dirname($lib);