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