1999-03-22 14:45:08 +00:00
|
|
|
##
|
|
|
|
## Makefile for OpenSSL
|
|
|
|
##
|
|
|
|
|
1999-04-28 16:16:31 +00:00
|
|
|
VERSION=
|
|
|
|
MAJOR=
|
|
|
|
MINOR=
|
2000-07-21 15:08:53 +00:00
|
|
|
SHLIB_VERSION_NUMBER=
|
|
|
|
SHLIB_VERSION_HISTORY=
|
|
|
|
SHLIB_MAJOR=
|
|
|
|
SHLIB_MINOR=
|
2000-10-13 15:25:06 +00:00
|
|
|
SHLIB_EXT=
|
1999-03-22 14:45:08 +00:00
|
|
|
PLATFORM=dist
|
1999-05-13 10:28:14 +00:00
|
|
|
OPTIONS=
|
2000-08-17 10:23:45 +00:00
|
|
|
CONFIGURE_ARGS=
|
2000-07-21 15:08:53 +00:00
|
|
|
SHLIB_TARGET=
|
|
|
|
|
1999-04-29 21:52:08 +00:00
|
|
|
# INSTALL_PREFIX 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.
|
|
|
|
INSTALL_PREFIX=
|
1999-04-24 22:59:36 +00:00
|
|
|
INSTALLTOP=/usr/local/ssl
|
|
|
|
|
|
|
|
# Do not edit this manually. Use Configure --openssldir=DIR do change this!
|
|
|
|
OPENSSLDIR=/usr/local/ssl
|
1999-03-22 14:45:08 +00:00
|
|
|
|
1998-12-21 10:52:47 +00:00
|
|
|
# NO_IDEA - Define to build without the IDEA algorithm
|
|
|
|
# NO_RC4 - Define to build without the RC4 algorithm
|
|
|
|
# NO_RC2 - Define to build without the RC2 algorithm
|
|
|
|
# THREADS - Define when building with threads, you will probably also need any
|
1998-12-21 10:56:39 +00:00
|
|
|
# system defines as well, i.e. _REENTERANT for Solaris 2.[34]
|
1998-12-21 10:52:47 +00:00
|
|
|
# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing.
|
|
|
|
# TERMIOS - Define the termios terminal subsystem, Silicon Graphics.
|
|
|
|
# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3).
|
|
|
|
# DEVRANDOM - Give this the value of the 'random device' if your OS supports
|
1998-12-21 10:56:39 +00:00
|
|
|
# one. 32 bytes will be read from this when the random
|
|
|
|
# number generator is initalised.
|
1999-04-13 11:01:44 +00:00
|
|
|
# SSL_FORBID_ENULL - define if you want the server to be not able to use the
|
1998-12-21 10:56:39 +00:00
|
|
|
# NULL encryption ciphers.
|
1998-12-21 10:52:47 +00:00
|
|
|
#
|
|
|
|
# LOCK_DEBUG - turns on lots of lock debug output :-)
|
|
|
|
# REF_CHECK - turn on some xyz_free() assertions.
|
1998-12-21 10:56:39 +00:00
|
|
|
# REF_PRINT - prints some stuff on structure free.
|
1998-12-21 10:52:47 +00:00
|
|
|
# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff
|
|
|
|
# MFUNC - Make all Malloc/Free/Realloc calls call
|
1998-12-21 10:56:39 +00:00
|
|
|
# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to
|
|
|
|
# call application defined callbacks via CRYPTO_set_mem_functions()
|
|
|
|
# MD5_ASM needs to be defined to use the x86 assembler for MD5
|
|
|
|
# SHA1_ASM needs to be defined to use the x86 assembler for SHA1
|
|
|
|
# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160
|
1998-12-21 11:00:56 +00:00
|
|
|
# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must
|
|
|
|
# equal 4.
|
|
|
|
# PKCS1_CHECK - pkcs1 tests.
|
1998-12-21 10:52:47 +00:00
|
|
|
|
1998-12-28 21:58:19 +00:00
|
|
|
CC= gcc
|
1998-12-21 11:00:56 +00:00
|
|
|
#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
|
1998-12-28 21:58:19 +00:00
|
|
|
CFLAG= -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
|
1999-04-27 01:14:46 +00:00
|
|
|
DEPFLAG=
|
2001-03-22 21:20:54 +00:00
|
|
|
PEX_LIBS=
|
1998-12-22 15:04:48 +00:00
|
|
|
EX_LIBS=
|
2001-04-04 15:50:30 +00:00
|
|
|
EXE_EXT=
|
1998-12-21 10:52:47 +00:00
|
|
|
AR=ar r
|
1999-04-01 12:34:33 +00:00
|
|
|
RANLIB= ranlib
|
|
|
|
PERL= perl
|
2000-02-24 01:59:55 +00:00
|
|
|
TAR= tar
|
2000-09-21 07:15:52 +00:00
|
|
|
TARFLAGS= --no-recursion
|
2001-02-19 16:06:34 +00:00
|
|
|
MAKEDEPPROG=makedepend
|
1998-12-21 10:52:47 +00:00
|
|
|
|
1998-12-21 11:00:56 +00:00
|
|
|
# Set BN_ASM to bn_asm.o if you want to use the C version
|
|
|
|
BN_ASM= bn_asm.o
|
|
|
|
#BN_ASM= bn_asm.o
|
|
|
|
#BN_ASM= asm/bn86-elf.o # elf, linux-elf
|
|
|
|
#BN_ASM= asm/bn86-sol.o # solaris
|
|
|
|
#BN_ASM= asm/bn86-out.o # a.out, FreeBSD
|
|
|
|
#BN_ASM= asm/bn86bsdi.o # bsdi
|
|
|
|
#BN_ASM= asm/alpha.o # DEC Alpha
|
|
|
|
#BN_ASM= asm/pa-risc2.o # HP-UX PA-RISC
|
|
|
|
#BN_ASM= asm/r3000.o # SGI MIPS cpu
|
|
|
|
#BN_ASM= asm/sparc.o # Sun solaris/SunOS
|
|
|
|
#BN_ASM= asm/bn-win32.o # Windows 95/NT
|
|
|
|
#BN_ASM= asm/x86w16.o # 16 bit code for Windows 3.1/DOS
|
|
|
|
#BN_ASM= asm/x86w32.o # 32 bit code for Windows 3.1
|
1998-12-21 10:52:47 +00:00
|
|
|
|
1999-03-31 12:38:27 +00:00
|
|
|
# For x86 assembler: Set PROCESSOR to 386 if you want to support
|
|
|
|
# the 80386.
|
|
|
|
PROCESSOR=
|
|
|
|
|
1998-12-21 10:52:47 +00:00
|
|
|
# Set DES_ENC to des_enc.o if you want to use the C version
|
|
|
|
#There are 4 x86 assember options.
|
1998-12-28 21:58:19 +00:00
|
|
|
DES_ENC= asm/dx86-out.o asm/yx86-out.o
|
1998-12-21 10:56:39 +00:00
|
|
|
#DES_ENC= des_enc.o fcrypt_b.o # C
|
|
|
|
#DES_ENC= asm/dx86-elf.o asm/yx86-elf.o # elf
|
|
|
|
#DES_ENC= asm/dx86-sol.o asm/yx86-sol.o # solaris
|
|
|
|
#DES_ENC= asm/dx86-out.o asm/yx86-out.o # a.out, FreeBSD
|
|
|
|
#DES_ENC= asm/dx86bsdi.o asm/yx86bsdi.o # bsdi
|
1998-12-21 10:52:47 +00:00
|
|
|
|
|
|
|
# Set BF_ENC to bf_enc.o if you want to use the C version
|
|
|
|
#There are 4 x86 assember options.
|
1998-12-28 21:58:19 +00:00
|
|
|
BF_ENC= asm/bx86-out.o
|
1998-12-21 10:56:39 +00:00
|
|
|
#BF_ENC= bf_enc.o
|
1998-12-21 10:52:47 +00:00
|
|
|
#BF_ENC= asm/bx86-elf.o # elf
|
1998-12-21 10:56:39 +00:00
|
|
|
#BF_ENC= asm/bx86-sol.o # solaris
|
|
|
|
#BF_ENC= asm/bx86-out.o # a.out, FreeBSD
|
|
|
|
#BF_ENC= asm/bx86bsdi.o # bsdi
|
1998-12-21 10:52:47 +00:00
|
|
|
|
1998-12-21 10:56:39 +00:00
|
|
|
# Set CAST_ENC to c_enc.o if you want to use the C version
|
|
|
|
#There are 4 x86 assember options.
|
1998-12-28 21:58:19 +00:00
|
|
|
CAST_ENC= asm/cx86-out.o
|
1998-12-21 10:56:39 +00:00
|
|
|
#CAST_ENC= c_enc.o
|
|
|
|
#CAST_ENC= asm/cx86-elf.o # elf
|
|
|
|
#CAST_ENC= asm/cx86-sol.o # solaris
|
|
|
|
#CAST_ENC= asm/cx86-out.o # a.out, FreeBSD
|
|
|
|
#CAST_ENC= asm/cx86bsdi.o # bsdi
|
|
|
|
|
|
|
|
# Set RC4_ENC to rc4_enc.o if you want to use the C version
|
|
|
|
#There are 4 x86 assember options.
|
1998-12-28 21:58:19 +00:00
|
|
|
RC4_ENC= asm/rx86-out.o
|
1998-12-21 10:56:39 +00:00
|
|
|
#RC4_ENC= rc4_enc.o
|
|
|
|
#RC4_ENC= asm/rx86-elf.o # elf
|
|
|
|
#RC4_ENC= asm/rx86-sol.o # solaris
|
|
|
|
#RC4_ENC= asm/rx86-out.o # a.out, FreeBSD
|
|
|
|
#RC4_ENC= asm/rx86bsdi.o # bsdi
|
|
|
|
|
|
|
|
# Set RC5_ENC to rc5_enc.o if you want to use the C version
|
|
|
|
#There are 4 x86 assember options.
|
1998-12-28 21:58:19 +00:00
|
|
|
RC5_ENC= asm/r586-out.o
|
1998-12-21 10:56:39 +00:00
|
|
|
#RC5_ENC= rc5_enc.o
|
|
|
|
#RC5_ENC= asm/r586-elf.o # elf
|
|
|
|
#RC5_ENC= asm/r586-sol.o # solaris
|
|
|
|
#RC5_ENC= asm/r586-out.o # a.out, FreeBSD
|
|
|
|
#RC5_ENC= asm/r586bsdi.o # bsdi
|
|
|
|
|
|
|
|
# Also need MD5_ASM defined
|
1998-12-28 21:58:19 +00:00
|
|
|
MD5_ASM_OBJ= asm/mx86-out.o
|
1998-12-21 10:56:39 +00:00
|
|
|
#MD5_ASM_OBJ= asm/mx86-elf.o # elf
|
|
|
|
#MD5_ASM_OBJ= asm/mx86-sol.o # solaris
|
|
|
|
#MD5_ASM_OBJ= asm/mx86-out.o # a.out, FreeBSD
|
|
|
|
#MD5_ASM_OBJ= asm/mx86bsdi.o # bsdi
|
|
|
|
|
|
|
|
# Also need SHA1_ASM defined
|
1998-12-28 21:58:19 +00:00
|
|
|
SHA1_ASM_OBJ= asm/sx86-out.o
|
1998-12-21 10:56:39 +00:00
|
|
|
#SHA1_ASM_OBJ= asm/sx86-elf.o # elf
|
|
|
|
#SHA1_ASM_OBJ= asm/sx86-sol.o # solaris
|
|
|
|
#SHA1_ASM_OBJ= asm/sx86-out.o # a.out, FreeBSD
|
|
|
|
#SHA1_ASM_OBJ= asm/sx86bsdi.o # bsdi
|
|
|
|
|
|
|
|
# Also need RMD160_ASM defined
|
1998-12-28 21:58:19 +00:00
|
|
|
RMD160_ASM_OBJ= asm/rm86-out.o
|
1998-12-21 10:56:39 +00:00
|
|
|
#RMD160_ASM_OBJ= asm/rm86-elf.o # elf
|
|
|
|
#RMD160_ASM_OBJ= asm/rm86-sol.o # solaris
|
|
|
|
#RMD160_ASM_OBJ= asm/rm86-out.o # a.out, FreeBSD
|
|
|
|
#RMD160_ASM_OBJ= asm/rm86bsdi.o # bsdi
|
|
|
|
|
2000-11-30 22:53:34 +00:00
|
|
|
# KRB5 stuff
|
|
|
|
KRB5_INCLUDES=
|
|
|
|
LIBKRB5=
|
|
|
|
|
2000-07-21 15:08:53 +00:00
|
|
|
# When we're prepared to use shared libraries in the programs we link here
|
2000-10-13 15:25:06 +00:00
|
|
|
# we might set SHLIB_MARK to '$(SHARED_LIBS)'.
|
|
|
|
SHLIB_MARK=
|
2000-07-21 15:08:53 +00:00
|
|
|
|
2000-11-08 17:51:37 +00:00
|
|
|
DIRS= crypto ssl $(SHLIB_MARK) apps test tools
|
1999-04-28 16:16:31 +00:00
|
|
|
SHLIBDIRS= crypto ssl
|
|
|
|
|
1998-12-21 10:52:47 +00:00
|
|
|
# dirs in crypto to build
|
|
|
|
SDIRS= \
|
2000-08-14 14:05:53 +00:00
|
|
|
md2 md4 md5 sha mdc2 hmac ripemd \
|
1998-12-21 10:56:39 +00:00
|
|
|
des rc2 rc4 rc5 idea bf cast \
|
2002-01-02 16:55:35 +00:00
|
|
|
bn ec rsa dsa dh dso engine aes \
|
1999-01-25 01:09:21 +00:00
|
|
|
buffer bio stack lhash rand err objects \
|
2001-07-09 21:46:58 +00:00
|
|
|
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2000-11-12 20:24:30 +00:00
|
|
|
# tests to perform. "alltests" is a special word indicating that all tests
|
|
|
|
# should be performed.
|
|
|
|
TESTS = alltests
|
|
|
|
|
1998-12-21 10:52:47 +00:00
|
|
|
MAKEFILE= Makefile.ssl
|
1998-12-21 10:56:39 +00:00
|
|
|
MAKE= make -f Makefile.ssl
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2000-02-15 18:34:46 +00:00
|
|
|
MANDIR=$(OPENSSLDIR)/man
|
1998-12-21 10:52:47 +00:00
|
|
|
MAN1=1
|
|
|
|
MAN3=3
|
|
|
|
SHELL=/bin/sh
|
|
|
|
|
1998-12-21 10:56:39 +00:00
|
|
|
TOP= .
|
1998-12-21 10:52:47 +00:00
|
|
|
ONEDIRS=out tmp
|
1999-05-13 11:37:32 +00:00
|
|
|
EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS
|
1998-12-21 10:56:39 +00:00
|
|
|
WDIRS= windows
|
2000-07-21 15:08:53 +00:00
|
|
|
LIBS= libcrypto.a libssl.a
|
2000-10-13 15:25:06 +00:00
|
|
|
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
|
|
|
|
SHARED_SSL=libssl$(SHLIB_EXT)
|
|
|
|
SHARED_LIBS=
|
|
|
|
SHARED_LIBS_LINK_EXTS=
|
2002-01-02 10:30:07 +00:00
|
|
|
SHARED_LDFLAGS=
|
1998-12-21 10:56:39 +00:00
|
|
|
|
|
|
|
GENERAL= Makefile
|
1998-12-23 07:58:53 +00:00
|
|
|
BASENAME= openssl
|
1998-12-21 10:56:39 +00:00
|
|
|
NAME= $(BASENAME)-$(VERSION)
|
|
|
|
TARFILE= $(NAME).tar
|
|
|
|
WTARFILE= $(NAME)-win.tar
|
2001-02-19 16:06:34 +00:00
|
|
|
EXHEADER= e_os2.h
|
1998-12-21 10:56:39 +00:00
|
|
|
HEADER= e_os.h
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2000-10-13 15:25:06 +00:00
|
|
|
# When we're prepared to use shared libraries in the programs we link here
|
|
|
|
# we might remove 'clean-shared' from the targets to perform at this stage
|
|
|
|
|
2001-10-30 08:00:59 +00:00
|
|
|
all: Makefile.ssl sub_all
|
1998-12-21 10:52:47 +00:00
|
|
|
|
|
|
|
sub_all:
|
2000-10-13 15:25:06 +00:00
|
|
|
@for i in $(DIRS); \
|
1998-12-21 10:52:47 +00:00
|
|
|
do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making all in $$i..." && \
|
2002-01-29 16:20:08 +00:00
|
|
|
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' all ) || exit 1; \
|
2000-10-13 15:25:06 +00:00
|
|
|
else \
|
|
|
|
$(MAKE) $$i; \
|
2000-07-21 15:08:53 +00:00
|
|
|
fi; \
|
2002-01-28 16:30:06 +00:00
|
|
|
done;
|
2000-07-21 15:08:53 +00:00
|
|
|
|
2000-10-13 15:25:06 +00:00
|
|
|
libcrypto$(SHLIB_EXT): libcrypto.a
|
2000-07-24 20:36:46 +00:00
|
|
|
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
2000-10-13 15:25:06 +00:00
|
|
|
$(MAKE) SHLIBDIRS=crypto build-shared; \
|
2000-07-24 20:36:46 +00:00
|
|
|
else \
|
|
|
|
echo "There's no support for shared libraries on this platform" >&2; \
|
|
|
|
fi
|
2002-01-28 16:30:06 +00:00
|
|
|
|
2000-10-13 15:25:06 +00:00
|
|
|
libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
|
2000-07-24 20:36:46 +00:00
|
|
|
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
2001-03-15 22:10:07 +00:00
|
|
|
$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
|
2000-07-24 20:36:46 +00:00
|
|
|
else \
|
|
|
|
echo "There's no support for shared libraries on this platform" >&2; \
|
|
|
|
fi
|
2000-07-21 15:08:53 +00:00
|
|
|
|
|
|
|
clean-shared:
|
2000-10-13 15:25:06 +00:00
|
|
|
@for i in $(SHLIBDIRS); do \
|
|
|
|
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
|
|
|
|
tmp="$(SHARED_LIBS_LINK_EXTS)"; \
|
|
|
|
for j in $${tmp:-x}; do \
|
|
|
|
( set -x; rm -f lib$$i$$j ); \
|
|
|
|
done; \
|
|
|
|
fi; \
|
|
|
|
( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
|
2002-02-14 12:29:32 +00:00
|
|
|
if [ "$(PLATFORM)" = "Cygwin" ]; then \
|
2002-02-13 14:44:33 +00:00
|
|
|
( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \
|
|
|
|
fi; \
|
2000-07-21 15:08:53 +00:00
|
|
|
done
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2000-10-13 15:25:06 +00:00
|
|
|
link-shared:
|
2002-02-13 10:16:37 +00:00
|
|
|
@if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
|
2002-02-13 10:15:05 +00:00
|
|
|
tmp="$(SHARED_LIBS_LINK_EXTS)"; \
|
2002-02-13 10:16:37 +00:00
|
|
|
for i in $(SHLIBDIRS); do \
|
2002-02-13 10:15:05 +00:00
|
|
|
prev=lib$$i$(SHLIB_EXT); \
|
2000-10-13 15:25:06 +00:00
|
|
|
for j in $${tmp:-x}; do \
|
2001-03-24 11:45:57 +00:00
|
|
|
( set -x; ln -f -s $$prev lib$$i$$j ); \
|
2000-10-13 15:25:06 +00:00
|
|
|
prev=lib$$i$$j; \
|
|
|
|
done; \
|
2002-02-13 10:15:05 +00:00
|
|
|
done; \
|
|
|
|
fi
|
2000-10-13 15:25:06 +00:00
|
|
|
|
|
|
|
build-shared: clean-shared do_$(SHLIB_TARGET) link-shared
|
|
|
|
|
2001-04-04 04:24:24 +00:00
|
|
|
do_bsd-gcc-shared: do_gnu-shared
|
2001-03-24 11:45:57 +00:00
|
|
|
do_linux-shared: do_gnu-shared
|
|
|
|
do_gnu-shared:
|
2001-03-15 22:10:07 +00:00
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:07 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-04-26 20:17:59 +00:00
|
|
|
-Wl,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2002-04-06 09:42:25 +00:00
|
|
|
-Wl,-Bsymbolic \
|
1999-04-28 16:16:31 +00:00
|
|
|
-Wl,--whole-archive lib$$i.a \
|
2000-08-02 03:52:49 +00:00
|
|
|
-Wl,--no-whole-archive $$libs ${EX_LIBS} -lc ) || exit 1; \
|
2001-03-15 22:10:07 +00:00
|
|
|
libs="$$libs -l$$i"; \
|
2000-08-02 03:03:17 +00:00
|
|
|
done
|
2000-07-21 15:08:53 +00:00
|
|
|
|
2001-10-10 14:46:41 +00:00
|
|
|
DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc' >/dev/null 2>&1 && \
|
|
|
|
collect2=`gcc -print-prog-name=collect2 2>&1` && \
|
|
|
|
[ -n "$$collect2" ] && \
|
|
|
|
my_ld=`$$collect2 --help 2>&1 | grep Usage: | sed 's/^Usage: *\([^ ][^ ]*\).*/\1/'` && \
|
|
|
|
[ -n "$$my_ld" ] && \
|
|
|
|
$$my_ld -v 2>&1 | grep 'GNU ld' >/dev/null 2>&1
|
|
|
|
|
2002-01-08 09:19:31 +00:00
|
|
|
# For Darwin AKA Mac OS/X (dyld)
|
|
|
|
do_darwin-shared:
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
|
|
|
( set -x ; ${CC} --verbose -dynamiclib -o lib$$i${SHLIB_EXT} \
|
|
|
|
lib$$i.a $$libs -all_load -current_version ${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
-compatibility_version ${SHLIB_MAJOR}.`echo ${SHLIB_MINOR} | cut -d. -f1` \
|
|
|
|
-install_name ${INSTALLTOP}/lib/lib$$i${SHLIB_EXT} ) || exit 1; \
|
|
|
|
libs="$$libs -l`basename $$i${SHLIB_EXT} .dylib`"; \
|
|
|
|
echo "" ; \
|
|
|
|
done
|
|
|
|
|
2002-02-13 14:44:33 +00:00
|
|
|
do_cygwin-shared:
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
|
|
|
( set -x; ${CC} -shared -o cyg$$i.dll \
|
2002-04-06 09:42:25 +00:00
|
|
|
-Wl,-Bsymbolic \
|
2002-02-13 14:44:33 +00:00
|
|
|
-Wl,--whole-archive lib$$i.a \
|
|
|
|
-Wl,--out-implib,lib$$i.dll.a \
|
|
|
|
-Wl,--no-whole-archive $$libs ) || exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done
|
|
|
|
|
2000-07-21 15:08:53 +00:00
|
|
|
# This assumes that GNU utilities are *not* used
|
Apply the Tru64 patch from Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
His comments are:
1) Changes all references for `True64' to be `Tru64', which is the correct
spelling for the OS name.
2) Makes `alpha-cc' be the same as `alpha164-cc', and adds an `alphaold-cc'
entry that is the same as the previous `alpha-cc'. The reason is that most
people these days are using the newer compiler, so it should be the default.
3) Adds a bit of commentary to Configure, regarding the name changes of
the OS over the years, so it's not so confusing to people that haven't been
with the OS for a while.
4) Adds an `alpha-cc-rpath' target (which is *not* selected automatically
by Configure under any circumstance) that builds an RPATH into the
shared libraries. This is explained in the comment in Configure. It's
very very useful for people that want it, and people that don't want it
just shouldn't choose that target.
5) Adds the `-pthread' flag as the best way to get POSIX thread support
from the newer compiler.
6) Updates the Makefile targets, so that when the `alpha164-cc', `alpha-cc',
or `alpha-cc-rpath' target is what Configure is set to use, it uses a Makefile
target that includes the `-msym' option when building the shared library.
This is a performance enhancement.
7) Updates `config' so that if it detects you're running version 4 or 5
of the OS, it automatically selects `alpha-cc', but uses `alphaold-cc'
for versions 1-3 of the OS.
8) Updates the comment in opensslv.h, fixing both the OS name typo and
adding a reference to IRIX 6.x, since the shared library semantics are
virtually identical there.
2001-08-10 15:26:21 +00:00
|
|
|
do_alpha-osf1-shared:
|
2001-10-10 14:46:41 +00:00
|
|
|
if ${DETECT_GNU_LD}; then \
|
|
|
|
$(MAKE) do_gnu-shared; \
|
|
|
|
else \
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:07 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -o lib$$i.so \
|
2001-10-10 14:46:41 +00:00
|
|
|
-set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
|
|
|
|
-all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
1999-04-28 16:16:31 +00:00
|
|
|
|
Apply the Tru64 patch from Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
His comments are:
1) Changes all references for `True64' to be `Tru64', which is the correct
spelling for the OS name.
2) Makes `alpha-cc' be the same as `alpha164-cc', and adds an `alphaold-cc'
entry that is the same as the previous `alpha-cc'. The reason is that most
people these days are using the newer compiler, so it should be the default.
3) Adds a bit of commentary to Configure, regarding the name changes of
the OS over the years, so it's not so confusing to people that haven't been
with the OS for a while.
4) Adds an `alpha-cc-rpath' target (which is *not* selected automatically
by Configure under any circumstance) that builds an RPATH into the
shared libraries. This is explained in the comment in Configure. It's
very very useful for people that want it, and people that don't want it
just shouldn't choose that target.
5) Adds the `-pthread' flag as the best way to get POSIX thread support
from the newer compiler.
6) Updates the Makefile targets, so that when the `alpha164-cc', `alpha-cc',
or `alpha-cc-rpath' target is what Configure is set to use, it uses a Makefile
target that includes the `-msym' option when building the shared library.
This is a performance enhancement.
7) Updates `config' so that if it detects you're running version 4 or 5
of the OS, it automatically selects `alpha-cc', but uses `alphaold-cc'
for versions 1-3 of the OS.
8) Updates the comment in opensslv.h, fixing both the OS name typo and
adding a reference to IRIX 6.x, since the shared library semantics are
virtually identical there.
2001-08-10 15:26:21 +00:00
|
|
|
# This assumes that GNU utilities are *not* used
|
|
|
|
# The difference between alpha-osf1-shared and tru64-shared is the `-msym'
|
|
|
|
# option passed to the linker.
|
|
|
|
do_tru64-shared:
|
2001-10-10 14:46:41 +00:00
|
|
|
if ${DETECT_GNU_LD}; then \
|
|
|
|
$(MAKE) do_gnu-shared; \
|
|
|
|
else \
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:07 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -msym -o lib$$i.so \
|
2001-10-10 14:46:41 +00:00
|
|
|
-set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
|
|
|
|
-all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
Apply the Tru64 patch from Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
His comments are:
1) Changes all references for `True64' to be `Tru64', which is the correct
spelling for the OS name.
2) Makes `alpha-cc' be the same as `alpha164-cc', and adds an `alphaold-cc'
entry that is the same as the previous `alpha-cc'. The reason is that most
people these days are using the newer compiler, so it should be the default.
3) Adds a bit of commentary to Configure, regarding the name changes of
the OS over the years, so it's not so confusing to people that haven't been
with the OS for a while.
4) Adds an `alpha-cc-rpath' target (which is *not* selected automatically
by Configure under any circumstance) that builds an RPATH into the
shared libraries. This is explained in the comment in Configure. It's
very very useful for people that want it, and people that don't want it
just shouldn't choose that target.
5) Adds the `-pthread' flag as the best way to get POSIX thread support
from the newer compiler.
6) Updates the Makefile targets, so that when the `alpha164-cc', `alpha-cc',
or `alpha-cc-rpath' target is what Configure is set to use, it uses a Makefile
target that includes the `-msym' option when building the shared library.
This is a performance enhancement.
7) Updates `config' so that if it detects you're running version 4 or 5
of the OS, it automatically selects `alpha-cc', but uses `alphaold-cc'
for versions 1-3 of the OS.
8) Updates the comment in opensslv.h, fixing both the OS name typo and
adding a reference to IRIX 6.x, since the shared library semantics are
virtually identical there.
2001-08-10 15:26:21 +00:00
|
|
|
|
|
|
|
# This assumes that GNU utilities are *not* used
|
|
|
|
# The difference between tru64-shared and tru64-shared-rpath is the
|
|
|
|
# -rpath ${INSTALLTOP}/lib passed to the linker.
|
|
|
|
do_tru64-shared-rpath:
|
2001-10-10 14:46:41 +00:00
|
|
|
if ${DETECT_GNU_LD}; then \
|
|
|
|
$(MAKE) do_gnu-shared; \
|
|
|
|
else \
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:07 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -msym -o lib$$i.so \
|
2001-10-10 14:46:41 +00:00
|
|
|
-rpath ${INSTALLTOP}/lib \
|
|
|
|
-set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
|
|
|
|
-all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
Apply the Tru64 patch from Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
His comments are:
1) Changes all references for `True64' to be `Tru64', which is the correct
spelling for the OS name.
2) Makes `alpha-cc' be the same as `alpha164-cc', and adds an `alphaold-cc'
entry that is the same as the previous `alpha-cc'. The reason is that most
people these days are using the newer compiler, so it should be the default.
3) Adds a bit of commentary to Configure, regarding the name changes of
the OS over the years, so it's not so confusing to people that haven't been
with the OS for a while.
4) Adds an `alpha-cc-rpath' target (which is *not* selected automatically
by Configure under any circumstance) that builds an RPATH into the
shared libraries. This is explained in the comment in Configure. It's
very very useful for people that want it, and people that don't want it
just shouldn't choose that target.
5) Adds the `-pthread' flag as the best way to get POSIX thread support
from the newer compiler.
6) Updates the Makefile targets, so that when the `alpha164-cc', `alpha-cc',
or `alpha-cc-rpath' target is what Configure is set to use, it uses a Makefile
target that includes the `-msym' option when building the shared library.
This is a performance enhancement.
7) Updates `config' so that if it detects you're running version 4 or 5
of the OS, it automatically selects `alpha-cc', but uses `alphaold-cc'
for versions 1-3 of the OS.
8) Updates the comment in opensslv.h, fixing both the OS name typo and
adding a reference to IRIX 6.x, since the shared library semantics are
virtually identical there.
2001-08-10 15:26:21 +00:00
|
|
|
|
|
|
|
|
2000-07-24 20:50:21 +00:00
|
|
|
# This assumes that GNU utilities are *not* used
|
2000-10-13 15:25:06 +00:00
|
|
|
do_solaris-shared:
|
2001-10-10 14:46:41 +00:00
|
|
|
if ${DETECT_GNU_LD}; then \
|
|
|
|
$(MAKE) do_gnu-shared; \
|
|
|
|
else \
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
|
|
|
( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
|
2002-01-02 10:30:07 +00:00
|
|
|
set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-10-10 14:46:41 +00:00
|
|
|
-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
-z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
|
2002-01-26 05:24:05 +00:00
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
|
|
|
|
|
|
|
# OpenServer 5 native compilers used
|
|
|
|
do_svr3-shared:
|
|
|
|
if ${DETECT_GNU_LD}; then \
|
|
|
|
$(MAKE) do_gnu-shared; \
|
|
|
|
else \
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
|
|
|
( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
|
|
|
|
find . -name "*.o" -print > allobjs ; \
|
|
|
|
OBJS= ; export OBJS ; \
|
|
|
|
for obj in `ar t lib$$i.a` ; do \
|
|
|
|
OBJS="$${OBJS} `grep $$obj allobjs`" ; \
|
|
|
|
done ; \
|
|
|
|
set -x; ${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
$${OBJS} $$libs ${EX_LIBS} ) || exit 1; \
|
2001-10-10 14:46:41 +00:00
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
2000-07-24 20:50:21 +00:00
|
|
|
|
2001-09-06 12:39:00 +00:00
|
|
|
# UnixWare 7 and OpenUNIX 8 native compilers used
|
|
|
|
do_svr5-shared:
|
2001-10-10 14:46:41 +00:00
|
|
|
if ${DETECT_GNU_LD}; then \
|
|
|
|
$(MAKE) do_gnu-shared; \
|
|
|
|
else \
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
|
|
|
( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
|
|
|
|
find . -name "*.o" -print > allobjs ; \
|
|
|
|
OBJS= ; export OBJS ; \
|
|
|
|
for obj in `ar t lib$$i.a` ; do \
|
|
|
|
OBJS="$${OBJS} `grep $$obj allobjs`" ; \
|
|
|
|
done ; \
|
2002-01-02 10:30:07 +00:00
|
|
|
set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-10-10 14:46:41 +00:00
|
|
|
-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
$${OBJS} $$libs ${EX_LIBS} ) || exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
2001-09-06 12:39:00 +00:00
|
|
|
|
2000-11-01 00:05:04 +00:00
|
|
|
# This assumes that GNU utilities are *not* used
|
|
|
|
do_irix-shared:
|
2001-10-10 14:46:41 +00:00
|
|
|
if ${DETECT_GNU_LD}; then \
|
|
|
|
$(MAKE) do_gnu-shared; \
|
|
|
|
else \
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:07 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-10-10 14:46:41 +00:00
|
|
|
-Wl,-soname,lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
-all lib$$i.a $$libs ${EX_LIBS} -lc) || exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
2000-11-01 00:05:04 +00:00
|
|
|
|
2000-10-21 21:24:11 +00:00
|
|
|
# This assumes that GNU utilities are *not* used
|
2000-11-13 14:40:07 +00:00
|
|
|
# HP-UX includes the full pathname of libs we depend on, so we would get
|
|
|
|
# ./libcrypto (with ./ as path information) compiled into libssl, hence
|
|
|
|
# we omit the SHLIBDEPS. Applications must be linked with -lssl -lcrypto
|
|
|
|
# anyway.
|
|
|
|
# The object modules are loaded from lib$i.a using the undocumented -Fl
|
|
|
|
# option.
|
|
|
|
#
|
|
|
|
# WARNING: Until DSO is fixed to support a search path, we support SHLIB_PATH
|
|
|
|
# by temporarily specifying "+s"!
|
|
|
|
#
|
2000-10-21 21:24:11 +00:00
|
|
|
do_hpux-shared:
|
2000-11-13 14:40:07 +00:00
|
|
|
for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:07 +00:00
|
|
|
( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \
|
|
|
|
+vnocompatwarnings \
|
2000-11-13 14:40:07 +00:00
|
|
|
-b -z +s \
|
|
|
|
-o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2000-10-21 21:24:11 +00:00
|
|
|
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2000-11-13 14:40:07 +00:00
|
|
|
-Fl lib$$i.a -ldld -lc ) || exit 1; \
|
2000-10-21 21:24:11 +00:00
|
|
|
done
|
|
|
|
|
|
|
|
# This assumes that GNU utilities are *not* used
|
2000-11-13 14:40:07 +00:00
|
|
|
# HP-UX includes the full pathname of libs we depend on, so we would get
|
|
|
|
# ./libcrypto (with ./ as path information) compiled into libssl, hence
|
|
|
|
# we omit the SHLIBDEPS. Applications must be linked with -lssl -lcrypto
|
|
|
|
# anyway.
|
|
|
|
#
|
|
|
|
# HP-UX in 64bit mode has "+s" enabled by default; it will search for
|
|
|
|
# shared libraries along LD_LIBRARY_PATH _and_ SHLIB_PATH.
|
|
|
|
#
|
2000-10-21 21:24:11 +00:00
|
|
|
do_hpux64-shared:
|
2000-11-13 14:40:07 +00:00
|
|
|
for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:07 +00:00
|
|
|
( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \
|
|
|
|
-b -z \
|
2000-11-13 14:40:07 +00:00
|
|
|
-o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2000-10-21 21:24:11 +00:00
|
|
|
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2000-11-13 14:40:07 +00:00
|
|
|
+forceload lib$$i.a -ldl -lc ) || exit 1; \
|
2000-10-21 21:24:11 +00:00
|
|
|
done
|
|
|
|
|
2001-04-27 21:33:44 +00:00
|
|
|
# The following method is said to work on all platforms. Tests will
|
|
|
|
# determine if that's how it's gong to be used.
|
|
|
|
# This assumes that for all but GNU systems, GNU utilities are *not* used.
|
|
|
|
# ALLSYMSFLAGS would be:
|
|
|
|
# GNU systems: --whole-archive
|
|
|
|
# Tru64 Unix: -all
|
|
|
|
# Solaris: -z allextract
|
|
|
|
# Irix: -all
|
|
|
|
# HP/UX-32bit: -Fl
|
|
|
|
# HP/UX-64bit: +forceload
|
|
|
|
# AIX: -bnogc
|
|
|
|
# SHAREDFLAGS would be:
|
|
|
|
# GNU systems: -shared -Wl,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
|
|
|
|
# Tru64 Unix: -shared \
|
|
|
|
# -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}"
|
|
|
|
# Solaris: -G -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
|
|
|
|
# Irix: -shared -Wl,-soname,lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
|
|
|
|
# HP/UX-32bit: +vnocompatwarnings -b -z +s \
|
|
|
|
# +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}
|
|
|
|
# HP/UX-64bit: -b -z +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}
|
2001-06-05 04:41:57 +00:00
|
|
|
# AIX: -G -bE:lib$$i.exp -bM:SRE
|
2001-04-27 21:33:44 +00:00
|
|
|
# SHAREDCMD would be:
|
|
|
|
# GNU systems: $(CC)
|
|
|
|
# Tru64 Unix: $(CC)
|
|
|
|
# Solaris: $(CC)
|
|
|
|
# Irix: $(CC)
|
|
|
|
# HP/UX-32bit: /usr/ccs/bin/ld
|
|
|
|
# HP/UX-64bit: /usr/ccs/bin/ld
|
|
|
|
# AIX: $(CC)
|
|
|
|
ALLSYMSFLAG=-bnogc
|
2002-01-02 10:30:07 +00:00
|
|
|
SHAREDFLAGS=${SHARED_LDFLAGS} -G -bE:lib$$i.exp -bM:SRE
|
2001-04-27 21:33:44 +00:00
|
|
|
SHAREDCMD=$(CC)
|
|
|
|
do_aix-shared:
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
|
|
|
( set -x; \
|
|
|
|
ld -r -o $$i.o $(ALLSYMSFLAG) lib$$i.a && \
|
|
|
|
( nm -Pg lib$$i.o | grep ' [BD] ' | cut -f1 -d' ' > lib$$i.exp; \
|
|
|
|
$(SHAREDCMD) $(SHAREDFLAG) -o lib$$i.so lib$$i.o \
|
|
|
|
$$libs ${EX_LIBS} ) ) \
|
|
|
|
|| exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done
|
|
|
|
|
2002-01-26 03:17:27 +00:00
|
|
|
do_reliantunix-shared:
|
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
|
|
|
tmpdir=/tmp/openssl.$$$$ ; rm -rf $$tmpdir ; \
|
|
|
|
( set -x; \
|
|
|
|
( Opwd=`pwd` ; mkdir $$tmpdir || exit 1; \
|
|
|
|
cd $$tmpdir || exit 1 ; ar x $$Opwd/lib$$i.a ; \
|
|
|
|
${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} *.o \
|
|
|
|
) || exit 1; \
|
|
|
|
cp $$tmpdir/lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} . ; \
|
|
|
|
) || exit 1; \
|
|
|
|
rm -rf $$tmpdir ; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done
|
|
|
|
|
1999-01-24 18:15:00 +00:00
|
|
|
Makefile.ssl: Makefile.org
|
1999-03-22 14:38:33 +00:00
|
|
|
@echo "Makefile.ssl is older than Makefile.org."
|
1999-07-22 16:10:31 +00:00
|
|
|
@echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
|
1999-01-24 18:15:00 +00:00
|
|
|
@false
|
|
|
|
|
1998-12-21 11:00:56 +00:00
|
|
|
libclean:
|
1999-03-06 12:32:06 +00:00
|
|
|
rm -f *.a */lib */*/lib
|
1998-12-21 11:00:56 +00:00
|
|
|
|
1998-12-21 10:52:47 +00:00
|
|
|
clean:
|
2000-02-25 14:34:55 +00:00
|
|
|
rm -f shlib/*.o *.o core a.out fluff *.map rehash.time testlog make.log cctest cctest.c
|
1998-12-21 10:52:47 +00:00
|
|
|
@for i in $(DIRS) ;\
|
|
|
|
do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making clean in $$i..." && \
|
|
|
|
$(MAKE) SDIRS='${SDIRS}' clean ) || exit 1; \
|
|
|
|
rm -f $(LIBS); \
|
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done;
|
1999-03-06 12:32:06 +00:00
|
|
|
rm -f *.a *.o speed.* *.map *.so .pure core
|
|
|
|
rm -f $(TARFILE)
|
1998-12-21 10:52:47 +00:00
|
|
|
@for i in $(ONEDIRS) ;\
|
|
|
|
do \
|
1999-03-06 12:32:06 +00:00
|
|
|
rm -fr $$i/*; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done
|
|
|
|
|
|
|
|
makefile.one: files
|
1999-04-01 12:34:33 +00:00
|
|
|
$(PERL) util/mk1mf.pl >makefile.one; \
|
1998-12-21 10:52:47 +00:00
|
|
|
sh util/do_ms.sh
|
|
|
|
|
1999-04-08 15:19:36 +00:00
|
|
|
files:
|
1999-04-01 12:34:33 +00:00
|
|
|
$(PERL) $(TOP)/util/files.pl Makefile.ssl > $(TOP)/MINFO
|
1998-12-21 10:52:47 +00:00
|
|
|
@for i in $(DIRS) ;\
|
|
|
|
do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making 'files' in $$i..." && \
|
|
|
|
$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' files ) || exit 1; \
|
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done;
|
|
|
|
|
|
|
|
links:
|
1999-03-06 12:32:06 +00:00
|
|
|
@$(TOP)/util/point.sh Makefile.ssl Makefile
|
1999-06-07 13:33:50 +00:00
|
|
|
@$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
|
2001-02-22 14:45:02 +00:00
|
|
|
@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
|
1999-03-06 12:32:06 +00:00
|
|
|
@for i in $(DIRS); do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making links in $$i..." && \
|
2000-11-30 22:53:34 +00:00
|
|
|
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PERL='${PERL}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' links ) || exit 1; \
|
2000-07-21 15:08:53 +00:00
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done;
|
|
|
|
|
|
|
|
dclean:
|
1999-03-06 12:32:06 +00:00
|
|
|
rm -f *.bak
|
1998-12-21 10:52:47 +00:00
|
|
|
@for i in $(DIRS) ;\
|
|
|
|
do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making dclean in $$i..." && \
|
|
|
|
$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' dclean ) || exit 1; \
|
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done;
|
|
|
|
|
2000-02-11 16:25:44 +00:00
|
|
|
rehash: rehash.time
|
|
|
|
rehash.time: certs
|
2001-10-30 08:00:59 +00:00
|
|
|
@(OPENSSL="`pwd`/apps/openssl"; OPENSSL_DEBUG_MEMORY=on; \
|
|
|
|
export OPENSSL OPENSSL_DEBUG_MEMORY; \
|
|
|
|
LD_LIBRARY_PATH="`pwd`"; SHLIB_PATH="`pwd`"; LIBPATH="`pwd`"; \
|
|
|
|
export LD_LIBRARY_PATH SHLIB_PATH LIBPATH; \
|
|
|
|
$(PERL) tools/c_rehash certs)
|
2000-02-11 17:18:50 +00:00
|
|
|
touch rehash.time
|
1998-12-21 10:52:47 +00:00
|
|
|
|
1998-12-21 10:56:39 +00:00
|
|
|
test: tests
|
1998-12-21 10:52:47 +00:00
|
|
|
|
1999-04-28 16:14:39 +00:00
|
|
|
tests: rehash
|
1999-03-06 12:32:06 +00:00
|
|
|
@(cd test && echo "testing..." && \
|
2001-04-04 15:50:30 +00:00
|
|
|
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SDIRS='${SDIRS}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PERL='${PERL}' TESTS='${TESTS}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' OPENSSL_DEBUG_MEMORY=on tests );
|
2001-10-30 08:00:59 +00:00
|
|
|
@LD_LIBRARY_PATH="`pwd`"; SHLIB_PATH="`pwd`"; LIBPATH="`pwd`"; \
|
|
|
|
export LD_LIBRARY_PATH SHLIB_PATH LIBPATH; \
|
|
|
|
apps/openssl version -a
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2000-02-23 23:47:05 +00:00
|
|
|
report:
|
|
|
|
@$(PERL) util/selftest.pl
|
|
|
|
|
1998-12-21 10:52:47 +00:00
|
|
|
depend:
|
|
|
|
@for i in $(DIRS) ;\
|
|
|
|
do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making dependencies $$i..." && \
|
2001-07-09 21:46:58 +00:00
|
|
|
$(MAKE) SDIRS='${SDIRS}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' depend ) || exit 1; \
|
2000-07-21 15:08:53 +00:00
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done;
|
|
|
|
|
|
|
|
lint:
|
|
|
|
@for i in $(DIRS) ;\
|
|
|
|
do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making lint $$i..." && \
|
|
|
|
$(MAKE) SDIRS='${SDIRS}' lint ) || exit 1; \
|
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done;
|
|
|
|
|
|
|
|
tags:
|
|
|
|
@for i in $(DIRS) ;\
|
|
|
|
do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making tags $$i..." && \
|
|
|
|
$(MAKE) SDIRS='${SDIRS}' tags ) || exit 1; \
|
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done;
|
|
|
|
|
|
|
|
errors:
|
2001-01-10 16:40:30 +00:00
|
|
|
$(PERL) util/mkerr.pl -recurse -write
|
2002-02-07 20:02:49 +00:00
|
|
|
(cd crypto/engine; $(MAKE) PERL=$(PERL) errors)
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2000-06-01 05:13:52 +00:00
|
|
|
stacks:
|
2001-01-10 16:40:30 +00:00
|
|
|
$(PERL) util/mkstack.pl -write
|
2000-06-01 05:13:52 +00:00
|
|
|
|
1999-06-09 16:18:53 +00:00
|
|
|
util/libeay.num::
|
2001-01-10 16:40:30 +00:00
|
|
|
$(PERL) util/mkdef.pl crypto update
|
1999-06-09 16:18:53 +00:00
|
|
|
|
|
|
|
util/ssleay.num::
|
2001-01-10 16:40:30 +00:00
|
|
|
$(PERL) util/mkdef.pl ssl update
|
1999-06-09 16:18:53 +00:00
|
|
|
|
2001-03-06 08:58:38 +00:00
|
|
|
crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h
|
2001-01-10 16:40:30 +00:00
|
|
|
$(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
|
2001-03-13 16:30:09 +00:00
|
|
|
crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
|
2001-01-10 16:40:30 +00:00
|
|
|
$(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
|
1999-09-29 21:03:02 +00:00
|
|
|
|
1999-06-09 21:13:30 +00:00
|
|
|
TABLE: Configure
|
1999-06-09 23:13:03 +00:00
|
|
|
(echo 'Output of `Configure TABLE'"':"; \
|
2001-01-10 16:40:30 +00:00
|
|
|
$(PERL) Configure TABLE) > TABLE
|
1999-06-09 16:18:53 +00:00
|
|
|
|
2000-06-01 05:13:52 +00:00
|
|
|
update: depend errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h TABLE
|
1999-06-09 16:18:53 +00:00
|
|
|
|
1998-12-21 10:52:47 +00:00
|
|
|
tar:
|
2000-02-24 01:59:55 +00:00
|
|
|
@$(TAR) $(TARFLAGS) -cvf - \
|
1999-06-09 16:18:53 +00:00
|
|
|
`find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort` |\
|
1999-03-08 12:17:53 +00:00
|
|
|
tardy --user_number=0 --user_name=openssl \
|
1998-12-23 07:58:53 +00:00
|
|
|
--group_number=0 --group_name=openssl \
|
|
|
|
--prefix=openssl-$(VERSION) - |\
|
1998-12-22 15:04:48 +00:00
|
|
|
gzip --best >../$(TARFILE).gz; \
|
|
|
|
ls -l ../$(TARFILE).gz
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2001-02-22 14:45:02 +00:00
|
|
|
tar-snap:
|
|
|
|
@$(TAR) $(TARFLAGS) -cvf - \
|
2002-04-13 12:28:49 +00:00
|
|
|
`find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \! -name '*test' \! -name '.#*' \! -name '*~' | sort` |\
|
2001-02-22 14:45:02 +00:00
|
|
|
tardy --user_number=0 --user_name=openssl \
|
|
|
|
--group_number=0 --group_name=openssl \
|
|
|
|
--prefix=openssl-$(VERSION) - > ../$(TARFILE);\
|
|
|
|
ls -l ../$(TARFILE)
|
|
|
|
|
1998-12-21 10:56:39 +00:00
|
|
|
dist:
|
1999-04-01 12:34:33 +00:00
|
|
|
$(PERL) Configure dist
|
1998-12-21 10:52:47 +00:00
|
|
|
@$(MAKE) dist_pem_h
|
|
|
|
@$(MAKE) SDIRS='${SDIRS}' clean
|
|
|
|
@$(MAKE) tar
|
|
|
|
|
|
|
|
dist_pem_h:
|
1999-05-13 11:37:32 +00:00
|
|
|
(cd crypto/pem; $(MAKE) CC='${CC}' SDIRS='${SDIRS}' CFLAG='${CFLAG}' pem.h; $(MAKE) clean)
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2000-02-11 16:25:44 +00:00
|
|
|
install: all install_docs
|
1999-06-08 10:18:19 +00:00
|
|
|
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
|
|
|
|
$(INSTALL_PREFIX)$(INSTALLTOP)/lib \
|
|
|
|
$(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
|
|
|
|
$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
|
|
|
|
$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
|
|
|
|
$(INSTALL_PREFIX)$(OPENSSLDIR)/private \
|
2000-02-11 16:25:44 +00:00
|
|
|
$(INSTALL_PREFIX)$(OPENSSLDIR)/lib
|
1999-05-15 13:24:16 +00:00
|
|
|
@for i in $(EXHEADER) ;\
|
|
|
|
do \
|
|
|
|
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
|
|
|
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
|
|
|
done;
|
1998-12-21 10:52:47 +00:00
|
|
|
@for i in $(DIRS) ;\
|
|
|
|
do \
|
2000-10-13 15:25:06 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i; echo "installing $$i..."; \
|
2001-04-04 15:50:30 +00:00
|
|
|
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' EX_LIBS='${EX_LIBS}' SDIRS='${SDIRS}' RANLIB='${RANLIB}' EXE_EXT='${EXE_EXT}' install ); \
|
2000-07-21 15:08:53 +00:00
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done
|
|
|
|
@for i in $(LIBS) ;\
|
|
|
|
do \
|
2000-07-21 15:08:53 +00:00
|
|
|
if [ -f "$$i" ]; then \
|
|
|
|
( echo installing $$i; \
|
|
|
|
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
2000-10-13 15:25:06 +00:00
|
|
|
$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
|
2000-07-21 15:08:53 +00:00
|
|
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
|
2002-05-07 15:35:09 +00:00
|
|
|
fi; \
|
|
|
|
done;
|
2000-10-13 15:25:06 +00:00
|
|
|
@if [ -n "$(SHARED_LIBS)" ]; then \
|
|
|
|
tmp="$(SHARED_LIBS)"; \
|
|
|
|
for i in $${tmp:-x}; \
|
|
|
|
do \
|
2002-02-13 14:44:33 +00:00
|
|
|
if [ -f "$$i" -o -f "$$i.a" ]; then \
|
2000-10-13 15:25:06 +00:00
|
|
|
( echo installing $$i; \
|
2002-02-14 12:29:32 +00:00
|
|
|
if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
2002-02-13 14:44:33 +00:00
|
|
|
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
|
|
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
|
|
|
|
else \
|
|
|
|
c=`echo $$i | sed 's/^lib/cyg/'`; \
|
|
|
|
cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
|
|
|
|
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
|
|
|
|
cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
|
|
|
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
|
|
|
|
fi ); \
|
2002-05-07 15:35:09 +00:00
|
|
|
fi; \
|
2000-10-13 15:25:06 +00:00
|
|
|
done; \
|
|
|
|
( here="`pwd`"; \
|
|
|
|
cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
|
|
|
make -f $$here/Makefile link-shared ); \
|
|
|
|
fi
|
2000-02-11 16:25:44 +00:00
|
|
|
|
|
|
|
install_docs:
|
|
|
|
@$(PERL) $(TOP)/util/mkdir-p.pl \
|
2000-02-15 18:34:46 +00:00
|
|
|
$(INSTALL_PREFIX)$(MANDIR)/man1 \
|
|
|
|
$(INSTALL_PREFIX)$(MANDIR)/man3 \
|
|
|
|
$(INSTALL_PREFIX)$(MANDIR)/man5 \
|
|
|
|
$(INSTALL_PREFIX)$(MANDIR)/man7
|
2000-02-14 16:55:23 +00:00
|
|
|
@for i in doc/apps/*.pod; do \
|
|
|
|
fn=`basename $$i .pod`; \
|
2001-04-08 13:49:45 +00:00
|
|
|
if [ "$$fn" = "config" ]; then sec=5; else sec=1; fi; \
|
2000-09-26 12:23:55 +00:00
|
|
|
echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
|
2000-03-09 15:04:27 +00:00
|
|
|
(cd `dirname $$i`; \
|
2002-05-30 15:18:07 +00:00
|
|
|
sh -c "`cd ../../util; ./pod2mantest ignore` \
|
|
|
|
--section=$$sec --center=OpenSSL \
|
|
|
|
--release=$(VERSION) `basename $$i`") \
|
2000-03-09 15:04:27 +00:00
|
|
|
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
|
2000-02-14 16:55:23 +00:00
|
|
|
done
|
|
|
|
@for i in doc/crypto/*.pod doc/ssl/*.pod; do \
|
|
|
|
fn=`basename $$i .pod`; \
|
2001-04-08 13:49:45 +00:00
|
|
|
if [ "$$fn" = "des_modes" ]; then sec=7; else sec=3; fi; \
|
2000-09-26 12:23:55 +00:00
|
|
|
echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
|
2000-03-09 15:04:27 +00:00
|
|
|
(cd `dirname $$i`; \
|
2002-05-30 15:18:07 +00:00
|
|
|
sh -c "`cd ../../util; ./pod2mantest ignore` \
|
|
|
|
--section=$$sec --center=OpenSSL \
|
|
|
|
--release=$(VERSION) `basename $$i`") \
|
2000-03-09 15:04:27 +00:00
|
|
|
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
|
2000-02-14 16:55:23 +00:00
|
|
|
done
|
1998-12-21 10:52:47 +00:00
|
|
|
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|