1# $FreeBSD$ 2 3.include <bsd.own.mk> 4 5# OpenSSL version used for manual page generation 6OPENSSL_VER= 3.0.9 7OPENSSL_DATE= 2023-05-30 8 9LCRYPTO_SRC= ${SRCTOP}/crypto/openssl 10LCRYPTO_DOC= ${LCRYPTO_SRC}/doc 11 12CFLAGS+= -I${LCRYPTO_SRC} 13CFLAGS+= -I${LCRYPTO_SRC}/include 14CFLAGS+= -I${LCRYPTO_SRC}/providers/common/include 15CFLAGS+= -I${LCRYPTO_SRC}/providers/implementations/include 16 17.include <bsd.endian.mk> 18 19.if ${TARGET_ENDIANNESS} == 1234 20CFLAGS+= -DL_ENDIAN 21.elif ${TARGET_ENDIANNESS} == 4321 22CFLAGS+= -DB_ENDIAN 23.endif 24 25.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 26 ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "i386" 27ASM_${MACHINE_CPUARCH}= 28.elif ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" || \ 29 ${MACHINE_ARCH} == "powerpc64le" 30ASM_${MACHINE_ARCH}= 31.endif 32 33.if defined(ASM_${MACHINE_CPUARCH}) || defined(ASM_${MACHINE_ARCH}) 34CFLAGS+= -DOPENSSL_CPUID_OBJ 35.if defined(ASM_aarch64) 36CFLAGS+= -DOPENSSL_BN_ASM_MONT 37CFLAGS+= -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM 38CFLAGS+= -DKECCAK1600_ASM 39CFLAGS+= -DVPAES_ASM 40CFLAGS+= -DECP_NISTZ256_ASM 41CFLAGS+= -DPOLY1305_ASM 42.elif defined(ASM_amd64) 43CFLAGS+= -DOPENSSL_IA32_SSE2 44CFLAGS+= -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 45CFLAGS+= -DOPENSSL_BN_ASM_GF2m 46CFLAGS+= -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM 47CFLAGS+= -DKECCAK1600_ASM 48CFLAGS+= -DRC4_ASM 49CFLAGS+= -DMD5_ASM 50CFLAGS+= -DVPAES_ASM 51CFLAGS+= -DGHASH_ASM 52CFLAGS+= -DECP_NISTZ256_ASM -DX25519_ASM 53CFLAGS+= -DPADLOCK_ASM 54CFLAGS+= -DPOLY1305_ASM 55.elif defined(ASM_arm) 56CFLAGS+= -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m 57CFLAGS+= -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM 58CFLAGS+= -DKECCAK1600_ASM 59CFLAGS+= -DBSAES_ASM 60CFLAGS+= -DGHASH_ASM 61CFLAGS+= -DECP_NISTZ256_ASM 62CFLAGS+= -DPOLY1305_ASM 63.elif defined(ASM_i386) 64CFLAGS+= -DOPENSSL_IA32_SSE2 65CFLAGS+= -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT 66CFLAGS+= -DOPENSSL_BN_ASM_GF2m 67CFLAGS+= -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM 68CFLAGS+= -DRC4_ASM 69CFLAGS+= -DMD5_ASM 70CFLAGS+= -DRMD160_ASM 71CFLAGS+= -DVPAES_ASM 72CFLAGS+= -DWHIRLPOOL_ASM 73CFLAGS+= -DGHASH_ASM 74CFLAGS+= -DECP_NISTZ256_ASM 75CFLAGS+= -DPADLOCK_ASM 76CFLAGS+= -DPOLY1305_ASM 77.elif defined(ASM_powerpc) 78CFLAGS+= -DOPENSSL_BN_ASM_MONT 79CFLAGS+= -DAES_ASM 80CFLAGS+= -DVPAES_ASM 81CFLAGS+= -DSHA1_ASM 82CFLAGS+= -DSHA256_ASM 83CFLAGS+= -DSHA512_ASM 84CFLAGS+= -DPOLY1305_ASM 85.elif defined(ASM_powerpc64) 86CFLAGS+= -DOPENSSL_BN_ASM_MONT 87CFLAGS+= -DAES_ASM 88CFLAGS+= -DVPAES_ASM 89CFLAGS+= -DSHA1_ASM 90CFLAGS+= -DSHA256_ASM 91CFLAGS+= -DSHA512_ASM 92CFLAGS+= -DPOLY1305_ASM 93CFLAGS+= -DECP_NISTZ256_ASM 94CFLAGS+= -DX25519_ASM 95CFLAGS+= -DKECCAK1600_ASM 96.elif defined(ASM_powerpc64le) 97CFLAGS+= -DOPENSSL_BN_ASM_MONT 98CFLAGS+= -DAES_ASM 99CFLAGS+= -DVPAES_ASM 100CFLAGS+= -DSHA1_ASM 101CFLAGS+= -DSHA256_ASM 102CFLAGS+= -DSHA512_ASM 103CFLAGS+= -DPOLY1305_ASM 104CFLAGS+= -DECP_NISTZ256_ASM 105CFLAGS+= -DX25519_ASM 106CFLAGS+= -DKECCAK1600_ASM 107.endif 108.endif 109 110.if defined(LIB) 111CFLAGS+= -DOPENSSLDIR="\"/etc/ssl\"" 112CFLAGS+= -DENGINESDIR="\"${LIBDIR}/engines-3\"" 113CFLAGS+= -DMODULESDIR="\"${LIBDIR}/ossl-modules\"" 114.endif 115 116CFLAGS+= -DNDEBUG 117 118MANDIR= ${SHAREDIR}/openssl/man/man 119 120.for pcfile in ${PCFILES} 121${pcfile}: ${pcfile}.in 122 sed -e 's,@openssl_ver@,${OPENSSL_VER},g' ${.ALLSRC} > ${.TARGET} 123.endfor 124CLEANFILES+= ${PCFILES} 125