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