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=
|
2001-03-15 21:44:17 +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
|
|
|
# RSAref - Define if we are to link with RSAref.
|
|
|
|
# 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:21:09 +00:00
|
|
|
PEX_LIBS=
|
1998-12-22 15:04:48 +00:00
|
|
|
EX_LIBS=
|
2001-04-04 15:51:36 +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
|
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-07-21 15:08:53 +00:00
|
|
|
# When we're prepared to use shared libraries in the programs we link here
|
2001-03-15 21:44:17 +00:00
|
|
|
# we might set SHLIB_MARK to '$(SHARED_LIBS)'.
|
|
|
|
SHLIB_MARK=
|
2000-07-21 15:08:53 +00:00
|
|
|
|
2001-03-15 21:44:17 +00:00
|
|
|
DIRS= crypto ssl rsaref $(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 \
|
2000-04-04 22:32:19 +00:00
|
|
|
bn rsa dsa dh dso \
|
1999-01-25 01:09:21 +00:00
|
|
|
buffer bio stack lhash rand err objects \
|
1999-03-28 23:17:34 +00:00
|
|
|
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
|
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
|
2001-03-15 21:44:17 +00:00
|
|
|
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
|
|
|
|
SHARED_SSL=libssl$(SHLIB_EXT)
|
|
|
|
SHARED_LIBS=
|
|
|
|
SHARED_LIBS_LINK_EXTS=
|
2002-01-02 10:30:40 +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
|
1999-05-21 11:16:48 +00:00
|
|
|
EXHEADER= e_os.h e_os2.h
|
1998-12-21 10:56:39 +00:00
|
|
|
HEADER= e_os.h
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2001-03-15 21:44:17 +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
|
|
|
|
|
|
|
|
all: clean-shared Makefile.ssl sub_all
|
1998-12-21 10:52:47 +00:00
|
|
|
|
|
|
|
sub_all:
|
2001-03-15 21:44:17 +00:00
|
|
|
@for i in $(DIRS); \
|
1998-12-21 10:52:47 +00:00
|
|
|
do \
|
2001-03-15 21:44:17 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making all in $$i..." && \
|
2001-04-04 15:51:36 +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}' EXE_EXT='${EXE_EXT}' all ) || exit 1; \
|
2001-03-15 21:44:17 +00:00
|
|
|
else \
|
|
|
|
$(MAKE) $$i; \
|
2000-07-21 15:08:53 +00:00
|
|
|
fi; \
|
|
|
|
done; \
|
2001-03-15 21:44:17 +00:00
|
|
|
if echo "$(DIRS)" | \
|
2001-03-24 12:26:03 +00:00
|
|
|
egrep '(^| )(crypto|ssl)( |$$)' > /dev/null 2>&1 && \
|
2001-03-15 21:44:17 +00:00
|
|
|
[ -n "$(SHARED_LIBS)" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
$(MAKE) $(SHARED_LIBS); \
|
|
|
|
fi
|
|
|
|
|
2001-03-15 21:44:17 +00:00
|
|
|
libcrypto$(SHLIB_EXT): libcrypto.a
|
2000-07-24 20:36:46 +00:00
|
|
|
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
2001-03-15 21:44:17 +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
|
2001-03-15 21:44:17 +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:11:03 +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:
|
2001-03-15 21:44:17 +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:02 +00:00
|
|
|
if [ "$(PLATFORM)" = "Cygwin" ]; then \
|
2002-02-13 14:45:19 +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
|
|
|
|
2001-03-15 21:44:17 +00:00
|
|
|
link-shared:
|
2002-02-13 10:32:07 +00:00
|
|
|
@if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
|
|
|
|
tmp="$(SHARED_LIBS_LINK_EXTS)"; \
|
|
|
|
for i in $(SHLIBDIRS); do \
|
|
|
|
prev=lib$$i$(SHLIB_EXT); \
|
2001-03-15 21:44:17 +00:00
|
|
|
for j in $${tmp:-x}; do \
|
2001-03-24 12:37:32 +00:00
|
|
|
( set -x; ln -f -s $$prev lib$$i$$j ); \
|
2001-03-15 21:44:17 +00:00
|
|
|
prev=lib$$i$$j; \
|
|
|
|
done; \
|
2002-02-13 10:32:07 +00:00
|
|
|
done; \
|
|
|
|
fi
|
2001-03-15 21:44:17 +00:00
|
|
|
|
|
|
|
build-shared: clean-shared do_$(SHLIB_TARGET) link-shared
|
|
|
|
|
2001-04-04 04:24:35 +00:00
|
|
|
do_bsd-gcc-shared: do_gnu-shared
|
2001-03-24 12:37:32 +00:00
|
|
|
do_linux-shared: do_gnu-shared
|
|
|
|
do_gnu-shared:
|
2001-03-15 22:11:03 +00:00
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:40 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-11-14 09:38:55 +00:00
|
|
|
-Wl,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2002-04-06 09:42:31 +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:11:03 +00:00
|
|
|
libs="$$libs -l$$i"; \
|
2000-08-02 03:03:17 +00:00
|
|
|
done
|
2000-07-21 15:08:53 +00:00
|
|
|
|
2001-11-14 10:44:13 +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:55 +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:45:19 +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:31 +00:00
|
|
|
-Wl,-Bsymbolic \
|
2002-02-13 14:45:19 +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:25:50 +00:00
|
|
|
do_alpha-osf1-shared:
|
2001-11-14 10:44:13 +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:40 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -o lib$$i.so \
|
2001-11-14 10:44:13 +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
|
|
|
|
2000-07-24 20:50:21 +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:25:50 +00:00
|
|
|
# The difference between alpha-osf1-shared and tru64-shared is the `-msym'
|
|
|
|
# option passed to the linker.
|
|
|
|
do_tru64-shared:
|
2001-11-14 10:44:13 +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:40 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -msym -o lib$$i.so \
|
2001-11-14 10:44:13 +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:25:50 +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-11-14 10:44:13 +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:40 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -msym -o lib$$i.so \
|
2001-11-14 10:44:13 +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:25:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
# This assumes that GNU utilities are *not* used
|
2001-03-15 21:44:17 +00:00
|
|
|
do_solaris-shared:
|
2001-11-14 10:44:13 +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:40 +00:00
|
|
|
set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-11-14 10:44:13 +00:00
|
|
|
-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
-z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
2000-07-24 20:50:21 +00:00
|
|
|
|
2002-01-26 05:21:08 +00:00
|
|
|
# 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; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
|
|
|
|
2001-09-07 13:22:41 +00:00
|
|
|
# UnixWare 7 and OpenUNIX 8 native compilers used
|
|
|
|
do_svr5-shared:
|
2001-11-14 10:44:13 +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:40 +00:00
|
|
|
set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-11-14 10:44:13 +00:00
|
|
|
-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
$${OBJS} $$libs ${EX_LIBS} ) || exit 1; \
|
|
|
|
libs="$$libs -l$$i"; \
|
|
|
|
done; \
|
|
|
|
fi
|
2001-09-07 13:22:41 +00:00
|
|
|
|
2001-11-14 07:52:33 +00:00
|
|
|
# This assumes that GNU utilities are *not* used
|
|
|
|
do_irix-shared:
|
2001-11-14 10:44:13 +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:40 +00:00
|
|
|
( set -x; ${CC} ${SHARED_LDFLAGS} \
|
|
|
|
-shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-11-14 10:44:13 +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
|
2001-11-14 07:52:33 +00:00
|
|
|
|
2001-11-14 06:59:15 +00:00
|
|
|
# This assumes that GNU utilities are *not* used
|
|
|
|
do_hpux-shared:
|
2002-01-26 16:50:40 +00:00
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:40 +00:00
|
|
|
( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \
|
|
|
|
+vnocompatwarnings \
|
2001-11-14 07:08:10 +00:00
|
|
|
-b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-11-14 06:59:15 +00:00
|
|
|
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
-Fl lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
|
2002-06-20 19:54:13 +00:00
|
|
|
chmod a=rx lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} ; \
|
2001-11-14 06:59:15 +00:00
|
|
|
libs="$$libs -L. -l$$i"; \
|
|
|
|
done
|
|
|
|
|
|
|
|
# This assumes that GNU utilities are *not* used
|
|
|
|
do_hpux64-shared:
|
2002-01-26 16:50:40 +00:00
|
|
|
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
2002-01-02 10:30:40 +00:00
|
|
|
( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \
|
|
|
|
-b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
2001-11-14 06:59:15 +00:00
|
|
|
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
|
|
|
+forceload lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
|
2002-06-20 19:54:13 +00:00
|
|
|
chmod a=rx lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} ; \
|
2001-11-14 06:59:15 +00:00
|
|
|
libs="$$libs -L. -l$$i"; \
|
|
|
|
done
|
|
|
|
|
2001-11-14 09:44:37 +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-11-14 10:08:55 +00:00
|
|
|
# AIX: -G -bE:lib$$i.exp -bM:SRE
|
2001-11-14 09:44:37 +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:40 +00:00
|
|
|
SHAREDFLAGS=${SHARED_LDFLAGS} -G -bE:lib$$i.exp -bM:SRE
|
2001-11-14 09:44:37 +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
|
|
|
|
|
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 \
|
2001-03-15 21:44:17 +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 \
|
2001-03-15 21:44:17 +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
|
1999-04-29 12:46:59 +00:00
|
|
|
@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
|
1999-03-06 12:32:06 +00:00
|
|
|
@for i in $(DIRS); do \
|
2001-03-15 21:44:17 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making links in $$i..." && \
|
|
|
|
$(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}' links ) || exit 1; \
|
|
|
|
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 \
|
2001-03-15 21:44:17 +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
|
2000-05-18 00:33:00 +00:00
|
|
|
@(OPENSSL="`pwd`/apps/openssl"; export OPENSSL; $(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..." && \
|
2002-06-06 11:14:40 +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}' TESTS='${TESTS}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' OPENSSL_DEBUG_MEMORY=on tests );
|
1999-01-02 15:08:29 +00:00
|
|
|
@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 \
|
2001-03-15 21:44:17 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i && echo "making dependencies $$i..." && \
|
2002-06-10 11:42:04 +00:00
|
|
|
$(MAKE) SDIRS='${SDIRS}' DEPFLAG='${DEPFLAG}' PERL='${PERL}' 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 \
|
2001-03-15 21:44:17 +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 \
|
2001-03-15 21:44:17 +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-11-14 08:26:55 +00:00
|
|
|
$(PERL) util/mkerr.pl -recurse -write
|
1998-12-21 10:52:47 +00:00
|
|
|
|
2000-06-01 05:13:52 +00:00
|
|
|
stacks:
|
2001-11-14 08:26:55 +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-11-14 08:26:55 +00:00
|
|
|
$(PERL) util/mkdef.pl crypto update
|
1999-06-09 16:18:53 +00:00
|
|
|
|
|
|
|
util/ssleay.num::
|
2001-11-14 08:26:55 +00:00
|
|
|
$(PERL) util/mkdef.pl ssl update
|
1999-06-09 16:18:53 +00:00
|
|
|
|
2000-07-05 02:45:36 +00:00
|
|
|
crypto/objects/obj_dat.h: crypto/objects/obj_mac.h crypto/objects/obj_dat.pl
|
2001-11-14 08:26:55 +00:00
|
|
|
$(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
|
2000-07-05 02:45:36 +00:00
|
|
|
crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt
|
2001-11-14 08:26:55 +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-11-14 08:26:55 +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
|
|
|
|
2002-06-12 12:28:06 +00:00
|
|
|
# Build distribution tar-file. As the list of files returned by "find" is
|
|
|
|
# pretty long, on several platforms a "too many arguments" error or similar
|
|
|
|
# would occur. Therefore the list of files is temporarily stored into a file
|
|
|
|
# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
|
|
|
|
# tar does not support the --files-from option.
|
1998-12-21 10:52:47 +00:00
|
|
|
tar:
|
2002-06-12 12:28:06 +00:00
|
|
|
find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \
|
|
|
|
$(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
|
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; \
|
2002-06-12 12:28:06 +00:00
|
|
|
rm -f ../$(TARFILE).list; \
|
1998-12-22 15:04:48 +00:00
|
|
|
ls -l ../$(TARFILE).gz
|
1998-12-21 10:52:47 +00:00
|
|
|
|
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
|
2002-06-10 08:12:12 +00:00
|
|
|
@$(MAKE) TAR='${TAR}' TARFLAGS='${TARFLAGS}' tar
|
1998-12-21 10:52:47 +00:00
|
|
|
|
|
|
|
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 \
|
2001-03-15 21:44:17 +00:00
|
|
|
if [ -d "$$i" ]; then \
|
2000-07-21 15:08:53 +00:00
|
|
|
(cd $$i; echo "installing $$i..."; \
|
2001-04-04 15:51:36 +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; \
|
2001-11-13 11:21:23 +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-08 15:50:48 +00:00
|
|
|
fi; \
|
1998-12-21 10:52:47 +00:00
|
|
|
done
|
2001-03-15 21:44:17 +00:00
|
|
|
@if [ -n "$(SHARED_LIBS)" ]; then \
|
|
|
|
tmp="$(SHARED_LIBS)"; \
|
|
|
|
for i in $${tmp:-x}; \
|
|
|
|
do \
|
2002-02-13 14:45:19 +00:00
|
|
|
if [ -f "$$i" -o -f "$$i.a" ]; then \
|
2001-03-15 21:44:17 +00:00
|
|
|
( echo installing $$i; \
|
2002-02-14 12:29:02 +00:00
|
|
|
if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
2002-02-13 14:45:19 +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-08 15:50:48 +00:00
|
|
|
fi; \
|
2001-03-15 21:44:17 +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-12 12:09:07 +00:00
|
|
|
if [ "$$fn" = "config" ]; then sec=5; else sec=1; fi; \
|
|
|
|
echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
|
2002-06-05 14:09:53 +00:00
|
|
|
(cd `$(PERL) util/dirname.pl $$i`; \
|
2002-06-20 19:51:40 +00:00
|
|
|
sh -c "$(PERL) `cd ../../util; ./pod2mantest ignore` \
|
2002-05-30 15:18:19 +00:00
|
|
|
--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-12 12:09:07 +00:00
|
|
|
if [ "$$fn" = "des_modes" ]; then sec=7; else sec=3; fi; \
|
|
|
|
echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
|
2002-06-05 14:09:53 +00:00
|
|
|
(cd `$(PERL) util/dirname.pl $$i`; \
|
2002-06-20 19:51:40 +00:00
|
|
|
sh -c "$(PERL) `cd ../../util; ./pod2mantest ignore` \
|
2002-05-30 15:18:19 +00:00
|
|
|
--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.
|