0a365fca6a9e9605c5fdf834b52ba6abb4dcd079
[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=     makedepend -f Makefile.ssl
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:
96         (cd asm; perl bn-586.pl cpp >bn86unix.cpp )
97
98 asm/co86unix.cpp:
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:
153         perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).org # special case .org
154         perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).h
155         perl ../err/err_genc.pl -s $(ERR).h $(ERRC).c
156
157 # DO NOT DELETE THIS LINE -- make depend depends on it.