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 =
1998-12-21 18:52:47 +08:00
PEX_LIBS = -L. -L.. -L../.. -L../../..
1998-12-22 23:04:48 +08:00
EX_LIBS =
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 \
2001-03-06 04:13:37 +08:00
bn ec rsa dsa dh dso engine rijndael \
1999-01-25 09:09:21 +08:00
buffer bio stack lhash rand err objects \
2000-10-27 19:05:35 +08:00
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp
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 =
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
all : clean -shared 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... " && \
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}' PROCESSOR = '${PROCESSOR}' PERL = '${PERL}' RANLIB = '${RANLIB}' KRB5_INCLUDES = '${KRB5_INCLUDES}' LIBKRB5 = '${LIBKRB5}' all ) || exit 1; \
2000-10-13 23:25:06 +08:00
else \
$( MAKE) $$ i; \
2000-07-21 23:08:53 +08:00
fi ; \
done ; \
2000-10-13 23:25:06 +08:00
if echo " $( DIRS) " | \
2000-10-23 00:46:47 +08:00
egrep '(^| )(crypto|ssl)( |$$)' > /dev/null 2>& 1 && \
2000-10-13 23:25:06 +08:00
[ -n " $( SHARED_LIBS) " ] ; then \
2000-07-21 23:08:53 +08:00
$( MAKE) $( SHARED_LIBS) ; \
fi
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
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 \
2000-10-13 23:25:06 +08:00
$( MAKE) SHLIBDIRS = ssl SHLIBDEPS = '-L. -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) ) ; \
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 :
@for i in $( SHLIBDIRS) ; do \
prev = lib$$ i$( SHLIB_EXT) ; \
if [ -n " $( SHARED_LIBS_LINK_EXTS) " ] ; then \
tmp = " $( SHARED_LIBS_LINK_EXTS) " ; \
for j in $$ { tmp:-x} ; do \
( set -x; ln -s -f $$ prev lib$$ i$$ j ) ; \
prev = lib$$ i$$ j; \
done ; \
fi ; \
done
build-shared : clean -shared do_ $( SHLIB_TARGET ) link -shared
do_bsd-gcc-shared : linux -shared
do_linux-shared :
2000-08-02 11:03:17 +08:00
libs = '${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
2000-07-21 23:08:53 +08:00
( set -x; ${ CC } -shared -o lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-11-06 14:52:47 +08:00
-Wl,-S,-soname= lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
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; \
2000-07-21 23:08:53 +08:00
libs = " $$ libs -L. -l $$ i " ; \
2000-08-02 11:03:17 +08:00
done
2000-07-21 23:08:53 +08:00
# This assumes that GNU utilities are *not* used
2000-11-01 07:39:08 +08:00
do_tru64-shared :
2000-08-02 11:03:17 +08:00
libs = '${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
2000-07-21 23:08:53 +08:00
( set -x; ${ CC } -shared -no_archive -o lib$$ i.so \
-set_version " ${ SHLIB_VERSION_HISTORY } ${ SHLIB_VERSION_NUMBER } " \
2000-08-02 11:52:49 +08:00
-all lib$$ i.a -none $$ libs ${ EX_LIBS } -lc ) || exit 1; \
2000-07-21 23:08:53 +08:00
libs = " $$ libs -L. -l $$ i " ; \
2000-08-02 11:03:17 +08:00
done
1999-04-29 00:16:31 +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 :
2000-08-02 11:03:17 +08:00
libs = '${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
2000-07-25 04:50:21 +08:00
( set -x; ${ CC } -G -o lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-11-06 14:52:47 +08:00
-h lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-08-02 11:52:49 +08:00
-z allextract lib$$ i.a $$ libs ${ EX_LIBS } -lc ) || exit 1; \
2000-07-25 04:50:21 +08:00
libs = " $$ libs -L. -l $$ i " ; \
2000-08-02 11:03:17 +08:00
done
2000-07-25 04:50:21 +08:00
2000-11-01 08:05:04 +08:00
# This assumes that GNU utilities are *not* used
do_irix-shared :
libs = '${SHLIBDEPS}' ; for i in ${ SHLIBDIRS } ; do \
( set -x; ${ CC } -shared -o lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-11-06 14:52:47 +08:00
-Wl,-soname,lib$$ i.so.${ SHLIB_MAJOR } .${ SHLIB_MINOR } \
2000-11-01 08:05:04 +08:00
-all lib$$ i.a $$ libs ${ EX_LIBS } -lc) || exit 1; \
libs = " $$ libs -L. -l $$ i " ; \
done
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 \
2000-10-23 05:37:39 +08:00
( set -x; /usr/ccs/bin/ld +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 \
( set -x; /usr/ccs/bin/ld -b -z \
-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
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
2000-05-18 08:33:00 +08:00
@( OPENSSL = "`pwd`/apps/openssl" ; export OPENSSL; $( 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-01-11 00:43:52 +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}' tests ) ;
1999-01-02 23:08:29 +08:00
@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-02-20 00:06:34 +08:00
$( MAKE) SDIRS = '${SDIRS}' DEPFLAG = '${DEPFLAG}' MAKEDEPPROG = '${MAKEDEPPROG}' 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
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
2000-07-05 10:45:36 +08:00
crypto/objects/obj_dat.h : crypto /objects /obj_mac .h crypto /objects /obj_dat .pl
2001-01-11 00:40:30 +08:00
$( PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
2000-07-05 10:45:36 +08:00
crypto/objects/obj_mac.h : crypto /objects /objects .pl crypto /objects /objects .txt
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... " ; \
$( MAKE) CC = '${CC}' CFLAG = '${CFLAG}' INSTALL_PREFIX = '${INSTALL_PREFIX}' INSTALLTOP = '${INSTALLTOP}' OPENSSLDIR = '${OPENSSLDIR}' EX_LIBS = '${EX_LIBS}' SDIRS = '${SDIRS}' RANLIB = '${RANLIB}' install ) ; \
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 \
if [ -f " $$ i " ] ; then \
( echo installing $$ i; \
2000-11-14 19:05:10 +08:00
cp -f $$ i $( INSTALL_PREFIX) $( INSTALLTOP) /lib; \
chmod 555 $( INSTALL_PREFIX) $( INSTALLTOP) /lib/$$ i ) ; \
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` ; \
sec = ` [ " $$ fn " = "config" ] && echo 5 || echo 1` ; \
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` ; \
sec = ` [ " $$ fn " = "des_modes" ] && echo 7 || echo 3` ; \
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.