2004-05-11 12:46:24 +00:00
#
# 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 =
2004-06-19 13:15:35 +00:00
FDIRS = sha1 rand des aes dsa rsa dh
2004-05-11 12:46:24 +00:00
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}' 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; \
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}' 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; \
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}' 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 ) ; \
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 /asn 1.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_os 2.h
fips.o : ../include /openssl /err .h ../include /openssl /evp .h
fips.o : ../include /openssl /fips .h ../include /openssl /fips_rand .h
2004-06-19 13:15:35 +00:00
fips.o : ../include /openssl /hmac .h ../include /openssl /lhash .h
fips.o : ../include /openssl /md 2.h ../include /openssl /md 4.h
fips.o : ../include /openssl /md 5.h ../include /openssl /mdc 2.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 /rc 2.h ../include /openssl /rc 4.h
fips.o : ../include /openssl /rc 5.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
2004-05-11 12:46:24 +00:00
fips_err_wrapper.o : ../include /openssl /bio .h ../include /openssl /crypto .h
fips_err_wrapper.o : ../include /openssl /e_os 2.h ../include /openssl /err .h
fips_err_wrapper.o : ../include /openssl /fips .h ../include /openssl /lhash .h
fips_err_wrapper.o : ../include /openssl /opensslconf .h
fips_err_wrapper.o : ../include /openssl /opensslv .h
fips_err_wrapper.o : ../include /openssl /safestack .h ../include /openssl /stack .h
fips_err_wrapper.o : ../include /openssl /symhacks .h fips_err .h fips_err_wrapper .c