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