1# $OpenBSD: Makefile.inc,v 1.4 2019/05/11 13:05:25 tb Exp $
2
3# sparc64-specific libcrypto build rules
4
5# aes
6SRCS+= aes_core.c aes_cbc.c
7CFLAGS+= -DAES_ASM
8SSLASM+= aes aes-sparcv9 aes-sparcv9
9# bf
10SRCS+= bf_enc.c
11# bn
12SRCS+= bn_asm.c
13# camellia
14SRCS+= camellia.c cmll_cbc.c cmll_misc.c
15# des
16SRCS+= fcrypt_b.c
17SRCS+= des_enc-sparc.S
18GENERATED+= des_enc-sparc.S
19des_enc-sparc.S: ${LCRYPTO_SRC}/des/asm/des_enc.m4
20	m4 ${LCRYPTO_SRC}/des/asm/des_enc.m4 > ${.TARGET}
21# # ec
22# CFLAGS+= -DECP_NISTZ256_ASM
23# SRCS+=	ecp_nistz256.c
24# SSLASM+= ec ecp_nistz256-sparcv9
25# modes
26CFLAGS+= -DGHASH_ASM
27SSLASM+= modes ghash-sparcv9 ghash-sparcv9
28# rc4
29SRCS+= rc4_enc.c rc4_skey.c
30# sha
31SSLASM+= sha sha1-sparcv9 sha1-sparcv9
32CFLAGS+= -DSHA1_ASM
33SSLASM+= sha sha512-sparcv9 sha256-sparcv9
34CFLAGS+= -DSHA256_ASM
35SSLASM+= sha sha512-sparcv9 sha512-sparcv9
36CFLAGS+= -DSHA512_ASM
37# whrlpool
38SRCS+= wp_block.c
39
40.for dir src dst in ${SSLASM}
41SRCS+=	${dst}.S
42GENERATED+=${dst}.S
43${dst}.S: ${LCRYPTO_SRC}/${dir}/asm/${src}.pl
44	/usr/bin/env CC=${CC} /usr/bin/perl \
45		${LCRYPTO_SRC}/${dir}/asm/${src}.pl ${.TARGET} -m64 > ${.TARGET}
46.endfor
47
48# not until Montgomery code enabled
49#CFLAGS+= -DOPENSSL_CPUID_OBJ
50#SRCS+=	sparccpuid.S sparcv9cap.c
51