1 ### Generated automatically from Makefile.org by Configure.
4 ## Makefile for OpenSSL
10 SHLIB_VERSION_NUMBER
=1.0.0
11 SHLIB_VERSION_HISTORY
=
14 SHLIB_EXT
=.so.
$(SHLIB_MAJOR
).
$(SHLIB_MINOR
)
16 OPTIONS
=--openssldir
=/etc
--cross-compile-prefix
= -ffunction-sections
-fdata-sections
-Wl
,--gc-sections enable-shared enable-rc5 no-camellia no-capieng no-dtls1 no-ec_nistp_64_gcc_128 no-engines no-err no-gmp no-gms no-hw no-jpake no-krb5 no-libunbound no-md2 no-mdc2 no-psk no-rfc3779 no-ripemd no-rmd160 no-sctp no-seed no-sha0 no-smime no-sse2 no-ssl-trace no-ssl2 no-ssl3 no-store no-ts no-unit-test no-zlib no-zlib-dynamic no-static-engine
17 CONFIGURE_ARGS
=linux-armv4
--openssldir
=/etc
--cross-compile-prefix
= -ffunction-sections
-fdata-sections
-Wl
,--gc-sections shared enable-rc5 no-ssl2 no-ssl3 no-sha0 no-smime no-camellia no-krb5 no-rmd160 no-ripemd no-seed no-capieng no-gms no-gmp no-rfc3779 no-err no-hw no-jpake no-zlib no-engines no-sse2 no-libunbound no-ssl-trace no-dtls1 no-store no-psk no-md2 no-mdc2 no-ts
18 SHLIB_TARGET
=linux-shared
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.
31 # Do not edit this manually. Use Configure --openssldir=DIR do change this!
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.
63 CC
= $(CROSS_COMPILE
)arm-brcm-linux-uclibcgnueabi-gcc
64 CFLAG
= -fPIC
-DOPENSSL_PIC
-DOPENSSL_THREADS
-D_REENTRANT
-DDSO_DLFCN
-DHAVE_DLFCN_H
-ffunction-sections
-fdata-sections
-DOPENSSL_NO_ERR
-O3
-Wall
-DOPENSSL_BN_ASM_MONT
-DOPENSSL_BN_ASM_GF2m
-DSHA1_ASM
-DSHA256_ASM
-DSHA512_ASM
-DAES_ASM
-DBSAES_ASM
-DGHASH_ASM
65 DEPFLAG
= -DOPENSSL_NO_CAMELLIA
-DOPENSSL_NO_CAPIENG
-DOPENSSL_NO_DTLS1
-DOPENSSL_NO_EC_NISTP_64_GCC_128
-DOPENSSL_NO_ENGINES
-DOPENSSL_NO_GMP
-DOPENSSL_NO_GMS
-DOPENSSL_NO_JPAKE
-DOPENSSL_NO_LIBUNBOUND
-DOPENSSL_NO_MD2
-DOPENSSL_NO_MDC2
-DOPENSSL_NO_PSK
-DOPENSSL_NO_RFC3779
-DOPENSSL_NO_RIPEMD
-DOPENSSL_NO_RMD160
-DOPENSSL_NO_SCTP
-DOPENSSL_NO_SEED
-DOPENSSL_NO_SHA0
-DOPENSSL_NO_SMIME
-DOPENSSL_NO_SSL_TRACE
-DOPENSSL_NO_SSL2
-DOPENSSL_NO_SSL3
-DOPENSSL_NO_STORE
-DOPENSSL_NO_TS
-DOPENSSL_NO_UNIT_TEST
67 EX_LIBS
= -Wl
,--gc-sections
-ldl
70 AR
= $(CROSS_COMPILE
)ar $(ARFLAGS
) r
71 RANLIB
= $(CROSS_COMPILE
)ranlib
72 NM
= $(CROSS_COMPILE
)nm
75 TARFLAGS
= --no-recursion
76 MAKEDEPPROG
=makedepend
79 # We let the C compiler driver to take care of .s files. This is done in
80 # order to be excused from maintaining a separate set of architecture
81 # dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
82 # gcc, then the driver will automatically translate it to -xarch=v8plus
83 # and pass it down to assembler.
87 # For x86 assembler: Set PROCESSOR to 386 if you want to support
91 # CPUID module collects small commonly used assembler snippets
92 CPUID_OBJ
= armcap.o armv4cpuid.o
93 BN_ASM
= bn_asm.o armv4-mont.o armv4-gf2m.o
95 DES_ENC
= des_enc.o fcrypt_b.o
96 AES_ENC
= aes_cbc.o aes-armv4.o bsaes-armv7.o aesv8-armx.o
99 RC4_ENC
= rc4_enc.o rc4_skey.o
102 SHA1_ASM_OBJ
= sha1-armv4-large.o sha256-armv4.o sha512-armv4.o
104 WP_ASM_OBJ
= wp_block.o
105 CMLL_ENC
= camellia.o cmll_misc.o cmll_cbc.o
106 MODES_ASM_OBJ
= ghash-armv4.o ghashv8-armx.o
118 # TOP level FIPS install directory.
119 FIPSDIR
=/usr
/local
/ssl
/fips-2.0
121 # This is the location of fipscanister.o and friends.
122 # The FIPS module build will place it $(INSTALLTOP)/lib
123 # but since $(INSTALLTOP) can only take the default value
124 # when the module is built it will be in /usr/local/ssl/lib
125 # $(INSTALLTOP) for this build may be different so hard
130 # The location of the library which contains fipscanister.o
131 # normally it will be libcrypto unless fipsdso is set in which
132 # case it will be libfips. If not compiling in FIPS mode at all
133 # this is empty making it a useful test for a FIPS compile.
137 # Shared library base address. Currently only used on Windows.
142 DIRS
= crypto ssl apps
144 SHLIBDIRS
= crypto ssl
146 # dirs in crypto to build
149 md4 md5 sha hmac whrlpool \
150 des aes rc2 rc4 rc5 idea bf cast modes \
151 bn ec rsa dsa ecdsa dh ecdh dso engine \
152 buffer bio stack lhash rand err \
153 evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui \
155 # keep in mind that the above list is adjusted by ./Configure
156 # according to no-xxx arguments...
158 # tests to perform. "alltests" is a special word indicating that all tests
159 # should be performed.
164 MANDIR
=$(OPENSSLDIR
)/man
169 HTMLDIR
=$(OPENSSLDIR
)/html
174 EDIRS
= times bugs util
include certs ms shlib mt demos perl sf dep VMS
176 LIBS
= libcrypto.a libssl.a
177 SHARED_CRYPTO
=libcrypto
$(SHLIB_EXT
)
178 SHARED_SSL
=libssl
$(SHLIB_EXT
)
179 SHARED_LIBS
=$(SHARED_CRYPTO
) $(SHARED_SSL
)
180 SHARED_LIBS_LINK_EXTS
=.so.
$(SHLIB_MAJOR
) .so
185 NAME
= $(BASENAME
)-$(VERSION
)
187 WTARFILE
= $(NAME
)-win.
tar
191 all: Makefile build_all
193 # as we stick to -e, CLEARENV ensures that local variables in lower
194 # Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
195 # shell, which [annoyingly enough] terminates unset with error if VAR
196 # is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
197 # which terminates unset with error if no variable was present:-(
198 CLEARENV
= TOP
= && unset TOP
$${LIB
+LIB
} $${LIBS
+LIBS
} \
199 $${INCLUDE
+INCLUDE
} $${INCLUDES
+INCLUDES
} \
200 $${DIR
+DIR
} $${DIRS
+DIRS
} $${SRC
+SRC
} \
201 $${LIBSRC
+LIBSRC
} $${LIBOBJ
+LIBOBJ
} $${ALL
+ALL
} \
202 $${EXHEADER
+EXHEADER
} $${HEADER
+HEADER
} \
203 $${GENERAL
+GENERAL
} $${CFLAGS
+CFLAGS
} \
204 $${ASFLAGS
+ASFLAGS
} $${AFLAGS
+AFLAGS
} \
205 $${LDCMD
+LDCMD
} $${LDFLAGS
+LDFLAGS
} $${SCRIPTS
+SCRIPTS
} \
206 $${SHAREDCMD
+SHAREDCMD
} $${SHAREDFLAGS
+SHAREDFLAGS
} \
207 $${SHARED_LIB
+SHARED_LIB
} $${LIBEXTRAS
+LIBEXTRAS
}
209 BUILDENV
= PLATFORM
='$(PLATFORM)' PROCESSOR
='$(PROCESSOR)' \
210 CC
='$(CC)' CFLAG
='$(CFLAG)' \
211 AS
='$(CC)' ASFLAG
='$(CFLAG) -c' \
212 AR
='$(AR)' NM
='$(NM)' RANLIB
='$(RANLIB)' \
213 CROSS_COMPILE
='$(CROSS_COMPILE)' \
214 PERL
='$(PERL)' ENGDIRS
='$(ENGDIRS)' \
215 SDIRS
='$(SDIRS)' LIBRPATH
='$(INSTALLTOP)/$(LIBDIR)' \
216 INSTALL_PREFIX
='$(INSTALL_PREFIX)' \
217 INSTALLTOP
='$(INSTALLTOP)' OPENSSLDIR
='$(OPENSSLDIR)' \
219 MAKEDEPEND
='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \
220 DEPFLAG
='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \
221 MAKEDEPPROG
='$(MAKEDEPPROG)' \
222 SHARED_LDFLAGS
='$(SHARED_LDFLAGS)' \
223 KRB5_INCLUDES
='$(KRB5_INCLUDES)' LIBKRB5
='$(LIBKRB5)' \
224 ZLIB_INCLUDE
='$(ZLIB_INCLUDE)' LIBZLIB
='$(LIBZLIB)' \
225 EXE_EXT
='$(EXE_EXT)' SHARED_LIBS
='$(SHARED_LIBS)' \
226 SHLIB_EXT
='$(SHLIB_EXT)' SHLIB_TARGET
='$(SHLIB_TARGET)' \
227 PEX_LIBS
='$(PEX_LIBS)' EX_LIBS
='$(EX_LIBS)' \
228 CPUID_OBJ
='$(CPUID_OBJ)' BN_ASM
='$(BN_ASM)' \
229 EC_ASM
='$(EC_ASM)' DES_ENC
='$(DES_ENC)' \
230 AES_ENC
='$(AES_ENC)' CMLL_ENC
='$(CMLL_ENC)' \
231 BF_ENC
='$(BF_ENC)' CAST_ENC
='$(CAST_ENC)' \
232 RC4_ENC
='$(RC4_ENC)' RC5_ENC
='$(RC5_ENC)' \
233 SHA1_ASM_OBJ
='$(SHA1_ASM_OBJ)' \
234 MD5_ASM_OBJ
='$(MD5_ASM_OBJ)' \
235 RMD160_ASM_OBJ
='$(RMD160_ASM_OBJ)' \
236 WP_ASM_OBJ
='$(WP_ASM_OBJ)' \
237 MODES_ASM_OBJ
='$(MODES_ASM_OBJ)' \
238 ENGINES_ASM_OBJ
='$(ENGINES_ASM_OBJ)' \
239 PERLASM_SCHEME
='$(PERLASM_SCHEME)' \
240 FIPSLIBDIR
='${FIPSLIBDIR}' \
241 FIPSDIR
='${FIPSDIR}' \
242 FIPSCANLIB
="$${FIPSCANLIB:-$(FIPSCANLIB)}" \
243 THIS
=$${THIS
:-$@
} MAKEFILE
=Makefile MAKEOVERRIDES
=
244 # MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
245 # which in turn eliminates ambiguities in variable treatment with -e.
247 # BUILD_CMD is a generic macro to build a given target in a given
248 # subdirectory. The target must be given through the shell variable
249 # `target' and the subdirectory to build in must be given through `dir'.
250 # This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or
251 # BUILD_ONE_CMD instead.
253 # BUILD_ONE_CMD is a macro to build a given target in a given
254 # subdirectory if that subdirectory is part of $(DIRS). It requires
255 # exactly the same shell variables as BUILD_CMD.
257 # RECURSIVE_BUILD_CMD is a macro to build a given target in all
258 # subdirectories defined in $(DIRS). It requires that the target
259 # is given through the shell variable `target'.
260 BUILD_CMD
= if
[ -d
"$$dir" ]; then \
261 ( cd
$$dir && echo
"making $$target in $$dir..." && \
262 $(CLEARENV
) && $(MAKE
) -e
$(BUILDENV
) TOP
=.. DIR
=$$dir $$target \
265 RECURSIVE_BUILD_CMD
=for
dir in
$(DIRS
); do
$(BUILD_CMD
); done
267 if expr
" $(DIRS) " : ".* $$dir " >/dev
/null
2>&1; then \
272 @
[ -n
"$(THIS)" ] && $(CLEARENV
) && $(MAKE
) $(THIS
) -e
$(BUILDENV
)
275 build_all
: build_libs build_apps build_tools
277 build_libs
: build_libcrypto build_libssl openssl.
pc
279 build_libcrypto
: build_crypto build_engines libcrypto.
pc
280 build_libssl
: build_ssl libssl.
pc
283 @
dir=crypto
; target
=all; $(BUILD_ONE_CMD
)
285 @
dir=ssl
; target
=all; $(BUILD_ONE_CMD
)
287 @
dir=engines
; target
=all; $(BUILD_ONE_CMD
)
289 @
dir=apps
; target
=all; $(BUILD_ONE_CMD
)
291 @
dir=test; target
=all; $(BUILD_ONE_CMD
)
293 @
dir=tools
; target
=all; $(BUILD_ONE_CMD
)
295 all_testapps
: build_libs build_testapps
297 @
dir=crypto
; target
=testapps
; $(BUILD_ONE_CMD
)
299 fips_premain_dso
$(EXE_EXT
): libcrypto.a
300 [ -z
"$(FIPSCANLIB)" ] ||
$(CC
) $(CFLAG
) -Iinclude \
301 -DFINGERPRINT_PREMAIN_DSO_LOAD
-o
$@ \
302 $(FIPSLIBDIR
)fips_premain.c
$(FIPSLIBDIR
)fipscanister.o \
303 libcrypto.a
$(EX_LIBS
)
305 libcrypto
$(SHLIB_EXT
): libcrypto.a fips_premain_dso
$(EXE_EXT
)
306 @if
[ "$(SHLIB_TARGET)" != "" ]; then \
307 if
[ "$(FIPSCANLIB)" = "libcrypto" ]; then \
308 FIPSLD_LIBCRYPTO
=libcrypto.a
; \
309 FIPSLD_CC
="$(CC)"; CC
=$(FIPSDIR
)/bin
/fipsld
; \
310 export CC FIPSLD_CC FIPSLD_LIBCRYPTO
; \
312 $(MAKE
) -e SHLIBDIRS
=crypto CC
="$${CC:-$(CC)}" build-shared
&& \
313 (touch
-c fips_premain_dso
$(EXE_EXT
) ||
:); \
315 echo
"There's no support for shared libraries on this platform" >&2; \
319 libssl
$(SHLIB_EXT
): libcrypto
$(SHLIB_EXT
) libssl.a
320 @if
[ "$(SHLIB_TARGET)" != "" ]; then \
321 $(MAKE
) SHLIBDIRS
=ssl SHLIBDEPS
='-lcrypto' build-shared
; \
323 echo
"There's no support for shared libraries on this platform" >&2; \
328 @set
-e
; for i in
$(SHLIBDIRS
); do \
329 if
[ -n
"$(SHARED_LIBS_LINK_EXTS)" ]; then \
330 tmp
="$(SHARED_LIBS_LINK_EXTS)"; \
331 for j in
$${tmp
:-x
}; do \
332 ( set
-x
; rm -f lib
$$i$$j ); \
335 ( set
-x
; rm -f lib
$$i$(SHLIB_EXT
) ); \
336 if expr
"$(PLATFORM)" : "Cygwin" >/dev
/null
; then \
337 ( set
-x
; rm -f cyg
$$i$(SHLIB_EXT
) lib
$$i$(SHLIB_EXT
).a
); \
342 @ set
-e
; for i in
$(SHLIBDIRS
); do \
343 $(MAKE
) -f
$(HERE
)/Makefile.shared
-e
$(BUILDENV
) \
344 LIBNAME
=$$i LIBVERSION
=$(SHLIB_MAJOR
).
$(SHLIB_MINOR
) \
345 LIBCOMPATVERSIONS
=";$(SHLIB_VERSION_HISTORY)" \
346 symlink.
$(SHLIB_TARGET
); \
347 libs
="$$libs -l$$i"; \
350 build-shared
: do_
$(SHLIB_TARGET
) link-shared
353 @ set
-e
; libs
='-L. $(SHLIBDEPS)'; for i in
$(SHLIBDIRS
); do \
354 if
[ "$$i" = "ssl" -a
-n
"$(LIBKRB5)" ]; then \
355 libs
="$(LIBKRB5) $$libs"; \
357 $(CLEARENV
) && $(MAKE
) -f Makefile.shared
-e
$(BUILDENV
) \
358 LIBNAME
=$$i LIBVERSION
=$(SHLIB_MAJOR
).
$(SHLIB_MINOR
) \
359 LIBCOMPATVERSIONS
=";$(SHLIB_VERSION_HISTORY)" \
360 LIBDEPS
="$$libs $(EX_LIBS)" \
361 link_a.
$(SHLIB_TARGET
); \
362 libs
="-l$$i $$libs"; \
365 libcrypto.
pc: Makefile
366 @
( echo
'prefix=$(INSTALLTOP)'; \
367 echo
'exec_prefix=$${prefix}'; \
368 echo
'libdir=$${exec_prefix}/$(LIBDIR)'; \
369 echo
'includedir=$${prefix}/include'; \
371 echo
'Name: OpenSSL-libcrypto'; \
372 echo
'Description: OpenSSL cryptography library'; \
373 echo
'Version: '$(VERSION
); \
375 echo
'Libs: -L$${libdir} -lcrypto'; \
376 echo
'Libs.private: $(EX_LIBS)'; \
377 echo
'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.
pc
380 @
( echo
'prefix=$(INSTALLTOP)'; \
381 echo
'exec_prefix=$${prefix}'; \
382 echo
'libdir=$${exec_prefix}/$(LIBDIR)'; \
383 echo
'includedir=$${prefix}/include'; \
385 echo
'Name: OpenSSL-libssl'; \
386 echo
'Description: Secure Sockets Layer and cryptography libraries'; \
387 echo
'Version: '$(VERSION
); \
388 echo
'Requires.private: libcrypto'; \
389 echo
'Libs: -L$${libdir} -lssl'; \
390 echo
'Libs.private: $(EX_LIBS)'; \
391 echo
'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.
pc
394 @
( echo
'prefix=$(INSTALLTOP)'; \
395 echo
'exec_prefix=$${prefix}'; \
396 echo
'libdir=$${exec_prefix}/$(LIBDIR)'; \
397 echo
'includedir=$${prefix}/include'; \
399 echo
'Name: OpenSSL'; \
400 echo
'Description: Secure Sockets Layer and cryptography libraries and tools'; \
401 echo
'Version: '$(VERSION
); \
402 echo
'Requires: libssl libcrypto' ) > openssl.
pc
405 rm -f
*.map
*.so
*.so.
* *.dylib
*.dll engines
/*.so engines
/*.dll engines
/*.dylib
*.a engines
/*.a
*/lib
*/*/lib
408 rm -f shlib
/*.o
*.o core a.out fluff rehash.time testlog make.log cctest cctest.c
409 @set
-e
; target
=clean; $(RECURSIVE_BUILD_CMD
)
411 rm -f openssl.
pc libssl.
pc libcrypto.
pc
414 @set
-e
; for i in
$(ONEDIRS
) ;\
420 $(PERL
) util
/mk1mf.pl
>makefile.one
; \
424 $(PERL
) $(TOP
)/util
/files.pl Makefile
> $(TOP
)/MINFO
425 @set
-e
; target
=files
; $(RECURSIVE_BUILD_CMD
)
428 @
$(PERL
) $(TOP
)/util
/mkdir-p.pl
include/openssl
429 @
$(PERL
) $(TOP
)/util
/mklink.pl
include/openssl
$(EXHEADER
)
430 @set
-e
; target
=links
; $(RECURSIVE_BUILD_CMD
)
433 @
(cd
test && echo
"generating dummy tests (if needed)..." && \
434 $(CLEARENV
) && $(MAKE
) -e
$(BUILDENV
) TESTS
='$(TESTS)' OPENSSL_DEBUG_MEMORY
=on generate
);
437 rm -rf
*.bak
include/openssl certs
/.0
438 @set
-e
; target
=dclean
; $(RECURSIVE_BUILD_CMD
)
441 rehash.time
: certs apps
442 @if
[ -z
"$(CROSS_COMPILE)" ]; then \
443 (OPENSSL
="`pwd`/util/opensslwrap.sh"; \
444 [ -x
"apps/openssl.exe" ] && OPENSSL
="apps/openssl.exe" ||
:; \
445 OPENSSL_DEBUG_MEMORY
=on
; \
446 export OPENSSL OPENSSL_DEBUG_MEMORY
; \
447 $(PERL
) tools
/c_rehash certs
/demo
) && \
454 @
(cd
test && echo
"testing..." && \
455 $(CLEARENV
) && $(MAKE
) -e
$(BUILDENV
) TOP
=.. TESTS
='$(TESTS)' OPENSSL_DEBUG_MEMORY
=on OPENSSL_CONF
=..
/apps
/openssl.cnf tests
);
456 OPENSSL_CONF
=apps
/openssl.cnf util
/opensslwrap.sh version
-a
459 @
$(PERL
) util
/selftest.pl
461 update
: errors stacks util
/libeay.num util
/ssleay.num TABLE
462 @set
-e
; target
=update
; $(RECURSIVE_BUILD_CMD
)
465 @set
-e
; target
=depend
; $(RECURSIVE_BUILD_CMD
)
468 @set
-e
; target
=lint
; $(RECURSIVE_BUILD_CMD
)
472 find .
-name
'[^.]*.[ch]' | xargs etags
-a
475 $(PERL
) util
/ck_errf.pl
-strict
*/*.c
*/*/*.c
476 $(PERL
) util
/mkerr.pl
-recurse
-write
477 (cd engines
; $(MAKE
) PERL
=$(PERL
) errors
)
480 $(PERL
) util
/mkstack.pl
-write
483 $(PERL
) util
/mkdef.pl crypto update
486 $(PERL
) util
/mkdef.pl ssl update
489 (echo
'Output of `Configure TABLE'"':"; \
490 $(PERL
) Configure TABLE
) > TABLE
492 # Build distribution tar-file. As the list of files returned by "find" is
493 # pretty long, on several platforms a "too many arguments" error or similar
494 # would occur. Therefore the list of files is temporarily stored into a file
495 # and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
496 # tar does not support the --files-from option.
498 find .
-type d
-print | xargs chmod
755
499 find .
-type f
-print | xargs chmod a
+r
500 find .
-type f
-perm
-0100 -print | xargs chmod a
+x
501 find
* \
! -path CVS
/\
* \
! -path \
*/CVS
/\
* \
! -name CVS \
! -name .cvsignore \
! -name STATUS \
! -name TABLE |
sort > ..
/$(TARFILE
).list
; \
502 $(TAR
) $(TARFLAGS
) --files-from ..
/$(TARFILE
).list
-cvf
- | \
503 tardy
--user_number
=0 --user_name
=openssl \
504 --group_number
=0 --group_name
=openssl \
505 --prefix=openssl-
$(VERSION
) - |\
506 gzip
--best
>..
/$(TARFILE
).gz
; \
507 rm -f ..
/$(TARFILE
).list
; \
508 ls
-l ..
/$(TARFILE
).gz
511 @
$(TAR
) $(TARFLAGS
) -cvf
- \
512 `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` |\
513 tardy
--user_number
=0 --user_name
=openssl \
514 --group_number
=0 --group_name
=openssl \
515 --prefix=openssl-
$(VERSION
) - > ..
/$(TARFILE
);\
519 $(PERL
) Configure
dist
521 @
$(MAKE
) SDIRS
='$(SDIRS)' clean
522 @
$(MAKE
) TAR
='$(TAR)' TARFLAGS
='$(TARFLAGS)' tar
525 (cd crypto
/pem
; $(MAKE
) -e
$(BUILDENV
) pem.h
; $(MAKE
) clean)
527 install: all install_sw
530 @
$(PERL
) $(TOP
)/util
/mkdir-p.pl
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin \
531 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
) \
532 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/engines \
533 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig \
534 $(INSTALL_PREFIX
)$(INSTALLTOP
)/include/openssl \
535 $(INSTALL_PREFIX
)$(OPENSSLDIR
)/misc \
536 $(INSTALL_PREFIX
)$(OPENSSLDIR
)/certs \
537 $(INSTALL_PREFIX
)$(OPENSSLDIR
)/private
538 @set
-e
; headerlist
="$(EXHEADER)"; for i in
$$headerlist;\
540 (cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/include/openssl
/$$i; \
541 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/include/openssl
/$$i ); \
543 @set
-e
; target
=install; $(RECURSIVE_BUILD_CMD
)
544 @set
-e
; liblist
="$(LIBS)"; for i in
$$liblist ;\
546 if
[ -f
"$$i" ]; then \
547 ( echo installing
$$i; \
548 cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
549 $(RANLIB
) $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
550 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
551 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i ); \
554 @set
-e
; if
[ -n
"$(SHARED_LIBS)" ]; then \
555 tmp
="$(SHARED_LIBS)"; \
556 for i in
$${tmp
:-x
}; \
558 if
[ -f
"$$i" -o
-f
"$$i.a" ]; then \
559 ( echo installing
$$i; \
560 if expr
"$(PLATFORM)" : "Cygwin" >/dev
/null
; then \
561 c
=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
562 cp
$$c $(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$c.new
; \
563 chmod
755 $(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$c.new
; \
564 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$c.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$c; \
565 cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
566 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
567 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i; \
569 cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
570 chmod
555 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
; \
571 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/$$i; \
573 if expr
$(PLATFORM
) : 'mingw' > /dev
/null
; then \
575 *crypto
*) i
=libeay32.dll
;; \
576 *ssl
*) i
=ssleay32.dll
;; \
578 echo installing
$$i; \
579 cp
$$i $(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$i.new
; \
580 chmod
755 $(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$i.new
; \
581 mv
-f
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$i.new
$(INSTALL_PREFIX
)$(INSTALLTOP
)/bin
/$$i ); \
586 cd
$(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
); \
587 $(MAKE
) -f
$$here/Makefile HERE
="$$here" link-shared
); \
588 if
[ "$(INSTALLTOP)" != "/usr" ]; then \
589 echo
'OpenSSL shared libraries have been installed in:'; \
590 echo
' $(INSTALLTOP)'; \
592 sed
-e
'1,/^$$/d' doc
/openssl-shared.txt
; \
595 cp libcrypto.
pc $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
596 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
/libcrypto.
pc
597 cp libssl.
pc $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
598 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
/libssl.
pc
599 cp openssl.
pc $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
600 chmod
644 $(INSTALL_PREFIX
)$(INSTALLTOP
)/$(LIBDIR
)/pkgconfig
/openssl.
pc
605 case
"$(PLATFORM)" in DJGPP|Cygwin
*|mingw
*|darwin
*-*-cc) \
608 for subdir in apps crypto ssl
; do \
609 mkdir
-p
$(INSTALL_PREFIX
)$(HTMLDIR
)/$$subdir; \
610 for i in doc
/$$subdir/*.pod
; do \
611 fn
=`basename $$i .pod`; \
612 echo
"installing html/$$fn.$(HTMLSUFFIX)"; \
614 | sed
-r
's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \
615 | pod2html
--podroot
=doc
--htmlroot
=..
--podpath
=apps
:crypto
:ssl \
616 | sed
-r
's/<!DOCTYPE.*//g' \
617 > $(INSTALL_PREFIX
)$(HTMLDIR
)/$$subdir/$$fn.
$(HTMLSUFFIX
); \
618 $(PERL
) util
/extract-names.pl
< $$i | \
619 grep
-v
$$filecase "^$$fn\$$" | \
620 (cd
$(INSTALL_PREFIX
)$(HTMLDIR
)/$$subdir; \
622 PLATFORM
=$(PLATFORM
) $$here/util
/point.sh
$$fn.
$(HTMLSUFFIX
) "$$n".
$(HTMLSUFFIX
); \
628 @
$(PERL
) $(TOP
)/util
/mkdir-p.pl \
629 $(INSTALL_PREFIX
)$(MANDIR
)/man1 \
630 $(INSTALL_PREFIX
)$(MANDIR
)/man3 \
631 $(INSTALL_PREFIX
)$(MANDIR
)/man5 \
632 $(INSTALL_PREFIX
)$(MANDIR
)/man7
633 @pod2man
="`cd ./util; ./pod2mantest $(PERL)`"; \
636 case
"$(PLATFORM)" in DJGPP|Cygwin
*|mingw
*|darwin
*-*-cc) \
639 set
-e
; for i in doc
/apps
/*.pod
; do \
640 fn
=`basename $$i .pod`; \
641 sec
=`$(PERL) util/extract-section.pl 1 < $$i`; \
642 echo
"installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
643 (cd
`$(PERL) util/dirname.pl $$i`; \
645 --section=$$sec --center=OpenSSL \
646 --release=$(VERSION) `basename $$i`") \
647 > $(INSTALL_PREFIX
)$(MANDIR
)/man
$$sec/$$fn.
$${sec}$(MANSUFFIX
); \
648 $(PERL
) util
/extract-names.pl
< $$i | \
649 (grep
-v
$$filecase "^$$fn\$$"; true
) | \
650 (grep
-v
"[ ]"; true
) | \
651 (cd
$(INSTALL_PREFIX
)$(MANDIR
)/man
$$sec/; \
653 PLATFORM
=$(PLATFORM
) $$here/util
/point.sh
$$fn.
$${sec}$(MANSUFFIX
) "$$n".
$${sec}$(MANSUFFIX
); \
656 set
-e
; for i in doc
/crypto
/*.pod doc
/ssl
/*.pod
; do \
657 fn
=`basename $$i .pod`; \
658 sec
=`$(PERL) util/extract-section.pl 3 < $$i`; \
659 echo
"installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
660 (cd
`$(PERL) util/dirname.pl $$i`; \
662 --section=$$sec --center=OpenSSL \
663 --release=$(VERSION) `basename $$i`") \
664 > $(INSTALL_PREFIX
)$(MANDIR
)/man
$$sec/$$fn.
$${sec}$(MANSUFFIX
); \
665 $(PERL
) util
/extract-names.pl
< $$i | \
666 (grep
-v
$$filecase "^$$fn\$$"; true
) | \
667 (grep
-v
"[ ]"; true
) | \
668 (cd
$(INSTALL_PREFIX
)$(MANDIR
)/man
$$sec/; \
670 PLATFORM
=$(PLATFORM
) $$here/util
/point.sh
$$fn.
$${sec}$(MANSUFFIX
) "$$n".
$${sec}$(MANSUFFIX
); \
674 # DO NOT DELETE THIS LINE -- make depend depends on it.