libcrypto: Add buildasm and cleanasm targets

These targets generate all the assembly files in sys/crypto/openssl.

Reviewed by:	markj, emaste (earlier version)
Differential Revision:	https://reviews.freebsd.org/D41590
This commit is contained in:
John Baldwin 2023-08-29 14:39:54 -07:00
parent c0fe6b9d75
commit 73653b72af
2 changed files with 9 additions and 0 deletions

View file

@ -606,6 +606,13 @@ buildinf.h: Makefile
echo "static const char compiler_flags[] = \"compiler: ${COMPILER_TYPE}\";" ) \
> ${.TARGET}
buildasm cleanasm:
.for arch in aarch64 amd64 arm i386 powerpc powerpc64 powerpc64le
make MK_AUTO_OBJ=no -DWITHOUT_AUTO_ASM -DASM_${arch} \
-f ${.CURDIR}/Makefile.asm -C ${SRCTOP}/sys/crypto/openssl/${arch} \
${.TARGET:S/build/all/:S/asm$//}
.endfor
.include <bsd.lib.mk>
PICFLAG+= -DOPENSSL_PIC

View file

@ -7,6 +7,7 @@ CFLAGS+= -DL_ENDIAN
CFLAGS+= -DB_ENDIAN
.endif
.ifndef WITHOUT_AUTO_ASM
.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "i386"
ASM_${MACHINE_CPUARCH}=
@ -14,6 +15,7 @@ ASM_${MACHINE_CPUARCH}=
${MACHINE_ARCH} == "powerpc64le"
ASM_${MACHINE_ARCH}=
.endif
.endif
.if defined(ASM_${MACHINE_CPUARCH}) || defined(ASM_${MACHINE_ARCH})
CFLAGS+= -DOPENSSL_CPUID_OBJ