Unified targets for ELF assembler modules. Tested on Linux, Solaris and
[openssl.git] / crypto / rc5 / Makefile.ssl
1 #
2 # SSLeay/crypto/rc5/Makefile
3 #
4
5 DIR=    rc5
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 RC5_ENC=                rc5_enc.o
21 # or use
22 #DES_ENC=       r586-elf.o
23
24 CFLAGS= $(INCLUDES) $(CFLAG)
25
26 GENERAL=Makefile
27 TEST=rc5test.c
28 APPS=
29
30 LIB=$(TOP)/libcrypto.a
31 LIBSRC=rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c 
32 LIBOBJ=rc5_skey.o rc5_ecb.o $(RC5_ENC) rc5cfb64.o rc5ofb64.o
33
34 SRC= $(LIBSRC)
35
36 EXHEADER= rc5.h
37 HEADER= rc5_locl.h $(EXHEADER)
38
39 ALL=    $(GENERAL) $(SRC) $(HEADER)
40
41 top:
42         (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
43
44 all:    lib
45
46 lib:    $(LIBOBJ)
47         $(AR) $(LIB) $(LIBOBJ)
48         $(RANLIB) $(LIB) || echo Never mind.
49         @touch lib
50
51 # elf
52 asm/r586-elf.s: asm/rc5-586.pl ../perlasm/x86asm.pl ../perlasm/cbc.pl
53         (cd asm; $(PERL) rc5-586.pl elf $(CFLAGS) > r586-elf.s)
54
55 # a.out
56 asm/r586-out.o: asm/r586unix.cpp
57         $(CPP) -DOUT asm/r586unix.cpp | as -o asm/r586-out.o
58
59 # bsdi
60 asm/r586bsdi.o: asm/r586unix.cpp
61         $(CPP) -DBSDI asm/r586unix.cpp | sed 's/ :/:/' | as -o asm/r586bsdi.o
62
63 asm/r586unix.cpp: asm/rc5-586.pl ../perlasm/x86asm.pl ../perlasm/cbc.pl
64         (cd asm; $(PERL) rc5-586.pl cpp >r586unix.cpp)
65
66 files:
67         $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
68
69 links:
70         @$(TOP)/util/point.sh Makefile.ssl Makefile
71         @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
72         @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
73         @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
74
75 install:
76         @for i in $(EXHEADER) ; \
77         do  \
78         (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
79         chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
80         done;
81
82 tags:
83         ctags $(SRC)
84
85 tests:
86
87 lint:
88         lint -DLINT $(INCLUDES) $(SRC)>fluff
89
90 depend:
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 asm/r586unix.cpp asm/*-elf.* *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
99
100 # DO NOT DELETE THIS LINE -- make depend depends on it.
101
102 rc5_ecb.o: ../../include/openssl/opensslv.h ../../include/openssl/rc5.h
103 rc5_ecb.o: rc5_ecb.c rc5_locl.h
104 rc5_enc.o: ../../include/openssl/rc5.h rc5_enc.c rc5_locl.h
105 rc5_skey.o: ../../include/openssl/rc5.h rc5_locl.h rc5_skey.c
106 rc5cfb64.o: ../../include/openssl/rc5.h rc5_locl.h rc5cfb64.c
107 rc5ofb64.o: ../../include/openssl/rc5.h rc5_locl.h rc5ofb64.c