Add OpenSSL 0.9.7e.
[dragonfly.git] / crypto / openssl-0.9.7e / fips / Makefile
1 #
2 # SSLeay/fips/Makefile
3 #
4
5 DIR=            fips
6 TOP=            ..
7 CC=             cc
8 INCLUDE=        -I. -I$(TOP) -I../include
9 INCLUDES=       -I.. -I../.. -I../../include
10 CFLAG=          -g
11 INSTALL_PREFIX=
12 OPENSSLDIR=     /usr/local/ssl
13 INSTALLTOP=     /usr/local/ssl
14 MAKEDEPPROG=    makedepend
15 MAKEDEPEND=     $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
16 MAKEFILE=       Makefile
17 RM=             rm -f
18 AR=             ar r
19
20 PEX_LIBS=
21 EX_LIBS=
22
23 CFLAGS= $(INCLUDE) $(CFLAG)
24
25
26 LIBS=
27
28 FDIRS=sha1 rand des aes dsa rsa dh
29
30 GENERAL=Makefile README fips-lib.com install.com
31
32 LIB= $(TOP)/libcrypto.a
33 SHARED_LIB= libcrypto$(SHLIB_EXT)
34 LIBSRC=fips.c fips_err_wrapper.c
35 LIBOBJ=fips.o fips_err_wrapper.o
36
37 SRC= $(LIBSRC)
38
39 EXHEADER=fips.h
40 HEADER=$(EXHEADER) fips_err.h
41 EXE=openssl_fips_fingerprint
42
43 ALL=    $(GENERAL) $(SRC) $(HEADER)
44
45 top:
46         @(cd ..; $(MAKE) DIRS=$(DIR) all)
47
48 all: subdirs lib check shared
49
50 check:
51         TOP=`pwd`/$(TOP) ./fips_check_sha1 fingerprint.sha1 $(SRC) $(HEADER)
52
53 subdirs:
54         @for i in $(FDIRS) ;\
55         do \
56         (cd $$i && echo "making all in fips/$$i..." && \
57         $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' FIPS_DES_ENC='${FIPS_DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' FIPS_SHA1_ASM_OBJ='${FIPS_SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \
58         done;
59
60 sub_target:
61         @for i in $(FDIRS) ;\
62         do \
63         (cd $$i && echo "making $(TARGET) in fips/$$i..." && \
64         $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' FIPS_DES_ENC='${FIPS_DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' FIPS_SHA1_ASM_OBJ='${FIPS_SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' $(TARGET) ) || exit 1; \
65         done;
66
67 files:
68         $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
69         @for i in $(FDIRS) ;\
70         do \
71         (cd $$i && echo "making 'files' in fips/$$i..." && \
72         $(MAKE) PERL='${PERL}' files ); \
73         done;
74
75 links:
76         @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
77         @for i in $(FDIRS); do \
78         (cd $$i && echo "making links in fips/$$i..." && \
79         $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' FIPS_DES_ENC='${FIPS_DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' FIPS_SHA1_ASM_OBJ='${FIPS_SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PERL='${PERL}' links ); \
80         done;
81
82 lib:    $(LIBOBJ)
83         $(AR) $(LIB) $(LIBOBJ)
84         $(RANLIB) $(LIB) || echo Never mind.
85         @touch lib
86
87 shared:
88         if [ -n "$(SHARED_LIBS)" ]; then \
89                 (cd ..; $(MAKE) $(SHARED_LIB)); \
90         fi
91
92 libs:
93         @for i in $(FDIRS) ;\
94         do \
95         (cd $$i && echo "making libs in fips/$$i..." && \
96         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' lib ); \
97         done;
98
99 tests:
100         @for i in $(FDIRS) ;\
101         do \
102         (cd $$i && echo "making tests in fips/$$i..." && \
103         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' tests ); \
104         done;
105
106 top_fips_test_suite:
107         (cd $(TOP); $(MAKE) DIRS=fips FDIRS=. TARGET=fips_test_suite sub_target)
108
109 fips_test_suite: fips_test_suite.o $(TOP)/libcrypto.a
110         $(CC) $(CFLAGS) -o fips_test_suite fips_test_suite.o $(PEX_LIBS) $(TOP)/libcrypto.a $(EX_LIBS)
111         TOP=$(TOP) $(TOP)/fips/openssl_fips_fingerprint $(TOP)/libcrypto.a fips_test_suite || { rm fips_test_suite; false; }
112
113 fips_test: top top_fips_test_suite
114         cd testvectors && perl -p -i -e 's/COUNT=/COUNT = /' des[23]/req/*.req
115         @for i in dsa sha1 aes des ; \
116         do \
117                 (cd $$i && echo "making fips_test in fips/$$i..." && $(MAKE) fips_test) \
118         done;
119
120 install:
121         @for i in $(EXHEADER) ;\
122         do \
123                 (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
124                 chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
125         done;
126         @for i in $(FDIRS) ;\
127         do \
128                 (cd $$i && echo "making install in fips/$$i..." && \
129                 $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}'  INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' install ); \
130         done;
131         @for i in $(EXE) ; \
132         do \
133                 echo "installing $$i"; \
134                 cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
135                 chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
136                 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i; \
137         done
138
139 lint:
140         @for i in $(FDIRS) ;\
141         do \
142         (cd $$i && echo "making lint in fips/$$i..." && \
143         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' lint ); \
144         done;
145
146 depend:
147         if [ ! -f buildinf.h ]; then touch buildinf.h; fi # fake buildinf.h if it does not exist
148         $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(SRC)
149         if [ ! -s buildinf.h ]; then rm buildinf.h; fi
150         @for i in $(FDIRS) ;\
151         do \
152         (cd $$i && echo "making depend in fips/$$i..." && \
153         $(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' depend ); \
154         done;
155
156 clean:
157         rm -f buildinf.h *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
158         @for i in $(FDIRS) ;\
159         do \
160         (cd $$i && echo "making clean in fips/$$i..." && \
161         $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' clean ); \
162         done;
163
164 dclean:
165         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
166         mv -f Makefile.new $(MAKEFILE)
167         @for i in $(FDIRS) ;\
168         do \
169         (cd $$i && echo "making dclean in fips/$$i..." && \
170         $(MAKE) PERL='${PERL}' CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' dclean ); \
171         done;
172
173 # DO NOT DELETE THIS LINE -- make depend depends on it.
174
175 fips.o: ../include/openssl/aes.h ../include/openssl/asn1.h
176 fips.o: ../include/openssl/bio.h ../include/openssl/blowfish.h
177 fips.o: ../include/openssl/bn.h ../include/openssl/cast.h
178 fips.o: ../include/openssl/crypto.h ../include/openssl/des.h
179 fips.o: ../include/openssl/des_old.h ../include/openssl/dh.h
180 fips.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
181 fips.o: ../include/openssl/err.h ../include/openssl/evp.h
182 fips.o: ../include/openssl/fips.h ../include/openssl/fips_rand.h
183 fips.o: ../include/openssl/hmac.h ../include/openssl/idea.h
184 fips.o: ../include/openssl/lhash.h ../include/openssl/md2.h
185 fips.o: ../include/openssl/md4.h ../include/openssl/md5.h
186 fips.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
187 fips.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
188 fips.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
189 fips.o: ../include/openssl/rand.h ../include/openssl/rc2.h
190 fips.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
191 fips.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
192 fips.o: ../include/openssl/safestack.h ../include/openssl/sha.h
193 fips.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
194 fips.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h fips.c
195 fips.o: fips_locl.h
196 fips_err_wrapper.o: ../include/openssl/opensslconf.h fips_err_wrapper.c