mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-21 10:19:04 +00:00
libcrypto: Refactor Makefile.asm so it can be run outside of buildenv
Currently Makefile.asm relies on the current buildenv to set CFLAGS for i386. The current approach also leaves various temporary *.s files around in the current directory. To make this a bit better: - Instead of using CFLAGS from buildenv for i386, define the actual flags the perl scripts need: -DOPENSSL_IA32_SSE2 to enable SSE2. - Change i386 to have the perl scripts write to /dev/stdout to avoid creating temporaries. Previously i386 was generating the temporary files in the OpenSSL contrib src. - Cleanup temporary *.s files in the all target after generating the real *.S files for architectures which need them. - Remove a duplicate rule for aes-armv4.S. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D41589
This commit is contained in:
parent
7406b6f976
commit
c0fe6b9d75
|
@ -45,8 +45,9 @@ SRCS+= keccak1600-armv8.pl sha1-armv8.pl sha512-armv8.pl
|
|||
ASM= ${SRCS:R:S/$/.S/} sha256-armv8.S
|
||||
|
||||
all: ${ASM}
|
||||
rm -f ${ASM:R:S/$/.s/}
|
||||
|
||||
CLEANFILES= ${ASM} ${SRCS:R:S/$/.s/} sha256-armv8.s
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
||||
sha256-armv8.S: sha512-armv8.pl
|
||||
|
@ -125,8 +126,9 @@ SHA_TMP= ${SHA_ASM:S/$/.s/}
|
|||
ASM= ${SRCS:R:S/$/.S/} ${SHA_ASM:S/$/.S/}
|
||||
|
||||
all: ${ASM}
|
||||
rm -f ${SHA_TMP}
|
||||
|
||||
CLEANFILES= ${ASM} ${SHA_ASM:S/$/.s/}
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
||||
.pl.S:
|
||||
|
@ -179,17 +181,14 @@ SRCS+= poly1305-armv4.pl
|
|||
# sha
|
||||
SRCS+= keccak1600-armv4.pl sha1-armv4-large.pl sha256-armv4.pl sha512-armv4.pl
|
||||
|
||||
ASM= aes-armv4.S ${SRCS:R:S/$/.S/}
|
||||
ASM= ${SRCS:R:S/$/.S/}
|
||||
|
||||
all: ${ASM}
|
||||
rm -f ${ASM:R:S/$/.s/}
|
||||
|
||||
CLEANFILES= ${ASM} ${SRCS:R:S/$/.s/}
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
||||
aes-armv4.S: aes-armv4.pl
|
||||
( echo '/* Do not modify. This file is auto-generated from ${.ALLSRC:T}. */' ;\
|
||||
env CC=cc perl ${.ALLSRC} linux32 ) > ${.TARGET}
|
||||
|
||||
.pl.S:
|
||||
env CC=cc perl ${.IMPSRC} linux32 ${.TARGET:R:S/$/.s/}
|
||||
( echo '/* Do not modify. This file is auto-generated from ${.IMPSRC:T}. */' ;\
|
||||
|
@ -217,6 +216,7 @@ aes-armv4.S: aes-armv4.pl
|
|||
${LCRYPTO_SRC}/engines/asm
|
||||
|
||||
#PERLPATH= -I${LCRYPTO_SRC}/crypto/des/asm -I${LCRYPTO_SRC}/crypto/perlasm
|
||||
CFLAGS= -DOPENSSL_IA32_SSE2
|
||||
|
||||
# cpuid
|
||||
SRCS= x86cpuid.pl
|
||||
|
@ -276,17 +276,15 @@ ASM= ${SRCS:R:S/$/.S/}
|
|||
|
||||
all: ${ASM}
|
||||
|
||||
CLEANFILES= ${ASM} ${SRCS:R:S/$/.s/}
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
||||
.pl.S:
|
||||
( echo '/* Do not modify. This file is auto-generated from ${.IMPSRC:T}. */' ;\
|
||||
echo '#ifdef PIC' ;\
|
||||
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} -fpic -DPIC ${.IMPSRC:R:S/$/.s/} ;\
|
||||
cat ${.IMPSRC:R:S/$/.s/} ;\
|
||||
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} -fpic /dev/stdout ;\
|
||||
echo '#else' ;\
|
||||
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} ${.IMPSRC:R:S/$/.s/} ;\
|
||||
cat ${.IMPSRC:R:S/$/.s/} ;\
|
||||
env CC=cc perl ${PERLPATH} ${.IMPSRC} elf ${CFLAGS} /dev/stdout ;\
|
||||
echo '#endif' ) > ${.TARGET}
|
||||
|
||||
.elif defined(ASM_powerpc)
|
||||
|
@ -325,6 +323,7 @@ SRCS+= poly1305-ppc.pl poly1305-ppcfp.pl
|
|||
ASM= ${SRCS:R:S/$/.S/} bn-ppc.S sha256-ppc.S sha256p8-ppc.S
|
||||
|
||||
all: ${ASM}
|
||||
rm -f ${ASM:R:S/$/.s/}
|
||||
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
@ -392,6 +391,7 @@ SRCS+= keccak1600-ppc64.pl
|
|||
ASM= ${SRCS:R:S/$/.S/} bn-ppc.S sha256-ppc.S sha256p8-ppc.S
|
||||
|
||||
all: ${ASM}
|
||||
rm -f ${ASM:R:S/$/.s/}
|
||||
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
@ -459,6 +459,7 @@ SRCS+= keccak1600-ppc64.pl
|
|||
ASM= ${SRCS:R:S/$/.S/} bn-ppc.S sha256-ppc.S sha256p8-ppc.S
|
||||
|
||||
all: ${ASM}
|
||||
rm -f ${ASM:R:S/$/.s/}
|
||||
|
||||
CLEANFILES= ${ASM}
|
||||
.SUFFIXES: .pl
|
||||
|
|
Loading…
Reference in a new issue