Tidy up asm stuff.
[openssl.git] / crypto / bn / Makefile.ssl
1 #
2 # SSLeay/crypto/bn/Makefile
3 #
4
5 DIR=    bn
6 TOP=    ../..
7 CC=     cc
8 INCLUDES= -I.. -I../../include
9 CFLAG=-g
10 INSTALLTOP=/usr/local/ssl
11 MAKE=           make -f Makefile.ssl
12 MAKEDEPEND=     $(TOP)/util/domd $(TOP)
13 MAKEFILE=       Makefile.ssl
14 AR=             ar r
15
16 BN_ASM=         bn_asm.o
17 # or use
18 #BN_ASM=        bn86-elf.o
19
20 CFLAGS= $(INCLUDES) $(CFLAG)
21
22 ERR=bn
23 ERRC=bn_err
24 GENERAL=Makefile
25 TEST=bntest.c exptest.c
26 APPS=
27
28 LIB=$(TOP)/libcrypto.a
29 LIBSRC= bn_add.c bn_div.c bn_exp.c bn_lib.c bn_mul.c \
30         bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c \
31         bn_gcd.c bn_prime.c $(ERRC).c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c \
32         bn_mpi.c bn_exp2.c
33
34 LIBOBJ= bn_add.o bn_div.o bn_exp.o bn_lib.o bn_mul.o \
35         bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o \
36         bn_gcd.o bn_prime.o $(ERRC).o bn_sqr.o $(BN_ASM) bn_recp.o bn_mont.o \
37         bn_mpi.o bn_exp2.o
38
39 SRC= $(LIBSRC)
40
41 EXHEADER= bn.h
42 HEADER= bn_lcl.h bn_prime.h $(EXHEADER)
43
44 ALL=    $(GENERAL) $(SRC) $(HEADER)
45
46 top:
47         (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
48
49 all:    lib
50
51 knuth: bn_knuth.c
52         cc -pg -I.. -I../../include bn_knuth.c -o knuth $(LIB) #../../../libefence.a
53
54 knuth.fast: bn_knuth.c
55         cc -pg -fast -I.. -I../../include bn_knuth.c -o knuth $(LIB) #../../../libefence.a
56
57
58 lib:    $(LIBOBJ)
59         $(AR) $(LIB) $(LIBOBJ)
60         sh $(TOP)/util/ranlib.sh $(LIB)
61         @touch lib
62
63 # elf
64 asm/bn86-elf.o: asm/bn86unix.cpp
65         $(CPP) -DELF asm/bn86unix.cpp | as -o asm/bn86-elf.o
66
67 asm/co86-elf.o: asm/co86unix.cpp
68         $(CPP) -DELF asm/co86unix.cpp | as -o asm/co86-elf.o
69
70 # solaris
71 asm/bn86-sol.o: asm/bn86unix.cpp
72         $(CC) -E -DSOL asm/bn86unix.cpp | sed 's/^#.*//' > asm/bn86-sol.s
73         as -o asm/bn86-sol.o asm/bn86-sol.s
74         rm -f asm/bn86-sol.s
75
76 asm/co86-sol.o: asm/co86unix.cpp
77         $(CC) -E -DSOL asm/co86unix.cpp | sed 's/^#.*//' > asm/co86-sol.s
78         as -o asm/co86-sol.o asm/co86-sol.s
79         rm -f asm/co86-sol.s
80
81 # a.out
82 asm/bn86-out.o: asm/bn86unix.cpp
83         $(CPP) -DOUT asm/bn86unix.cpp | as -o asm/bn86-out.o
84
85 asm/co86-out.o: asm/co86unix.cpp
86         $(CPP) -DOUT asm/co86unix.cpp | as -o asm/co86-out.o
87
88 # bsdi
89 asm/bn86bsdi.o: asm/bn86unix.cpp
90         $(CPP) -DBSDI asm/bn86unix.cpp | sed 's/ :/:/' | as -o asm/bn86bsdi.o
91
92 asm/co86bsdi.o: asm/co86unix.cpp
93         $(CPP) -DBSDI asm/co86unix.cpp | sed 's/ :/:/' | as -o asm/co86bsdi.o
94
95 asm/bn86unix.cpp: asm/bn-586.pl
96         (cd asm; perl bn-586.pl cpp >bn86unix.cpp )
97
98 asm/co86unix.cpp: asm/co-586.pl
99         (cd asm; perl co-586.pl cpp >co86unix.cpp )
100
101 # MIPS 64 bit assember 
102 asm/mips3.o: asm/mips3.s
103         /usr/bin/as -mips3 -O2 -o asm/mips3.o asm/mips3.s            
104
105 # MIPS 32 bit assember
106 asm/mips1.o: asm/mips1.s
107         /usr/bin/as -O2 -o asm/mips1.o asm/mips1.s
108
109 files:
110         perl $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
111
112 links:
113         /bin/rm -f Makefile
114         $(TOP)/util/point.sh Makefile.ssl Makefile ;
115         $(TOP)/util/mklink.sh ../../include $(EXHEADER)
116         $(TOP)/util/mklink.sh ../../test $(TEST)
117         $(TOP)/util/mklink.sh ../../apps $(APPS)
118
119 install:
120         @for i in $(EXHEADER) ; \
121         do  \
122         (cp $$i $(INSTALLTOP)/include/$$i; \
123         chmod 644 $(INSTALLTOP)/include/$$i ); \
124         done;
125
126 exptest:
127         /bin/rm -f exptest
128         gcc -I../../include -g2 -ggdb -o exptest exptest.c ../../libcrypto.a
129
130 div:
131         /bin/rm -f a.out
132         gcc -I.. -g div.c ../../libcrypto.a
133
134 tags:
135         ctags $(SRC)
136
137 tests:
138
139 lint:
140         lint -DLINT $(INCLUDES) $(SRC)>fluff
141
142 depend:
143         $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
144
145 dclean:
146         perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
147         mv -f Makefile.new $(MAKEFILE)
148
149 clean:
150         /bin/rm -f *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff bn_asm.s
151
152 errors: $(ERRC).c
153
154 $(ERRC).c: $(ERR).err
155         perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).org # special case .org
156         perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).h
157         perl ../err/err_genc.pl -s $(ERR).h $(ERRC).c
158
159 # DO NOT DELETE THIS LINE -- make depend depends on it.
160
161 bn_add.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
162 bn_add.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
163 bn_add.o: bn.h bn_lcl.h
164 bn_asm.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
165 bn_asm.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
166 bn_asm.o: bn.h bn_lcl.h
167 bn_blind.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
168 bn_blind.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
169 bn_blind.o: bn.h bn_lcl.h
170 bn_div.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
171 bn_div.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
172 bn_div.o: bn.h bn_lcl.h
173 bn_err.o: ../../include/err.h bn.h
174 bn_exp.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
175 bn_exp.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
176 bn_exp.o: bn.h bn_lcl.h
177 bn_exp2.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
178 bn_exp2.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
179 bn_exp2.o: bn.h bn_lcl.h
180 bn_gcd.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
181 bn_gcd.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
182 bn_gcd.o: bn.h bn_lcl.h
183 bn_lib.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
184 bn_lib.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
185 bn_lib.o: bn.h bn_lcl.h
186 bn_mont.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
187 bn_mont.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
188 bn_mont.o: bn.h bn_lcl.h
189 bn_mpi.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
190 bn_mpi.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
191 bn_mpi.o: bn.h bn_lcl.h
192 bn_mul.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
193 bn_mul.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
194 bn_mul.o: bn.h bn_lcl.h
195 bn_prime.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
196 bn_prime.o: ../../include/err.h ../../include/rand.h ../../include/stack.h
197 bn_prime.o: ../cryptlib.h ../crypto.h bn.h bn_lcl.h bn_prime.h
198 bn_print.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
199 bn_print.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
200 bn_print.o: bn.h bn_lcl.h
201 bn_rand.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
202 bn_rand.o: ../../include/err.h ../../include/rand.h ../../include/stack.h
203 bn_rand.o: ../cryptlib.h ../crypto.h bn.h bn_lcl.h
204 bn_recp.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
205 bn_recp.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
206 bn_recp.o: bn.h bn_lcl.h
207 bn_shift.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
208 bn_shift.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
209 bn_shift.o: bn.h bn_lcl.h
210 bn_sqr.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
211 bn_sqr.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
212 bn_sqr.o: bn.h bn_lcl.h
213 bn_word.o: ../../include/bio.h ../../include/buffer.h ../../include/e_os.h
214 bn_word.o: ../../include/err.h ../../include/stack.h ../cryptlib.h ../crypto.h
215 bn_word.o: bn.h bn_lcl.h