5 # OpenSSL version used for manual page generation
7 OPENSSL_DATE= 2018-03-27
9 LCRYPTO_SRC= ${SRCTOP}/crypto/openssl
10 LCRYPTO_DOC= ${LCRYPTO_SRC}/doc
12 CFLAGS+= -I${LCRYPTO_SRC}
13 CFLAGS+= -DTERMIOS -DANSI_SOURCE
14 CFLAGS+= -DOPENSSL_THREADS -DDSO_DLFCN -DHAVE_DLFCN_H
16 .include <bsd.endian.mk>
18 .if ${TARGET_ENDIANNESS} == 1234
20 .elif ${TARGET_ENDIANNESS} == 4321
24 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
25 ASM_${MACHINE_CPUARCH}=
26 .elif ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
29 ${CC} -x assembler -o /dev/null -c - 2> /dev/null; \
30 } && echo yes || echo no
31 .if ${_ASM_AVX} == yes
32 ASM_${MACHINE_CPUARCH}=
36 .if defined(ASM_aarch64)
37 CFLAGS+=-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
38 .elif defined(ASM_amd64)
39 CFLAGS+=-DOPENSSL_IA32_SSE2
40 CFLAGS+=-DAES_ASM -DBSAES_ASM -DVPAES_ASM
41 CFLAGS+=-DECP_NISTZ256_ASM
42 CFLAGS+=-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m
45 CFLAGS+=-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
46 CFLAGS+=-DWHIRLPOOL_ASM
47 .elif defined(ASM_arm)
48 CFLAGS+=-DAES_ASM -DBSAES_ASM
49 CFLAGS+=-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m
51 CFLAGS+=-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
52 .elif defined(ASM_i386)
53 CFLAGS+=-DOPENSSL_IA32_SSE2
54 CFLAGS+=-DAES_ASM -DVPAES_ASM
55 CFLAGS+=-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m
59 CFLAGS+=-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
60 CFLAGS+=-DWHIRLPOOL_ASM
63 MANDIR= ${SHAREDIR}/openssl/man/man
67 _skip= SSLeay_version des_modes
71 _skip= c_rehash config
76 .for manpage in ${MAN}
78 pod=${manpage:R}.pod; \
79 for i in ${_docs}; do \
80 test -f ${LCRYPTO_DOC}/$$i/$$pod && \
81 cp ${LCRYPTO_DOC}/$$i/$$pod .; \
83 pod2man --section=$$sec --release="${OPENSSL_VER}" \
84 --date="${OPENSSL_DATE}" --center="OpenSSL" \
85 $$pod > ${.CURDIR}/man/${manpage}; \
91 rm -f ${.CURDIR}/Makefile.man
92 echo '# $$'FreeBSD'$$' >> ${.CURDIR}/Makefile.man
93 echo '# DO NOT EDIT: generated from man-makefile-update target' >> \
94 ${.CURDIR}/Makefile.man
95 for i in ${_docs}; do \
96 for j in ${LCRYPTO_DOC}/$$i/*.pod; do \
97 test -f $$j || continue; \
98 fn=`basename $$j .pod`; \
99 if ! echo '${_skip}' | grep -qw "$$fn"; then \
100 ${ECHO} "MAN+= $$fn.${_sec}"; \
103 done | env LANG=C sort >> ${.CURDIR}/Makefile.man
104 for i in ${_docs}; do \
105 for j in ${LCRYPTO_DOC}/$$i/*.pod; do \
106 test -f $$j || continue; \
107 fn=`basename $$j .pod`; \
108 if ! echo '${_skip}' | grep -qw "$$fn"; then \
109 perl ${LCRYPTO_SRC}/util/extract-names.pl < $$j | \
110 awk "/^$$fn\$$/ { next; } \
111 { print \"MLINKS+= $$fn.${_sec} \" \$$1 \".${_sec}\" }"; \
114 done | env LANG=C sort >> ${.CURDIR}/Makefile.man