Unified targets for ELF assembler modules. Tested on Linux, Solaris and
[openssl.git] / crypto / sha / Makefile.ssl
1 #
2 # SSLeay/crypto/sha/Makefile
3 #
4
5 DIR=    sha
6 TOP=    ../..
7 CC=     cc
8 CPP=    $(CC) -E
9 INCLUDES=
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 SHA1_ASM_OBJ=
21
22 CFLAGS= $(INCLUDES) $(CFLAG)
23
24 GENERAL=Makefile
25 TEST=shatest.c sha1test.c
26 APPS=
27
28 LIB=$(TOP)/libcrypto.a
29 LIBSRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c
30 LIBOBJ=sha_dgst.o sha1dgst.o sha_one.o sha1_one.o $(SHA1_ASM_OBJ)
31
32 SRC= $(LIBSRC)
33
34 EXHEADER= sha.h
35 HEADER= sha_locl.h $(EXHEADER)
36
37 ALL=    $(GENERAL) $(SRC) $(HEADER)
38
39 top:
40         (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
41
42 all:    lib
43
44 lib:    $(LIBOBJ)
45         $(AR) $(LIB) $(LIBOBJ)
46         $(RANLIB) $(LIB) || echo Never mind.
47         @touch lib
48
49 # elf
50 asm/sx86-elf.s: asm/sha1-586.pl ../perlasm/x86asm.pl
51         (cd asm; $(PERL) sha1-586.pl elf $(CFLAGS) $(PROCESSOR) > sx86-elf.s)
52
53 # a.out
54 asm/sx86-out.o: asm/sx86unix.cpp
55         $(CPP) -DOUT asm/sx86unix.cpp | as -o asm/sx86-out.o
56
57 # bsdi
58 asm/sx86bsdi.o: asm/sx86unix.cpp
59         $(CPP) -DBSDI asm/sx86unix.cpp | sed 's/ :/:/' | as -o asm/sx86bsdi.o
60
61 asm/sx86unix.cpp: asm/sha1-586.pl ../perlasm/x86asm.pl
62         (cd asm; $(PERL) sha1-586.pl cpp $(PROCESSOR) >sx86unix.cpp)
63
64 files:
65         $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
66
67 links:
68         @$(TOP)/util/point.sh Makefile.ssl Makefile
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         @for i in $(EXHEADER) ; \
75         do  \
76         (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
77         chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
78         done;
79
80 tags:
81         ctags $(SRC)
82
83 tests:
84
85 lint:
86         lint -DLINT $(INCLUDES) $(SRC)>fluff
87
88 depend:
89         $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
90
91 dclean:
92         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
93         mv -f Makefile.new $(MAKEFILE)
94
95 clean:
96         rm -f asm/sx86unix.cpp asm/*-elf.* *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff asm/*.o
97
98 # DO NOT DELETE THIS LINE -- make depend depends on it.
99
100 sha1_one.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
101 sha1_one.o: ../../include/openssl/opensslconf.h
102 sha1_one.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
103 sha1_one.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
104 sha1_one.o: ../../include/openssl/symhacks.h sha1_one.c
105 sha1dgst.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
106 sha1dgst.o: ../../include/openssl/opensslv.h ../../include/openssl/sha.h
107 sha1dgst.o: ../md32_common.h sha1dgst.c sha_locl.h
108 sha_dgst.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
109 sha_dgst.o: ../../include/openssl/opensslv.h ../../include/openssl/sha.h
110 sha_dgst.o: ../md32_common.h sha_dgst.c sha_locl.h
111 sha_one.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
112 sha_one.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
113 sha_one.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
114 sha_one.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
115 sha_one.o: sha_one.c