Fix undefined behaviour in shifts.
[openssl.git] / crypto / Makefile
index 5259aef7b431d7643f3a8f2f1af00d972ecb478d..2355661f40fa31c286c304d227a6b4aa81728382 100644 (file)
@@ -31,6 +31,7 @@ CPUID_OBJ=mem_clr.o
 LIBS=
 
 GENERAL=Makefile README crypto-lib.com install.com
+TEST=constant_time_test.c
 
 LIB= $(TOP)/libcrypto.a
 SHARED_LIB= libcrypto$(SHLIB_EXT)
@@ -43,7 +44,8 @@ SRC= $(LIBSRC)
 
 EXHEADER= crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h \
        ossl_typ.h
-HEADER=        cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h $(EXHEADER)
+HEADER=        cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h \
+       constant_time_locl.h $(EXHEADER)
 
 ALL=    $(GENERAL) $(SRC) $(HEADER)
 
@@ -53,12 +55,7 @@ top:
 all: shared
 
 buildinf.h: ../Makefile
-       ( echo "#ifndef MK1MF_BUILD"; \
-       echo '  /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
-       echo '  #define CFLAGS "$(CC) $(CFLAG)"'; \
-       echo '  #define PLATFORM "$(PLATFORM)"'; \
-       echo "  #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \
-       echo '#endif' ) >buildinf.h
+       $(PERL) $(TOP)/util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" >buildinf.h
 
 x86cpuid.s:    x86cpuid.pl perlasm/x86asm.pl
        $(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
@@ -70,14 +67,16 @@ uplink.o:   $(TOP)/ms/uplink.c applink.o
        $(CC) $(CFLAGS) -c -o $@ $(TOP)/ms/uplink.c
 
 uplink-x86.s:  $(TOP)/ms/uplink-x86.pl
-       $(PERL) $(TOP)/ms/uplink-x64.pl $(PERLASM_SCHEME) > $@
+       $(PERL) $(TOP)/ms/uplink-x86.pl $(PERLASM_SCHEME) > $@
 
 x86_64cpuid.s: x86_64cpuid.pl; $(PERL) x86_64cpuid.pl $(PERLASM_SCHEME) > $@
 ia64cpuid.s: ia64cpuid.S;      $(CC) $(CFLAGS) -E ia64cpuid.S > $@
 ppccpuid.s:    ppccpuid.pl;    $(PERL) ppccpuid.pl $(PERLASM_SCHEME) $@
 pariscid.s:    pariscid.pl;    $(PERL) pariscid.pl $(PERLASM_SCHEME) $@
 alphacpuid.s:  alphacpuid.pl
-       $(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+       (preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+       $(PERL) alphacpuid.pl > $$preproc && \
+       $(CC) -E $$preproc > $@ && rm $$preproc)
 
 testapps:
        [ -z "$(THIS)" ] || (   if echo $(SDIRS) | fgrep ' des '; \