456326c8b7b7a69f145f8eb6e900797e55bc8087
[openssl.git] / crypto / md5 / Makefile.ssl
1 #
2 # SSLeay/crypto/md5/Makefile
3 #
4
5 DIR=    md5
6 TOP=    ../..
7 CC=     cc
8 CPP=    $(CC) -E
9 INCLUDES=-I.. -I$(TOP) -I../../include
10 CFLAG=-g
11 INSTALL_PREFIX=
12 OPENSSLDIR=     /usr/local/ssl
13 INSTALLTOP=/usr/local/ssl
14 MAKE=           make -f Makefile.ssl
15 MAKEDEPPROG=    makedepend
16 MAKEDEPEND=     $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
17 MAKEFILE=       Makefile.ssl
18 AR=             ar r
19
20 MD5_ASM_OBJ=
21
22 CFLAGS= $(INCLUDES) $(CFLAG)
23 ASFLAGS= $(INCLUDES) $(ASFLAG)
24
25 GENERAL=Makefile
26 TEST=md5test.c
27 APPS=
28
29 LIB=$(TOP)/libcrypto.a
30 LIBSRC=md5_dgst.c md5_one.c
31 LIBOBJ=md5_dgst.o md5_one.o $(MD5_ASM_OBJ)
32
33 SRC= $(LIBSRC)
34
35 EXHEADER= md5.h
36 HEADER= md5_locl.h $(EXHEADER)
37
38 ALL=    $(GENERAL) $(SRC) $(HEADER)
39
40 top:
41         (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
42
43 all:    lib
44
45 lib:    $(LIBOBJ)
46         $(AR) $(LIB) $(LIBOBJ)
47         $(RANLIB) $(LIB) || echo Never mind.
48         @touch lib
49
50 # elf
51 asm/mx86-elf.s: asm/md5-586.pl ../perlasm/x86asm.pl
52         (cd asm; $(PERL) md5-586.pl elf $(CFLAGS) > mx86-elf.s)
53
54 # a.out
55 asm/mx86-out.o: asm/mx86unix.cpp
56         $(CPP) -DOUT asm/mx86unix.cpp | as -o asm/mx86-out.o
57
58 # bsdi
59 asm/mx86bsdi.o: asm/mx86unix.cpp
60         $(CPP) -DBSDI asm/mx86unix.cpp | sed 's/ :/:/' | as -o asm/mx86bsdi.o
61
62 asm/mx86unix.cpp: asm/md5-586.pl ../perlasm/x86asm.pl
63         (cd asm; $(PERL) md5-586.pl cpp >mx86unix.cpp)
64
65 asm/md5-sparcv8plus.o: asm/md5-sparcv9.S
66         $(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
67                 -o asm/md5-sparcv8plus.o asm/md5-sparcv9.S
68
69 # Old GNU assembler doesn't understand V9 instructions, so we
70 # hire /usr/ccs/bin/as to do the job. Note that option is called
71 # *-gcc27, but even gcc 2>=8 users may experience similar problem
72 # if they didn't bother to upgrade GNU assembler. Such users should
73 # not choose this option, but be adviced to *remove* GNU assembler
74 # or upgrade it.
75 asm/md5-sparcv8plus-gcc27.o: asm/md5-sparcv9.S
76         $(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -E asm/md5-sparcv9.S | \
77                 /usr/ccs/bin/as -xarch=v8plus - -o asm/md5-sparcv8plus-gcc27.o
78
79 asm/md5-sparcv9.o: asm/md5-sparcv9.S
80         $(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
81                 -o asm/md5-sparcv9.o asm/md5-sparcv9.S
82
83 files:
84         $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
85
86 links:
87         @sh $(TOP)/util/point.sh Makefile.ssl Makefile
88         @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
89         @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
90         @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
91
92 install:
93         @for i in $(EXHEADER) ; \
94         do  \
95         (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
96         chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
97         done;
98
99 tags:
100         ctags $(SRC)
101
102 tests:
103
104 lint:
105         lint -DLINT $(INCLUDES) $(SRC)>fluff
106
107 depend:
108         $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
109
110 dclean:
111         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
112         mv -f Makefile.new $(MAKEFILE)
113
114 clean:
115         rm -f asm/mx86unix.cpp asm/*-elf.* *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
116
117 # DO NOT DELETE THIS LINE -- make depend depends on it.
118
119 md5_dgst.o: ../../include/openssl/e_os2.h ../../include/openssl/md5.h
120 md5_dgst.o: ../../include/openssl/opensslconf.h
121 md5_dgst.o: ../../include/openssl/opensslv.h ../md32_common.h md5_dgst.c
122 md5_dgst.o: md5_locl.h
123 md5_one.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
124 md5_one.o: ../../include/openssl/md5.h ../../include/openssl/opensslconf.h
125 md5_one.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
126 md5_one.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
127 md5_one.o: ../../include/openssl/symhacks.h md5_one.c