source: trunk/third/openssl/Makefile.org @ 19843

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