~ubuntu-branches/ubuntu/lucid/openssl/lucid-security

« back to all changes in this revision

Viewing changes to Makefile.bak

  • Committer: Bazaar Package Importer
  • Author(s): Kurt Roeckx
  • Date: 2006-05-15 16:00:58 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20060515160058-pn9osix02x46r0iy
Tags: 0.9.8b-2
* Don't call gcc with -mcpu on i386, we already use -march, so no need for
  -mtune either.
* Always make all directories when building something:
  - The engines directory didn't get build for the static directory, so
    where missing in libcrypo.a
  - The apps directory didn't always get build, so we didn't have an openssl
    and a small part of the regression tests failed.
* Make the package fail to build if the regression tests fail.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
### Generated automatically from Makefile.org by Configure.
2
 
 
3
 
##
4
 
## Makefile for OpenSSL
5
 
##
6
 
 
7
 
VERSION=0.9.8a
8
 
MAJOR=0
9
 
MINOR=9.8
10
 
SHLIB_VERSION_NUMBER=0.9.8
11
 
SHLIB_VERSION_HISTORY=
12
 
SHLIB_MAJOR=0
13
 
SHLIB_MINOR=9.8
14
 
SHLIB_EXT=.so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
15
 
PLATFORM=linux-elf
16
 
OPTIONS=-mcpu=pentium no-gmp no-krb5 no-mdc2 no-rc5 no-shared no-zlib no-zlib-dynamic
17
 
CONFIGURE_ARGS=linux-elf -mcpu=pentium
18
 
SHLIB_TARGET=linux-shared
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.
23
 
HERE=.
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.
28
 
INSTALL_PREFIX=
29
 
INSTALLTOP=/usr/local/ssl
30
 
 
31
 
# Do not edit this manually. Use Configure --openssldir=DIR do change this!
32
 
OPENSSLDIR=/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
 
 
62
 
CC= gcc
63
 
CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -mcpu=pentium -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM
64
 
DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 
65
 
PEX_LIBS= 
66
 
EX_LIBS= -ldl
67
 
EXE_EXT= 
68
 
ARFLAGS= 
69
 
AR=ar $(ARFLAGS) r
70
 
RANLIB= /usr/bin/ranlib
71
 
PERL= /usr/local/bin/perl
72
 
TAR= tar
73
 
TARFLAGS= --no-recursion
74
 
MAKEDEPPROG= gcc
75
 
 
76
 
# We let the C compiler driver to take care of .s files. This is done in
77
 
# order to be excused from maintaining a separate set of architecture
78
 
# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
79
 
# gcc, then the driver will automatically translate it to -xarch=v8plus
80
 
# and pass it down to assembler.
81
 
AS=$(CC) -c
82
 
ASFLAG=$(CFLAG)
83
 
 
84
 
# For x86 assembler: Set PROCESSOR to 386 if you want to support
85
 
# the 80386.
86
 
PROCESSOR= 
87
 
 
88
 
# CPUID module collects small commonly used assembler snippets
89
 
CPUID_OBJ= x86cpuid-elf.o
90
 
BN_ASM= bn86-elf.o co86-elf.o
91
 
DES_ENC= dx86-elf.o yx86-elf.o
92
 
AES_ASM_OBJ= ax86-elf.o
93
 
BF_ENC= bx86-elf.o
94
 
CAST_ENC= cx86-elf.o
95
 
RC4_ENC= rx86-elf.o
96
 
RC5_ENC= r586-elf.o
97
 
MD5_ASM_OBJ= mx86-elf.o
98
 
SHA1_ASM_OBJ= sx86-elf.o s512sse2-elf.o
99
 
RMD160_ASM_OBJ= rm86-elf.o
100
 
 
101
 
# KRB5 stuff
102
 
KRB5_INCLUDES=
103
 
LIBKRB5=
104
 
 
105
 
DIRS=   crypto ssl engines apps test tools
106
 
