Some pre-POSIX systems don't have unistd.h (but e.g. lib.c).
[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 RANLIB=         ranlib
28
29 CAST_ENC=c_enc.o
30 # or use
31 #CAST_ENC=asm/cx86-elf.o
32 #CAST_ENC=asm/cx86-out.o
33 #CAST_ENC=asm/cx86-sol.o
34 #CAST_ENC=asm/cx86bdsi.o
35
36 CFLAGS= $(OPTS) $(INCLUDES) $(CFLAG) -DFULL_TEST
37
38 GENERAL=Makefile
39 TEST=casttest
40 APP1=cast_spd
41 APP2=castopts
42 APPS=$(APP1) $(APP2)
43
44 LIB=libcast.a
45 LIBSRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c
46 LIBOBJ=c_skey.o c_ecb.o $(CAST_ENC) c_cfb64.o c_ofb64.o
47
48 SRC= $(LIBSRC)
49
50 EXHEADER= cast.h
51 HEADER= cast_lcl.h $(EXHEADER)
52
53 ALL=    $(GENERAL) $(SRC) $(HEADER)
54
55 all:    $(LIB) $(TEST) $(APPS)
56
57 $(LIB):    $(LIBOBJ)
58         $(AR) $(LIB) $(LIBOBJ)
59         $(RANLIB) $(LIB)
60 # elf
61 asm/cx86-elf.o: asm/cx86unix.cpp
62         $(CPP) -DELF asm/cx86unix.cpp | as -o asm/cx86-elf.o
63
64 # solaris
65 asm/cx86-sol.o: asm/cx86unix.cpp
66         $(CC) -E -DSOL asm/cx86unix.cpp | sed 's/^#.*//' > asm/cx86-sol.s
67         as -o asm/cx86-sol.o asm/cx86-sol.s
68         rm -f asm/cx86-sol.s
69
70 # a.out
71 asm/cx86-out.o: asm/cx86unix.cpp
72         $(CPP) -DOUT asm/cx86unix.cpp | as -o asm/cx86-out.o
73
74 # bsdi
75 asm/cx86bsdi.o: asm/cx86unix.cpp
76         $(CPP) -DBSDI asm/cx86unix.cpp | as -o asm/cx86bsdi.o
77
78 asm/cx86unix.cpp:
79         (cd asm; perl cast-586.pl cpp >cx86unix.cpp)
80
81 test:   $(TEST)
82         ./$(TEST)
83
84 $(TEST): $(TEST).c $(LIB)
85         $(CC) -o $(TEST) $(CFLAGS) $(TEST).c $(LIB)
86
87 $(APP1): $(APP1).c $(LIB)
88         $(CC) -o $(APP1) $(CFLAGS) $(APP1).c $(LIB)
89
90 $(APP2): $(APP2).c $(LIB)
91         $(CC) -o $(APP2) $(CFLAGS) $(APP2).c $(LIB)
92
93 lint:
94         lint -DLINT $(INCLUDES) $(SRC)>fluff
95
96 depend:
97         $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
98
99 dclean:
100         perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
101         mv -f Makefile.new $(MAKEFILE)
102
103 clean:
104         /bin/rm -f $(LIB) $(TEST) $(APPS) *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
105
106 cc:
107         $(MAKE) CC="cc" CFLAG="-O" all
108
109 gcc:
110         $(MAKE) CC="gcc" CFLAGS="-O3 -fomit-frame-pointer" all
111
112 x86-elf:
113         $(MAKE) CAST_ENC="asm/cx86-elf.o" CFLAG="-DELF $(CFLAGS)" all
114
115 x86-out:
116         $(MAKE) CAST_ENC="asm/cx86-out.o" CFLAG="-DOUT $(CFLAGS)" all
117
118 x86-solaris:
119         $(MAKE) CAST_ENC="asm/cx86-sol.o" CFLAG="-DSOL $(CFLAGS)" all
120
121 x86-bdsi:
122         $(MAKE) CAST_ENC="asm/cx86-bdsi.o" CFLAG="-DBDSI $(CFLAGS)" all
123
124 # DO NOT DELETE THIS LINE -- make depend depends on it.