xref: /freebsd/secure/lib/libcrypto/Makefile.common (revision e738085b94631f90e21a49852538ac95974baf44)
1
2.include <bsd.endian.mk>
3
4.if ${TARGET_ENDIANNESS} == 1234
5CFLAGS+=	-DL_ENDIAN
6.elif ${TARGET_ENDIANNESS} == 4321
7CFLAGS+=	-DB_ENDIAN
8.endif
9
10.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
11    ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "i386"
12ASM_${MACHINE_CPUARCH}=
13.elif ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" || \
14    ${MACHINE_ARCH} == "powerpc64le"
15ASM_${MACHINE_ARCH}=
16.endif
17
18.if defined(ASM_${MACHINE_CPUARCH}) || defined(ASM_${MACHINE_ARCH})
19CFLAGS+=	-DOPENSSL_CPUID_OBJ
20.if defined(ASM_aarch64)
21CFLAGS+=	-DOPENSSL_BN_ASM_MONT
22CFLAGS+=	-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
23CFLAGS+=	-DKECCAK1600_ASM
24CFLAGS+=	-DVPAES_ASM
25CFLAGS+=	-DECP_NISTZ256_ASM
26CFLAGS+=	-DPOLY1305_ASM
27.elif defined(ASM_amd64)
28CFLAGS+=	-DOPENSSL_IA32_SSE2
29CFLAGS+=	-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5
30CFLAGS+=	-DOPENSSL_BN_ASM_GF2m
31CFLAGS+=	-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
32CFLAGS+=	-DKECCAK1600_ASM
33CFLAGS+=	-DRC4_ASM
34CFLAGS+=	-DMD5_ASM
35CFLAGS+=	-DVPAES_ASM
36CFLAGS+=	-DGHASH_ASM
37CFLAGS+=	-DECP_NISTZ256_ASM -DX25519_ASM
38CFLAGS+=	-DPADLOCK_ASM
39CFLAGS+=	-DPOLY1305_ASM
40.elif defined(ASM_arm)
41CFLAGS+=	-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m
42CFLAGS+=	-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
43CFLAGS+=	-DKECCAK1600_ASM
44CFLAGS+=	-DBSAES_ASM
45CFLAGS+=	-DGHASH_ASM
46CFLAGS+=	-DECP_NISTZ256_ASM
47CFLAGS+=	-DPOLY1305_ASM
48.elif defined(ASM_i386)
49CFLAGS+=	-DOPENSSL_IA32_SSE2
50CFLAGS+=	-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT
51CFLAGS+=	-DOPENSSL_BN_ASM_GF2m
52CFLAGS+=	-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
53CFLAGS+=	-DRC4_ASM
54CFLAGS+=	-DMD5_ASM
55CFLAGS+=	-DRMD160_ASM
56CFLAGS+=	-DVPAES_ASM
57CFLAGS+=	-DWHIRLPOOL_ASM
58CFLAGS+=	-DGHASH_ASM
59CFLAGS+=	-DECP_NISTZ256_ASM
60CFLAGS+=	-DPADLOCK_ASM
61CFLAGS+=	-DPOLY1305_ASM
62.elif defined(ASM_powerpc)
63CFLAGS+=	-DOPENSSL_BN_ASM_MONT
64CFLAGS+=	-DAES_ASM
65CFLAGS+=	-DVPAES_ASM
66CFLAGS+=	-DSHA1_ASM
67CFLAGS+=	-DSHA256_ASM
68CFLAGS+=	-DSHA512_ASM
69CFLAGS+=	-DPOLY1305_ASM
70.elif defined(ASM_powerpc64)
71CFLAGS+=	-DOPENSSL_BN_ASM_MONT
72CFLAGS+=	-DAES_ASM
73CFLAGS+=	-DVPAES_ASM
74CFLAGS+=	-DSHA1_ASM
75CFLAGS+=	-DSHA256_ASM
76CFLAGS+=	-DSHA512_ASM
77CFLAGS+=	-DPOLY1305_ASM
78CFLAGS+=	-DECP_NISTZ256_ASM
79CFLAGS+=	-DX25519_ASM
80CFLAGS+=	-DKECCAK1600_ASM
81.elif defined(ASM_powerpc64le)
82CFLAGS+=	-DOPENSSL_BN_ASM_MONT
83CFLAGS+=	-DAES_ASM
84CFLAGS+=	-DVPAES_ASM
85CFLAGS+=	-DSHA1_ASM
86CFLAGS+=	-DSHA256_ASM
87CFLAGS+=	-DSHA512_ASM
88CFLAGS+=	-DPOLY1305_ASM
89CFLAGS+=	-DECP_NISTZ256_ASM
90CFLAGS+=	-DX25519_ASM
91CFLAGS+=	-DKECCAK1600_ASM
92.endif
93.endif
94
95MANDIR=		${SHAREDIR}/openssl/man/man
96
97CFLAGS+=	-DOPENSSLDIR="\"/etc/ssl\""
98CFLAGS+=	-DENGINESDIR="\"${LIBDIR}/engines-3\""
99CFLAGS+=	-DMODULESDIR="\"${LIBDIR}/ossl-modules\""
100
101CFLAGS+=	-DNDEBUG
102
103CFLAGS+=	-I${LCRYPTO_SRC}/crypto
104CFLAGS+=	-I${LCRYPTO_SRC}/crypto/ec/curve448
105CFLAGS+=	-I${LCRYPTO_SRC}/crypto/ec/curve448/arch_32
106CFLAGS+=	-I${LCRYPTO_SRC}/crypto/modes
107CFLAGS+=	-I${.OBJDIR}
108
109.if !empty(SRCS:M*.S)
110ACFLAGS+=	-Wa,--noexecstack
111.endif
112