195 lines
7.2 KiB
Makefile
195 lines
7.2 KiB
Makefile
#
|
|
# SSLeay/fips/Makefile
|
|
#
|
|
|
|
DIR= fips
|
|
TOP= ..
|
|
CC= cc
|
|
INCLUDE= -I. -I$(TOP) -I../include
|
|
INCLUDES= -I.. -I../.. -I../../include
|
|
CFLAG= -g
|
|
INSTALL_PREFIX=
|
|
OPENSSLDIR= /usr/local/ssl
|
|
INSTALLTOP= /usr/local/ssl
|
|
MAKEDEPPROG= makedepend
|
|
MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
|
|
MAKEFILE= Makefile
|
|
RM= rm -f
|
|
AR= ar r
|
|
|
|
PEX_LIBS=
|
|
EX_LIBS=
|
|
|
|
CFLAGS= $(INCLUDE) $(CFLAG)
|
|
|
|
|
|
LIBS=
|
|
|
|
FDIRS=sha1 rand des aes dsa rsa
|
|
|
|
GENERAL=Makefile README fips-lib.com install.com
|
|
|
|
LIB= $(TOP)/libcrypto.a
|
|
SHARED_LIB= libcrypto$(SHLIB_EXT)
|
|
LIBSRC=fips.c fips_err_wrapper.c
|
|
LIBOBJ=fips.o fips_err_wrapper.o
|
|
|
|
SRC= $(LIBSRC)
|
|
|
|
EXHEADER=fips.h
|
|
HEADER=$(EXHEADER) fips_err.h
|
|
EXE=openssl_fips_fingerprint
|
|
|
|
ALL= $(GENERAL) $(SRC) $(HEADER)
|
|
|
|
top:
|
|
@(cd ..; $(MAKE) DIRS=$(DIR) all)
|
|
|
|
all: subdirs lib check shared
|
|
|
|
check:
|
|
TOP=`pwd`/$(TOP) ./fips_check_sha1 fingerprint.sha1 $(SRC) $(HEADER)
|
|
|
|
subdirs:
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making all in fips/$$i..." && \
|
|
$(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}' SHA1_ASM_OBJ='${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; \
|
|
done;
|
|
|
|
sub_target:
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making $(TARGET) in fips/$$i..." && \
|
|
$(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}' SHA1_ASM_OBJ='${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; \
|
|
done;
|
|
|
|
files:
|
|
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making 'files' in fips/$$i..." && \
|
|
$(MAKE) PERL='${PERL}' files ); \
|
|
done;
|
|
|
|
links:
|
|
@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
|
|
@for i in $(FDIRS); do \
|
|
(cd $$i && echo "making links in fips/$$i..." && \
|
|
$(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}' SHA1_ASM_OBJ='${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 ); \
|
|
done;
|
|
|
|
lib: $(LIBOBJ)
|
|
$(AR) $(LIB) $(LIBOBJ)
|
|
$(RANLIB) $(LIB) || echo Never mind.
|
|
@touch lib
|
|
|
|
shared:
|
|
if [ -n "$(SHARED_LIBS)" ]; then \
|
|
(cd ..; $(MAKE) $(SHARED_LIB)); \
|
|
fi
|
|
|
|
libs:
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making libs in fips/$$i..." && \
|
|
$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' lib ); \
|
|
done;
|
|
|
|
tests:
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making tests in fips/$$i..." && \
|
|
$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' tests ); \
|
|
done;
|
|
|
|
top_fips_test_suite:
|
|
(cd $(TOP); $(MAKE) DIRS=fips FDIRS=. TARGET=fips_test_suite sub_target)
|
|
|
|
fips_test_suite: fips_test_suite.o $(TOP)/libcrypto.a
|
|
$(CC) $(CFLAGS) -o fips_test_suite fips_test_suite.o $(PEX_LIBS) $(TOP)/libcrypto.a $(EX_LIBS)
|
|
TOP=$(TOP) $(TOP)/fips/openssl_fips_fingerprint $(TOP)/libcrypto.a fips_test_suite || { rm fips_test_suite; false; }
|
|
|
|
fips_test: top top_fips_test_suite
|
|
cd testvectors && perl -p -i -e 's/COUNT=/COUNT = /' des[23]/req/*.req
|
|
@for i in dsa sha1 aes des ; \
|
|
do \
|
|
(cd $$i && echo "making fips_test in fips/$$i..." && make fips_test) \
|
|
done;
|
|
|
|
install:
|
|
@for i in $(EXHEADER) ;\
|
|
do \
|
|
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
|
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
|
done;
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making install in fips/$$i..." && \
|
|
$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' install ); \
|
|
done;
|
|
@for i in $(EXE) ; \
|
|
do \
|
|
echo "installing $$i"; \
|
|
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
|
|
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
|
|
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i; \
|
|
done
|
|
|
|
lint:
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making lint in fips/$$i..." && \
|
|
$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' lint ); \
|
|
done;
|
|
|
|
depend:
|
|
if [ ! -f buildinf.h ]; then touch buildinf.h; fi # fake buildinf.h if it does not exist
|
|
$(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(SRC)
|
|
if [ ! -s buildinf.h ]; then rm buildinf.h; fi
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making depend in fips/$$i..." && \
|
|
$(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' depend ); \
|
|
done;
|
|
|
|
clean:
|
|
rm -f buildinf.h *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making clean in fips/$$i..." && \
|
|
$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' clean ); \
|
|
done;
|
|
|
|
dclean:
|
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
|
mv -f Makefile.new $(MAKEFILE)
|
|
@for i in $(FDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making dclean in fips/$$i..." && \
|
|
$(MAKE) PERL='${PERL}' CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' dclean ); \
|
|
done;
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
|
|
fips.o: ../include/openssl/aes.h ../include/openssl/asn1.h
|
|
fips.o: ../include/openssl/bio.h ../include/openssl/blowfish.h
|
|
fips.o: ../include/openssl/bn.h ../include/openssl/cast.h
|
|
fips.o: ../include/openssl/crypto.h ../include/openssl/des.h
|
|
fips.o: ../include/openssl/des_old.h ../include/openssl/dh.h
|
|
fips.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
|
|
fips.o: ../include/openssl/err.h ../include/openssl/evp.h
|
|
fips.o: ../include/openssl/fips.h ../include/openssl/fips_rand.h
|
|
fips.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
|
fips.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
|
fips.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
|
fips.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
|
fips.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
|
fips.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
|
|
fips.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
|
fips.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
|
fips.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
|
fips.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
|
fips.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
|
|
fips.o: ../include/openssl/ui_compat.h fips.c fips_locl.h
|
|
fips_err_wrapper.o: ../include/openssl/opensslconf.h fips_err_wrapper.c
|