Unified targets for ELF assembler modules. Tested on Linux, Solaris and
[openssl.git] / crypto / bf / Makefile.ssl
1 #
2 # SSLeay/crypto/blowfish/Makefile
3 #
4
5 DIR=    bf
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 BF_ENC=         bf_enc.o
21 # or use
22 #DES_ENC=       bx86-elf.o
23
24 CFLAGS= $(INCLUDES) $(CFLAG)
25
26 GENERAL=Makefile
27 TEST=bftest.c
28 APPS=
29
30 LIB=$(TOP)/libcrypto.a
31 LIBSRC=bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c 
32 LIBOBJ=bf_skey.o bf_ecb.o $(BF_ENC) bf_cfb64.o bf_ofb64.o
33
34 SRC= $(LIBSRC)
35
36 EXHEADER= blowfish.h
37 HEADER= bf_pi.h bf_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/bx86-elf.s: asm/bf-586.pl ../perlasm/x86asm.pl ../perlasm/cbc.pl
53         (cd asm; $(PERL) bf-586.pl elf $(CFLAGS) $(PROCESSOR) > bx86-elf.s)
54
55 # a.out
56 asm/bx86-out.o: asm/bx86unix.cpp
57         $(CPP) -DOUT asm/bx86unix.cpp | as -o asm/bx86-out.o
58
59 # bsdi
60 asm/bx86bsdi.o: asm/bx86unix.cpp
61         $(CPP) -DBSDI asm/bx86unix.cpp | sed 's/ :/:/' | as -o asm/bx86bsdi.o
62
63 asm/bx86unix.cpp: asm/bf-586.pl ../perlasm/x86asm.pl ../perlasm/cbc.pl
64         (cd asm; $(PERL) bf-586.pl cpp $(PROCESSOR) >bx86unix.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: installs
76
77 installs:
78         @for i in $(EXHEADER) ; \
79         do  \
80         (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
81         chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
82         done;
83
84 tags:
85         ctags $(SRC)
86
87 tests:
88
89 lint:
90         lint -DLINT $(INCLUDES) $(SRC)>fluff
91
92 depend:
93         $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
94
95 dclean:
96         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
97         mv -f Makefile.new $(MAKEFILE)
98
99 clean:
100         rm -f asm/bx86unix.cpp asm/*-elf.* *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
101
102 # DO NOT DELETE THIS LINE -- make depend depends on it.
103
104 bf_cfb64.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
105 bf_cfb64.o: ../../include/openssl/opensslconf.h bf_cfb64.c bf_locl.h
106 bf_ecb.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
107 bf_ecb.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
108 bf_ecb.o: bf_ecb.c bf_locl.h
109 bf_enc.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
110 bf_enc.o: ../../include/openssl/opensslconf.h bf_enc.c bf_locl.h
111 bf_ofb64.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
112 bf_ofb64.o: ../../include/openssl/opensslconf.h bf_locl.h bf_ofb64.c
113 bf_skey.o: ../../include/openssl/blowfish.h ../../include/openssl/e_os2.h
114 bf_skey.o: ../../include/openssl/opensslconf.h bf_locl.h bf_pi.h bf_skey.c