Unify sparcv9 assembler naming and build rules among 32- and 64-bit builds.
[openssl.git] / crypto / md5 / Makefile
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 MAKEFILE=       Makefile
12 AR=             ar r
13
14 MD5_ASM_OBJ=
15
16 CFLAGS= $(INCLUDES) $(CFLAG)
17 ASFLAGS= $(INCLUDES) $(ASFLAG)
18 AFLAGS= $(ASFLAGS)
19
20 GENERAL=Makefile
21 TEST=md5test.c
22 APPS=
23
24 LIB=$(TOP)/libcrypto.a
25 LIBSRC=md5_dgst.c md5_one.c
26 LIBOBJ=md5_dgst.o md5_one.o $(MD5_ASM_OBJ)
27
28 SRC= $(LIBSRC)
29
30 EXHEADER= md5.h
31 HEADER= md5_locl.h $(EXHEADER)
32
33 ALL=    $(GENERAL) $(SRC) $(HEADER)
34
35 top:
36         (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
37
38 all:    lib
39
40 lib:    $(LIBOBJ)
41         $(AR) $(LIB) $(LIBOBJ)
42         $(RANLIB) $(LIB) || echo Never mind.
43         @touch lib
44
45 # ELF
46 mx86-elf.s: asm/md5-586.pl ../perlasm/x86asm.pl
47         (cd asm; $(PERL) md5-586.pl elf $(CFLAGS) > ../$@)
48 # COFF
49 mx86-cof.s: asm/md5-586.pl ../perlasm/x86asm.pl
50         (cd asm; $(PERL) md5-586.pl coff $(CFLAGS) > ../$@)
51 # a.out
52 mx86-out.s: asm/md5-586.pl ../perlasm/x86asm.pl
53         (cd asm; $(PERL) md5-586.pl a.out $(CFLAGS) > ../$@)
54
55 md5-sparcv9.o: asm/md5-sparcv9.S
56         $(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
57                 -o md5-sparcv9.o asm/md5-sparcv9.S
58
59 md5-x86_64.s:   asm/md5-x86_64.pl;      $(PERL) asm/md5-x86_64.pl $@
60
61 md5-ia64.s: asm/md5-ia64.S
62         $(CC) $(CFLAGS) -E asm/md5-ia64.S | \
63         $(PERL) -ne 's/;\s+/;\n/g; print;' > $@
64
65 files:
66         $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
67
68 links:
69         @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
70         @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
71         @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
72
73 install:
74         @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
75         @headerlist="$(EXHEADER)"; for i in $$headerlist ; \
76         do  \
77         (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
78         chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
79         done;
80
81 tags:
82         ctags $(SRC)
83
84 tests:
85
86 lint:
87         lint -DLINT $(INCLUDES) $(SRC)>fluff
88
89 depend:
90         @[ -n "$(MAKEDEPEND)" ] # should be set by upper Makefile...
91         $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
92
93 dclean:
94         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
95         mv -f Makefile.new $(MAKEFILE)
96
97 clean:
98         rm -f *.s *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
99
100 # DO NOT DELETE THIS LINE -- make depend depends on it.
101
102 md5_dgst.o: ../../include/openssl/e_os2.h ../../include/openssl/md5.h
103 md5_dgst.o: ../../include/openssl/opensslconf.h
104 md5_dgst.o: ../../include/openssl/opensslv.h ../md32_common.h md5_dgst.c
105 md5_dgst.o: md5_locl.h
106 md5_one.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
107 md5_one.o: ../../include/openssl/md5.h ../../include/openssl/opensslconf.h
108 md5_one.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
109 md5_one.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
110 md5_one.o: ../../include/openssl/symhacks.h md5_one.c