1999-03-22 22:45:08 +08:00
##
## Makefile for OpenSSL
##
1999-04-29 00:16:31 +08:00
VERSION =
MAJOR =
MINOR =
2000-07-21 23:08:53 +08:00
SHLIB_VERSION_NUMBER =
SHLIB_VERSION_HISTORY =
SHLIB_MAJOR =
SHLIB_MINOR =
2000-10-13 23:25:06 +08:00
SHLIB_EXT =
1999-03-22 22:45:08 +08:00
PLATFORM = dist
1999-05-13 18:28:14 +08:00
OPTIONS =
2000-08-17 18:23:45 +08:00
CONFIGURE_ARGS =
2000-07-21 23:08:53 +08:00
SHLIB_TARGET =
1999-04-30 05:52:08 +08: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-25 06:59:36 +08:00
INSTALLTOP = /usr/local/ssl
# Do not edit this manually. Use Configure --openssldir=DIR do change this!
OPENSSLDIR = /usr/local/ssl
1999-03-22 22:45:08 +08:00
1998-12-21 18:52:47 +08: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 18:56:39 +08:00
# system defines as well, i.e. _REENTERANT for Solaris 2.[34]
1998-12-21 18:52:47 +08: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 18:56:39 +08:00
# one. 32 bytes will be read from this when the random
# number generator is initalised.
1999-04-13 19:01:44 +08:00
# SSL_FORBID_ENULL - define if you want the server to be not able to use the
1998-12-21 18:56:39 +08:00
# NULL encryption ciphers.
1998-12-21 18:52:47 +08:00
#
# LOCK_DEBUG - turns on lots of lock debug output :-)
# REF_CHECK - turn on some xyz_free() assertions.
1998-12-21 18:56:39 +08:00
# REF_PRINT - prints some stuff on structure free.
1998-12-21 18:52:47 +08:00
# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff
# MFUNC - Make all Malloc/Free/Realloc calls call
1998-12-21 18:56:39 +08: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 19:00:56 +08:00
# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must
# equal 4.
# PKCS1_CHECK - pkcs1 tests.
1998-12-21 18:52:47 +08:00
1998-12-29 05:58:19 +08:00
CC = gcc
1998-12-21 19:00:56 +08:00
#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
1998-12-29 05:58:19 +08:00
CFLAG = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
1999-04-27 09:14:46 +08:00
DEPFLAG =
2001-03-23 05:20:54 +08:00
PEX_LIBS =
1998-12-22 23:04:48 +08:00
EX_LIBS =
2001-04-04 23:50:30 +08:00
EXE_EXT =
1998-12-21 18:52:47 +08:00
AR = ar r
1999-04-01 20:34:33 +08:00
RANLIB = ranlib
PERL = perl
2000-02-24 09:59:55 +08:00
TAR = tar
2000-09-21 15:15:52 +08:00
TARFLAGS = --no-recursion
2001-02-20 00:06:34 +08:00
MAKEDEPPROG = makedepend
1998-12-21 18:52:47 +08:00
1998-12-21 19:00:56 +08: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 18:52:47 +08:00
1999-03-31 20:38:27 +08:00
# For x86 assembler: Set PROCESSOR to 386 if you want to support
# the 80386.
PROCESSOR =
1998-12-21 18:52:47 +08:00
# Set DES_ENC to des_enc.o if you want to use the C version
#There are 4 x86 assember options.
1998-12-29 05:58:19 +08:00
DES_ENC = asm/dx86-out.o asm/yx86-out.o
1998-12-21 18:56:39 +08: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 18:52:47 +08:00
# Set BF_ENC to bf_enc.o if you want to use the C version
#There are 4 x86 assember options.
1998-12-29 05:58:19 +08:00
BF_ENC = asm/bx86-out.o
1998-12-21 18:56:39 +08:00
#BF_ENC= bf_enc.o
1998-12-21 18:52:47 +08:00
#BF_ENC= asm/bx86-elf.o # elf
1998-12-21 18:56:39 +08: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 18:52:47 +08:00
1998-12-21 18:56:39 +08:00
# Set CAST_ENC to c_enc.o if you want to use the C version
#There are 4 x86 assember options.
1998-12-29 05:58:19 +08:00
CAST_ENC = asm/cx86-out.o
1998-12-21 18:56:39 +08: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-29 05:58:19 +08:00
RC4_ENC = asm/rx86-out.o
1998-12-21 18:56:39 +08: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-29 05:58:19 +08:00
RC5_ENC = asm/r586-out.o
1998-12-21 18:56:39 +08: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-29 05:58:19 +08:00
MD5_ASM_OBJ = asm/mx86-out.o
1998-12-21 18:56:39 +08: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-29 05:58:19 +08:00
SHA1_ASM_OBJ = asm/sx86-out.o
1998-12-21 18:56:39 +08: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-29 05:58:19 +08:00
RMD160_ASM_OBJ = asm/rm86-out.o
1998-12-21 18:56:39 +08: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-12-01 06:53:34 +08:00
# KRB5 stuff
KRB5_INCLUDES =
LIBKRB5 =
2000-07-21 23:08:53 +08:00
# When we're prepared to use shared libraries in the programs we link here
2000-10-13 23:25:06 +08:00
# we might set SHLIB_MARK to '$(SHARED_LIBS)'.
SHLIB_MARK =
2000-07-21 23:08:53 +08:00
2000-11-09 01:51:37 +08:00
DIRS = crypto ssl $( SHLIB_MARK) apps test tools
1999-04-29 00:16:31 +08:00
SHLIBDIRS = crypto ssl
1998-12-21 18:52:47 +08:00
# dirs in crypto to build
SDIRS = \
2000-08-14 22:05:53 +08:00
md2 md4 md5 sha mdc2 hmac ripemd \
1998-12-21 18:56:39 +08:00
des rc2 rc4 rc5 idea bf cast \
2002-02-14 02:21:51 +08:00
bn ec rsa dsa ecdsa dh dso engine aes \
1999-01-25 09:09:21 +08:00
buffer bio stack lhash rand err objects \
2001-07-10 05:46:58 +08:00
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5
1998-12-21 18:52:47 +08:00
2000-11-13 04:24:30 +08:00
# tests to perform. "alltests" is a special word indicating that all tests
# should be performed.
TESTS = alltests
1998-12-21 18:52:47 +08:00
MAKEFILE = Makefile.ssl
1998-12-21 18:56:39 +08:00
MAKE = make -f Makefile.ssl
1998-12-21 18:52:47 +08:00
2000-02-16 02:34:46 +08:00
MANDIR = $( OPENSSLDIR) /man
1998-12-21 18:52:47 +08:00
MAN1 = 1
MAN3 = 3
SHELL = /bin/sh
1998-12-21 18:56:39 +08:00
TOP = .
1998-12-21 18:52:47 +08:00
ONEDIRS = out tmp
1999-05-13 19:37:32 +08:00
EDIRS = times doc bugs util include certs ms shlib mt demos perl sf dep VMS
1998-12-21 18:56:39 +08:00
WDIRS = windows
2000-07-21 23:08:53 +08:00
LIBS = libcrypto.a libssl.a
2000-10-13 23:25:06 +08:00
SHARED_CRYPTO = libcrypto$( SHLIB_EXT)
SHARED_SSL = libssl$( SHLIB_EXT)
SHARED_LIBS =
SHARED_LIBS_LINK_EXTS =
2002-01-02 18:30:07 +08:00
SHARED_LDFLAGS =
1998-12-21 18:56:39 +08:00
GENERAL = Makefile
1998-12-23 15:58:53 +08:00
BASENAME = openssl
1998-12-21 18:56:39 +08:00
NAME = $( BASENAME) -$( VERSION)
TARFILE = $( NAME) .tar
WTARFILE = $( NAME) -win.tar
2001-02-20 00:06:34 +08:00
EXHEADER = e_os2.h
1998-12-21 18:56:39 +08:00
HEADER = e_os.h
1998-12-21 18:52:47 +08:00
2000-10-13 23:25:06 +08: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 16:00:59 +08:00
all : Makefile .ssl sub_all
1998-12-21 18:52:47 +08:00
sub_all :
2000-10-13 23:25:06 +08:00
@for i in $( DIRS) ; \
1998-12-21 18:52:47 +08:00
do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i && echo " making all in $$ i... " && \
2002-01-30 00:20:08 +08: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 23:25:06 +08:00
else \
$( MAKE) $$ i; \
2000-07-21 23:08:53 +08:00
fi ; \
2002-01-29 00:30:06 +08:00
done ;
2000-07-21 23:08:53 +08:00
2000-10-13 23:25:06 +08:00
libcrypto$(SHLIB_EXT) : libcrypto .a
2000-07-25 04:36:46 +08:00
@if [ " $( SHLIB_TARGET) " != "" ] ; then \
2000-10-13 23:25:06 +08:00
$( MAKE) SHLIBDIRS = crypto build-shared; \
2000-07-25 04:36:46 +08:00
else \
echo "There's no support for shared libraries on this platform" >& 2; \
fi
2002-01-29 00:30:06 +08:00
2000-10-13 23:25:06 +08:00
libssl$(SHLIB_EXT) : libcrypto $( SHLIB_EXT ) libssl .a
2000-07-25 04:36:46 +08:00
@if [ " $( SHLIB_TARGET) " != "" ] ; then \
2001-03-16 06:10:07 +08:00
$( MAKE) SHLIBDIRS = ssl SHLIBDEPS = '-lcrypto' build-shared; \
2000-07-25 04:36:46 +08:00
else \
echo "There's no support for shared libraries on this platform" >& 2; \
fi
2000-07-21 23:08:53 +08:00
clean-shared :
2000-10-13 23:25:06 +08: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 20:28:24 +08:00
if [ " $( PLATFORM) " = "Cygwin" ] ; then \
2002-02-13 22:44:33 +08:00
( set -x; rm -f cyg$$ i$( SHLIB_EXT) lib$$ i$( SHLIB_EXT) .a ) ; \
fi ; \
2000-07-21 23:08:53 +08:00
done
1998-12-21 18:52:47 +08:00
2000-10-13 23:25:06 +08:00
link-shared :
2002-02-13 18:16:37 +08:00
@if [ -n " $( SHARED_LIBS_LINK_EXTS) " ] ; then \
2002-02-13 18:15:05 +08:00
tmp = " $( SHARED_LIBS_LINK_EXTS) " ; \
2002-02-13 18:16:37 +08:00
for i in $( SHLIBDIRS) ; do \
2002-02-13 18:15:05 +08:00
prev = lib$$ i$( SHLIB_EXT) ; \
2000-10-13 23:25:06 +08:00
for j in $$ { tmp:-x} ; do \
2001-03-24 19:45:57 +08:00
( set -x; ln -f -s $$ prev lib$$ i$$ j ) ; \
2000-10-13 23:25:06 +08:00
prev = lib$$ i$$ j; \
done ; \
2002-02-13 18:15:05 +08:00
done ; \
fi
2000-10-13 23:25:06 +08:00
build-shared : clean -shared do_ $( SHLIB_TARGET ) link -shared
2001-04-04 12:24:24 +08:00
do_bsd-gcc-shared : do_gnu -shared
2001-03-24 19:45:57 +08:00
do_linux-shared : do_gnu -shared
do_gnu-shared :
2001-03-16 06:10:07 +08:00
libs = '-L. ${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
2002-01-02 18:30:07 +08:00
( set -x; ${ CC } ${ SHARED_LDFLAGS } \
-shared -o lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2001-04-27 04:17:59 +08:00
-Wl,-soname= lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2002-04-06 17:42:19 +08:00
-Wl,-Bsymbolic \
1999-04-29 00:16:31 +08:00
-Wl,--whole-archive lib$$ i.a \
2000-08-02 11:52:49 +08:00
-Wl,--no-whole-archive $$ libs ${ EX_LIBS } -lc ) || exit 1; \
2001-03-16 06:10:07 +08:00
libs = " $$ libs -l $$ i " ; \
2000-08-02 11:03:17 +08:00
done
2000-07-21 23:08:53 +08:00
2001-10-10 22:46:41 +08: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 17:19:31 +08: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 22:44:33 +08:00
do_cygwin-shared :
libs = '-L. ${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
( set -x; ${ CC } -shared -o cyg$$ i.dll \
2002-04-06 17:42:19 +08:00
-Wl,-Bsymbolic \
2002-02-13 22:44:33 +08: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 23:08:53 +08: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 23:26:21 +08:00
do_alpha-osf1-shared :
2001-10-10 22:46:41 +08:00
if ${ DETECT_GNU_LD } ; then \
$( MAKE) do_gnu-shared; \
else \
libs = '-L. ${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
2002-01-02 18:30:07 +08:00
( set -x; ${ CC } ${ SHARED_LDFLAGS } \
-shared -o lib$$ i.so \
2001-10-10 22:46:41 +08: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-29 00:16:31 +08: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 23:26:21 +08: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 22:46:41 +08:00
if ${ DETECT_GNU_LD } ; then \
$( MAKE) do_gnu-shared; \
else \
libs = '-L. ${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
2002-01-02 18:30:07 +08:00
( set -x; ${ CC } ${ SHARED_LDFLAGS } \
-shared -msym -o lib$$ i.so \
2001-10-10 22:46:41 +08: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 23:26:21 +08: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 22:46:41 +08:00
if ${ DETECT_GNU_LD } ; then \
$( MAKE) do_gnu-shared; \
else \
libs = '-L. ${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
2002-01-02 18:30:07 +08:00
( set -x; ${ CC } ${ SHARED_LDFLAGS } \
-shared -msym -o lib$$ i.so \
2001-10-10 22:46:41 +08: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 23:26:21 +08:00
2000-07-25 04:50:21 +08:00
# This assumes that GNU utilities are *not* used
2000-10-13 23:25:06 +08:00
do_solaris-shared :
2001-10-10 22:46:41 +08: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 18:30:07 +08:00
set -x; ${ CC } ${ SHARED_LDFLAGS } \
-G -o lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2001-10-10 22:46:41 +08:00
-h lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
-z allextract lib$$ i.a $$ libs ${ EX_LIBS } -lc ) || exit 1; \
2002-01-26 13:24:05 +08: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 22:46:41 +08:00
libs = " $$ libs -l $$ i " ; \
done ; \
fi
2000-07-25 04:50:21 +08:00
2001-09-06 20:39:00 +08:00
# UnixWare 7 and OpenUNIX 8 native compilers used
do_svr5-shared :
2001-10-10 22:46:41 +08: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 18:30:07 +08:00
set -x; ${ CC } ${ SHARED_LDFLAGS } \
-G -o lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2001-10-10 22:46:41 +08:00
-h lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
$$ { OBJS} $$ libs ${ EX_LIBS } ) || exit 1; \
libs = " $$ libs -l $$ i " ; \
done ; \
fi
2001-09-06 20:39:00 +08:00
2000-11-01 08:05:04 +08:00
# This assumes that GNU utilities are *not* used
do_irix-shared :
2001-10-10 22:46:41 +08:00
if ${ DETECT_GNU_LD } ; then \
$( MAKE) do_gnu-shared; \
else \
libs = '-L. ${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
2002-01-02 18:30:07 +08:00
( set -x; ${ CC } ${ SHARED_LDFLAGS } \
-shared -o lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2001-10-10 22:46:41 +08: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 08:05:04 +08:00
2000-10-22 05:24:11 +08:00
# This assumes that GNU utilities are *not* used
2000-11-13 22:40:07 +08: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-22 05:24:11 +08:00
do_hpux-shared :
2000-11-13 22:40:07 +08:00
for i in ${ SHLIBDIRS } ; do \
2002-01-02 18:30:07 +08:00
( set -x; /usr/ccs/bin/ld ${ SHARED_LDFLAGS } \
+vnocompatwarnings \
2000-11-13 22:40:07 +08:00
-b -z +s \
-o lib$$ i.sl.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-10-22 05:24:11 +08:00
+h lib$$ i.sl.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-11-13 22:40:07 +08:00
-Fl lib$$ i.a -ldld -lc ) || exit 1; \
2000-10-22 05:24:11 +08:00
done
# This assumes that GNU utilities are *not* used
2000-11-13 22:40:07 +08: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-22 05:24:11 +08:00
do_hpux64-shared :
2000-11-13 22:40:07 +08:00
for i in ${ SHLIBDIRS } ; do \
2002-01-02 18:30:07 +08:00
( set -x; /usr/ccs/bin/ld ${ SHARED_LDFLAGS } \
-b -z \
2000-11-13 22:40:07 +08:00
-o lib$$ i.sl.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-10-22 05:24:11 +08:00
+h lib$$ i.sl.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-11-13 22:40:07 +08:00
+forceload lib$$ i.a -ldl -lc ) || exit 1; \
2000-10-22 05:24:11 +08:00
done
2001-04-28 05:33:44 +08: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 12:41:57 +08:00
# AIX: -G -bE:lib$$i.exp -bM:SRE
2001-04-28 05:33:44 +08: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 18:30:07 +08:00
SHAREDFLAGS = ${ SHARED_LDFLAGS } -G -bE:lib$$ i.exp -bM:SRE
2001-04-28 05:33:44 +08: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 11:17:27 +08: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-25 02:15:00 +08:00
Makefile.ssl : Makefile .org
1999-03-22 22:38:33 +08:00
@echo "Makefile.ssl is older than Makefile.org."
1999-07-23 00:10:31 +08:00
@echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
1999-01-25 02:15:00 +08:00
@false
1998-12-21 19:00:56 +08:00
libclean :
1999-03-06 20:32:06 +08:00
rm -f *.a */lib */*/lib
1998-12-21 19:00:56 +08:00
1998-12-21 18:52:47 +08:00
clean :
2000-02-25 22:34:55 +08:00
rm -f shlib/*.o *.o core a.out fluff *.map rehash.time testlog make.log cctest cctest.c
1998-12-21 18:52:47 +08:00
@for i in $( DIRS) ; \
do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i && echo " making clean in $$ i... " && \
$( MAKE) SDIRS = '${SDIRS}' clean ) || exit 1; \
rm -f $( LIBS) ; \
fi ; \
1998-12-21 18:52:47 +08:00
done ;
1999-03-06 20:32:06 +08:00
rm -f *.a *.o speed.* *.map *.so .pure core
rm -f $( TARFILE)
1998-12-21 18:52:47 +08:00
@for i in $( ONEDIRS) ; \
do \
1999-03-06 20:32:06 +08:00
rm -fr $$ i/*; \
1998-12-21 18:52:47 +08:00
done
makefile.one : files
1999-04-01 20:34:33 +08:00
$( PERL) util/mk1mf.pl >makefile.one; \
1998-12-21 18:52:47 +08:00
sh util/do_ms.sh
1999-04-08 23:19:36 +08:00
files :
1999-04-01 20:34:33 +08:00
$( PERL) $( TOP) /util/files.pl Makefile.ssl > $( TOP) /MINFO
1998-12-21 18:52:47 +08:00
@for i in $( DIRS) ; \
do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i && echo " making 'files' in $$ i... " && \
$( MAKE) SDIRS = '${SDIRS}' PERL = '${PERL}' files ) || exit 1; \
fi ; \
1998-12-21 18:52:47 +08:00
done ;
links :
1999-03-06 20:32:06 +08:00
@$( TOP) /util/point.sh Makefile.ssl Makefile
1999-06-07 21:33:50 +08:00
@$( PERL) $( TOP) /util/mkdir-p.pl include/openssl
2001-02-22 22:45:02 +08:00
@$( PERL) $( TOP) /util/mklink.pl include/openssl $( EXHEADER)
1999-03-06 20:32:06 +08:00
@for i in $( DIRS) ; do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i && echo " making links in $$ i... " && \
2000-12-01 06:53:34 +08: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 23:08:53 +08:00
fi ; \
1998-12-21 18:52:47 +08:00
done ;
dclean :
1999-03-06 20:32:06 +08:00
rm -f *.bak
1998-12-21 18:52:47 +08:00
@for i in $( DIRS) ; \
do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i && echo " making dclean in $$ i... " && \
$( MAKE) SDIRS = '${SDIRS}' PERL = '${PERL}' dclean ) || exit 1; \
fi ; \
1998-12-21 18:52:47 +08:00
done ;
2000-02-12 00:25:44 +08:00
rehash : rehash .time
rehash.time : certs
2001-10-30 16:00:59 +08: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-12 01:18:50 +08:00
touch rehash.time
1998-12-21 18:52:47 +08:00
1998-12-21 18:56:39 +08:00
test : tests
1998-12-21 18:52:47 +08:00
1999-04-29 00:14:39 +08:00
tests : rehash
1999-03-06 20:32:06 +08:00
@( cd test && echo "testing..." && \
2001-04-04 23:50:30 +08: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 16:00:59 +08:00
@LD_LIBRARY_PATH= "`pwd`" ; SHLIB_PATH = "`pwd`" ; LIBPATH = "`pwd`" ; \
export LD_LIBRARY_PATH SHLIB_PATH LIBPATH; \
apps/openssl version -a
1998-12-21 18:52:47 +08:00
2000-02-24 07:47:05 +08:00
report :
@$( PERL) util/selftest.pl
1998-12-21 18:52:47 +08:00
depend :
@for i in $( DIRS) ; \
do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i && echo " making dependencies $$ i... " && \
2001-07-10 05:46:58 +08:00
$( MAKE) SDIRS = '${SDIRS}' DEPFLAG = '${DEPFLAG}' MAKEDEPPROG = '${MAKEDEPPROG}' KRB5_INCLUDES = '${KRB5_INCLUDES}' depend ) || exit 1; \
2000-07-21 23:08:53 +08:00
fi ; \
1998-12-21 18:52:47 +08:00
done ;
lint :
@for i in $( DIRS) ; \
do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i && echo " making lint $$ i... " && \
$( MAKE) SDIRS = '${SDIRS}' lint ) || exit 1; \
fi ; \
1998-12-21 18:52:47 +08:00
done ;
tags :
@for i in $( DIRS) ; \
do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i && echo " making tags $$ i... " && \
$( MAKE) SDIRS = '${SDIRS}' tags ) || exit 1; \
fi ; \
1998-12-21 18:52:47 +08:00
done ;
errors :
2001-01-11 00:40:30 +08:00
$( PERL) util/mkerr.pl -recurse -write
2002-02-08 04:02:49 +08:00
( cd crypto/engine; $( MAKE) PERL = $( PERL) errors)
1998-12-21 18:52:47 +08:00
2000-06-01 13:13:52 +08:00
stacks :
2001-01-11 00:40:30 +08:00
$( PERL) util/mkstack.pl -write
2000-06-01 13:13:52 +08:00
1999-06-10 00:18:53 +08:00
util/libeay.num ::
2001-01-11 00:40:30 +08:00
$( PERL) util/mkdef.pl crypto update
1999-06-10 00:18:53 +08:00
util/ssleay.num ::
2001-01-11 00:40:30 +08:00
$( PERL) util/mkdef.pl ssl update
1999-06-10 00:18:53 +08:00
2001-03-06 16:58:38 +08:00
crypto/objects/obj_dat.h : crypto /objects /obj_dat .pl crypto /objects /obj_mac .h
2001-01-11 00:40:30 +08:00
$( PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
2001-03-14 00:30:09 +08:00
crypto/objects/obj_mac.h : crypto /objects /objects .pl crypto /objects /objects .txt crypto /objects /obj_mac .num
2001-01-11 00:40:30 +08:00
$( PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
1999-09-30 05:03:02 +08:00
1999-06-10 05:13:30 +08:00
TABLE : Configure
1999-06-10 07:13:03 +08:00
( echo 'Output of `Configure TABLE' "':" ; \
2001-01-11 00:40:30 +08:00
$( PERL) Configure TABLE) > TABLE
1999-06-10 00:18:53 +08:00
2000-06-01 13:13:52 +08:00
update : depend errors stacks util /libeay .num util /ssleay .num crypto /objects /obj_dat .h TABLE
1999-06-10 00:18:53 +08:00
1998-12-21 18:52:47 +08:00
tar :
2000-02-24 09:59:55 +08:00
@$( TAR) $( TARFLAGS) -cvf - \
1999-06-10 00:18:53 +08:00
` find * \! -path CVS/\* \! -path \* /CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort` | \
1999-03-08 20:17:53 +08:00
tardy --user_number= 0 --user_name= openssl \
1998-12-23 15:58:53 +08:00
--group_number= 0 --group_name= openssl \
--prefix= openssl-$( VERSION) - | \
1998-12-22 23:04:48 +08:00
gzip --best >../$( TARFILE) .gz; \
ls -l ../$( TARFILE) .gz
1998-12-21 18:52:47 +08:00
2001-02-22 22:45:02 +08:00
tar-snap :
@$( TAR) $( TARFLAGS) -cvf - \
` 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 '.#*' | sort` | \
tardy --user_number= 0 --user_name= openssl \
--group_number= 0 --group_name= openssl \
--prefix= openssl-$( VERSION) - > ../$( TARFILE) ; \
ls -l ../$( TARFILE)
1998-12-21 18:56:39 +08:00
dist :
1999-04-01 20:34:33 +08:00
$( PERL) Configure dist
1998-12-21 18:52:47 +08:00
@$( MAKE) dist_pem_h
@$( MAKE) SDIRS = '${SDIRS}' clean
@$( MAKE) tar
dist_pem_h :
1999-05-13 19:37:32 +08:00
( cd crypto/pem; $( MAKE) CC = '${CC}' SDIRS = '${SDIRS}' CFLAG = '${CFLAG}' pem.h; $( MAKE) clean)
1998-12-21 18:52:47 +08:00
2000-02-12 00:25:44 +08:00
install : all install_docs
1999-06-08 18:18:19 +08: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-12 00:25:44 +08:00
$( INSTALL_PREFIX) $( OPENSSLDIR) /lib
1999-05-15 21:24:16 +08: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 18:52:47 +08:00
@for i in $( DIRS) ; \
do \
2000-10-13 23:25:06 +08:00
if [ -d " $$ i " ] ; then \
2000-07-21 23:08:53 +08:00
( cd $$ i; echo " installing $$ i... " ; \
2001-04-04 23:50:30 +08: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 23:08:53 +08:00
fi ; \
1998-12-21 18:52:47 +08:00
done
@for i in $( LIBS) ; \
do \
2000-07-21 23:08:53 +08:00
if [ -f " $$ i " ] ; then \
( echo installing $$ i; \
cp $$ i $( INSTALL_PREFIX) $( INSTALLTOP) /lib; \
2000-10-13 23:25:06 +08:00
$( RANLIB) $( INSTALL_PREFIX) $( INSTALLTOP) /lib/$$ i; \
2000-07-21 23:08:53 +08:00
chmod 644 $( INSTALL_PREFIX) $( INSTALLTOP) /lib/$$ i ) ; \
fi \
1998-12-21 18:52:47 +08:00
done
2000-10-13 23:25:06 +08:00
@if [ -n " $( SHARED_LIBS) " ] ; then \
tmp = " $( SHARED_LIBS) " ; \
for i in $$ { tmp:-x} ; \
do \
2002-02-13 22:44:33 +08:00
if [ -f " $$ i " -o -f " $$ i.a " ] ; then \
2000-10-13 23:25:06 +08:00
( echo installing $$ i; \
2002-02-14 20:28:24 +08:00
if [ " $( PLATFORM) " != "Cygwin" ] ; then \
2002-02-13 22:44:33 +08: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 ) ; \
2000-10-13 23:25:06 +08:00
fi \
done ; \
( here = "`pwd`" ; \
cd $( INSTALL_PREFIX) $( INSTALLTOP) /lib; \
make -f $$ here/Makefile link-shared ) ; \
fi
2000-02-12 00:25:44 +08:00
install_docs :
@$( PERL) $( TOP) /util/mkdir-p.pl \
2000-02-16 02:34:46 +08:00
$( INSTALL_PREFIX) $( MANDIR) /man1 \
$( INSTALL_PREFIX) $( MANDIR) /man3 \
$( INSTALL_PREFIX) $( MANDIR) /man5 \
$( INSTALL_PREFIX) $( MANDIR) /man7
2000-02-15 00:55:23 +08:00
@for i in doc/apps/*.pod; do \
fn = ` basename $$ i .pod` ; \
2001-04-08 21:49:45 +08:00
if [ " $$ fn " = "config" ] ; then sec = 5; else sec = 1; fi ; \
2000-09-26 20:23:55 +08:00
echo " installing man $$ sec/`basename $$ i .pod`. $$ sec " ; \
2000-03-09 23:04:27 +08:00
( cd ` dirname $$ i` ; \
2000-02-15 00:55:23 +08:00
$( PERL) ../../util/pod2man.pl --section= $$ sec --center= OpenSSL \
2000-03-09 23:04:27 +08:00
--release= $( VERSION) ` basename $$ i` ) \
> $( INSTALL_PREFIX) $( MANDIR) /man$$ sec/` basename $$ i .pod` .$$ sec; \
2000-02-15 00:55:23 +08:00
done
@for i in doc/crypto/*.pod doc/ssl/*.pod; do \
fn = ` basename $$ i .pod` ; \
2001-04-08 21:49:45 +08:00
if [ " $$ fn " = "des_modes" ] ; then sec = 7; else sec = 3; fi ; \
2000-09-26 20:23:55 +08:00
echo " installing man $$ sec/`basename $$ i .pod`. $$ sec " ; \
2000-03-09 23:04:27 +08:00
( cd ` dirname $$ i` ; \
2000-02-15 00:55:23 +08:00
$( PERL) ../../util/pod2man.pl --section= $$ sec --center= OpenSSL \
2000-03-09 23:04:27 +08:00
--release= $( VERSION) ` basename $$ i` ) \
> $( INSTALL_PREFIX) $( MANDIR) /man$$ sec/` basename $$ i .pod` .$$ sec; \
2000-02-15 00:55:23 +08:00
done
1998-12-21 18:52:47 +08:00
# DO NOT DELETE THIS LINE -- make depend depends on it.