1 # $OpenBSD: Makefile.inc,v 1.8 2017/08/20 17:53:13 espie Exp $
3 # amd64-specific libcrypto build rules
5 # all amd64 code generators use this
6 EXTRA_PL = ${LCRYPTO_SRC}/perlasm/x86_64-xlate.pl
10 SSLASM+= aes aes-x86_64
12 SSLASM+= aes bsaes-x86_64
14 SSLASM+= aes vpaes-x86_64
15 SSLASM+= aes aesni-x86_64
16 SSLASM+= aes aesni-sha1-x86_64
20 CFLAGS+= -DOPENSSL_IA32_SSE2
22 SSLASM+= bn modexp512-x86_64
23 CFLAGS+= -DOPENSSL_BN_ASM_MONT
24 SSLASM+= bn x86_64-mont
25 CFLAGS+= -DOPENSSL_BN_ASM_MONT5
26 SSLASM+= bn x86_64-mont5
27 CFLAGS+= -DOPENSSL_BN_ASM_GF2m
28 SSLASM+= bn x86_64-gf2m
31 SSLASM+= camellia cmll-x86_64
33 SRCS+= des_enc.c fcrypt_b.c
35 #CFLAGS+= -DECP_NISTZ256_ASM
36 #SRCS+= ecp_nistz256.c
37 #SSLASM+= ec ecp_nistz256-x86_64
40 SSLASM+= md5 md5-x86_64
43 SSLASM+= modes ghash-x86_64
45 CFLAGS+= -DRC4_MD5_ASM
46 SSLASM+= rc4 rc4-x86_64
47 SSLASM+= rc4 rc4-md5-x86_64
51 SSLASM+= sha sha1-x86_64
53 SRCS+= sha256-x86_64.S
54 GENERATED+= sha256-x86_64.S
55 sha256-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}
59 SRCS+= sha512-x86_64.S
60 GENERATED+= sha512-x86_64.S
61 sha512-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}
65 CFLAGS+= -DWHIRLPOOL_ASM
66 SSLASM+= whrlpool wp-x86_64
68 .for dir f in ${SSLASM}
71 ${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl ${EXTRA_PL}
72 (cd ${LCRYPTO_SRC}/${dir} ; \
73 /usr/bin/perl ./asm/${f}.pl elf) > ${.TARGET}
76 CFLAGS+= -DOPENSSL_CPUID_OBJ
77 SRCS+= x86_64cpuid.S x86_64-gcc.c
78 GENERATED+=x86_64cpuid.S
80 x86_64cpuid.S: ${LCRYPTO_SRC}/x86_64cpuid.pl ${EXTRA_PL}
81 (cd ${LCRYPTO_SRC}/${dir} ; \
82 /usr/bin/perl ./x86_64cpuid.pl) > ${.TARGET}