xref: /freebsd/secure/lib/libcrypto/Makefile.inc (revision 3d32dc633c5e21bf15dd0d968734efe72776afdc)
1# $FreeBSD$
2
3.include <bsd.own.mk>
4
5# OpenSSL version used for manual page generation
6OPENSSL_VER=	1.1.1
7OPENSSL_DATE=	2018-09-11
8
9LCRYPTO_SRC=	${SRCTOP}/crypto/openssl
10LCRYPTO_DOC=	${LCRYPTO_SRC}/doc
11
12CFLAGS+=	-I${LCRYPTO_SRC}
13CFLAGS+=	-I${LCRYPTO_SRC}/crypto/include
14CFLAGS+=	-I${LCRYPTO_SRC}/include
15
16.include <bsd.endian.mk>
17
18.if ${TARGET_ENDIANNESS} == 1234
19CFLAGS+=	-DL_ENDIAN
20.elif ${TARGET_ENDIANNESS} == 4321
21CFLAGS+=	-DB_ENDIAN
22.endif
23
24.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
25ASM_${MACHINE_CPUARCH}=
26.elif ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
27_ASM_AVX!=	{ \
28		    echo vzeroall | \
29		    ${CC} -x assembler -o /dev/null -c - 2> /dev/null; \
30		} && echo yes || echo no
31.if ${_ASM_AVX} == yes
32ASM_${MACHINE_CPUARCH}=
33.endif
34.endif
35
36.if defined(ASM_${MACHINE_CPUARCH})
37CFLAGS+=	-DOPENSSL_CPUID_OBJ
38.if defined(ASM_aarch64)
39CFLAGS+=	-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
40.elif defined(ASM_amd64)
41CFLAGS+=	-DOPENSSL_IA32_SSE2
42CFLAGS+=	-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 \
43		-DOPENSSL_BN_ASM_GF2m
44CFLAGS+=	-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
45CFLAGS+=	-DKECCAK1600_ASM
46CFLAGS+=	-DRC4_ASM
47CFLAGS+=	-DMD5_ASM
48CFLAGS+=	-DAES_ASM -DVPAES_ASM -DBSAES_ASM
49CFLAGS+=	-DGHASH_ASM
50CFLAGS+=	-DECP_NISTZ256_ASM
51CFLAGS+=	-DX25519_ASM
52CFLAGS+=	-DPADLOCK_ASM
53CFLAGS+=	-DPOLY1305_ASM
54.endif
55.endif
56
57.if defined(LIB)
58CFLAGS+=	-DOPENSSLDIR="\"/etc/ssl\""
59CFLAGS+=	-DENGINESDIR="\"/usr/lib/engines\""
60.endif
61
62CFLAGS+=	-DNDEBUG
63
64MANDIR=		${SHAREDIR}/openssl/man/man
65