1 ### Generated automatically from Makefile.org by Configure.
4 ## Makefile for OpenSSL
10 SHLIB_VERSION_NUMBER
=1.0.0
11 SHLIB_VERSION_HISTORY
=
16 OPTIONS
= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-store no-unit-test no-zlib no-zlib-dynamic static-engine
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.
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.
29 INSTALLTOP
=/usr
/local
/ssl
31 # Do not edit this manually. Use Configure --openssldir=DIR do change this!
32 OPENSSLDIR
=/usr
/local
/ssl
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.
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
60 # PKCS1_CHECK - pkcs1 tests.
64 DEPFLAG
= -DOPENSSL_NO_EC_NISTP_64_GCC_128
-DOPENSSL_NO_GMP
-DOPENSSL_NO_JPAKE
-DOPENSSL_NO_MD2
-DOPENSSL_NO_RC5
-DOPENSSL_NO_RFC3779
-DOPENSSL_NO_SCTP
-DOPENSSL_NO_STORE
-DOPENSSL_NO_UNIT_TEST
70 RANLIB
= /usr
/bin
/ranlib
72 PERL
= /usr
/pkg
/bin
/perl
74 TARFLAGS
= --no-recursion
--record-size
=10240
75 MAKEDEPPROG
=makedepend
78 # We let the C compiler driver to take care of .s files. This is done in
79 # order to be excused from maintaining a separate set of architecture
80 # dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
81 # gcc, then the driver will automatically translate it to -xarch=v8plus
82 # and pass it down to assembler.
86 # For x86 assembler: Set PROCESSOR to 386 if you want to support
90 # CPUID module collects small commonly used assembler snippets
93 DES_ENC
= des_enc.o fcrypt_b.o
94 AES_ENC
= aes_core.o aes_cbc.o
97 RC4_ENC
= rc4_enc.o rc4_skey.o
102 WP_ASM_OBJ
= wp_block.o
103 CMLL_ENC
= camellia.o cmll_misc.o cmll_cbc.o
116 # TOP level FIPS install directory.
117 FIPSDIR
=/usr
/local
/ssl
/fips-2.0
119 # This is the location of fipscanister.o and friends.
120 # The FIPS module build will place it $(INSTALLTOP)/lib
121 # but since $(INSTALLTOP) can only take the default value
122 # when the module is built it will be in /usr/local/ssl/lib
123 # $(INSTALLTOP) for this build may be different so hard
128 # The location of the library which contains fipscanister.o
129 # normally it will be libcrypto unless fipsdso is set in which
130 # case it will be libfips. If not compiling in FIPS mode at all
131 # this is empty making it a useful test for a FIPS compile.
135 # Shared library base address. Currently only used on Windows.
140 DIRS
= crypto ssl engines apps
test tools
142 SHLIBDIRS
= crypto ssl
144 # dirs in crypto to build
147 md4 md5 sha mdc2 hmac ripemd whrlpool \
148 des aes rc2 rc4 idea bf cast camellia seed modes \
149 bn ec rsa dsa ecdsa dh ecdh dso engine \
150 buffer bio stack lhash rand err \
151 evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
152 cms pqueue ts srp cmac
153 # keep in mind that the above list is adjusted by ./Configure
154 # according to no-xxx arguments...
156 # tests to perform. "alltests" is a special word indicating that all tests
157 # should be performed.
162 MANDIR
=$(OPENSSLDIR
)/man
167 HTMLDIR
=$(OPENSSLDIR
)/html
172 EDIRS
= times doc bugs util
include certs ms shlib mt demos perl sf dep VMS
174 LIBS
= libcrypto.a libssl.a
175 SHARED_CRYPTO
=libcrypto
$(SHLIB_EXT
)
176 SHARED_SSL
=libssl
$(SHLIB_EXT
)
178 SHARED_LIBS_LINK_EXTS
=
183 NAME
= $(BASENAME
)-$(VERSION
)
185 WTARFILE
= $(NAME
)-win.
tar
189 all: Makefile build_all
191 # as we stick to -e, CLEARENV ensures that local variables in lower
192 # Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
193 # shell, which [annoyingly enough] terminates unset with error if VAR
194 # is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
195 # which terminates unset with error if no variable was present:-(
196 CLEARENV
= TOP
= && unset TOP
$${LIB
+LIB
} $${LIBS
+LIBS
} \
197 $${INCLUDE
+INCLUDE
} $${INCLUDES
+INCLUDES
} \
198 $${DIR
+DIR
} $${DIRS
+DIRS
} $${SRC
+SRC
} \
199 $${LIBSRC
+LIBSRC
} $${LIBOBJ
+LIBOBJ
} $${ALL
+ALL
} \
200 $${EXHEADER
+EXHEADER
} $${HEADER
+HEADER
} \
201 $${GENERAL
+GENERAL
} $${CFLAGS
+CFLAGS
} \
202 $${ASFLAGS
+ASFLAGS
} $${AFLAGS
+AFLAGS
} \
203 $${LDCMD
+LDCMD
} $${LDFLAGS
+LDFLAGS
} $${SCRIPTS
+SCRIPTS
} \
204 $${SHAREDCMD
+SHAREDCMD
} $${SHAREDFLAGS
+SHAREDFLAGS
} \
205 $${SHARED_LIB
+SHARED_LIB
} $${LIBEXTRAS
+LIBEXTRAS
}
207 BUILDENV
= PLATFORM
='$(PLATFORM)' PROCESSOR
='$(PROCESSOR)' \
208 CC
='$(CC)' CFLAG
='$(CFLAG)' \
209 AS
='$(CC)' ASFLAG
='$(CFLAG) -c' \
210 AR
='$(AR)' NM
='$(NM)' RANLIB
='$(RANLIB)' \
211 CROSS_COMPILE
='$(CROSS_COMPILE)' \
212 PERL
='$(PERL)' ENGDIRS
='$(ENGDIRS)' \
213 SDIRS
='$(SDIRS)' LIBRPATH
='$(INSTALLTOP)/$(LIBDIR)' \
214 INSTALL_PREFIX
='$(INSTALL_PREFIX)' \
215 INSTALLTOP
='$(INSTALLTOP)' OPENSSLDIR
='$(OPENSSLDIR)' \
217 MAKEDEPEND
='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \
218 DEPFLAG
='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \
219 MAKEDEPPROG
='$(MAKEDEPPROG)' \
220 SHARED_LDFLAGS
='$(SHARED_LDFLAGS)' \
221 KRB5_INCLUDES
='$(KRB5_INCLUDES)' LIBKRB5
='$(LIBKRB5)' \
222 ZLIB_INCLUDE
='$(ZLIB_INCLUDE)' LIBZLIB
='$(LIBZLIB)' \
223 EXE_EXT
='$(EXE_EXT)' SHARED_LIBS
='$(SHARED_LIBS)' \
224 SHLIB_EXT
='$(SHLIB_EXT)' SHLIB_TARGET
='$(SHLIB_TARGET)' \
225 PEX_LIBS
='$(PEX_LIBS)' EX_LIBS
='$(EX_LIBS)' \
226 CPUID_OBJ
='$(CPUID_OBJ)' \
227 BN_ASM
='$(BN_ASM)' DES_ENC
='$(DES_ENC)' \
228 AES_ENC
='$(AES_ENC)' CMLL_ENC
='$(CMLL_ENC)' \
229 BF_ENC
='$(BF_ENC)' CAST_ENC
='$(CAST_ENC)' \
230 RC4_ENC
='$(RC4_ENC)' RC5_ENC
='$(RC5_ENC)' \
231 SHA1_ASM_OBJ
='$(SHA1_ASM_OBJ)' \
232 MD5_ASM_OBJ
='$(MD5_ASM_OBJ)' \
233 RMD160_ASM_OBJ
='$(RMD160_ASM_OBJ)' \
234 WP_ASM_OBJ
='$(WP_ASM_OBJ)' \
235 MODES_ASM_OBJ
='$(MODES_ASM_OBJ)' \
236 ENGINES_ASM_OBJ
='$(ENGINES_ASM_OBJ)' \
237 PERLASM_SCHEME
='$(PERLASM_SCHEME)' \
238 FIPSLIBDIR
='${FIPSLIBDIR}' \
239 FIPSDIR
='${FIPSDIR}' \
240 FIPSCANLIB
="$${FIPSCANLIB:-$(FIPSCANLIB)}" \
241 THIS
=$${THIS
:-$@
} MAKEFILE
=Makefile MAKEOVERRIDES
=
242 # MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
243 # which in turn eliminates ambiguities in variable treatment with -e.
245 # BUILD_CMD is a generic macro to build a given target in a given
246 # subdirectory. The target must be given through the shell variable
247 # `target' and the subdirectory to build in must be given through `dir'.
248 # This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or
249 # BUILD_ONE_CMD instead.
251 # BUILD_ONE_CMD is a macro to build a given target in a given
252 # subdirectory if that subdirectory is part of $(DIRS). It requires
253 # exactly the same shell variables as BUILD_CMD.
255 # RECURSIVE_BUILD_CMD is a macro to build a given target in all
256 # subdirectories defined in $(DIRS). It requires that the target
257 # is given through the shell variable `target'.
258 BUILD_CMD
= if
[ -d
"$$dir" ]; then \
259 ( cd
$$dir && echo
"making $$target in $$dir..." && \
260 $(CLEARENV
) && $(MAKE
) -e
$(BUILDENV
) TOP
=.. DIR
=$$dir $$target \
263 RECURSIVE_BUILD_CMD
=for
dir in
$(DIRS
); do
$(BUILD_CMD
); done
265 if expr
" $(DIRS) " : ".* $$dir " >/dev
/null
2>&1; then \
270 @
[ -n
"$(THIS)" ] && $(CLEARENV
) && $(MAKE
) $(THIS
) -e
$(BUILDENV
)
274 build_all
: build_libs build_apps build_tests build_tools
276 build_libs
: build_libcrypto build_libssl openssl.
pc
278 build_libcrypto
: build_crypto build_engines libcrypto.
pc
279 build_libssl
: build_ssl libssl.
pc
282 @
dir=crypto
; target
=all; $(BUILD_ONE_CMD
)
283 build_ssl
: build_crypto
284 @
dir=ssl
; target
=all; $(BUILD_ONE_CMD
)
285 build_engines
: build_crypto
286 @
dir=engines
; target
=all; $(BUILD_ONE_CMD
)
287 build_apps
: build_libs
288 @
dir=apps
; target
=all; $(BUILD_ONE_CMD
)
289 build_tests
: build_libs
290 @
dir=test; target
=all; $(BUILD_ONE_CMD
)
291 build_tools
: build_libs
292 @
dir=tools
; target
=all; $(BUILD_ONE_CMD
)
294 all_testapps
: build_libs build_testapps
296 @
dir=crypto
; target
=testapps
; $(BUILD_ONE_CMD
)
298 fips_premain_dso
$(EXE_EXT
): libcrypto.a
299 [ -z
"$(FIPSCANLIB)" ] ||
$(CC
) $(CFLAG
) -Iinclude \
300 -DFINGERPRINT_PREMAIN_DSO_LOAD
-o
$@ \
301 $(FIPSLIBDIR
)fips_premain.c
$(FIPSLIBDIR
)fipscanister.o \
302 libcrypto.a
$(EX_LIBS
)
304 libcrypto
$(SHLIB_EXT
): libcrypto.a fips_premain_dso
$(EXE_EXT
)
305 @if
[ "$(SHLIB_TARGET)" != "" ]; then \
306 if
[ "$(FIPSCANLIB)" = "libcrypto" ]; then \
307 FIPSLD_LIBCRYPTO
=libcrypto.a
; \
308 FIPSLD_CC
="$(CC)"; CC
=$(FIPSDIR
)/bin
/fipsld
; \
309 export CC FIPSLD_CC FIPSLD_LIBCRYPTO
; \
311 $(MAKE
) -e SHLIBDIRS
=crypto CC
="$${CC:-$(CC)}" build-shared
&& \
312 (touch
-c fips_premain_dso
$(EXE_EXT
) ||
:); \
314 echo
"There's no support for shared libraries on this platform" >&2; \
318 libssl
$(SHLIB_EXT
): libcrypto
$(SHLIB_EXT
) libssl.a
319 @if
[ "$(SHLIB_TARGET)" != "" ]; then \
320 $(MAKE
) SHLIBDIRS
=ssl SHLIBDEPS
='-lcrypto' build-shared
; \
322 echo
"There's no support for shared libraries on this platform" >&2; \
327 @set
-e
; for i in
$(SHLIBDIRS
); do \
328 if
[ -n
"$(SHARED_LIBS_LINK_EXTS)" ]; then \
329 tmp
="$(SHARED_LIBS_LINK_EXTS)"; \
330 for j in
$${tmp
:-x
}; do \
331 ( set
-x
; rm -f lib
$$i$$j ); \
334 ( set
-x
; rm -f lib
$$i$(SHLIB_EXT
) ); \
335 if
[ "$(PLATFORM)" = "Cygwin" ]; then \
336 ( set
-x
; rm -f cyg
$$i$(SHLIB_EXT
) lib
$$i$(SHLIB_EXT
).a
); \
341 @ set
-e
; for i in
$(SHLIBDIRS
); do \
342 $(MAKE
) -f
$(HERE
)/Makefile.shared
-e
$(BUILDENV
) \
343 LIBNAME
=$$i LIBVERSION
=$(SHLIB_MAJOR
).
$(SHLIB_MINOR
) \
344 LIBCOMPATVERSIONS
=";$(SHLIB_VERSION_HISTORY)" \
345 symlink.
$(SHLIB_TARGET
); \
346 libs
="$$libs -l$$i"; \
349 build-shared
: do_
$(SHLIB_TARGET
) link-shared
352 @ set
-e
; libs
='-L. $(SHLIBDEPS)'; for i in
$(SHLIBDIRS
); do \
353 if
[ "$$i" = "ssl" -a
-n
"$(LIBKRB5)" ]; then \
354 libs
="$(LIBKRB5) $$libs"; \
356 $(CLEARENV
) && $(MAKE
) -f Makefile.shared
-e
$(BUILDENV
) \
357 LIBNAME
=$$i LIBVERSION
=$(SHLIB_MAJOR
).
$(SHLIB_MINOR
) \
358 LIBCOMPATVERSIONS
=";$(SHLIB_VERSION_HISTORY)" \
359 LIBDEPS
="$$libs $(EX_LIBS)" \
360 link_a.
$(SHLIB_TARGET
); \
361 libs
="-l$$i $$libs"; \
364 libcrypto.
pc: Makefile
365 @
( echo
'prefix=$(INSTALLTOP)'; \
366 echo
'exec_prefix=$${prefix}'; \
367 echo
'libdir=$${exec_prefix}/$(LIBDIR)'; \
368 echo
'includedir=$${prefix}/include'; \
370 echo
'Name: OpenSSL-libcrypto'; \
371 echo
'Description: OpenSSL cryptography library'; \
372 echo
'Version: '$(VERSION
); \
374 echo
'Libs: -L$${libdir} -lcrypto'; \
375 echo
'Libs.private: $(EX_LIBS)'; \
376 echo
'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.
pc
379 @
( echo
'prefix=$(INSTALLTOP)'; \
380 echo
'exec_prefix=$${prefix}'; \
381 echo
'libdir=$${exec_prefix}/$(LIBDIR)'; \
382 echo
'includedir=$${prefix}/include'; \
384 echo
'Name: OpenSSL'; \
385 echo
'Description: Secure Sockets Layer and cryptography libraries'; \
386 echo
'Version: '$(VERSION
); \
388 echo
'Libs: -L$${libdir} -lssl -lcrypto'; \
389 echo
'Libs.private: $(EX_LIBS)'; \
390 echo
'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.
pc
393 @
( echo
'prefix=$(INSTALLTOP)'; \
394 echo
'exec_prefix=$${prefix}'; \
395 echo
'libdir=$${exec_prefix}/$(LIBDIR)'; \
396 echo
'includedir=$${prefix}/include'; \
398 echo
'Name: OpenSSL'; \
399 echo
'Description: Secure Sockets Layer and cryptography libraries and tools'; \
400 echo
'Version: '$(VERSION
); \
402 echo
'Libs: -L$${libdir} -lssl -lcrypto'; \
403 echo
'Libs.private: $(EX_LIBS)'; \
404 echo
'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.
pc
406 Makefile
: Makefile.org Configure config
407 @echo
"Makefile is older than Makefile.org, Configure or config."
408 @echo
"Reconfigure the source tree (via './config' or 'perl Configure'), please."
412 rm -f
*.map
*.so
*.so.
* *.dylib
*.dll engines
/*.so engines
/*.dll engines
/*.dylib
*.a engines
/*.a
*/lib
*/*/lib
415 rm -f shlib
/*.o
*.o core a.out fluff rehash.time testlog make.log cctest cctest.c
416 @set
-e
; target
=clean; $(RECURSIVE_BUILD_CMD
)
418 rm -f openssl.
pc libssl.
pc libcrypto.
pc
421 @set
-e
; for i in
$(ONEDIRS
) ;\
427 $(PERL
) util
/mk1mf.pl
>makefile.one
; \
431 $(PERL
) $(TOP
)/util
/files.pl Makefile
> $(TOP
)/MINFO
432 @set
-e
; target
=files
; $(RECURSIVE_BUILD_CMD
)
435 @
$(PERL
) $(TOP
)/util
/mkdir-p.pl
include/openssl
436 @
$(PERL
) $(TOP
)/util
/mklink.pl
include/openssl
$(EXHEADER
)
437 @set
-e
; target
=links
; $(RECURSIVE_BUILD_CMD
)
440 @
(cd
test && echo
"generating dummy tests (if needed)..." && \
441 $(CLEARENV
) && $(MAKE
) -e
$(BUILDENV
) TESTS
='$(TESTS)' OPENSSL_DEBUG_MEMORY
=on generate
);
444 rm -rf
*.bak
include/openssl certs
/.0
445 @set
-e
; target
=dclean
; $(RECURSIVE_BUILD_CMD
)
448 rehash.time
: certs apps
449 @if
[ -z
"$(CROSS_COMPILE)" ]; then \
450 (OPENSSL
="`pwd`/util/opensslwrap.sh"; \
451 [ -x
"apps/openssl.exe" ] && OPENSSL
="apps/openssl.exe" ||
:; \
452 OPENSSL_DEBUG_MEMORY
=on
; \
453 export OPENSSL OPENSSL_DEBUG_MEMORY
; \
454 $(PERL
) tools
/c_rehash certs
/demo
) && \
461 @
(cd
test && echo
"testing..." && \
462 $(CLEARENV
) && $(MAKE
) -e
$(BUILDENV
) TOP
=.. TESTS
='$(TESTS)' OPENSSL_DEBUG_MEMORY
=on OPENSSL_CONF
=..
/apps
/openssl.cnf tests
);
463 OPENSSL_CONF
=apps
/openssl.cnf util
/opensslwrap.sh version
-a
466 @
$(PERL
) util
/selftest.pl
468 update
: errors stacks util
/libeay.num util
/ssleay.num TABLE
469 @set
-e
; target
=update
; $(RECURSIVE_BUILD_CMD
)
472 @set
-e
; target
=depend
; $(RECURSIVE_BUILD_CMD
)
475 @set
-e
; target
=lint
; $(RECURSIVE_BUILD_CMD
)
479 find .
-name
'[^.]*.[ch]' | xargs etags
-a
482 $(PERL
) util
/ck_errf.pl
-strict
*/*.c
*/*/*.c
483 $(PERL
) util
/mkerr.pl
-recurse
-write
484 (cd engines
; $(MAKE
) PERL
=$(PERL
) errors
)
487 $(PERL
) util
/mkstack.pl
-write
490 $(PERL
) util
/mkdef.pl crypto update
493 $(PERL
) util
/mkdef.pl ssl update
496 (echo
'Output of `Configure TABLE'"':"; \
497 $(PERL
) Configure TABLE
) > TABLE
499 # Build distribution tar-file. As the list of files returned by "find" is
500 # pretty long, on several platforms a "too many arguments" error or similar
501 # would occur. Therefore the list of files is temporarily stored into a file
502 # and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
503 # tar does not support the --files-from option.
505 find .
-type d
-print | xargs chmod
755
506 find .
-type f
-print | xargs chmod a
+r
507 find .
-type f
-perm
-0100 -print | xargs chmod a
+x
508 find
* \
! -path CVS
/\
* \
! -path \
*/CVS
/\
* \
! -name CVS \
! -name .cvsignore \
! -name STATUS \
! -name TABLE |
sort > ..
/$(TARFILE
).list
; \
509 $(TAR
) $(TARFLAGS
) --files-from ..
/$(TARFILE
).list
-cvf
- | \
510 tardy
--user_number
=0 --user_name
=openssl \
511 --group_number
=0 --group_name
=openssl \
512 --prefix=openssl-
$(VERSION
) - |\
513 gzip
--best
>..
/$(TARFILE
).gz
; \
514 rm -f ..
/$(TARFILE
).list
; \
515 ls
-l ..
/$(TARFILE
).gz
518 @
$(TAR
) $(TARFLAGS
) -cvf
- \
519 `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` |\
520 tardy
--user_number
=0 --user_name
=openssl \
521 --group_number
=0 --group_name
=openssl \
522 --prefix=openssl-
$(VERSION
) - > ..
/$(TARFILE
);\
526 $(PERL
) Configure
dist
528 @
$(MAKE
) SDIRS
='$(SDIRS)' clean
529 @
$(MAKE
) TAR
='$(TAR)' TARFLAGS
='$(TARFLAGS)' tar
532 (cd crypto
/pem
; $(MAKE
) -e
$(BUILDENV
) pem.h
; $(MAKE
) clean)
534 install: all install_docs install_sw
537 @
$(PERL
) $(TOP
)/util
/mkdir-p.pl
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin \
538 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
) \
539 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/engines \
540 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig \
541 $(INSTALL_PREFIX
)$(INSTALLTOP
)/include/openssl \
542 $(INSTALL_PREFIX
)$(OPENSSLDIR
)/misc \
543 $(INSTALL_PREFIX
)$(OPENSSLDIR
)/certs \
544 $(INSTALL_PREFIX
)$(OPENSSLDIR
)/private
545 @set
-e
; headerlist
="$(EXHEADER)"; for i in
$$headerlist;\
547 (cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/include/openssl
/$$i; \
548 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/include/openssl
/$$i ); \
550 @set
-e
; target
=install; $(RECURSIVE_BUILD_CMD
)
551 @set
-e
; liblist
="$(LIBS)"; for i in
$$liblist ;\
553 if
[ -f
"$$i" ]; then \
554 ( echo installing
$$i; \
555 cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
556 $(RANLIB
) $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
557 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
558 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i ); \
561 @set
-e
; if
[ -n
"$(SHARED_LIBS)" ]; then \
562 tmp
="$(SHARED_LIBS)"; \
563 for i in
$${tmp
:-x
}; \
565 if
[ -f
"$$i" -o
-f
"$$i.a" ]; then \
566 ( echo installing
$$i; \
567 if
[ "$(PLATFORM)" != "Cygwin" ]; then \
568 cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
569 chmod
555 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
570 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i; \
572 c
=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
573 cp
$$c $(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$c.new
; \
574 chmod
755 $(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$c.new
; \
575 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$c.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$c; \
576 cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
577 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
578 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i; \
580 if expr
$(PLATFORM
) : 'mingw' > /dev
/null
; then \
582 *crypto
*) i
=libeay32.dll
;; \
583 *ssl
*) i
=ssleay32.dll
;; \
585 echo installing
$$i; \
586 cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$i.new
; \
587 chmod
755 $(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$i.new
; \
588 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$i.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$i ); \
593 cd
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
); \
594 $(MAKE
) -f
$$here/Makefile HERE
="$$here" link-shared
); \
595 if
[ "$(INSTALLTOP)" != "/usr" ]; then \
596 echo
'OpenSSL shared libraries have been installed in:'; \
597 echo
' $(INSTALLTOP)'; \
599 sed
-e
'1,/^$$/d' doc
/openssl-shared.txt
; \
602 cp libcrypto.
pc $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
603 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
/libcrypto.
pc
604 cp libssl.
pc $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
605 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
/libssl.
pc
606 cp openssl.
pc $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
607 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
/openssl.
pc
611 for subdir in apps crypto ssl
; do \
612 mkdir
-p
$(INSTALL_PREFIX
)$(HTMLDIR
)/$$subdir; \
613 for i in doc
/$$subdir/*.pod
; do \
614 fn
=`basename $$i .pod`; \
615 echo
"installing html/$$fn.$(HTMLSUFFIX)"; \
617 | sed
-r
's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \
618 | pod2html
--podroot
=doc
--htmlroot
=..
--podpath
=apps
:crypto
:ssl \
619 | sed
-r
's/<!DOCTYPE.*//g' \
620 > $(INSTALL_PREFIX
)$(HTMLDIR
)/$$subdir/$$fn.
$(HTMLSUFFIX
); \
621 $(PERL
) util
/extract-names.pl
< $$i | \
622 grep
-v
$$filecase "^$$fn\$$" | \
623 (cd
$(INSTALL_PREFIX
)$(HTMLDIR
)/$$subdir; \
625 PLATFORM
=$(PLATFORM
) $$here/util
/point.sh
$$fn.
$(HTMLSUFFIX
) "$$n".
$(HTMLSUFFIX
); \
631 @
$(PERL
) $(TOP
)/util
/mkdir-p.pl \
632 $(INSTALL_PREFIX
)$(MANDIR
)/man1 \
633 $(INSTALL_PREFIX
)$(MANDIR
)/man3 \
634 $(INSTALL_PREFIX
)$(MANDIR
)/man5 \
635 $(INSTALL_PREFIX
)$(MANDIR
)/man7
636 @pod2man
="`cd ./util; ./pod2mantest $(PERL)`"; \
639 if
[ "$(PLATFORM)" = "DJGPP" -o
"$(PLATFORM)" = "Cygwin" -o
"$(PLATFORM)" = "mingw" ]; then \
642 set
-e
; for i in doc
/apps
/*.pod
; do \
643 fn
=`basename $$i .pod`; \
644 sec
=`$(PERL) util/extract-section.pl 1 < $$i`; \
645 echo
"installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
646 (cd
`$(PERL) util/dirname.pl $$i`; \
648 --section=$$sec --center=OpenSSL \
649 --release=$(VERSION) `basename $$i`") \
650 > $(INSTALL_PREFIX
)$(MANDIR
)/man
$$sec/$$fn.
$${sec}$(MANSUFFIX
); \
651 $(PERL
) util
/extract-names.pl
< $$i | \
652 (grep
-v
$$filecase "^$$fn\$$"; true
) | \
653 (grep
-v
"[ ]"; true
) | \
654 (cd
$(INSTALL_PREFIX
)$(MANDIR
)/man
$$sec/; \
656 PLATFORM
=$(PLATFORM
) $$here/util
/point.sh
$$fn.
$${sec}$(MANSUFFIX
) "$$n".
$${sec}$(MANSUFFIX
); \
659 set
-e
; for i in doc
/crypto
/*.pod doc
/ssl
/*.pod
; do \
660 fn
=`basename $$i .pod`; \
661 sec
=`$(PERL) util/extract-section.pl 3 < $$i`; \
662 echo
"installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
663 (cd
`$(PERL) util/dirname.pl $$i`; \
665 --section=$$sec --center=OpenSSL \
666 --release=$(VERSION) `basename $$i`") \
667 > $(INSTALL_PREFIX
)$(MANDIR
)/man
$$sec/$$fn.
$${sec}$(MANSUFFIX
); \
668 $(PERL
) util
/extract-names.pl
< $$i | \
669 (grep
-v
$$filecase "^$$fn\$$"; true
) | \
670 (grep
-v
"[ ]"; true
) | \
671 (cd
$(INSTALL_PREFIX
)$(MANDIR
)/man
$$sec/; \
673 PLATFORM
=$(PLATFORM
) $$here/util
/point.sh
$$fn.
$${sec}$(MANSUFFIX
) "$$n".
$${sec}$(MANSUFFIX
); \
677 # DO NOT DELETE THIS LINE -- make depend depends on it.