1### Generated automatically from Makefile.org by Configure. 2 3## 4## Makefile for OpenSSL 5## 6 7VERSION=0.9.7m 8MAJOR=0 9MINOR=9.7 10SHLIB_VERSION_NUMBER=0.9.7 11SHLIB_VERSION_HISTORY= 12SHLIB_MAJOR=0 13SHLIB_MINOR=9.7 14SHLIB_EXT= 15PLATFORM=dist 16OPTIONS= no-krb5 17CONFIGURE_ARGS=dist 18SHLIB_TARGET= 19 20# HERE indicates where this Makefile lives. This can be used to indicate 21# where sub-Makefiles are expected to be. Currently has very limited usage, 22# and should probably not be bothered with at all. 23HERE=. 24 25# INSTALL_PREFIX is for package builders so that they can configure 26# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/. 27# Normally it is left empty. 28INSTALL_PREFIX= 29INSTALLTOP=/usr/local/ssl 30 31# Do not edit this manually. Use Configure --openssldir=DIR do change this! 32OPENSSLDIR=/usr/local/ssl 33 34# NO_IDEA - Define to build without the IDEA algorithm 35# NO_RC4 - Define to build without the RC4 algorithm 36# NO_RC2 - Define to build without the RC2 algorithm 37# THREADS - Define when building with threads, you will probably also need any 38# system defines as well, i.e. _REENTERANT for Solaris 2.[34] 39# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing. 40# TERMIOS - Define the termios terminal subsystem, Silicon Graphics. 41# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3). 42# DEVRANDOM - Give this the value of the 'random device' if your OS supports 43# one. 32 bytes will be read from this when the random 44# number generator is initalised. 45# SSL_FORBID_ENULL - define if you want the server to be not able to use the 46# NULL encryption ciphers. 47# 48# LOCK_DEBUG - turns on lots of lock debug output :-) 49# REF_CHECK - turn on some xyz_free() assertions. 50# REF_PRINT - prints some stuff on structure free. 51# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff 52# MFUNC - Make all Malloc/Free/Realloc calls call 53# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to 54# call application defined callbacks via CRYPTO_set_mem_functions() 55# MD5_ASM needs to be defined to use the x86 assembler for MD5 56# SHA1_ASM needs to be defined to use the x86 assembler for SHA1 57# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160 58# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must 59# equal 4. 60# PKCS1_CHECK - pkcs1 tests. 61 62CC= cc 63#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM 64CFLAG= -DOPENSSL_NO_KRB5 -O 65DEPFLAG= 66PEX_LIBS= 67EX_LIBS= 68EXE_EXT= 69ARFLAGS= 70AR=ar $(ARFLAGS) r 71RANLIB= /usr/bin/ranlib 72PERL= /usr/bin/perl 73TAR= tar 74TARFLAGS= --no-recursion 75MAKEDEPPROG=makedepend 76 77# We let the C compiler driver to take care of .s files. This is done in 78# order to be excused from maintaining a separate set of architecture 79# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC 80# gcc, then the driver will automatically translate it to -xarch=v8plus 81# and pass it down to assembler. 82AS=$(CC) -c 83ASFLAG=$(CFLAG) 84 85# Set BN_ASM to bn_asm.o if you want to use the C version 86BN_ASM= bn_asm.o 87#BN_ASM= bn_asm.o 88#BN_ASM= asm/bn86-elf.o # elf, linux-elf 89#BN_ASM= asm/bn86-sol.o # solaris 90#BN_ASM= asm/bn86-out.o # a.out, FreeBSD 91#BN_ASM= asm/bn86bsdi.o # bsdi 92#BN_ASM= asm/alpha.o # DEC Alpha 93#BN_ASM= asm/pa-risc2.o # HP-UX PA-RISC 94#BN_ASM= asm/r3000.o # SGI MIPS cpu 95#BN_ASM= asm/sparc.o # Sun solaris/SunOS 96#BN_ASM= asm/bn-win32.o # Windows 95/NT 97#BN_ASM= asm/x86w16.o # 16 bit code for Windows 3.1/DOS 98#BN_ASM= asm/x86w32.o # 32 bit code for Windows 3.1 99 100# For x86 assembler: Set PROCESSOR to 386 if you want to support 101# the 80386. 102PROCESSOR= 103 104# Set DES_ENC to des_enc.o if you want to use the C version 105#There are 4 x86 assember options. 106FIPS_DES_ENC= 107FIPS_AES_ENC= 108DES_ENC= des_enc.o fcrypt_b.o 109#DES_ENC= des_enc.o fcrypt_b.o # C 110#DES_ENC= asm/dx86-elf.o asm/yx86-elf.o # elf 111#DES_ENC= asm/dx86-sol.o asm/yx86-sol.o # solaris 112#DES_ENC= asm/dx86-out.o asm/yx86-out.o # a.out, FreeBSD 113#DES_ENC= asm/dx86bsdi.o asm/yx86bsdi.o # bsdi 114 115# Set BF_ENC to bf_enc.o if you want to use the C version 116#There are 4 x86 assember options. 117BF_ENC= bf_enc.o 118#BF_ENC= bf_enc.o 119#BF_ENC= asm/bx86-elf.o # elf 120#BF_ENC= asm/bx86-sol.o # solaris 121#BF_ENC= asm/bx86-out.o # a.out, FreeBSD 122#BF_ENC= asm/bx86bsdi.o # bsdi 123 124# Set CAST_ENC to c_enc.o if you want to use the C version 125#There are 4 x86 assember options. 126CAST_ENC= c_enc.o 127#CAST_ENC= c_enc.o 128#CAST_ENC= asm/cx86-elf.o # elf 129#CAST_ENC= asm/cx86-sol.o # solaris 130#CAST_ENC= asm/cx86-out.o # a.out, FreeBSD 131#CAST_ENC= asm/cx86bsdi.o # bsdi 132 133# Set RC4_ENC to rc4_enc.o if you want to use the C version 134#There are 4 x86 assember options. 135RC4_ENC= rc4_enc.o 136#RC4_ENC= rc4_enc.o 137#RC4_ENC= asm/rx86-elf.o # elf 138#RC4_ENC= asm/rx86-sol.o # solaris 139#RC4_ENC= asm/rx86-out.o # a.out, FreeBSD 140#RC4_ENC= asm/rx86bsdi.o # bsdi 141 142# Set RC5_ENC to rc5_enc.o if you want to use the C version 143#There are 4 x86 assember options. 144RC5_ENC= rc5_enc.o 145#RC5_ENC= rc5_enc.o 146#RC5_ENC= asm/r586-elf.o # elf 147#RC5_ENC= asm/r586-sol.o # solaris 148#RC5_ENC= asm/r586-out.o # a.out, FreeBSD 149#RC5_ENC= asm/r586bsdi.o # bsdi 150 151# Also need MD5_ASM defined 152MD5_ASM_OBJ= 153#MD5_ASM_OBJ= asm/mx86-elf.o # elf 154#MD5_ASM_OBJ= asm/mx86-sol.o # solaris 155#MD5_ASM_OBJ= asm/mx86-out.o # a.out, FreeBSD 156#MD5_ASM_OBJ= asm/mx86bsdi.o # bsdi 157 158# Also need SHA1_ASM defined 159SHA1_ASM_OBJ= 160FIPS_SHA1_ASM_OBJ= 161#SHA1_ASM_OBJ= asm/sx86-elf.o # elf 162#SHA1_ASM_OBJ= asm/sx86-sol.o # solaris 163#SHA1_ASM_OBJ= asm/sx86-out.o # a.out, FreeBSD 164#SHA1_ASM_OBJ= asm/sx86bsdi.o # bsdi 165 166# Also need RMD160_ASM defined 167RMD160_ASM_OBJ= 168#RMD160_ASM_OBJ= asm/rm86-elf.o # elf 169#RMD160_ASM_OBJ= asm/rm86-sol.o # solaris 170#RMD160_ASM_OBJ= asm/rm86-out.o # a.out, FreeBSD 171#RMD160_ASM_OBJ= asm/rm86bsdi.o # bsdi 172 173# KRB5 stuff 174KRB5_INCLUDES= 175LIBKRB5= 176 177# Zlib stuff 178ZLIB_INCLUDE= 179LIBZLIB= 180 181# This is the location of fipscanister.o and friends. 182# The FIPS module build will place it $(INSTALLTOP)/lib 183# but since $(INSTALLTOP) can only take the default value 184# when the module is built it will be in /usr/local/ssl/lib 185# $(INSTALLTOP) for this build make be different so hard 186# code the path. 187 188FIPSLIBDIR=/usr/local/ssl/lib/ 189FIPSCANISTERINTERNAL=n 190 191# Shared library base address. Currently only used on Windows. 192# 193 194BASEADDR=0xFB00000 195 196# When we're prepared to use shared libraries in the programs we link here 197# we might set SHLIB_MARK to '$(SHARED_LIBS)'. 198SHLIB_MARK= 199 200DIRS= crypto fips-1.0 ssl $(SHLIB_MARK) apps test tools 201SHLIBDIRS= crypto ssl 202 203# dirs in crypto to build 204SDIRS= objects \ 205 md2 md4 md5 sha mdc2 hmac ripemd \ 206 des rc2 rc4 rc5 idea bf cast \ 207 bn ec rsa dsa dh dso engine aes \ 208 buffer bio stack lhash rand err \ 209 evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 210 211FDIRS= sha rand des aes dsa rsa dh hmac 212 213# tests to perform. "alltests" is a special word indicating that all tests 214# should be performed. 215TESTS = alltests 216 217MAKEFILE= Makefile 218 219MANDIR=$(OPENSSLDIR)/man 220MAN1=1 221MAN3=3 222MANSUFFIX= 223SHELL=/bin/sh 224 225TOP= . 226ONEDIRS=out tmp 227EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS 228WDIRS= windows 229LIBS= libcrypto.a libssl.a 230SHARED_CRYPTO=libcrypto$(SHLIB_EXT) 231SHARED_SSL=libssl$(SHLIB_EXT) 232SHARED_LIBS= 233SHARED_LIBS_LINK_EXTS= 234SHARED_LDFLAGS= 235 236GENERAL= Makefile 237BASENAME= openssl 238NAME= $(BASENAME)-$(VERSION) 239TARFILE= $(NAME).tar 240WTARFILE= $(NAME)-win.tar 241EXHEADER= e_os2.h 242HEADER= e_os.h 243 244# When we're prepared to use shared libraries in the programs we link here 245# we might remove 'clean-shared' from the targets to perform at this stage 246 247all: Makefile sub_all openssl.pc 248 249sub_all: 250 @for i in $(DIRS); \ 251 do \ 252 if [ -d "$$i" ]; then \ 253 (cd $$i && echo "making all in $$i..." && \ 254 $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' AS='${AS}' ASFLAG='${ASFLAG}' SDIRS='$(SDIRS)' FDIRS='$(FDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' FIPS_DES_ENC='${FIPS_DES_ENC}' FIPS_AES_ENC='${FIPS_AES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' FIPS_SHA1_ASM_OBJ='${FIPS_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}' FIPSCANISTERINTERNAL='${FIPSCANISTERINTERNAL}' FIPSLIBDIR='${FIPSLIBDIR}' all ) || exit 1; \ 255 else \ 256 $(MAKE) $$i; \ 257 fi; \ 258 done; 259 260sub_target: 261 @for i in $(DIRS); \ 262 do \ 263 if [ -d "$$i" ]; then \ 264 (cd $$i && echo "making $(TARGET) in $$i..." && \ 265 $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' AS='${AS}' ASFLAG='${ASFLAG}' SDIRS='$(SDIRS)' FDIRS='$(FDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' FIPS_DES_ENC='${FIPS_DES_ENC}' FIPS_AES_ENC='${FIPS_AES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' FIPS_SHA1_ASM_OBJ='${FIPS_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}' TARGET='$(TARGET)' sub_target ) || exit 1; \ 266 else \ 267 $(MAKE) $$i; \ 268 fi; \ 269 done; 270 271libcrypto$(SHLIB_EXT): libcrypto.a 272 @if [ "$(SHLIB_TARGET)" != "" ]; then \ 273 $(MAKE) SHLIBDIRS=crypto build-shared; \ 274 else \ 275 echo "There's no support for shared libraries on this platform" >&2; \ 276 fi 277 278libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a 279 @if [ "$(SHLIB_TARGET)" != "" ]; then \ 280 $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ 281 else \ 282 echo "There's no support for shared libraries on this platform" >&2; \ 283 fi 284 285clean-shared: 286 @for i in $(SHLIBDIRS); do \ 287 if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ 288 tmp="$(SHARED_LIBS_LINK_EXTS)"; \ 289 for j in $${tmp:-x}; do \ 290 ( set -x; rm -f lib$$i$$j ); \ 291 done; \ 292 fi; \ 293 ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \ 294 if [ "$(PLATFORM)" = "Cygwin" ]; then \ 295 ( set -x; rm -f cyg$$i-$(SHLIB_VERSION_NUMBER)$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \ 296 fi; \ 297 done 298 299link-shared: 300 @if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ 301 tmp="$(SHARED_LIBS_LINK_EXTS)"; \ 302 for i in $(SHLIBDIRS); do \ 303 prev=lib$$i$(SHLIB_EXT); \ 304 for j in $${tmp:-x}; do \ 305 ( set -x; \ 306 rm -f lib$$i$$j; ln -s $$prev lib$$i$$j ); \ 307 prev=lib$$i$$j; \ 308 done; \ 309 done; \ 310 fi 311 312build-shared: clean-shared do_$(SHLIB_TARGET) link-shared 313 314do_bsd-gcc-shared: do_gnu-shared 315do_linux-shared: do_gnu-shared 316do_gnu-shared: 317 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 318 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 319 libs="$(LIBKRB5) $$libs"; \ 320 fi; \ 321 ( set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 322 -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 323 -Wl,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 324 -Wl,-Bsymbolic \ 325 -Wl,--whole-archive lib$$i.a \ 326 -Wl,--no-whole-archive $$libs ${EX_LIBS} ) || exit 1; \ 327 libs="-l$$i $$libs"; \ 328 done 329 330DETECT_GNU_LD=(${CC} -Wl,-V /dev/null 2>&1 | grep '^GNU ld' )>/dev/null 331 332# For Darwin AKA Mac OS/X (dyld) 333do_darwin-shared: 334 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 335 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 336 libs="$(LIBKRB5) $$libs"; \ 337 fi; \ 338 ( set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 339 --verbose -dynamiclib -o lib$$i${SHLIB_EXT} \ 340 lib$$i.a $$libs -all_load -current_version ${SHLIB_MAJOR}.${SHLIB_MINOR} \ 341 -compatibility_version ${SHLIB_MAJOR}.`echo ${SHLIB_MINOR} | cut -d. -f1` \ 342 -install_name ${INSTALLTOP}/lib/lib$$i${SHLIB_EXT} ) || exit 1; \ 343 libs="-l`basename $$i${SHLIB_EXT} .dylib` $$libs"; \ 344 echo "" ; \ 345 done 346 347do_cygwin-shared: 348 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 349 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 350 libs="$(LIBKRB5) $$libs"; \ 351 fi; \ 352 shlib=cyg$${i}-$(SHLIB_VERSION_NUMBER).dll; \ 353 [ "$(PLATFORM)" = "mingw" ] && shlib=$${i}eay32.dll; \ 354 [ -f apps/$$shlib ] && rm apps/$$shlib; \ 355 [ -f test/$$shlib ] && rm test/$$shlib; \ 356 base=; [ $$i = "crypto" ] && base=-Wl,--image-base,0x63000000; \ 357 ( set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 358 -shared $$base -o $$shlib \ 359 -Wl,-Bsymbolic \ 360 -Wl,--whole-archive lib$$i.a \ 361 -Wl,--out-implib,lib$$i.dll.a \ 362 -Wl,--no-whole-archive $$libs ${EX_LIBS} ) || exit 1; \ 363 cp -p $$shlib apps/; cp -p $$shlib test/; \ 364 touch -c lib$$i.dll.a; \ 365 libs="-l$$i $$libs"; \ 366 done 367 368# This assumes that GNU utilities are *not* used 369do_alpha-osf1-shared: 370 if ${DETECT_GNU_LD}; then \ 371 $(MAKE) do_gnu-shared; \ 372 else \ 373 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 374 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 375 libs="$(LIBKRB5) $$libs"; \ 376 fi; \ 377 ( set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 378 -shared -o lib$$i.so \ 379 -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \ 380 -all lib$$i.a -none $$libs ${EX_LIBS} ) || exit 1; \ 381 libs="-l$$i $$libs"; \ 382 done; \ 383 fi 384 385# This assumes that GNU utilities are *not* used 386# The difference between alpha-osf1-shared and tru64-shared is the `-msym' 387# option passed to the linker. 388do_tru64-shared: 389 if ${DETECT_GNU_LD}; then \ 390 $(MAKE) do_gnu-shared; \ 391 else \ 392 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 393 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 394 libs="$(LIBKRB5) $$libs"; \ 395 fi; \ 396 ( set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 397 -shared -msym -o lib$$i.so \ 398 -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \ 399 -all lib$$i.a -none $$libs ${EX_LIBS} ) || exit 1; \ 400 libs="-l$$i $$libs"; \ 401 done; \ 402 fi 403 404# This assumes that GNU utilities are *not* used 405# The difference between tru64-shared and tru64-shared-rpath is the 406# -rpath ${INSTALLTOP}/lib passed to the linker. 407do_tru64-shared-rpath: 408 if ${DETECT_GNU_LD}; then \ 409 $(MAKE) do_gnu-shared; \ 410 else \ 411 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 412 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 413 libs="$(LIBKRB5) $$libs"; \ 414 fi; \ 415 ( set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 416 -shared -msym -o lib$$i.so \ 417 -rpath ${INSTALLTOP}/lib \ 418 -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \ 419 -all lib$$i.a -none $$libs ${EX_LIBS} ) || exit 1; \ 420 libs="-l$$i $$libs"; \ 421 done; \ 422 fi 423 424 425# This assumes that GNU utilities are *not* used 426do_solaris-shared: 427 if ${DETECT_GNU_LD}; then \ 428 $(MAKE) do_gnu-shared; \ 429 else \ 430 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 431 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 432 libs="$(LIBKRB5) $$libs"; \ 433 fi; \ 434 ( PATH=/usr/ccs/bin:$$PATH ; export PATH; \ 435 MINUSZ='-z '; \ 436 (${CC} -v 2>&1 | grep gcc) > /dev/null && MINUSZ='-Wl,-z,'; \ 437 set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 438 -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 439 -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 440 -Wl,-Bsymbolic \ 441 $${MINUSZ}allextract lib$$i.a $${MINUSZ}defaultextract \ 442 $$libs ${EX_LIBS} ) || exit 1; \ 443 libs="-l$$i $$libs"; \ 444 done; \ 445 fi 446 447# OpenServer 5 native compilers used 448do_svr3-shared: 449 if ${DETECT_GNU_LD}; then \ 450 $(MAKE) do_gnu-shared; \ 451 else \ 452 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 453 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 454 libs="$(LIBKRB5) $$libs"; \ 455 fi; \ 456 ( PATH=/usr/ccs/bin:$$PATH ; export PATH; \ 457 find . -name "*.o" -print > allobjs ; \ 458 OBJS= ; export OBJS ; \ 459 for obj in `ar t lib$$i.a` ; do \ 460 OBJS="$${OBJS} `grep /$$obj allobjs`" ; \ 461 done ; \ 462 set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 463 -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 464 -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 465 $${OBJS} $$libs ${EX_LIBS} ) || exit 1; \ 466 libs="-l$$i $$libs"; \ 467 done; \ 468 fi 469 470# UnixWare 7 and OpenUNIX 8 native compilers used 471do_svr5-shared: 472 if ${DETECT_GNU_LD}; then \ 473 $(MAKE) do_gnu-shared; \ 474 else \ 475 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 476 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 477 libs="$(LIBKRB5) $$libs"; \ 478 fi; \ 479 ( PATH=/usr/ccs/bin:$$PATH ; export PATH; \ 480 SHARE_FLAG='-G'; \ 481 (${CC} -v 2>&1 | grep gcc) > /dev/null && SHARE_FLAG='-shared'; \ 482 find . -name "*.o" -print > allobjs ; \ 483 OBJS= ; export OBJS ; \ 484 for obj in `ar t lib$$i.a` ; do \ 485 OBJS="$${OBJS} `grep /$$obj allobjs`" ; \ 486 done ; \ 487 set -x; LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \ 488 $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 489 $${SHARE_FLAG} -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 490 -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 491 $${OBJS} $$libs ${EX_LIBS} ) || exit 1; \ 492 libs="-l$$i $$libs"; \ 493 done; \ 494 fi 495 496# This assumes that GNU utilities are *not* used 497do_irix-shared: 498 if ${DETECT_GNU_LD}; then \ 499 $(MAKE) do_gnu-shared; \ 500 else \ 501 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 502 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 503 libs="$(LIBKRB5) $$libs"; \ 504 fi; \ 505 ( WHOLELIB="-all lib$$i.a -none"; \ 506 (${CC} -v 2>&1 | grep gcc) > /dev/null && WHOLELIB="-Wl,-all,lib$$i.a,-none"; \ 507 set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 508 -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 509 -Wl,-soname,lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ 510 $${WHOLELIB} $$libs ${EX_LIBS}) || exit 1; \ 511 libs="-l$$i $$libs"; \ 512 done; \ 513 fi 514 515# This assumes that GNU utilities are *not* used 516# 517do_hpux-shared: 518 for i in ${SHLIBDIRS}; do \ 519 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 520 libs="$(LIBKRB5) $$libs"; \ 521 fi; \ 522 if expr $(PLATFORM) : '.*ia64' > /dev/null; then \ 523 shlib=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ 524 else \ 525 shlib=lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ 526 fi; \ 527 [ -f $$shlib ] && rm -f $$shlib; \ 528 ALLSYMSFLAGS='-Wl,-Fl'; \ 529 expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \ 530 ( set -x; $${FIPSLD:-${CC}} ${SHARED_LDFLAGS} \ 531 -Wl,-B,symbolic,+vnocompatwarnings,-z,+h,$$shlib \ 532 -o $$shlib $$ALLSYMSFLAGS,lib$$i.a -ldld ) || exit 1; \ 533 chmod a=rx $$shlib; \ 534 done 535 536# The following method is said to work on all platforms. Tests will 537# determine if that's how it's gong to be used. 538# This assumes that for all but GNU systems, GNU utilities are *not* used. 539# ALLSYMSFLAGS would be: 540# GNU systems: --whole-archive 541# Tru64 Unix: -all 542# Solaris: -z allextract 543# Irix: -all 544# HP/UX-32bit: -Fl 545# HP/UX-64bit: +forceload 546# AIX: -bnogc 547# SHAREDFLAGS would be: 548# GNU systems: -shared -Wl,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 549# Tru64 Unix: -shared \ 550# -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" 551# Solaris: -G -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 552# Irix: -shared -Wl,-soname,lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} 553# HP/UX-32bit: +vnocompatwarnings -b -z +s \ 554# +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} 555# HP/UX-64bit: -b -z +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} 556# AIX: -G -bE:lib$$i.exp -bM:SRE 557# SHAREDCMD would be: 558# GNU systems: $(CC) 559# Tru64 Unix: $(CC) 560# Solaris: $(CC) 561# Irix: $(CC) 562# HP/UX-32bit: /usr/ccs/bin/ld 563# HP/UX-64bit: /usr/ccs/bin/ld 564# AIX: $(CC) 565ALLSYMSFLAG=-bnogc 566SHAREDFLAGS=${SHARED_LDFLAGS} -G -bE:lib$$i.exp -bM:SRE 567SHAREDCMD=$(CC) 568do_aix-shared: 569 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 570 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 571 libs="$(LIBKRB5) $$libs"; \ 572 fi; \ 573 ( set -x; \ 574 OBJECT_MODE=`expr x${SHARED_LDFLAGS} : 'x\-[a-z]\([0-9]*\)'`; \ 575 OBJECT_MODE=$${OBJECT_MODE:-32}; export OBJECT_MODE; \ 576 ld -r -o lib$$i.o $(ALLSYMSFLAG) lib$$i.a && \ 577 ( nm -Pg lib$$i.o | grep ' [BD] ' | cut -f1 -d' ' > lib$$i.exp; \ 578 $${FIPSLD:-${CC}} $(SHAREDFLAGS) \ 579 -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} lib$$i.o \ 580 $$libs ${EX_LIBS} ) ) \ 581 || exit 1; \ 582 libs="-l$$i $$libs"; \ 583 done 584 585do_reliantunix-shared: 586 libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ 587 if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \ 588 libs="$(LIBKRB5) $$libs"; \ 589 fi; \ 590 tmpdir=/tmp/openssl.$$$$ ; rm -rf $$tmpdir ; \ 591 ( set -x; \ 592 ( Opwd=`pwd` ; mkdir $$tmpdir || exit 1; \ 593 cd $$tmpdir || exit 1 ; ar x $$Opwd/lib$$i.a ; \ 594 $${FIPSLD:-${CC}} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} *.o \ 595 ) || exit 1; \ 596 cp $$tmpdir/lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} . ; \ 597 ) || exit 1; \ 598 rm -rf $$tmpdir ; \ 599 libs="-l$$i $$libs"; \ 600 done 601 602openssl.pc: Makefile 603 @ ( echo 'prefix=$(INSTALLTOP)'; \ 604 echo 'exec_prefix=$${prefix}'; \ 605 echo 'libdir=$${exec_prefix}/lib'; \ 606 echo 'includedir=$${prefix}/include'; \ 607 echo ''; \ 608 echo 'Name: OpenSSL'; \ 609 echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ 610 echo 'Version: '$(VERSION); \ 611 echo 'Requires: '; \ 612 echo 'Libs: -L$${libdir} -lssl -lcrypto $(LIBKRB5) $(EX_LIBS)'; \ 613 echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc 614 615Makefile: Makefile.org 616 @echo "Makefile is older than Makefile.org." 617 @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please." 618 @false 619 620libclean: 621 rm -f *.map *.so *.so.* engines/*.so *.a */lib */*/lib 622 623clean: libclean 624 rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c 625 @for i in $(DIRS) ;\ 626 do \ 627 if [ -d "$$i" ]; then \ 628 (cd $$i && echo "making clean in $$i..." && \ 629 $(MAKE) EXE_EXT='${EXE_EXT}' SDIRS='${SDIRS}' clean ) || exit 1; \ 630 rm -f $(LIBS); \ 631 fi; \ 632 done; 633 rm -f openssl.pc 634 rm -f speed.* .pure 635 rm -f $(TARFILE) 636 @for i in $(ONEDIRS) ;\ 637 do \ 638 rm -fr $$i/*; \ 639 done 640 641makefile.one: files 642 $(PERL) util/mk1mf.pl >makefile.one; \ 643 sh util/do_ms.sh 644 645files: 646 $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO 647 @for i in $(DIRS) ;\ 648 do \ 649 if [ -d "$$i" ]; then \ 650 (cd $$i && echo "making 'files' in $$i..." && \ 651 $(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' files ) || exit 1; \ 652 fi; \ 653 done; 654 655links: 656 @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl 657 @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) 658 @for i in $(DIRS); do \ 659 if [ -d "$$i" ]; then \ 660 (cd $$i && echo "making links in $$i..." && \ 661 $(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}' FIPS_DES_ENC='${FIPS_DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' FIPS_SHA1_ASM_OBJ='${FIPS_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; \ 662 fi; \ 663 done; 664 665gentests: 666 @(cd test && echo "generating dummy tests (if needed)..." && \ 667 $(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}' FIPS_DES_ENC='${FIPS_DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' FIPS_SHA1_ASM_OBJ='${FIPS_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}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate ); 668 669dclean: 670 rm -f *.bak 671 @for i in $(DIRS) ;\ 672 do \ 673 if [ -d "$$i" ]; then \ 674 (cd $$i && echo "making dclean in $$i..." && \ 675 $(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' dclean ) || exit 1; \ 676 fi; \ 677 done; 678 679rehash: rehash.time 680rehash.time: certs 681 @(OPENSSL="`pwd`/util/opensslwrap.sh"; \ 682 OPENSSL_DEBUG_MEMORY=on; \ 683 export OPENSSL OPENSSL_DEBUG_MEMORY; \ 684 $(PERL) tools/c_rehash certs) 685 touch rehash.time 686 687test: tests 688 689tests: rehash 690 @(cd test && echo "testing..." && \ 691 $(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}' FIPS_DES_ENC='${FIPS_DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' FIPS_SHA1_ASM_OBJ='${FIPS_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}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests ); 692 util/shlib_wrap.sh apps/openssl version -a 693 694report: 695 @$(PERL) util/selftest.pl 696 697depend: 698 @for i in $(DIRS) ;\ 699 do \ 700 if [ -d "$$i" ]; then \ 701 (cd $$i && echo "making dependencies $$i..." && \ 702 $(MAKE) SDIRS='${SDIRS}' CFLAG='${CFLAG}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' depend ) || exit 1; \ 703 fi; \ 704 done; 705 706lint: 707 @for i in $(DIRS) ;\ 708 do \ 709 if [ -d "$$i" ]; then \ 710 (cd $$i && echo "making lint $$i..." && \ 711 $(MAKE) SDIRS='${SDIRS}' lint ) || exit 1; \ 712 fi; \ 713 done; 714 715tags: 716 rm -f TAGS 717 find . -name '[^.]*.[ch]' | xargs etags -a 718 719errors: 720 $(PERL) util/mkerr.pl -recurse -write 721 (cd crypto/engine; $(MAKE) PERL=$(PERL) errors) 722 723stacks: 724 $(PERL) util/mkstack.pl -write 725 726util/libeay.num:: 727 $(PERL) util/mkdef.pl crypto update 728 729util/ssleay.num:: 730 $(PERL) util/mkdef.pl ssl update 731 732crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h 733 $(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h 734crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num 735 $(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h 736 737apps/openssl-vms.cnf: apps/openssl.cnf 738 $(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf 739 740crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl 741 $(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h 742 743 744TABLE: Configure 745 (echo 'Output of `Configure TABLE'"':"; \ 746 $(PERL) Configure TABLE) > TABLE 747 748update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend 749 750# Build distribution tar-file. As the list of files returned by "find" is 751# pretty long, on several platforms a "too many arguments" error or similar 752# would occur. Therefore the list of files is temporarily stored into a file 753# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal 754# tar does not support the --files-from option. 755tar: 756 find . -type d -print | xargs chmod 755 757 find . -type f -print | xargs chmod a+r 758 find . -type f -perm -0100 -print | xargs chmod a+x 759 find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \ 760 $(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \ 761 tardy --user_number=0 --user_name=openssl \ 762 --group_number=0 --group_name=openssl \ 763 --prefix=openssl-$(VERSION) - |\ 764 gzip --best >../$(TARFILE).gz; \ 765 rm -f ../$(TARFILE).list; \ 766 ls -l ../$(TARFILE).gz 767 768tar-snap: 769 @$(TAR) $(TARFLAGS) -cvf - \ 770 `find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \! -name '*test' \! -name '.#*' \! -name '*~' | sort` |\ 771 tardy --user_number=0 --user_name=openssl \ 772 --group_number=0 --group_name=openssl \ 773 --prefix=openssl-$(VERSION) - > ../$(TARFILE);\ 774 ls -l ../$(TARFILE) 775 776dist: 777 $(PERL) Configure dist 778 @$(MAKE) dist_pem_h 779 @$(MAKE) SDIRS='${SDIRS}' clean 780 @$(MAKE) TAR='${TAR}' TARFLAGS='${TARFLAGS}' tar 781 782dist_pem_h: 783 (cd crypto/pem; $(MAKE) CC='${CC}' SDIRS='${SDIRS}' CFLAG='${CFLAG}' pem.h; $(MAKE) clean) 784 785install: all install_docs install_sw 786 787install_sw: 788 @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ 789 $(INSTALL_PREFIX)$(INSTALLTOP)/lib \ 790 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig \ 791 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ 792 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ 793 $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ 794 $(INSTALL_PREFIX)$(OPENSSLDIR)/private 795 @headerlist="$(EXHEADER)"; for i in $$headerlist ;\ 796 do \ 797 (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ 798 chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ 799 done; 800 @for i in $(DIRS) ;\ 801 do \ 802 if [ -d "$$i" ]; then \ 803 (cd $$i; echo "installing $$i..."; \ 804 $(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 ); \ 805 fi; \ 806 done 807 @for i in $(LIBS) ;\ 808 do \ 809 if [ -f "$$i" ]; then \ 810 ( echo installing $$i; \ 811 cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \ 812 if egrep 'define OPENSSL_FIPS' $(TOP)/include/openssl/opensslconf.h > /dev/null; then \ 813 : ; \ 814 else \ 815 $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \ 816 fi; \ 817 chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \ 818 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \ 819 fi; \ 820 done; 821 @if [ -n "$(SHARED_LIBS)" ]; then \ 822 tmp="$(SHARED_LIBS)"; \ 823 for i in $${tmp:-x}; \ 824 do \ 825 if [ -f "$$i" -o -f "$$i.a" ]; then \ 826 ( echo installing $$i; \ 827 if [ "$(PLATFORM)" != "Cygwin" ]; then \ 828 cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \ 829 chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \ 830 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \ 831 else \ 832 c=`echo $$i | sed 's/^lib\(.*\)\.dll/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \ 833 cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ 834 chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ 835 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ 836 cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \ 837 chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \ 838 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \ 839 fi ); \ 840 fi; \ 841 done; \ 842 ( here="`pwd`"; \ 843 cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \ 844 set $(MAKE); \ 845 $$1 -f $$here/Makefile link-shared ); \ 846 if [ "$(INSTALLTOP)" != "/usr" ]; then \ 847 echo 'OpenSSL shared libraries have been installed in:'; \ 848 echo ' $(INSTALLTOP)'; \ 849 echo ''; \ 850 sed -e '1,/^$$/d' doc/openssl-shared.txt; \ 851 fi; \ 852 fi 853 cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig 854 chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc 855 856install_docs: 857 @$(PERL) $(TOP)/util/mkdir-p.pl \ 858 $(INSTALL_PREFIX)$(MANDIR)/man1 \ 859 $(INSTALL_PREFIX)$(MANDIR)/man3 \ 860 $(INSTALL_PREFIX)$(MANDIR)/man5 \ 861 $(INSTALL_PREFIX)$(MANDIR)/man7 862 @pod2man="`cd util; ./pod2mantest $(PERL)`"; \ 863 here="`pwd`"; \ 864 filecase=; \ 865 if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$(PLATFORM)" = "mingw" ]; then \ 866 filecase=-i; \ 867 fi; \ 868 for i in doc/apps/*.pod; do \ 869 fn=`basename $$i .pod`; \ 870 if [ "$$fn" = "config" ]; then sec=5; else sec=1; fi; \ 871 echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ 872 (cd `$(PERL) util/dirname.pl $$i`; \ 873 sh -c "$$pod2man \ 874 --section=$$sec --center=OpenSSL \ 875 --release=$(VERSION) `basename $$i`") \ 876 > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ 877 $(PERL) util/extract-names.pl < $$i | \ 878 (grep -v $$filecase "^$$fn\$$"; true) | \ 879 (grep -v "[ ]"; true) | \ 880 (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ 881 while read n; do \ 882 $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ 883 done); \ 884 done; \ 885 for i in doc/crypto/*.pod doc/ssl/*.pod; do \ 886 fn=`basename $$i .pod`; \ 887 if [ "$$fn" = "des_modes" ]; then sec=7; else sec=3; fi; \ 888 echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ 889 (cd `$(PERL) util/dirname.pl $$i`; \ 890 sh -c "$$pod2man \ 891 --section=$$sec --center=OpenSSL \ 892 --release=$(VERSION) `basename $$i`") \ 893 > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ 894 $(PERL) util/extract-names.pl < $$i | \ 895 (grep -v $$filecase "^$$fn\$$"; true) | \ 896 (grep -v "[ ]"; true) | \ 897 (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ 898 while read n; do \ 899 $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ 900 done); \ 901 done 902 903# DO NOT DELETE THIS LINE -- make depend depends on it. 904