Put quick DRBG selftest return after first generate operation.
[openssl.git] / fips / Makefile
index 6d4c27fd1bda09127b8f2bffbc284513dcdee2f6..23191d40c8c62aea9dba501d0bbd2328b03816f9 100644 (file)
@@ -35,23 +35,23 @@ AFLAGS=$(ASFLAGS)
 
 LIBS=
 
-FDIRS=sha rand des aes dsa rsa dh hmac utl
+FDIRS=sha rand des aes dsa ecdh ecdsa rsa dh cmac hmac utl
 
 GENERAL=Makefile README fips-lib.com install.com
 
 LIB= $(TOP)/libcrypto.a
 SHARED_LIB= $(FIPSCANLIB)$(SHLIB_EXT)
-LIBSRC=fips.c 
-LIBOBJ=fips.o
+LIBSRC=fips.c fips_post.c
+LIBOBJ=fips.o fips_post.o
 
 FIPS_OBJ_LISTS=sha/lib hmac/lib rand/lib des/lib aes/lib dsa/lib rsa/lib \
-               dh/lib utl/lib
+               dh/lib utl/lib ecdsa/lib cmac/lib
 
 SRC= $(LIBSRC)
 
-EXHEADER=fips.h
+EXHEADER=fips.h fipssyms.h
 HEADER=$(EXHEADER) fips_utl.h fips_locl.h
-EXE=fipsld
+EXE=fipsld fips_standalone_sha1
 
 ALL=    $(GENERAL) $(SRC) $(HEADER)
 
@@ -62,7 +62,9 @@ testapps:
        @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
 
 all:
-       @if [ -z "$(FIPSLIBDIR)" ]; then \
+       @if [ -n "$(FIPSCANISTERONLY)" ]; then \
+               $(MAKE) -e subdirs lib ; \
+       elif [ -z "$(FIPSLIBDIR)" ]; then \
                $(MAKE) -e subdirs lib fips_premain_dso$(EXE_EXT); \
        else  \
                $(MAKE) -e lib fips_premain_dso$(EXE_EXT) fips_standalone_sha1$(EXE_EXT); \
@@ -90,11 +92,8 @@ fipscanister.o: fips_start.o $(LIBOBJ) $(FIPS_OBJ_LISTS) fips_end.o
        list="$(DES_ENC)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/des/$$i" ; done; \
        list="$(SHA1_ASM_OBJ)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/sha/$$i" ; done; \
        list="$(MODES_ASM_OBJ)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/modes/$$i" ; done; \
-       if [ -n "$(CPUID_OBJ)" ]; then \
-               CPUID=../crypto/$(CPUID_OBJ) ; \
-       else \
-               CPUID="" ; \
-       fi ; \
+       CPUID=""; \
+       list="$(CPUID_OBJ)"; for i in $$list; do CPUID="$$CPUID ../crypto/$$i" ; done; \
        objs="fips_start.o $(LIBOBJ) $(FIPS_EX_OBJ) $$CPUID $$FIPS_ASM"; \
        for i in $(FIPS_OBJ_LISTS); do \
                dir=`dirname $$i`; script="s|^|$$dir/|;s| | $$dir/|g"; \
@@ -102,14 +101,16 @@ fipscanister.o: fips_start.o $(LIBOBJ) $(FIPS_OBJ_LISTS) fips_end.o
        done; \
        objs="$$objs fips_end.o" ; \
        os="`(uname -s) 2>/dev/null`"; cflags="$(CFLAGS)"; \
-       [ "$$os" = "AIX" ] && cflags="$$cflags -Wl,-bnoobjreorder"; \
+       case "$$os" in \
+               AIX)    cflags="$$cflags -Wl,-bnoobjreorder" ;; \
+               HP-UX)  cflags="$$cflags -Wl,+sectionmerge"  ;; \
+       esac; \
        if [ -n "${FIPS_SITE_LD}" ]; then \
                set -x; ${FIPS_SITE_LD} -r -o $@ $$objs; \
        elif $(CC) -dumpversion >/dev/null 2>&1; then \
                set -x; $(CC) $$cflags -r -nostdlib -o $@ $$objs ; \
-               echo OBJS $$objs >/tmp/objs.txt ; \
        else case "$$os" in \
-               HP-UX|OSF1|SunOS) set -x; /usr/ccs/bin/ld -r -o $@ $$objs ;; \
+               OSF1|SunOS) set -x; /usr/ccs/bin/ld -r -o $@ $$objs ;; \
                *) set -x; $(CC) $$cflags -r -o $@ $$objs ;; \
        esac fi
        ./fips_standalone_sha1$(EXE_EXT) fipscanister.o > fipscanister.o.sha1
@@ -220,14 +221,15 @@ dclean:
 
 fips.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 fips.o: ../include/openssl/crypto.h ../include/openssl/des.h
-fips.o: ../include/openssl/des_old.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/hmac.h ../include/openssl/lhash.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/rsa.h ../include/openssl/safestack.h
-fips.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-fips.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h fips.c
-fips.o: fips_locl.h
+fips.o: ../include/openssl/des_old.h ../include/openssl/dsa.h
+fips.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+fips.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+fips.o: ../include/openssl/evp.h ../include/openssl/fips.h
+fips.o: ../include/openssl/fips_rand.h ../include/openssl/hmac.h
+fips.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+fips.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+fips.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+fips.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+fips.o: ../include/openssl/safestack.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