SHLIBDIRS= crypto ssl
107
 
 
108
 
# dirs in crypto to build
109
 
SDIRS=  \
110
 
        objects \
111
 
        md2 md4 md5 sha hmac ripemd \
112
 
        des aes rc2 rc4 idea bf cast \
113
 
        bn ec rsa dsa ecdsa dh ecdh dso engine \
114
 
        buffer bio stack lhash rand err \
115
 
        evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
116
 
        store pqueue
117
 
# keep in mind that the above list is adjusted by ./Configure
118
 
# according to no-xxx arguments...
119
 
 
120
 
# tests to perform.  "alltests" is a special word indicating that all tests
121
 
# should be performed.
122
 
TESTS = alltests
123
 
 
124
 
MAKEFILE= Makefile
125
 
 
126
 
MANDIR=$(OPENSSLDIR)/man
127
 
MAN1=1
128
 
MAN3=3
129
 
MANSUFFIX=
130
 
SHELL=/bin/sh
131
 
 
132
 
TOP=    .
133
 
ONEDIRS=out tmp
134
 
EDIRS=  times doc bugs util include certs ms shlib mt demos perl sf dep VMS
135
 
WDIRS=  windows
136
 
LIBS=   libcrypto.a libssl.a
137
 
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
138
 
SHARED_SSL=libssl$(SHLIB_EXT)
139
 
SHARED_LIBS=
140
 
SHARED_LIBS_LINK_EXTS=.so.$(SHLIB_MAJOR) .so
141
 
SHARED_LDFLAGS=
142
 
 
143
 
GENERAL=        Makefile
144
 
BASENAME=       openssl
145
 
NAME=           $(BASENAME)-$(VERSION)
146
 
TARFILE=        $(NAME).tar
147
 
WTARFILE=       $(NAME)-win.tar
148
 
EXHEADER=       e_os2.h
149
 
HEADER=         e_os.h
150
 
 
151
 
all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
152
 
 
153
 
# as we stick to -e, CLEARENV ensures that local variables in lower
154
 
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
155
 
# shell, which [annoyingly enough] terminates unset with error if VAR
156
 
# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
157
 
# which terminates unset with error if no variable was present:-(
158
 
CLEARENV=       TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS}     \
159
 
                $${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES}       \
160
 
                $${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC}           \
161
 
                $${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \
162
 
                $${EXHEADER+EXHEADER} $${HEADER+HEADER}         \
163
 
                $${GENERAL+GENERAL} $${CFLAGS+CFLAGS}           \
164
 
                $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS}           \
165
 
                $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS}             \
166
 
                $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS}     \
167
 
                $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
168
 
 
169
 
BUILDENV=       PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
170
 
                CC='${CC}' CFLAG='${CFLAG}'                     \
171
 
                AS='${CC}' ASFLAG='${CFLAG} -c'                 \
172
 
                AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}'    \
173
 
                SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib'   \
174
 
                INSTALL_PREFIX='${INSTALL_PREFIX}'              \
175
 
                INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}'   \
176
 
                MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \
177
 
                DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}'    \
178
 
                MAKEDEPPROG='${MAKEDEPPROG}'                    \
179
 
                SHARED_LDFLAGS='${SHARED_LDFLAGS}'              \
180
 
                KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}'   \
181
 
                EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}'       \
182
 
                SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' \
183
 
                PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}'     \
184
 
                CPUID_OBJ='${CPUID_OBJ}'                        \
185
 
                BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}'         \
186
 
                AES_ASM_OBJ='${AES_ASM_OBJ}'                    \
187
 
                BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}'       \
188
 
                RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}'       \
189
 
                SHA1_ASM_OBJ='${SHA1_ASM_OBJ}'                  \
190
 
                MD5_ASM_OBJ='${MD5_ASM_OBJ}'                    \
191
 
                RMD160_ASM_OBJ='${RMD160_ASM_OBJ}'              \
192
 
                THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
193
 
# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
194
 
