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