Makefile.org: get commit#21249 right.
[openssl.git] / crypto / Makefile
index faacc01a54a3cf524f7d5fe0895e2c8fca2e0201..f2e35835053b30868fcccc06be36953cbf56d528 100644 (file)
@@ -36,10 +36,10 @@ LIB= $(TOP)/libcrypto.a
 SHARED_LIB= libcrypto$(SHLIB_EXT)
 LIBSRC=        cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c \
        ebcdic.c uid.c o_time.c o_str.c o_dir.c thr_id.c lock.c fips_ers.c \
-       o_init.c
+       o_init.c o_fips.c
 LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o \
        ebcdic.o uid.o o_time.o o_str.o o_dir.o thr_id.o lock.o fips_ers.o \
-       o_init.o $(CPUID_OBJ)
+       o_init.o o_fips.o $(CPUID_OBJ)
 
 SRC= $(LIBSRC)
 
@@ -89,7 +89,15 @@ alphacpuid.s:        alphacpuid.pl
        $(PERL) $< | $(CC) -E - | tee $@ > /dev/null
 
 o_init.o: o_init.c
-       $(CC) $(CFLAGS) -c -o $@ $<
+       case "`(uname -s) 2>/dev/null`" in \
+       OSF1|IRIX*)     _WL_INIT="-Wl,-init,OPENSSL_init"       ;; \
+       HP-UX)          _WL_INIT="-Wl,+init,OPENSSL_init"       ;; \
+       AIX)            _WL_INIT="-Wl,-binitfini:OPENSSL_init,-bnoobjreorder";; \
+       Darwin)         (   while [ "x$1" != "x" -a "x$1" != "x-dynamiclib" ]; do shift; done; \
+                           [ $# -ge 1 ] \
+                       ) && _WL_INIT="-Wl,-init,_OPENSSL_init" ;; \
+       esac ; \
+       $(CC) $(CFLAGS) $(_WL_INIT) -c -o $@ $<
 
 testapps:
        [ -z "$(THIS)" ] || (   if expr " $(SDIRS) " : ".* des " >/dev/null; \