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