Always build library object files with shared library cflags
[openssl.git] / Makefile.in
index 9912d8868a7be092d0db0aee17f620b4dd9713e7..c269a6d20a785c14bb9cbbfb80466780e58ebbc6 100644 (file)
@@ -10,7 +10,10 @@ SHLIB_VERSION_NUMBER={- $config{shlib_version_number} -}
 SHLIB_VERSION_HISTORY={- $config{shlib_version_history} -}
 SHLIB_MAJOR={- $config{shlib_major} -}
 SHLIB_MINOR={- $config{shlib_minor} -}
-SHLIB_EXT={- $target{shared_extension} -}
+SHLIB_EXT={- $target{shared_extension} || ".so" -}
+SHLIB_EXT_SIMPLE={- $target{shared_extension_simple} || ".so" -}
+SHLIB_EXT_IMPORT={- $target{shared_import_extension} || "" -}
+DSO_EXT={- $target{dso_extension} || ".so" -}
 PLATFORM={- $config{target} -}
 OPTIONS={- $config{options} -}
 CONFIGURE_ARGS=({- join(", ",quotify_l(@{$config{perlargv}})) -})
@@ -90,7 +93,7 @@ ENGINESDIR={- use File::Spec::Functions;
 
 CROSS_COMPILE= {- $config{cross_compile_prefix} -}
 CC= $(CROSS_COMPILE){- $target{cc} -}
-CFLAG={- our $cflags2 = join(" ",(map { "-D".$_} @{$config{defines}}),"-DOPENSSLDIR=\"\\\"\$(OPENSSLDIR)\\\"\"","-DENGINESDIR=\"\\\"\$(ENGINESDIR)\\\"\"") -} {- $config{cflags} -}
+CFLAG={- our $cflags2 = join(" ",(map { "-D".$_} @{$config{defines}},"OPENSSLDIR=\"\\\"\$(OPENSSLDIR)\\\"\"","ENGINESDIR=\"\\\"\$(ENGINESDIR)\\\"\"")) -} {- $config{cflags} -}
 CFLAG_Q={- $cflags2 =~ s|([\\"])|\\$1|g; $cflags2 -} {- $config{cflags} -}
 LDFLAG= {- $config{lflags} -}
 PLIB_LDFLAG= {- $config{plib_lflags} -}
@@ -191,6 +194,7 @@ LIBS=   libcrypto.a libssl.a
 SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
 SHARED_SSL=libssl$(SHLIB_EXT)
 SHARED_LIBS={- '$(SHARED_CRYPTO) $(SHARED_SSL)' if (!$config{no_shared}) -}
+SHARED_CFLAG={- $target{shared_cflag} -}
 SHARED_LDFLAG={- $target{shared_ldflag}
                  # Unlike other OSes (like Solaris, Linux, Tru64,
                  # IRIX) BSD run-time linkers (tested OpenBSD, NetBSD
@@ -246,9 +250,10 @@ CLEARENV=  TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS}     \
 # same language for uniform treatment.
 BUILDENV=      LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\
                CC='$(CC)' CFLAG='$(CFLAG)' CFLAG_Q='$(CFLAG_Q)'        \
+               SHARED_CFLAG='$(SHARED_CFLAG)'                          \
                AS='$(CC)' ASFLAG='$(CFLAG) -c'                 \
                AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)'        \
-               CROSS_COMPILE='$(CROSS_COMPILE)'        \
+               CROSS_COMPILE='$(CROSS_COMPILE)'                \
                PERL='$(PERL)'  \
                SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)'     \
                DESTDIR='$(DESTDIR)'            \
@@ -258,7 +263,8 @@ BUILDENV=   LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\
                SHARED_RCFLAG='$(SHARED_RCFLAG)'                \
                ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)'     \
                EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)'       \
-               SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \
+               SHLIB_EXT='$(SHLIB_EXT)' DSO_EXT='$(DSO_EXT)'   \
+               SHLIB_TARGET='$(SHLIB_TARGET)'  \
                LDFLAG='$(LDFLAG)'                              \
                PLIB_LDFLAG='$(PLIB_LDFLAG)' EX_LIBS='$(EX_LIBS)'       \
                APPS_OBJ='$(APPS_OBJ)'                          \
@@ -374,7 +380,7 @@ do_$(SHLIB_TARGET):
                        LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
                        LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
                        LIBDEPS="$$libs $(EX_LIBS)" \
-                       link_a.$(SHLIB_TARGET); \
+                       link_shlib.$(SHLIB_TARGET); \
                libs="-l$$i $$libs"; \
                case "$(PLATFORM)" in \
                Cygwin*) \
@@ -384,14 +390,15 @@ do_$(SHLIB_TARGET):
                        cp cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll test/; \
                        ;; \
                mingw*) \