# which in turn eliminates ambiguities in variable treatment with -e.
195
 
 
196
 
BUILD_CMD=  if [ -d "$$dir" ]; then \
197
 
            (   cd $$dir && echo "making $$target in $$dir..." && \
198
 
                $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \
199
 
            ) || exit 1; \
200
 
            fi
201
 
RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done
202
 
 
203
 
reflect:
204
 
        @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
205
 
 
206
 
sub_all: build_all
207
 
build_all: build_libs build_apps build_tests build_tools
208
 
 
209
 
build_libs: build_crypto build_ssl build_engines
210
 
 
211
 
build_crypto:
212
 
        @dir=crypto; target=all; $(BUILD_CMD)
213
 
build_ssl:
214
 
        @dir=ssl; target=all; $(BUILD_CMD)
215
 
build_engines:
216
 
        @dir=engines; target=all; $(BUILD_CMD)
217
 
build_apps:
218
 
        @dir=apps; target=all; $(BUILD_CMD)
219
 
build_tests:
220
 
        @dir=test; target=all; $(BUILD_CMD)
221
 
build_tools:
222
 
        @dir=tools; target=all; $(BUILD_CMD)
223
 
 
224
 
all_testapps: build_libs build_testapps
225
 
build_testapps:
226
 
        @dir=crypto; target=testapps; $(BUILD_CMD)
227
 
 
228
 
libcrypto$(SHLIB_EXT): libcrypto.a
229
 
        @if [ "$(SHLIB_TARGET)" != "" ]; then \
230
 
                $(MAKE) SHLIBDIRS=crypto build-shared; \
231
 
        else \
232
 
                echo "There's no support for shared libraries on this platform" >&2; \
233
 
                exit 1; \
234
 
        fi
235
 
 
236
 
libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
237
 
        @if [ "$(SHLIB_TARGET)" != "" ]; then \
238
 
                $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
239
 
        else \
240
 
                echo "There's no support for shared libraries on this platform" >&2; \
241
 
                exit 1; \
242
 
        fi
243
 
 
244
 
clean-shared:
245
 
        @set -e; for i in $(SHLIBDIRS); do \
246
 
                if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
247
 
                        tmp="$(SHARED_LIBS_LINK_EXTS)"; \
248
 
                        for j in $${tmp:-x}; do \
249
 
                                ( set -x; rm -f lib$$i$$j ); \
250
 
                        done; \
251
 
                fi; \
252
 
                ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
253
 
                if [ "$(PLATFORM)" = "Cygwin" ]; then \
254
 
                        ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \
255
 
                fi; \
256
 
        done
257
 
 
258
 
link-shared:
259
 
        @ set -e; for i in ${SHLIBDIRS}; do \
260
 
                $(MAKE) -f $(HERE)/Makefile.shared \
261
 
                        LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
262
 
                        LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
263
 
                        symlink.$(SHLIB_TARGET); \
264
 
                libs="$$libs -l$$i"; \
265
 
        done
266
 
 
267
 
build-shared: do_$(SHLIB_TARGET) link-shared
268
 
 
269
 
do_$(SHLIB_TARGET):
270
 
        @ set -e; libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
271
 
                if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \
272
 
                        libs="$(LIBKRB5) $$libs"; \
273
 
                fi; \
274
 
                $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
275
 
                        LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
276
 
                        LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
277
 
                        LIBDEPS="$$libs $(EX_LIBS)" \
278
 
                        link_a.$(SHLIB_TARGET); \
279
 
                libs="-l$$i $$libs"; \
280
 
        done
281
 
 
282
 
