Some assembler-related clean-ups.
[openssl.git] / crypto / md5 / 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 DIR=    md5
11 TOP=    .
12 CC=     gcc
13 CFLAG=  -O3 -fomit-frame-pointer
14
15 CPP=    $(CC) -E
16 INCLUDES=
17 INSTALLTOP=/usr/local/lib
18 MAKE=           make
19 MAKEDEPEND=     makedepend
20 MAKEFILE=       Makefile.uni
21 AR=             ar r
22 RANLIB=         ranlib
23
24 MD5_ASM_OBJ=
25
26 CFLAGS= $(INCLUDES) $(CFLAG)
27
28 GENERAL=Makefile
29 TEST=md5test
30 APPS=md5
31
32 LIB=libmd5.a
33 LIBSRC=md5_dgst.c md5_one.c
34 LIBOBJ=md5_dgst.o md5_one.o $(MD5_ASM_OBJ)
35
36 SRC= $(LIBSRC)
37
38 EXHEADER= md5.h
39 HEADER= md5_locl.h $(EXHEADER)
40
41 ALL=    $(GENERAL) $(SRC) $(HEADER)
42
43 all:    $(LIB) $(TEST) $(APPS)
44
45 $(LIB):    $(LIBOBJ)
46         $(AR) $(LIB) $(LIBOBJ)
47         $(RANLIB) $(LIB)
48
49 # elf
50 asm/mx86-elf.o: asm/mx86unix.cpp
51         $(CPP) -DELF asm/mx86unix.cpp | as -o asm/mx86-elf.o
52
53 # solaris
54 asm/mx86-sol.o: asm/mx86unix.cpp
55         $(CC) -E -DSOL asm/mx86unix.cpp | sed 's/^#.*//' > asm/mx86-sol.s
56         as -o asm/mx86-sol.o asm/mx86-sol.s
57         rm -f asm/mx86-sol.s
58
59 # a.out
60 asm/mx86-out.o: asm/mx86unix.cpp
61         $(CPP) -DOUT asm/mx86unix.cpp | as -o asm/mx86-out.o
62
63 # bsdi
64 asm/mx86bsdi.o: asm/mx86unix.cpp
65         $(CPP) -DBSDI asm/mx86unix.cpp | as -o asm/mx86bsdi.o
66
67 asm/mx86unix.cpp:
68         (cd asm; perl md5-586.pl cpp >mx86unix.cpp)
69
70 test:   $(TEST)
71         ./$(TEST)
72
73 $(TEST): $(TEST).c $(LIB)
74         $(CC) -o $(TEST) $(CFLAGS) $(TEST).c $(LIB)
75
76 $(APPS): $(APPS).c $(LIB)
77         $(CC) -o $(APPS) $(CFLAGS) $(APPS).c $(LIB)
78
79 lint:
80         lint -DLINT $(INCLUDES) $(SRC)>fluff
81
82 depend:
83         $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
84
85 dclean:
86         perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
87         mv -f Makefile.new $(MAKEFILE)
88
89 clean:
90         /bin/rm -f $(LIB) $(TEST) $(APPS) *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
91
92 cc:
93         $(MAKE) MD5_ASM_OBJ="" CC="cc" CFLAG="-O" all
94
95 gcc:
96         $(MAKE) MD5_ASM_OBJ="" CC="gcc" CFLAGS="-O3 -fomit-frame-pointer" all
97
98 x86-elf:
99         $(MAKE) MD5_ASM_OBJ="asm/mx86-elf.o" CFLAG="-DELF -DMD5_ASM -DL_ENDIAN $(CFLAGS)" all
100
101 x86-out:
102         $(MAKE) MD5_ASM_OBJ="asm/mx86-out.o" CFLAG="-DOUT -DMD5_ASM -DL_ENDIAN $(CFLAGS)" all
103
104 x86-solaris:
105         $(MAKE) MD5_ASM_OBJ="asm/mx86-sol.o" CFLAG="-DSOL -DMD5_ASM -DL_ENDIAN $(CFLAGS)" all
106
107 x86-bdsi:
108         $(MAKE) MD5_ASM_OBJ="asm/mx86-bdsi.o" CFLAG="-DBDSI -DMD5_ASM -DL_ENDIAN $(CFLAGS)" all
109
110 # DO NOT DELETE THIS LINE -- make depend depends on it.