9cb45e4b51df7ca5e57ed74d7e92bd601deb2a09
[openssl.git] / crypto / Makefile.ssl
1 #
2 # SSLeay/crypto/Makefile
3 #
4
5 DIR=            crypto
6 TOP=            ..
7 CC=             cc
8 INCLUDE=        -I. -I../include
9 INCLUDES=       -I.. -I../../include
10 CFLAG=          -g
11 INSTALLTOP=     /usr/local/ssl
12 MAKE=           make -f Makefile.ssl
13 MAKEDEPEND=     makedepend -f Makefile.ssl
14 MAKEFILE=       Makefile.ssl
15 RM=             /bin/rm -f
16 AR=             ar r
17
18 MAKE=           make -f Makefile.ssl
19 MAKEDEPEND=     makedepend -f Makefile.ssl
20 MAKEFILE=       Makefile.ssl
21
22 PEX_LIBS=
23 EX_LIBS=
24  
25 CFLAGS= $(INCLUDE) $(CFLAG) -DCFLAGS=" \"$(CC) $(CFLAG)\" "
26
27 LIBS=
28
29 SDIRS=  md sha mdc2 \
30         des rc4 rc2 idea bf \
31         bn rsa dsa dh \
32         buffer bio stack lhash rand err objects \
33         evp pem x509 \
34         asn1 conf txt_db pkcs7
35
36 GENERAL=Makefile README
37
38 LIB= $(TOP)/libcrypto.a
39 LIBSRC= cryptlib.c mem.c cversion.c
40 LIBOBJ= cryptlib.o mem.o cversion.o
41
42 SRC= $(LIBSRC)
43
44 EXHEADER= crypto.h cryptall.h
45 HEADER= cryptlib.h date.h $(EXHEADER)
46
47 ALL=    $(GENERAL) $(SRC) $(HEADER)
48
49 top:
50         @(cd ..; $(MAKE) DIRS=$(DIR) all)
51
52 all: date.h lib subdirs
53
54 date.h: ../Makefile.ssl ../VERSION
55         echo "#define DATE      \"`date`\"" >date.h
56
57 subdirs:
58         @for i in $(SDIRS) ;\
59         do \
60         (cd $$i; echo "making all in $$i..."; \
61         $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' AR='${AR}' all ); \
62         done;
63
64 files:
65         perl $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
66         @for i in $(SDIRS) ;\
67         do \
68         (cd $$i; echo "making 'files' in $$i..."; \
69         $(MAKE) files ); \
70         done;
71
72 links:
73         /bin/rm -f Makefile 
74         $(TOP)/util/point.sh Makefile.ssl Makefile ;
75         $(TOP)/util/mklink.sh ../include $(EXHEADER) ;
76         $(TOP)/util/mklink.sh ../test $(TEST) ;
77         $(TOP)/util/mklink.sh ../apps $(APPS) ;
78         $(TOP)/util/point.sh Makefile.ssl Makefile;
79         @for i in $(SDIRS) ;\
80         do \
81         (cd $$i; echo "making links in $$i..."; \
82         $(MAKE) links ); \
83         done;
84
85 lib:    $(LIBOBJ)
86         $(AR) $(LIB) $(LIBOBJ)
87         sh $(TOP)/util/ranlib.sh $(LIB)
88         @touch lib
89
90 libs:
91         @for i in $(SDIRS) ;\
92         do \
93         (cd $$i; echo "making libs in $$i..."; \
94         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' lib ); \
95         done;
96
97 tests:
98         @for i in $(SDIRS) ;\
99         do \
100         (cd $$i; echo "making tests in $$i..."; \
101         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' tests ); \
102         done;
103
104 install:
105         @for i in $(EXHEADER) ;\
106         do \
107         (cp $$i $(INSTALLTOP)/include/$$i; \
108         chmod 644 $(INSTALLTOP)/include/$$i ); \
109         done;
110         @for i in $(SDIRS) ;\
111         do \
112         (cd $$i; echo "making install in $$i..."; \
113         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' install ); \
114         done;
115
116 lint:
117         @for i in $(SDIRS) ;\
118         do \
119         (cd $$i; echo "making lint in $$i..."; \
120         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' lint ); \
121         done;
122
123 depend:
124         $(MAKEDEPEND) $(INCLUDE) $(PROGS) $(LIBSRC)
125         @for i in $(SDIRS) ;\
126         do \
127         (cd $$i; echo "making depend in $$i..."; \
128         $(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' MAKEDEPEND='${MAKEDEPEND}' depend ); \
129         done;
130
131 clean:
132         /bin/rm -f *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
133         @for i in $(SDIRS) ;\
134         do \
135         (cd $$i; echo "making clean in $$i..."; \
136         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' clean ); \
137         done;
138
139 dclean:
140         perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
141         mv -f Makefile.new $(MAKEFILE)
142         @for i in $(SDIRS) ;\
143         do \
144         (cd $$i; echo "making dclean in $$i..."; \
145         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' dclean ); \
146         done;
147
148 errors:
149         perl ./err/err_code.pl */*.c ../ssl/*.c ../rsaref/*.c
150         @for i in $(SDIRS) ;\
151         do \
152         (cd $$i; echo "making errors in $$i..."; \
153         $(MAKE) errors ); \
154         done;
155
156 # DO NOT DELETE THIS LINE -- make depend depends on it.