Add assembler implementation for IA-64
[oweals/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 \
39         bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c \
40         bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c \
41         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 \
44         bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o \
45         bn_gcd.o bn_prime.o bn_err.o bn_sqr.o $(BN_ASM) bn_recp.o bn_mont.o \
46         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 asm/ia64.o: asm/ia64.S
128
129 files:
130         $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
131
132 links:
133         @$(TOP)/util/point.sh Makefile.ssl Makefile
134         @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
135         @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
136         @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
137
138 install:
139         @for i in $(EXHEADER) ; \
140         do  \
141         (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
142         chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
143         done;
144
145 exptest:
146         rm -f exptest
147         gcc -I../../include -g2 -ggdb -o exptest exptest.c ../../libcrypto.a
148
149 div:
150         rm -f a.out
151         gcc -I.. -g div.c ../../libcrypto.a
152
153 tags:
154         ctags $(SRC)
155
156 tests:
157
158 lint:
159         lint -DLINT $(INCLUDES) $(SRC)>fluff
160
161 depend:
162         $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
163
164 dclean:
165         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
166         mv -f Makefile.new $(MAKEFILE)
167
168 clean:
169         rm -f asm/co86unix.cpp asm/bn86unix.cpp *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff bn_asm.s
170
171 # DO NOT DELETE THIS LINE -- make depend depends on it.
172
173 bn_add.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
174 bn_add.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
175 bn_add.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
176 bn_add.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
177 bn_add.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
178 bn_add.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
179 bn_add.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
180 bn_asm.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
181 bn_asm.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
182 bn_asm.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
183 bn_asm.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
184 bn_asm.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
185 bn_asm.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
186 bn_asm.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
187 bn_blind.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
188 bn_blind.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
189 bn_blind.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
190 bn_blind.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
191 bn_blind.o: ../../include/openssl/opensslconf.h
192 bn_blind.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
193 bn_blind.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
194 bn_blind.o: ../cryptlib.h bn_lcl.h
195 bn_ctx.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
196 bn_ctx.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
197 bn_ctx.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
198 bn_ctx.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
199 bn_ctx.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
200 bn_ctx.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
201 bn_ctx.o: ../../include/openssl/symhacks.h ../cryptlib.h
202 bn_div.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
203 bn_div.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
204 bn_div.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
205 bn_div.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
206 bn_div.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
207 bn_div.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
208 bn_div.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
209 bn_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
210 bn_err.o: ../../include/openssl/crypto.h ../../include/openssl/err.h
211 bn_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
212 bn_err.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
213 bn_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
214 bn_exp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
215 bn_exp.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
216 bn_exp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
217 bn_exp.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
218 bn_exp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
219 bn_exp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
220 bn_exp.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
221 bn_exp2.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
222 bn_exp2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
223 bn_exp2.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
224 bn_exp2.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
225 bn_exp2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
226 bn_exp2.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
227 bn_exp2.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
228 bn_gcd.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
229 bn_gcd.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
230 bn_gcd.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
231 bn_gcd.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
232 bn_gcd.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
233 bn_gcd.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
234 bn_gcd.o: ../../include/openssl/symhacks.h ../cryptlib.h 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_mont.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
243 bn_mont.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
244 bn_mont.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
245 bn_mont.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
246 bn_mont.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
247 bn_mont.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
248 bn_mont.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
249 bn_mpi.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
250 bn_mpi.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
251 bn_mpi.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
252 bn_mpi.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
253 bn_mpi.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
254 bn_mpi.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
255 bn_mpi.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
256 bn_mul.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
257 bn_mul.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
258 bn_mul.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
259 bn_mul.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
260 bn_mul.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
261 bn_mul.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
262 bn_mul.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
263 bn_prime.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
264 bn_prime.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
265 bn_prime.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
266 bn_prime.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
267 bn_prime.o: ../../include/openssl/opensslconf.h
268 bn_prime.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
269 bn_prime.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
270 bn_prime.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h bn_prime.h
271 bn_print.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
272 bn_print.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
273 bn_print.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
274 bn_print.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
275 bn_print.o: ../../include/openssl/opensslconf.h
276 bn_print.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
277 bn_print.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
278 bn_print.o: ../cryptlib.h bn_lcl.h
279 bn_rand.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
280 bn_rand.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
281 bn_rand.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
282 bn_rand.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
283 bn_rand.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
284 bn_rand.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
285 bn_rand.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
286 bn_rand.o: ../cryptlib.h bn_lcl.h
287 bn_recp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
288 bn_recp.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
289 bn_recp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
290 bn_recp.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
291 bn_recp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
292 bn_recp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
293 bn_recp.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
294 bn_shift.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
295 bn_shift.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
296 bn_shift.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
297 bn_shift.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
298 bn_shift.o: ../../include/openssl/opensslconf.h
299 bn_shift.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
300 bn_shift.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
301 bn_shift.o: ../cryptlib.h bn_lcl.h
302 bn_sqr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
303 bn_sqr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
304 bn_sqr.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
305 bn_sqr.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
306 bn_sqr.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
307 bn_sqr.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
308 bn_sqr.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h
309 bn_word.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
310 bn_word.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
311 bn_word.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
312 bn_word.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
313 bn_word.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
314 bn_word.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
315 bn_word.o: ../../include/openssl/symhacks.h ../cryptlib.h bn_lcl.h