libcrypto.pc: Makefile
283
 
        @ ( echo 'prefix=$(INSTALLTOP)'; \
284
 
            echo 'exec_prefix=$${prefix}'; \
285
 
            echo 'libdir=$${exec_prefix}/lib'; \
286
 
            echo 'includedir=$${prefix}/include'; \
287
 
            echo ''; \
288
 
            echo 'Name: OpenSSL-libcrypto'; \
289
 
            echo 'Description: OpenSSL cryptography library'; \
290
 
            echo 'Version: '$(VERSION); \
291
 
            echo 'Requires: '; \
292
 
            echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
293
 
            echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
294
 
 
295
 
libssl.pc: Makefile
296
 
        @ ( echo 'prefix=$(INSTALLTOP)'; \
297
 
            echo 'exec_prefix=$${prefix}'; \
298
 
            echo 'libdir=$${exec_prefix}/lib'; \
299
 
            echo 'includedir=$${prefix}/include'; \
300
 
            echo ''; \
301
 
            echo 'Name: OpenSSL'; \
302
 
            echo 'Description: Secure Sockets Layer and cryptography libraries'; \
303
 
            echo 'Version: '$(VERSION); \
304
 
            echo 'Requires: '; \
305
 
            echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
306
 
            echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
307
 
 
308
 
openssl.pc: Makefile
309
 
        @ ( echo 'prefix=$(INSTALLTOP)'; \
310
 
            echo 'exec_prefix=$${prefix}'; \
311
 
            echo 'libdir=$${exec_prefix}/lib'; \
312
 
            echo 'includedir=$${prefix}/include'; \
313
 
            echo ''; \
314
 
            echo 'Name: OpenSSL'; \
315
 
            echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
316
 
            echo 'Version: '$(VERSION); \
317
 
            echo 'Requires: '; \
318
 
            echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
319
 
            echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
320
 
 
321
 
Makefile: Makefile.org Configure config
322
 
        @echo "Makefile is older than Makefile.org, Configure or config."
323
 
        @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
324
 
        @false
325
 
 
326
 
libclean:
327
 
        rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
328
 
 
329
 
clean:  libclean
330
 
        rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
331
 
        @set -e; target=clean; $(RECURSIVE_BUILD_CMD)
332
 
        rm -f $(LIBS)
333
 
        rm -f openssl.pc libssl.pc libcrypto.pc
334
 
        rm -f speed.* .pure
335
 
        rm -f $(TARFILE)
336
 
        @set -e; for i in $(ONEDIRS) ;\
337
 
        do \
338
 
        rm -fr $$i/*; \
339
 
        done
340
 
 
341
 
makefile.one: files
342
 
        $(PERL) util/mk1mf.pl >makefile.one; \
343
 
        sh util/do_ms.sh
344
 
 
345
 
files:
346
 
        $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
347
 
        @set -e; target=files; $(RECURSIVE_BUILD_CMD)
348
 
 
349
 
links:
350
 
        @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
351
 
        @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
352
 
        @set -e; target=links; $(RECURSIVE_BUILD_CMD)
353
 
 
354
 
gentests:
355
 
        @(cd test && echo "generating dummy tests (if needed)..." && \
356
 
        $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
357
 
 
358
 
dclean:
359
 
        rm -f *.bak
360
 
        @set -e; target=dclean; $(RECURSIVE_BUILD_CMD)
361
 
 
362
 
rehash: rehash.time
363
 
rehash.time: certs
364
 
        @(OPENSSL="`pwd`/util/opensslwrap.sh"; \
365
 
          OPENSSL_DEBUG_MEMORY=on; \
366
 
          export OPENSSL OPENSSL_DEBUG_MEMORY; \
367
 
          $(PERL) tools/c_rehash certs)
368
 
        touch rehash.time
369
 
 
370
 
test:   tests
371
 
 
372
 
tests: rehash
373
 
        @(cd test && echo "testing..." && \
374
 
        $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
375
 
        util/opensslwrap.sh version -a
376
 
 
377
 
report:
378
 
        @$(PERL) util/selftest.pl
379
 
 
380
 
depend:
381
 
        @set -e; target=depend; $(RECURSIVE_BUILD_CMD)
382
 
 
383
 
lint:
384
 
        @set -e; target=lint; $(RECURSIVE_BUILD_CMD)
385
 
 
386
 
tags:
387
 
        rm -f TAGS
388
 
        find . -name '[^.]*.[ch]' | xargs etags -a
389
 
 
390
 
errors:
391
 
        $(PERL) util/mkerr.pl -recurse -write
392
 
        (cd engines; $(MAKE) PERL=$(PERL) errors)
393
 
        $(PERL) util/ck_errf.pl */*.c */*/*.c
394
 
 
395
 
stacks:
396
 
        $(PERL) util/mkstack.pl -write
397
 
 
398
 
util/libeay.num::
399
 
        $(PERL) util/mkdef.pl crypto update
400
 
 
401
 
util/ssleay.num::
402
 
        $(PERL) util/mkdef.pl ssl update
403
 
 
404
 
crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h
405
 
        $(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
406
 
crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
407
 
        $(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
408
 
 
409
 
apps/openssl-vms.cnf: apps/openssl.cnf
410
 
        $(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
411
 
 
412
 
crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
413
 
        $(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h
414
 
 
415
 
 
416
 
TABLE: Configure
417
 
        (echo 'Output of `Configure TABLE'"':"; \
418
 
        $(PERL) Configure TABLE) > TABLE
419
 
 
420
 
update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend
421
 
 
422
 
# Build distribution tar-file. As the list of files returned by "find" is
423
 
# pretty long, on several platforms a "too many arguments" error or similar
424
 
# would occur. Therefore the list of files is temporarily stored into a file
425
 
# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
426
 
# tar does not support the --files-from option.
427
 
tar:
428
 
        find . -type d -print | xargs chmod 755
429
 
        find . -type f -print | xargs chmod a+r
430
 
        find . -type f -perm -0100 -print | xargs chmod a+x
431
 
        find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \
432
 
        $(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
433
 
        tardy --user_number=0  --user_name=openssl \
434
 
              --group_number=0 --group_name=openssl \
435
 
              --prefix=openssl-$(VERSION) - |\
436
 
        gzip --best >../$(TARFILE).gz; \
437
 
        rm -f ../$(TARFILE).list; \
438
 
        ls -l ../$(TARFILE).gz
439
 
 
440
 
tar-snap:
441
 
        @$(TAR) $(TARFLAGS) -cvf - \
442
 
                `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` |\
443
 
        tardy --user_number=0  --user_name=openssl \
444
 
              --group_number=0 --group_name=openssl \
445
 
              --prefix=openssl-$(VERSION) - > ../$(TARFILE);\
446
 
        ls -l ../$(TARFILE)
447
 
 
448
 
dist:   
449
 
        $(PERL) Configure dist
450
 
        @$(MAKE) dist_pem_h
451
 
        @$(MAKE) SDIRS='${SDIRS}' clean
452
 
        @$(MAKE) TAR='${TAR}' TARFLAGS='${TARFLAGS}' tar
453
 
 
454
 
dist_pem_h:
455
 
        (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
456
 
 
457
 
install: all install_docs install_sw
458
 
 
459
 
install_sw:
460
 
        @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
461
 
                $(INSTALL_PREFIX)$(INSTALLTOP)/lib \
462
 
                $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines \
463
 
                $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig \
464
 
                $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
465
 
                $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
466
 
                $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
467
 
                $(INSTALL_PREFIX)$(OPENSSLDIR)/private
468
 
        @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
469
 
        do \
470
 
        (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
471
 
        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
472
 
        done;
473
 
        @set -e; target=install; $(RECURSIVE_BUILD_CMD)
474
 
        @set -e; for i in $(LIBS) ;\
475
 
        do \
476
 
                if [ -f "$$i" ]; then \
477
 
                (       echo installing $$i; \
478
 
                        cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
479
 
                        $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
480
 
                        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
481
 
                        mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
482
 
                fi; \
483
 
        done;
484
 
        @set -e; if [ -n "$(SHARED_LIBS)" ]; then \
485
 
                tmp="$(SHARED_LIBS)"; \
486
 
                for i in $${tmp:-x}; \
487
 
                do \
488
 
                        if [ -f "$$i" -o -f "$$i.a" ]; then \
489
 
                        (       echo installing $$i; \
490
 
                                if [ "$(PLATFORM)" != "Cygwin" ]; then \
491
 
                                        cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
492
 
                                        chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
493
 
                                        mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
494
 
                                else \
495
 
                                        c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \
496
 
                                        cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
497
 
                                        chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
498
 
                                        mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
499
 
                                        cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
500
 
                                        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
501
 
                                        mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
502
 
                                fi ); \
503
 
                        fi; \
504
 
                done; \
505
 
                (       here="`pwd`"; \
506
 
                        cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
507
 
                        $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \
508
 
                if [ "$(INSTALLTOP)" != "/usr" ]; then \
509
 
                        echo 'OpenSSL shared libraries have been installed in:'; \
510
 
                        echo '  $(INSTALLTOP)'; \
511
 
                        echo ''; \
512
 
                        sed -e '1,/^$$/d' doc/openssl-shared.txt; \
513
 
                fi; \
514
 
        fi
515
 
        cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
516
 
        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libcrypto.pc
517
 
        cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
518
 
        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libssl.pc
519
 
        cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
520
 
        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc
521
 
 
522
 
install_docs:
523
 
        @$(PERL) $(TOP)/util/mkdir-p.pl \
524
 
                $(INSTALL_PREFIX)$(MANDIR)/man1 \
525
 
                $(INSTALL_PREFIX)$(MANDIR)/man3 \
526
 
                $(INSTALL_PREFIX)$(MANDIR)/man5 \
527
 
                $(INSTALL_PREFIX)$(MANDIR)/man7
528
 
        @pod2man="`cd util; ./pod2mantest $(PERL)`"; \
529
 
        here="`pwd`"; \
530
 
        filecase=; \
531
 
        if [ "$(PLATFORM)" = "DJGPP" -o "$(PLATFORM)" = "Cygwin" -o "$(PLATFORM)" = "mingw" ]; then \
532
 
                filecase=-i; \
533
 
        fi; \
534
 
        set -e; for i in doc/apps/*.pod; do \
535
 
                fn=`basename $$i .pod`; \
536
 
                sec=`$(PERL) util/extract-section.pl 1 < $$i`; \
537
 
                echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
538
 
                (cd `$(PERL) util/dirname.pl $$i`; \
539
 
                sh -c "$$pod2man \
540
 
                        --section=$$sec --center=OpenSSL \
541
 
                        --release=$(VERSION) `basename $$i`") \
542
 
                        >  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
543
 
                $(PERL) util/extract-names.pl < $$i | \
544
 
                        (grep -v $$filecase "^$$fn\$$"; true) | \
545
 
                        (grep -v "[     ]"; true) | \
546
 
                        (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
547
 
                         while read n; do \
548
 
                                $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
549
 
                         done); \
550
 
        done; \
551
 
        set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \
552
 
                fn=`basename $$i .pod`; \
553
 
                sec=`$(PERL) util/extract-section.pl 3 < $$i`; \
554
 
                echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
555
 
                (cd `$(PERL) util/dirname.pl $$i`; \
556
 
                sh -c "$$pod2man \
557
 
                        --section=$$sec --center=OpenSSL \
558
 
                        --release=$(VERSION) `basename $$i`") \
559
 
                        >  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
560
 
                $(PERL) util/extract-names.pl < $$i | \
561
 
                        (grep -v $$filecase "^$$fn\$$"; true) | \
562
 
                        (grep -v "[     ]"; true) | \
563
 
                        (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
564
 
                         while read n; do \
565
 
                                $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
566
 
                         done); \
567
 
        done
568
 
 
569
 
# DO NOT DELETE THIS LINE -- make depend depends on it.