xref: /freebsd/secure/lib/libcrypto/Makefile.common (revision e4e11c1d07f5d58ff8cf4e07ac8f61eecbbb5417)
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+=	-DAES_ASM
36CFLAGS+=	-DBSAES_ASM
37CFLAGS+=	-DVPAES_ASM
38CFLAGS+=	-DWHIRLPOOL_ASM
39CFLAGS+=	-DGHASH_ASM
40CFLAGS+=	-DCMLL_ASM
41CFLAGS+=	-DECP_NISTZ256_ASM -DX25519_ASM
42CFLAGS+=	-DPADLOCK_ASM
43CFLAGS+=	-DPOLY1305_ASM
44.elif defined(ASM_arm)
45CFLAGS+=	-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m
46CFLAGS+=	-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
47CFLAGS+=	-DKECCAK1600_ASM
48CFLAGS+=	-DBSAES_ASM
49CFLAGS+=	-DGHASH_ASM
50CFLAGS+=	-DECP_NISTZ256_ASM
51CFLAGS+=	-DPOLY1305_ASM
52.elif defined(ASM_i386)
53CFLAGS+=	-DOPENSSL_IA32_SSE2
54CFLAGS+=	-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT
55CFLAGS+=	-DOPENSSL_BN_ASM_GF2m
56CFLAGS+=	-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
57CFLAGS+=	-DRC4_ASM
58CFLAGS+=	-DMD5_ASM
59CFLAGS+=	-DRMD160_ASM
60CFLAGS+=	-DAES_ASM
61CFLAGS+=	-DVPAES_ASM
62CFLAGS+=	-DWHIRLPOOL_ASM
63CFLAGS+=	-DGHASH_ASM
64CFLAGS+=	-DCMLL_ASM
65CFLAGS+=	-DECP_NISTZ256_ASM
66CFLAGS+=	-DPADLOCK_ASM
67CFLAGS+=	-DPOLY1305_ASM
68.elif defined(ASM_powerpc)
69CFLAGS+=	-DOPENSSL_BN_ASM_MONT
70CFLAGS+=	-DAES_ASM
71CFLAGS+=	-DVPAES_ASM
72CFLAGS+=	-DSHA1_ASM
73CFLAGS+=	-DSHA256_ASM
74CFLAGS+=	-DSHA512_ASM
75CFLAGS+=	-DPOLY1305_ASM
76.elif defined(ASM_powerpc64)
77CFLAGS+=	-DOPENSSL_BN_ASM_MONT
78CFLAGS+=	-DAES_ASM
79CFLAGS+=	-DVPAES_ASM
80CFLAGS+=	-DSHA1_ASM
81CFLAGS+=	-DSHA256_ASM
82CFLAGS+=	-DSHA512_ASM
83CFLAGS+=	-DPOLY1305_ASM
84CFLAGS+=	-DECP_NISTZ256_ASM
85CFLAGS+=	-DX25519_ASM
86CFLAGS+=	-DKECCAK1600_ASM
87.elif defined(ASM_powerpc64le)
88CFLAGS+=	-DOPENSSL_BN_ASM_MONT
89CFLAGS+=	-DAES_ASM
90CFLAGS+=	-DVPAES_ASM
91CFLAGS+=	-DSHA1_ASM
92CFLAGS+=	-DSHA256_ASM
93CFLAGS+=	-DSHA512_ASM
94CFLAGS+=	-DPOLY1305_ASM
95CFLAGS+=	-DECP_NISTZ256_ASM
96CFLAGS+=	-DX25519_ASM
97CFLAGS+=	-DKECCAK1600_ASM
98.endif
99.endif
100
101MANDIR=		${SHAREDIR}/openssl/man/man
102
103CFLAGS+=	-DOPENSSLDIR="\"/etc/ssl\""
104CFLAGS+=	-DENGINESDIR="\"${LIBDIR}/engines-3\""
105CFLAGS+=	-DMODULESDIR="\"${LIBDIR}/ossl-modules\""
106
107CFLAGS+=	-DNDEBUG
108
109CFLAGS+=	-I${LCRYPTO_SRC}/crypto
110CFLAGS+=	-I${LCRYPTO_SRC}/crypto/ec/curve448
111CFLAGS+=	-I${LCRYPTO_SRC}/crypto/ec/curve448/arch_32
112CFLAGS+=	-I${LCRYPTO_SRC}/crypto/modes
113CFLAGS+=	-I${.OBJDIR}
114
115.if !empty(SRCS:M*.S)
116ACFLAGS+=	-Wa,--noexecstack
117.endif
118