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