Fix BN_kronecker so that it works correctly if 'a' is negative
[openssl.git] / crypto / bn / Makefile.ssl
1 #
2 # SSLeay/crypto/bn/Makefile
3 #
4
5 DIR=    bn
6 TOP=    ../..
7 CC=     cc
8 CPP=    $(CC) -E
9 INCLUDES= -I.. -I../../include
10 CFLAG=-g
11 INSTALL_PREFIX=
12 OPENSSLDIR=     /usr/local/ssl
13 INSTALLTOP=/usr/local/ssl
14 MAKE=           make -f Makefile.ssl
15 MAKEDEPEND=     $(TOP)/util/domd $(TOP)
16 MAKEFILE=       Makefile.ssl
17 AR=             ar r
18
19 BN_ASM=         bn_asm.o
20 # or use
21 #BN_ASM=        bn86-elf.o
22
23 CFLAGS= $(INCLUDES) $(CFLAG)
24
25 # We let the C compiler driver to take care of .s files. This is done in
26 # order to be excused from maintaining a separate set of architecture
27 # dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
28 # gcc, then the driver will automatically translate it to -xarch=v8plus
29 # and pass it down to assembler.
30 AS=$(CC) -c
31 ASFLAGS=$(CFLAGS)
32
33 GENERAL=Makefile
34 TEST=bntest.c exptest.c
35 APPS=
36
37 LIB=$(TOP)/libcrypto.a
38 LIBSRC= bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c \
39         bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c \
40         bn_kron.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c \
41         bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c
42
43 LIBOBJ= bn_add.o bn_div.o bn_exp.o bn_lib.o bn_ctx.o bn_mul.o bn_mod.o \
44         bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o \
45         bn_kron.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o $(BN_ASM) \
46         bn_recp.o bn_mont.o bn_mpi.o bn_exp2.o
47
48 SRC= $(LIBSRC)
49
50 EXHEADER= bn.h
51 HEADER= bn_lcl.h bn_prime.h $(EXHEADER)
52
53 ALL=    $(GENERAL) $(SRC) $(HEADER)
54
55 top:
56         (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
57
58 all:    lib
59
60 bn_prime.h: bn_prime.pl
61         $(PERL) bn_prime.pl >bn_prime.h
62
63 divtest: divtest.c ../../libcrypto.a
64         cc -I../../include divtest.c -o divtest ../../libcrypto.a
65
66 bnbug: bnbug.c ../../libcrypto.a top
67         cc -g -I../../include bnbug.c -o bnbug ../../libcrypto.a
68
69 lib:    $(LIBOBJ)
70         $(AR) $(LIB) $(LIBOBJ)
71         @echo You may get an error following this line.  Please ignore.
72         - $(RANLIB) $(LIB)
73         @touch lib
74
75 # elf
76 asm/bn86-elf.o: asm/bn86unix.cpp
77         $(CPP) -DELF -x c asm/bn86unix.cpp | as -o asm/bn86-elf.o
78
79 asm/co86-elf.o: asm/co86unix.cpp
80         $(CPP) -DELF -x c asm/co86unix.cpp | as -o asm/co86-elf.o
81
82 # solaris
83 asm/bn86-sol.o: asm/bn86unix.cpp
84         $(CC) -E -DSOL asm/bn86unix.cpp | sed 's/^#.*//' > asm/bn86-sol.s
85         as -o asm/bn86-sol.o asm/bn86-sol.s
86         rm -f asm/bn86-sol.s
87
88 asm/co86-sol.o: asm/co86unix.cpp
89         $(CC) -E -DSOL asm/co86unix.cpp | sed 's/^#.*//' > asm/co86-sol.s
90         as -o asm/co86-sol.o asm/co86-sol.s
91         rm -f asm/co86-sol.s
92
93 # a.out
94 asm/bn86-out.o: asm/bn86unix.cpp
95         $(CPP) -DOUT asm/bn86unix.cpp | as -o asm/bn86-out.o
96
97 asm/co86-out.o: asm/co86unix.cpp
98         $(CPP) -DOUT asm/co86unix.cpp | as -o asm/co86-out.o
99
100 # bsdi
101 asm/bn86bsdi.o: asm/bn86unix.cpp
102         $(CPP) -DBSDI asm/bn86unix.cpp | sed 's/ :/:/' | as -o asm/bn86bsdi.o
103
104 asm/co86bsdi.o: asm/co86unix.cpp
105         $(CPP) -DBSDI asm/co86unix.cpp | sed 's/ :/:/' | as -o asm/co86bsdi.o
106
107 asm/bn86unix.cpp: asm/bn-586.pl ../perlasm/x86asm.pl
108         (cd asm; $(PERL) bn-586.pl cpp >bn86unix.cpp )
109
110 asm/co86unix.cpp: asm/co-586.pl ../perlasm/x86asm.pl
111         (cd asm; $(PERL) co-586.pl cpp >co86unix.cpp )
112
113 asm/sparcv8.o: asm/sparcv8.S
114
115 asm/sparcv8plus.o: asm/sparcv8plus.S
116
117 # Old GNU assembler doesn't understand V9 instructions, so we
118 # hire /usr/ccs/bin/as to do the job. Note that option is called
119 # *-gcc27, but even gcc 2>=8 users may experience similar problem
120 # if they didn't bother to upgrade GNU assembler. Such users should
121 # not choose this option, but be adviced to *remove* GNU assembler
122 # or upgrade it.
123 asm/sparcv8plus-gcc27.o: asm/sparcv8plus.S
124         $(CC) $(ASFLAGS) -E asm/sparcv8plus.S | \
125                 /usr/ccs/bin/as -xarch=v8plus - -o asm/sparcv8plus-gcc27.o
126
127 files:
128         $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
129
130 links:
131         @$(TOP)/util/point.sh Makefile.ssl Makefile
132         @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
133         @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
134         @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
135
136 install:
137         @for i in $(EXHEADER) ; \
138         do  \
139         (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
140         chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
141         done;
142
143 exptest:
144         rm -f exptest
145         gcc -I../../include -g2 -ggdb -o exptest exptest.c ../../libcrypto.a
146
147 div:
148         rm -f a.out
149         gcc -I.. -g div.c ../../libcrypto.a
150
151 tags:
152         ctags $(SRC)
153
154 tests:
155
156 lint:
157         lint -DLINT $(INCLUDES) $(SRC)>fluff
158
159 depend:
160         $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
161
162 dclean:
163         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
164         mv -f Makefile.new $(MAKEFILE)
165
166 clean:
167         rm -f asm/co86unix.cpp asm/bn86unix.cpp *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff bn_asm.s
168
169 # DO NOT DELETE THIS LINE -- make depend depends on it.
170
171 bn_add.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
172 bn_add.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
173 bn_add.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
174 bn_add.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
175 bn_add.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
176 bn_add.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
177 bn_add.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
178 bn_asm.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
179 bn_asm.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
180 bn_asm.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
181 bn_asm.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
182 bn_asm.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
183 bn_asm.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
184 bn_asm.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
185 bn_blind.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
186 bn_blind.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
187 bn_blind.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
188 bn_blind.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
189 bn_blind.o: ../../include/openssl/opensslconf.h
190 bn_blind.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
191 bn_blind.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
192 bn_blind.o: ../cryptlib.h bn_lcl.h
193 bn_ctx.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
194 bn_ctx.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
195 bn_ctx.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
196 bn_ctx.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
197 bn_ctx.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
198 bn_ctx.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
199 bn_ctx.o: ../../include/openssl/symhacks.h ../cryptlib.h
200 bn_div.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
201 bn_div.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
202 bn_div.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
203 bn_div.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
204 bn_div.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
205 bn_div.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
206 bn_div.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
207 bn_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
208 bn_err.o: ../../include/openssl/crypto.h ../../include/openssl/err.h
209 bn_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
210 bn_err.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
211 bn_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
212 bn_exp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
213 bn_exp.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
214 bn_exp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
215 bn_exp.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
216 bn_exp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
217 bn_exp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
218 bn_exp.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
219 bn_exp2.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
220 bn_exp2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
221 bn_exp2.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
222 bn_exp2.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
223 bn_exp2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
224 bn_exp2.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
225 bn_exp2.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
226 bn_gcd.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
227 bn_gcd.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
228 bn_gcd.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
229 bn_gcd.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
230 bn_gcd.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
231 bn_gcd.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
232 bn_gcd.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
233 bn_kron.o: ../../include/openssl/bn.h ../../include/openssl/opensslconf.h
234 bn_kron.o: bn_lcl.h
235 bn_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
236 bn_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
237 bn_lib.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
238 bn_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
239 bn_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
240 bn_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
241 bn_lib.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
242 bn_mod.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
243 bn_mod.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
244 bn_mod.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
245 bn_mod.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
246 bn_mod.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
247 bn_mod.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
248 bn_mod.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
249 bn_mont.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
250 bn_mont.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
251 bn_mont.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
252 bn_mont.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
253 bn_mont.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
254 bn_mont.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
255 bn_mont.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
256 bn_mpi.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
257 bn_mpi.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
258 bn_mpi.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
259 bn_mpi.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
260 bn_mpi.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
261 bn_mpi.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
262 bn_mpi.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
263 bn_mul.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
264 bn_mul.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
265 bn_mul.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
266 bn_mul.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
267 bn_mul.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
268 bn_mul.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
269 bn_mul.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
270 bn_prime.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
271 bn_prime.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
272 bn_prime.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
273 bn_prime.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
274 bn_prime.o: ../../include/openssl/opensslconf.h
275 bn_prime.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
276 bn_prime.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
277 bn_prime.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h bn_prime.h
278 bn_print.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
279 bn_print.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
280 bn_print.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
281 bn_print.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
282 bn_print.o: ../../include/openssl/opensslconf.h
283 bn_print.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
284 bn_print.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
285 bn_print.o: ../cryptlib.h bn_lcl.h
286 bn_rand.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
287 bn_rand.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
288 bn_rand.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
289 bn_rand.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
290 bn_rand.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
291 bn_rand.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
292 bn_rand.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
293 bn_rand.o: ../cryptlib.h bn_lcl.h
294 bn_recp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
295 bn_recp.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
296 bn_recp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
297 bn_recp.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
298 bn_recp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
299 bn_recp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
300 bn_recp.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
301 bn_shift.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
302 bn_shift.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
303 bn_shift.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
304 bn_shift.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
305 bn_shift.o: ../../include/openssl/opensslconf.h
306 bn_shift.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
307 bn_shift.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
308 bn_shift.o: ../cryptlib.h bn_lcl.h
309 bn_sqr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
310 bn_sqr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
311 bn_sqr.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
312 bn_sqr.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
313 bn_sqr.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
314 bn_sqr.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
315 bn_sqr.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
316 bn_word.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
317 bn_word.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
318 bn_word.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
319 bn_word.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
320 bn_word.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
321 bn_word.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
322 bn_word.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h