-                       case $$i in \
-                               crypto) i=libeay32;; \
-                               ssl) i=ssleay32;; \
-                       esac; \
-                       rm -f apps/$$i.dll; \
-                       rm -f test/$$i.dll; \
-                       cp $$i.dll apps/; \
-                       cp $$i.dll test/; \
+                       arch=; \
+                       if expr $(PLATFORM) : mingw64 > /dev/null; then \
+                               arch=-x64; \
+                       fi; \
+                       rm -f apps/lib$$i-$(SHLIB_MAJOR)_$(SHLIB_MINOR)$$arch.dll; \
+                       rm -f test/lib$$i-$(SHLIB_MAJOR)_$(SHLIB_MINOR)$$arch.dll; \
+                       cp lib$$i-$(SHLIB_MAJOR)_$(SHLIB_MINOR)$$arch.dll apps/; \
+                       cp lib$$i-$(SHLIB_MAJOR)_$(SHLIB_MINOR)$$arch.dll test/; \
+                       ;; \
                esac; \
        done
 
@@ -585,30 +592,40 @@ install_sw:
                for i in $${tmp:-x}; \
                do \
                        if [ -f "$$i" -o -f "$$i.a" ]; then \
-                       (       echo installing $$i; \
-                               if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \
-                                       c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
+                               case "$(PLATFORM)" in \
+                               Cygwin*) \
+                                       c=`echo $$i | sed 's/^lib\(.*\)\.dll/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
+                                       echo installing $$c; \
                                        cp $$c $(DESTDIR)$(INSTALLTOP)/bin/$$c.new; \
                                        chmod 755 $(DESTDIR)$(INSTALLTOP)/bin/$$c.new; \
                                        mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$c.new $(DESTDIR)$(INSTALLTOP)/bin/$$c; \
-                                       cp $$i $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
-                                       chmod 644 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
-                                       mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i; \
-                               else \
+                                       echo installing $$i.a; \
+                                       cp $$i.a $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a.new; \
+                                       chmod 644 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a.new; \
+                                       mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a.new $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a; \
+                                       ;; \
+                               mingw*) \
+                                       arch=; \
+                                       if expr $(PLATFORM) : mingw64 > /dev/null; then \
+                                               arch=-x64; \
+                                       fi; \
+                                       m=`echo $$i | sed -e 's/\.dll$$/-$(SHLIB_MAJOR)_$(SHLIB_MINOR)'"$$arch"'.dll/'`; \
+                                       echo installing $$m; \
+                                       cp $$m $(DESTDIR)$(INSTALLTOP)/bin/$$m.new; \
+                                       chmod 755 $(DESTDIR)$(INSTALLTOP)/bin/$$m.new; \
+                                       mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$m.new $(DESTDIR)$(INSTALLTOP)/bin/$$m; \
+                                       echo installing $$i.a; \
+                                       cp $$i.a $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a.new; \
+                                       chmod 555 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a.new; \
+                                       mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a.new $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a; \
+                                       ;; \
+                               *) \
+                                       echo installing $$i; \
                                        cp $$i $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
                                        chmod 555 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \
                                        mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i; \
-                               fi ); \
-                               if expr $(PLATFORM) : 'mingw' > /dev/null; then \
-                               (       case $$i in \
-                                               *crypto*) i=libeay32.dll;; \
-                                               *ssl*)    i=ssleay32.dll;; \
-                                       esac; \
-                                       echo installing $$i; \
-                                       cp $$i $(DESTDIR)$(INSTALLTOP)/bin/$$i.new; \
-                                       chmod 755 $(DESTDIR)$(INSTALLTOP)/bin/$$i.new; \
-                                       mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$i.new $(DESTDIR)$(INSTALLTOP)/bin/$$i ); \
-                               fi; \
+                                       ;; \
+                               esac; \
                        fi; \
                done; \
                (       here="`pwd`"; \
@@ -639,24 +656,30 @@ uninstall_sw:
                for i in $${tmp:-x}; \
                do \
                        if [ -f "$$i" -o -f "$$i.a" ]; then \
-                               if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \
-                                       c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
+                               case "$(PLATFORM)" in \
+                               Cygwin*) \
+                                       c=`echo $$i | sed 's/^lib\(.*\)\.dll/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
                                        echo $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$c; \
                                        $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$c; \
+                                       echo $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a; \
+                                       $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a; \
+                                       ;; \
+                               mingw*) \
+                                       arch=; \
+                                       if expr $(PLATFORM) : mingw64 > /dev/null; then \
+                                               arch=-x64; \
+                                       fi; \
+                                       m=`echo $$i | sed -e 's/\.dll$$/-$(SHLIB_MAJOR)_$(SHLIB_MINOR)'"$$arch"'.dll/'`; \
+                                       echo $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$m; \
+                                       $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$m; \
+                                       echo $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a; \
+                                       $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i.a; \
+                                       ;; \
+                               *) \
                                        echo $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i; \
                                        $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i; \
-                               else \
-                                       echo $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i; \
-                                       $(RM) $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$i; \
-                               fi; \
-                               if expr $(PLATFORM) : 'mingw' > /dev/null; then \
-                                       case $$i in \
-                                               *crypto*) i=libeay32.dll;; \
-                                               *ssl*)    i=ssleay32.dll;; \
-                                       esac; \
-                                       echo $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$i; \
-                                       $(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$i; \
-                               fi; \
+                                       ;; \
+                               esac; \
                        fi; \
                done; \
        fi