]>
Commit | Line | Data |
---|---|---|
d56128f0 RE |
1 | ## |
2 | ## Makefile for OpenSSL | |
3 | ## | |
4 | ||
5 | VERSION = 0.9.2b | |
6 | PLATFORM=dist | |
462ba4f6 UM |
7 | INSTALLTOP=/usr/local/ssl |
8 | ||
9 | # Do not edit this manually. Use Configure --openssldir=DIR do change this! | |
10 | OPENSSLDIR=/usr/local/ssl | |
d56128f0 | 11 | |
d02b48c6 RE |
12 | # RSAref - Define if we are to link with RSAref. |
13 | # NO_IDEA - Define to build without the IDEA algorithm | |
14 | # NO_RC4 - Define to build without the RC4 algorithm | |
15 | # NO_RC2 - Define to build without the RC2 algorithm | |
16 | # THREADS - Define when building with threads, you will probably also need any | |
58964a49 | 17 | # system defines as well, i.e. _REENTERANT for Solaris 2.[34] |
d02b48c6 RE |
18 | # TERMIO - Define the termio terminal subsystem, needed if sgtty is missing. |
19 | # TERMIOS - Define the termios terminal subsystem, Silicon Graphics. | |
20 | # LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3). | |
21 | # DEVRANDOM - Give this the value of the 'random device' if your OS supports | |
58964a49 RE |
22 | # one. 32 bytes will be read from this when the random |
23 | # number generator is initalised. | |
d02b48c6 | 24 | # SSL_ALLOW_ADH - define if you want the server to be able to use the |
58964a49 | 25 | # SSLv3 anon-DH ciphers. |
baf748ba | 26 | # SSL_FORBID_ENULL - define if you want the server to be not able to use the |
58964a49 | 27 | # NULL encryption ciphers. |
d02b48c6 RE |
28 | # |
29 | # LOCK_DEBUG - turns on lots of lock debug output :-) | |
30 | # REF_CHECK - turn on some xyz_free() assertions. | |
58964a49 | 31 | # REF_PRINT - prints some stuff on structure free. |
d02b48c6 RE |
32 | # CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff |
33 | # MFUNC - Make all Malloc/Free/Realloc calls call | |
58964a49 RE |
34 | # CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to |
35 | # call application defined callbacks via CRYPTO_set_mem_functions() | |
36 | # MD5_ASM needs to be defined to use the x86 assembler for MD5 | |
37 | # SHA1_ASM needs to be defined to use the x86 assembler for SHA1 | |
38 | # RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160 | |
dfeab068 RE |
39 | # Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must |
40 | # equal 4. | |
41 | # PKCS1_CHECK - pkcs1 tests. | |
d02b48c6 | 42 | |
8d7ed6ff | 43 | CC= gcc |
dfeab068 | 44 | #CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM |
8d7ed6ff | 45 | CFLAG= -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM |
d02b48c6 | 46 | PEX_LIBS= -L. -L.. -L../.. -L../../.. |
651d0aff | 47 | EX_LIBS= |
d02b48c6 | 48 | AR=ar r |
99aab161 UM |
49 | RANLIB= ranlib |
50 | PERL= perl | |
d02b48c6 | 51 | |
dfeab068 RE |
52 | # Set BN_ASM to bn_asm.o if you want to use the C version |
53 | BN_ASM= bn_asm.o | |
54 | #BN_ASM= bn_asm.o | |
55 | #BN_ASM= asm/bn86-elf.o # elf, linux-elf | |
56 | #BN_ASM= asm/bn86-sol.o # solaris | |
57 | #BN_ASM= asm/bn86-out.o # a.out, FreeBSD | |
58 | #BN_ASM= asm/bn86bsdi.o # bsdi | |
59 | #BN_ASM= asm/alpha.o # DEC Alpha | |
60 | #BN_ASM= asm/pa-risc2.o # HP-UX PA-RISC | |
61 | #BN_ASM= asm/r3000.o # SGI MIPS cpu | |
62 | #BN_ASM= asm/sparc.o # Sun solaris/SunOS | |
63 | #BN_ASM= asm/bn-win32.o # Windows 95/NT | |
64 | #BN_ASM= asm/x86w16.o # 16 bit code for Windows 3.1/DOS | |
65 | #BN_ASM= asm/x86w32.o # 32 bit code for Windows 3.1 | |
d02b48c6 | 66 | |
2613c1fa UM |
67 | # For x86 assembler: Set PROCESSOR to 386 if you want to support |
68 | # the 80386. | |
69 | PROCESSOR= | |
70 | ||
d02b48c6 RE |
71 | # Set DES_ENC to des_enc.o if you want to use the C version |
72 | #There are 4 x86 assember options. | |
8d7ed6ff | 73 | DES_ENC= asm/dx86-out.o asm/yx86-out.o |
58964a49 RE |
74 | #DES_ENC= des_enc.o fcrypt_b.o # C |
75 | #DES_ENC= asm/dx86-elf.o asm/yx86-elf.o # elf | |
76 | #DES_ENC= asm/dx86-sol.o asm/yx86-sol.o # solaris | |
77 | #DES_ENC= asm/dx86-out.o asm/yx86-out.o # a.out, FreeBSD | |
78 | #DES_ENC= asm/dx86bsdi.o asm/yx86bsdi.o # bsdi | |
d02b48c6 RE |
79 | |
80 | # Set BF_ENC to bf_enc.o if you want to use the C version | |
81 | #There are 4 x86 assember options. | |
8d7ed6ff | 82 | BF_ENC= asm/bx86-out.o |
58964a49 | 83 | #BF_ENC= bf_enc.o |
d02b48c6 | 84 | #BF_ENC= asm/bx86-elf.o # elf |
58964a49 RE |
85 | #BF_ENC= asm/bx86-sol.o # solaris |
86 | #BF_ENC= asm/bx86-out.o # a.out, FreeBSD | |
87 | #BF_ENC= asm/bx86bsdi.o # bsdi | |
d02b48c6 | 88 | |
58964a49 RE |
89 | # Set CAST_ENC to c_enc.o if you want to use the C version |
90 | #There are 4 x86 assember options. | |
8d7ed6ff | 91 | CAST_ENC= asm/cx86-out.o |
58964a49 RE |
92 | #CAST_ENC= c_enc.o |
93 | #CAST_ENC= asm/cx86-elf.o # elf | |
94 | #CAST_ENC= asm/cx86-sol.o # solaris | |
95 | #CAST_ENC= asm/cx86-out.o # a.out, FreeBSD | |
96 | #CAST_ENC= asm/cx86bsdi.o # bsdi | |
97 | ||
98 | # Set RC4_ENC to rc4_enc.o if you want to use the C version | |
99 | #There are 4 x86 assember options. | |
8d7ed6ff | 100 | RC4_ENC= asm/rx86-out.o |
58964a49 RE |
101 | #RC4_ENC= rc4_enc.o |
102 | #RC4_ENC= asm/rx86-elf.o # elf | |
103 | #RC4_ENC= asm/rx86-sol.o # solaris | |
104 | #RC4_ENC= asm/rx86-out.o # a.out, FreeBSD | |
105 | #RC4_ENC= asm/rx86bsdi.o # bsdi | |
106 | ||
107 | # Set RC5_ENC to rc5_enc.o if you want to use the C version | |
108 | #There are 4 x86 assember options. | |
8d7ed6ff | 109 | RC5_ENC= asm/r586-out.o |
58964a49 RE |
110 | #RC5_ENC= rc5_enc.o |
111 | #RC5_ENC= asm/r586-elf.o # elf | |
112 | #RC5_ENC= asm/r586-sol.o # solaris | |
113 | #RC5_ENC= asm/r586-out.o # a.out, FreeBSD | |
114 | #RC5_ENC= asm/r586bsdi.o # bsdi | |
115 | ||
116 | # Also need MD5_ASM defined | |
8d7ed6ff | 117 | MD5_ASM_OBJ= asm/mx86-out.o |
58964a49 RE |
118 | #MD5_ASM_OBJ= asm/mx86-elf.o # elf |
119 | #MD5_ASM_OBJ= asm/mx86-sol.o # solaris | |
120 | #MD5_ASM_OBJ= asm/mx86-out.o # a.out, FreeBSD | |
121 | #MD5_ASM_OBJ= asm/mx86bsdi.o # bsdi | |
122 | ||
123 | # Also need SHA1_ASM defined | |
8d7ed6ff | 124 | SHA1_ASM_OBJ= asm/sx86-out.o |
58964a49 RE |
125 | #SHA1_ASM_OBJ= asm/sx86-elf.o # elf |
126 | #SHA1_ASM_OBJ= asm/sx86-sol.o # solaris | |
127 | #SHA1_ASM_OBJ= asm/sx86-out.o # a.out, FreeBSD | |
128 | #SHA1_ASM_OBJ= asm/sx86bsdi.o # bsdi | |
129 | ||
130 | # Also need RMD160_ASM defined | |
8d7ed6ff | 131 | RMD160_ASM_OBJ= asm/rm86-out.o |
58964a49 RE |
132 | #RMD160_ASM_OBJ= asm/rm86-elf.o # elf |
133 | #RMD160_ASM_OBJ= asm/rm86-sol.o # solaris | |
134 | #RMD160_ASM_OBJ= asm/rm86-out.o # a.out, FreeBSD | |
135 | #RMD160_ASM_OBJ= asm/rm86bsdi.o # bsdi | |
136 | ||
137 | DIRS= crypto ssl rsaref apps test tools | |
d02b48c6 RE |
138 | # dirs in crypto to build |
139 | SDIRS= \ | |
58964a49 RE |
140 | md2 md5 sha mdc2 hmac ripemd \ |
141 | des rc2 rc4 rc5 idea bf cast \ | |
142 | bn rsa dsa dh \ | |
f317aa4c | 143 | buffer bio stack lhash rand err objects \ |
8d8c7266 | 144 | evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp |
d02b48c6 | 145 | |
d02b48c6 | 146 | MAKEFILE= Makefile.ssl |
58964a49 | 147 | MAKE= make -f Makefile.ssl |
d02b48c6 RE |
148 | |
149 | MAN1=1 | |
150 | MAN3=3 | |
151 | SHELL=/bin/sh | |
152 | ||
58964a49 | 153 | TOP= . |
d02b48c6 | 154 | ONEDIRS=out tmp |
dfeab068 | 155 | EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep |
58964a49 RE |
156 | WDIRS= windows |
157 | LIBS= libcrypto.a libssl.a | |
158 | ||
159 | GENERAL= Makefile | |
9ce5db45 | 160 | BASENAME= openssl |
58964a49 RE |
161 | NAME= $(BASENAME)-$(VERSION) |
162 | TARFILE= $(NAME).tar | |
163 | WTARFILE= $(NAME)-win.tar | |
164 | EXHEADER= e_os.h | |
165 | HEADER= e_os.h | |
d02b48c6 | 166 | |
9535d202 | 167 | all: Makefile.ssl |
d02b48c6 RE |
168 | @for i in $(DIRS) ;\ |
169 | do \ | |
bb8f3c58 | 170 | (cd $$i && echo "making all in $$i..." && \ |
99aab161 | 171 | $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' 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}' SDIRS='${SDIRS}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \ |
d02b48c6 RE |
172 | done; |
173 | ||
174 | sub_all: | |
175 | @for i in $(DIRS) ;\ | |
176 | do \ | |
bb8f3c58 | 177 | (cd $$i && echo "making all in $$i..." && \ |
99aab161 | 178 | $(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}' all ) || exit 1; \ |
d02b48c6 RE |
179 | done; |
180 | ||
9535d202 | 181 | Makefile.ssl: Makefile.org |
5ea177cf RE |
182 | @echo "Makefile.ssl is older than Makefile.org." |
183 | @echo "Reconfigure the source tree (via 'perl Configure' or 'sh config')" | |
184 | @echo "and update the error lists (via 'make errors'), please." | |
9535d202 BL |
185 | @false |
186 | ||
dfeab068 | 187 | libclean: |
bb8f3c58 | 188 | rm -f *.a */lib */*/lib |
dfeab068 | 189 | |
d02b48c6 | 190 | clean: |
bb8f3c58 | 191 | rm -f shlib/*.o *.o core a.out fluff *.map |
d02b48c6 RE |
192 | @for i in $(DIRS) ;\ |
193 | do \ | |
bb8f3c58 | 194 | (cd $$i && echo "making clean in $$i..." && \ |
56ee3117 | 195 | $(MAKE) SDIRS='${SDIRS}' clean ) || exit 1; \ |
bb8f3c58 | 196 | rm -f $(LIBS); \ |
d02b48c6 | 197 | done; |
bb8f3c58 RE |
198 | rm -f *.a *.o speed.* *.map *.so .pure core |
199 | rm -f $(TARFILE) | |
d02b48c6 RE |
200 | @for i in $(ONEDIRS) ;\ |
201 | do \ | |
bb8f3c58 | 202 | rm -fr $$i/*; \ |
d02b48c6 RE |
203 | done |
204 | ||
205 | makefile.one: files | |
99aab161 | 206 | $(PERL) util/mk1mf.pl >makefile.one; \ |
d02b48c6 RE |
207 | sh util/do_ms.sh |
208 | ||
bacad008 | 209 | files: |
99aab161 | 210 | $(PERL) $(TOP)/util/files.pl Makefile.ssl > $(TOP)/MINFO |
d02b48c6 RE |
211 | @for i in $(DIRS) ;\ |
212 | do \ | |
56ee3117 PS |
213 | (cd $$i && echo "making 'files' in $$i..." && \ |
214 | $(MAKE) SDIRS='${SDIRS}' files ) || exit 1; \ | |
d02b48c6 RE |
215 | done; |
216 | ||
217 | links: | |
bb8f3c58 | 218 | @$(TOP)/util/point.sh Makefile.ssl Makefile |
ec577822 BM |
219 | @-mkdir -p include/openssl 2>/dev/null |
220 | @$(TOP)/util/mklink.sh include/openssl $(EXHEADER) | |
bb8f3c58 | 221 | @for i in $(DIRS); do \ |
56ee3117 | 222 | (cd $$i && echo "making links in $$i..." && \ |
83ec54b4 | 223 | $(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}' links ) || exit 1; \ |
d02b48c6 | 224 | done; |
724e095e | 225 | @(OPENSSL="`pwd`/apps/openssl"; export OPENSSL; sh tools/c_rehash certs) |
d02b48c6 RE |
226 | |
227 | dclean: | |
bb8f3c58 | 228 | rm -f *.bak |
d02b48c6 RE |
229 | @for i in $(DIRS) ;\ |
230 | do \ | |
bb8f3c58 | 231 | (cd $$i && echo "making dclean in $$i..." && \ |
56ee3117 | 232 | $(MAKE) SDIRS='${SDIRS}' dclean ) || exit 1; \ |
d02b48c6 RE |
233 | done; |
234 | ||
235 | rehash: | |
b621d772 | 236 | @(OPENSSL="`pwd`/apps/openssl"; export OPENSSL; sh tools/c_rehash certs) |
d02b48c6 | 237 | |
58964a49 | 238 | test: tests |
d02b48c6 RE |
239 | |
240 | tests: | |
bb8f3c58 | 241 | @(cd test && echo "testing..." && \ |
dfeab068 | 242 | $(MAKE) CC='${CC}' CFLAG='${CFLAG}' 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}' SDIRS='${SDIRS}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' tests ); |
794b9c8f | 243 | @apps/openssl version -a |
d02b48c6 RE |
244 | |
245 | depend: | |
246 | @for i in $(DIRS) ;\ | |
247 | do \ | |
56ee3117 PS |
248 | (cd $$i && echo "making dependancies $$i..." && \ |
249 | $(MAKE) SDIRS='${SDIRS}' depend ) || exit 1; \ | |
d02b48c6 RE |
250 | done; |
251 | ||
252 | lint: | |
253 | @for i in $(DIRS) ;\ | |
254 | do \ | |
56ee3117 PS |
255 | (cd $$i && echo "making lint $$i..." && \ |
256 | $(MAKE) SDIRS='${SDIRS}' lint ) || exit 1; \ | |
d02b48c6 RE |
257 | done; |
258 | ||
259 | tags: | |
260 | @for i in $(DIRS) ;\ | |
261 | do \ | |
56ee3117 PS |
262 | (cd $$i && echo "making tags $$i..." && \ |
263 | $(MAKE) SDIRS='${SDIRS}' tags ) || exit 1; \ | |
d02b48c6 RE |
264 | done; |
265 | ||
266 | errors: | |
73934800 | 267 | perl util/mkerr.pl -recurse -write |
d02b48c6 RE |
268 | |
269 | tar: | |
651d0aff | 270 | @gtar --no-recursion -cvf - \ |
0f423567 | 271 | `find * -depth -print | grep -v CVS | grep -v .cvsignore | grep -v STATUS | sort` |\ |
5a061129 | 272 | tardy --user_number=0 --user_name=openssl \ |
9ce5db45 RE |
273 | --group_number=0 --group_name=openssl \ |
274 | --prefix=openssl-$(VERSION) - |\ | |
651d0aff RE |
275 | gzip --best >../$(TARFILE).gz; \ |
276 | ls -l ../$(TARFILE).gz | |
d02b48c6 | 277 | |
58964a49 | 278 | dist: |
99aab161 | 279 | $(PERL) Configure dist |
d02b48c6 RE |
280 | @$(MAKE) dist_pem_h |
281 | @$(MAKE) SDIRS='${SDIRS}' clean | |
d02b48c6 RE |
282 | @$(MAKE) tar |
283 | ||
284 | dist_pem_h: | |
285 | (cd crypto/pem; $(MAKE) SDIRS='${SDIRS}' CFLAG='${CFLAG}' pem.h; $(MAKE) clean) | |
286 | ||
287 | install: all | |
288 | @-mkdir -p $(INSTALLTOP)/bin 2>/dev/null | |
289 | @-mkdir -p $(INSTALLTOP)/lib 2>/dev/null | |
ec577822 | 290 | @-mkdir -p $(INSTALLTOP)/include/openssl 2>/dev/null |
462ba4f6 UM |
291 | @-mkdir -p $(OPENSSLDIR)/certs 2>/dev/null |
292 | @-mkdir -p $(OPENSSLDIR)/private 2>/dev/null | |
293 | @-mkdir -p $(OPENSSLDIR)/lib 2>/dev/null | |
d02b48c6 RE |
294 | @for i in $(DIRS) ;\ |
295 | do \ | |
296 | (cd $$i; echo "installing $$i..."; \ | |
462ba4f6 | 297 | $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' EX_LIBS='${EX_LIBS}' SDIRS='${SDIRS}' install ); \ |
d02b48c6 RE |
298 | done |
299 | @for i in $(LIBS) ;\ | |
300 | do \ | |
58964a49 | 301 | ( echo installing $$i; \ |
d02b48c6 | 302 | cp $$i $(INSTALLTOP)/lib; \ |
99aab161 | 303 | $(RANLIB) $(INSTALLTOP)/lib/$$i; \ |
d02b48c6 RE |
304 | chmod 644 $(INSTALLTOP)/lib/$$i ); \ |
305 | done | |
306 | ||
307 | # DO NOT DELETE THIS LINE -- make depend depends on it. |