Import of old SSLeay release: SSLeay 0.9.1b (unreleased)
[openssl.git] / crypto / cast / Makefile.uni
1 # Targets
2 # make          - twidle the options yourself :-)
3 # make cc       - standard cc options
4 # make gcc      - standard gcc options
5 # make x86-elf  - linux-elf etc
6 # make x86-out  - linux-a.out, FreeBSD etc
7 # make x86-solaris
8 # make x86-bdsi
9
10 # There are 3 possible performance options, experiment :-)
11 #OPTS= -DBF_PTR
12 #OPTS= -DBF_PTR2
13 OPTS=
14
15 DIR=    cast
16 TOP=    .
17 CC=     gcc
18 CFLAG=  -O3 -fomit-frame-pointer
19
20 CPP=    $(CC) -E
21 INCLUDES=
22 INSTALLTOP=/usr/local/lib
23 MAKE=           make
24 MAKEDEPEND=     makedepend
25 MAKEFILE=       Makefile.uni
26 AR=             ar r
27
28 CAST_ENC=c_enc.o
29 # or use
30 #CAST_ENC=asm/cx86-elf.o
31 #CAST_ENC=asm/cx86-out.o
32 #CAST_ENC=asm/cx86-sol.o
33 #CAST_ENC=asm/cx86bdsi.o
34
35 CFLAGS= $(OPTS) $(INCLUDES) $(CFLAG) -DFULL_TEST
36
37 GENERAL=Makefile
38 TEST=casttest
39 APP1=cast_spd
40 APP2=castopts
41 APPS=$(APP1) $(APP2)
42
43 LIB=libcast.a
44 LIBSRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c
45 LIBOBJ=c_skey.o c_ecb.o $(CAST_ENC) c_cfb64.o c_ofb64.o
46
47 SRC= $(LIBSRC)
48
49 EXHEADER= cast.h
50 HEADER= cast_lcl.h $(EXHEADER)
51
52 ALL=    $(GENERAL) $(SRC) $(HEADER)
53
54 all:    $(LIB) $(TEST) $(APPS)
55
56 $(LIB):    $(LIBOBJ)
57         $(AR) $(LIB) $(LIBOBJ)
58         sh $(TOP)/ranlib.sh $(LIB)
59 # elf
60 asm/cx86-elf.o: asm/cx86unix.cpp
61         $(CPP) -DELF asm/cx86unix.cpp | as -o asm/cx86-elf.o
62
63 # solaris
64 asm/cx86-sol.o: asm/cx86unix.cpp
65         $(CC) -E -DSOL asm/cx86unix.cpp | sed 's/^#.*//' > asm/cx86-sol.s
66         as -o asm/cx86-sol.o asm/cx86-sol.s
67         rm -f asm/cx86-sol.s
68
69 # a.out
70 asm/cx86-out.o: asm/cx86unix.cpp
71         $(CPP) -DOUT asm/cx86unix.cpp | as -o asm/cx86-out.o
72
73 # bsdi
74 asm/cx86bsdi.o: asm/cx86unix.cpp
75         $(CPP) -DBSDI asm/cx86unix.cpp | as -o asm/cx86bsdi.o
76
77 asm/cx86unix.cpp:
78         (cd asm; perl cast-586.pl cpp >cx86unix.cpp)
79
80 test:   $(TEST)
81         ./$(TEST)
82
83 $(TEST): $(TEST).c $(LIB)
84         $(CC) -o $(TEST) $(CFLAGS) $(TEST).c $(LIB)
85
86 $(APP1): $(APP1).c $(LIB)
87         $(CC) -o $(APP1) $(CFLAGS) $(APP1).c $(LIB)
88
89 $(APP2): $(APP2).c $(LIB)
90         $(CC) -o $(APP2) $(CFLAGS) $(APP2).c $(LIB)
91
92 lint:
93         lint -DLINT $(INCLUDES) $(SRC)>fluff
94
95 depend:
96         $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
97
98 dclean:
99         perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
100         mv -f Makefile.new $(MAKEFILE)
101
102 clean:
103         /bin/rm -f $(LIB) $(TEST) $(APPS) *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
104
105 cc:
106         $(MAKE) CC="cc" CFLAG="-O" all
107
108 gcc:
109         $(MAKE) CC="gcc" CFLAGS="-O3 -fomit-frame-pointer" all
110
111 x86-elf:
112         $(MAKE) CAST_ENC="asm/cx86-elf.o" CFLAG="-DELF $(CFLAGS)" all
113
114 x86-out:
115         $(MAKE) CAST_ENC="asm/cx86-out.o" CFLAG="-DOUT $(CFLAGS)" all
116
117 x86-solaris:
118         $(MAKE) CAST_ENC="asm/cx86-sol.o" CFLAG="-DSOL $(CFLAGS)" all
119
120 x86-bdsi:
121         $(MAKE) CAST_ENC="asm/cx86-bdsi.o" CFLAG="-DBDSI $(CFLAGS)" all
122
123 # DO NOT DELETE THIS LINE -- make depend depends on it.