1# $OpenBSD: Makefile.inc,v 1.8 2017/08/20 17:53:13 espie Exp $ 2 3# amd64-specific libcrypto build rules 4 5# all amd64 code generators use this 6EXTRA_PL = ${LCRYPTO_SRC}/perlasm/x86_64-xlate.pl 7 8# aes 9CFLAGS+= -DAES_ASM 10SSLASM+= aes aes-x86_64 11CFLAGS+= -DBSAES_ASM 12SSLASM+= aes bsaes-x86_64 13CFLAGS+= -DVPAES_ASM 14SSLASM+= aes vpaes-x86_64 15SSLASM+= aes aesni-x86_64 16SSLASM+= aes aesni-sha1-x86_64 17# bf 18SRCS+= bf_enc.c 19# bn 20CFLAGS+= -DOPENSSL_IA32_SSE2 21CFLAGS+= -DRSA_ASM 22SSLASM+= bn modexp512-x86_64 23CFLAGS+= -DOPENSSL_BN_ASM_MONT 24SSLASM+= bn x86_64-mont 25CFLAGS+= -DOPENSSL_BN_ASM_MONT5 26SSLASM+= bn x86_64-mont5 27CFLAGS+= -DOPENSSL_BN_ASM_GF2m 28SSLASM+= bn x86_64-gf2m 29# camellia 30SRCS+= cmll_misc.c 31SSLASM+= camellia cmll-x86_64 32# des 33SRCS+= des_enc.c fcrypt_b.c 34# ec 35#CFLAGS+= -DECP_NISTZ256_ASM 36#SRCS+= ecp_nistz256.c 37#SSLASM+= ec ecp_nistz256-x86_64 38# md5 39CFLAGS+= -DMD5_ASM 40SSLASM+= md5 md5-x86_64 41# modes 42CFLAGS+= -DGHASH_ASM 43SSLASM+= modes ghash-x86_64 44# rc4 45CFLAGS+= -DRC4_MD5_ASM 46SSLASM+= rc4 rc4-x86_64 47SSLASM+= rc4 rc4-md5-x86_64 48# ripemd 49# sha 50CFLAGS+= -DSHA1_ASM 51SSLASM+= sha sha1-x86_64 52CFLAGS+= -DSHA256_ASM 53SRCS+= sha256-x86_64.S 54GENERATED+= sha256-x86_64.S 55sha256-x86_64.S: ${LCRYPTO_SRC}/sha/asm/sha512-x86_64.pl ${EXTRA_PL} 56 cd ${LCRYPTO_SRC}/sha/asm ; \ 57 /usr/bin/perl ./sha512-x86_64.pl ${.OBJDIR}/${.TARGET} 58CFLAGS+= -DSHA512_ASM 59SRCS+= sha512-x86_64.S 60GENERATED+= sha512-x86_64.S 61sha512-x86_64.S: ${LCRYPTO_SRC}/sha/asm/sha512-x86_64.pl ${EXTRA_PL} 62 cd ${LCRYPTO_SRC}/sha/asm ; \ 63 /usr/bin/perl ./sha512-x86_64.pl ${.OBJDIR}/${.TARGET} 64# whrlpool 65CFLAGS+= -DWHIRLPOOL_ASM 66SSLASM+= whrlpool wp-x86_64 67 68.for dir f in ${SSLASM} 69SRCS+= ${f}.S 70GENERATED+=${f}.S 71${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl ${EXTRA_PL} 72 (cd ${LCRYPTO_SRC}/${dir} ; \ 73 /usr/bin/perl ./asm/${f}.pl openbsd) > ${.TARGET} 74.endfor 75 76CFLAGS+= -DOPENSSL_CPUID_OBJ 77SRCS+= x86_64cpuid.S x86_64-gcc.c 78GENERATED+=x86_64cpuid.S 79 80x86_64cpuid.S: ${LCRYPTO_SRC}/x86_64cpuid.pl ${EXTRA_PL} 81 (cd ${LCRYPTO_SRC}/${dir} ; \ 82 /usr/bin/perl ./x86_64cpuid.pl) > ${.TARGET} 83