5 # OpenSSL version used for manual page generation
7 OPENSSL_DATE= 2018-08-14
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
70 _skip= SSLeay_version des_modes
74 _skip= c_rehash config
79 .for manpage in ${MAN}
81 pod=${manpage:R}.pod; \
82 for i in ${_docs}; do \
83 test -f ${LCRYPTO_DOC}/$$i/$$pod && \
84 cp ${LCRYPTO_DOC}/$$i/$$pod .; \
86 pod2man --section=$$sec --release="${OPENSSL_VER}" \
87 --date="${OPENSSL_DATE}" --center="OpenSSL" \
88 $$pod > ${.CURDIR}/man/${manpage}; \
94 rm -f ${.CURDIR}/Makefile.man
95 echo '# $$'FreeBSD'$$' >> ${.CURDIR}/Makefile.man
96 echo '# DO NOT EDIT: generated from man-makefile-update target' >> \
97 ${.CURDIR}/Makefile.man
98 for i in ${_docs}; do \
99 for j in ${LCRYPTO_DOC}/$$i/*.pod; do \
100 test -f $$j || continue; \
101 fn=`basename $$j .pod`; \
102 if ! echo '${_skip}' | grep -qw "$$fn"; then \
103 ${ECHO} "MAN+= $$fn.${_sec}"; \
106 done | env LANG=C sort >> ${.CURDIR}/Makefile.man
107 for i in ${_docs}; do \
108 for j in ${LCRYPTO_DOC}/$$i/*.pod; do \
109 test -f $$j || continue; \
110 fn=`basename $$j .pod`; \
111 if ! echo '${_skip}' | grep -qw "$$fn"; then \
112 perl ${LCRYPTO_SRC}/util/extract-names.pl < $$j | \
113 awk "/^$$fn\$$/ { next; } \
114 { print \"MLINKS+= $$fn.${_sec} \" \$$1 \".${_sec}\" }"; \
117 done | env LANG=C sort >> ${.CURDIR}/Makefile.man