Makefile 3.3 KB
Newer Older
1 2 3 4 5 6 7 8
#
# SSLeay/crypto/md5/Makefile
#

DIR=    md5
TOP=    ../..
CC=     cc
CPP=    $(CC) -E
9
INCLUDES=-I.. -I$(TOP) -I../../include
10
CFLAG=-g
11 12
INSTALL_PREFIX=
OPENSSLDIR=     /usr/local/ssl
13
INSTALLTOP=/usr/local/ssl
B
Ben Laurie 已提交
14
MAKE=           make
15 16
MAKEDEPPROG=	makedepend
MAKEDEPEND=	$(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
B
Ben Laurie 已提交
17
MAKEFILE=       Makefile
18 19 20 21 22
AR=             ar r

MD5_ASM_OBJ=

CFLAGS= $(INCLUDES) $(CFLAG)
23
ASFLAGS= $(INCLUDES) $(ASFLAG)
24
AFLAGS= $(ASFLAGS)
25

26 27
GENERAL=Makefile
TEST=md5test.c
28
APPS=
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

LIB=$(TOP)/libcrypto.a
LIBSRC=md5_dgst.c md5_one.c
LIBOBJ=md5_dgst.o md5_one.o $(MD5_ASM_OBJ)

SRC= $(LIBSRC)

EXHEADER= md5.h
HEADER= md5_locl.h $(EXHEADER)

ALL=    $(GENERAL) $(SRC) $(HEADER)

top:
	(cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)

all:    lib

lib:    $(LIBOBJ)
	$(AR) $(LIB) $(LIBOBJ)
48
	$(RANLIB) $(LIB) || echo Never mind.
49 50
	@touch lib

51
# ELF
52
mx86-elf.s: asm/md5-586.pl ../perlasm/x86asm.pl
53 54
	(cd asm; $(PERL) md5-586.pl elf $(CFLAGS) > ../$@)
# COFF
55
mx86-cof.s: asm/md5-586.pl ../perlasm/x86asm.pl
56
	(cd asm; $(PERL) md5-586.pl coff $(CFLAGS) > ../$@)
57
# a.out
58 59
mx86-out.s: asm/md5-586.pl ../perlasm/x86asm.pl
	(cd asm; $(PERL) md5-586.pl a.out $(CFLAGS) > ../$@)
60

61
md5-sparcv8plus.o: asm/md5-sparcv9.S
A
Andy Polyakov 已提交
62
	$(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
63
		-o md5-sparcv8plus.o asm/md5-sparcv9.S
U
Ulf Möller 已提交
64

A
Andy Polyakov 已提交
65 66 67 68 69 70
# Old GNU assembler doesn't understand V9 instructions, so we
# hire /usr/ccs/bin/as to do the job. Note that option is called
# *-gcc27, but even gcc 2>=8 users may experience similar problem
# if they didn't bother to upgrade GNU assembler. Such users should
# not choose this option, but be adviced to *remove* GNU assembler
# or upgrade it.
71
md5-sparcv8plus-gcc27.o: asm/md5-sparcv9.S
A
Andy Polyakov 已提交
72
	$(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -E asm/md5-sparcv9.S | \
73
		/usr/ccs/bin/as -xarch=v8plus - -o md5-sparcv8plus-gcc27.o
A
Andy Polyakov 已提交
74

75
md5-sparcv9.o: asm/md5-sparcv9.S
A
Andy Polyakov 已提交
76
	$(CC) $(ASFLAGS) -DMD5_BLOCK_DATA_ORDER -c \
77
		-o md5-sparcv9.o asm/md5-sparcv9.S
U
Ulf Möller 已提交
78

79 80
md5-x86_64.s:	asm/md5-x86_64.pl;	$(PERL) asm/md5-x86_64.pl $@

81
files:
B
Ben Laurie 已提交
82
	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
83 84

links:
85 86 87
	@$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
	@$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
	@$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
88 89

install:
90
	@headerlist="$(EXHEADER)"; for i in $$headerlist ; \
91
	do  \
92 93
	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
94 95 96 97 98 99 100 101 102 103 104
	done;

tags:
	ctags $(SRC)

tests:

lint:
	lint -DLINT $(INCLUDES) $(SRC)>fluff

depend:
105
	$(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
106 107

dclean:
108
	$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
109 110 111
	mv -f Makefile.new $(MAKEFILE)

clean:
112
	rm -f *.s *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
113 114

# DO NOT DELETE THIS LINE -- make depend depends on it.
B
Ben Laurie 已提交
115

R
Richard Levitte 已提交
116 117
md5_dgst.o: ../../include/openssl/e_os2.h ../../include/openssl/md5.h
md5_dgst.o: ../../include/openssl/opensslconf.h
R
Richard Levitte 已提交
118 119
md5_dgst.o: ../../include/openssl/opensslv.h ../md32_common.h md5_dgst.c
md5_dgst.o: md5_locl.h
R
Richard Levitte 已提交
120 121
md5_one.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
md5_one.o: ../../include/openssl/md5.h ../../include/openssl/opensslconf.h
122 123 124
md5_one.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
md5_one.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
md5_one.o: ../../include/openssl/symhacks.h md5_one.c