Makefile.inc revision 312851
1# $FreeBSD: stable/10/secure/lib/libcrypto/Makefile.inc 312851 2017-01-26 23:29:30Z jkim $
2
3.include <bsd.own.mk>
4
5# OpenSSL version used for manual page generation
6OPENSSL_VER=	1.0.1u
7OPENSSL_DATE=	2016-09-22
8
9LCRYPTO_SRC=	${.CURDIR}/../../../crypto/openssl
10LCRYPTO_DOC=	${.CURDIR}/../../../crypto/openssl/doc
11
12CFLAGS+=	-DTERMIOS -DANSI_SOURCE
13CFLAGS+=	-I${LCRYPTO_SRC} -I${LCRYPTO_SRC}/crypto -I${.OBJDIR}
14CFLAGS+=	-DOPENSSL_THREADS -DDSO_DLFCN -DHAVE_DLFCN_H
15
16.include <bsd.endian.mk>
17
18.if ${TARGET_ENDIANNESS} == 1234
19CFLAGS+=-DL_ENDIAN
20.elif ${TARGET_ENDIANNESS} == 4321
21CFLAGS+=-DB_ENDIAN
22.endif
23
24.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
25_ASM_AVX!=	{ \
26		    echo vzeroall | \
27		    ${CC} -x assembler -o /dev/null -c - 2> /dev/null; \
28		} && echo yes || echo no
29.if ${_ASM_AVX} == yes
30ASM_${MACHINE_CPUARCH}=
31.endif
32.endif
33
34.if defined(ASM_amd64)
35CFLAGS+=-DOPENSSL_IA32_SSE2
36CFLAGS+=-DAES_ASM -DBSAES_ASM -DVPAES_ASM
37CFLAGS+=-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m
38CFLAGS+=-DMD5_ASM
39CFLAGS+=-DGHASH_ASM
40CFLAGS+=-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
41CFLAGS+=-DWHIRLPOOL_ASM
42.elif defined(ASM_i386)
43CFLAGS+=-DOPENSSL_IA32_SSE2
44CFLAGS+=-DAES_ASM -DVPAES_ASM
45CFLAGS+=-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m
46CFLAGS+=-DMD5_ASM
47CFLAGS+=-DGHASH_ASM
48CFLAGS+=-DRMD160_ASM
49CFLAGS+=-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
50CFLAGS+=-DWHIRLPOOL_ASM
51.endif
52
53MANDIR=	${SHAREDIR}/openssl/man/man
54
55.if defined(LIB)
56_docs=	${LIB}
57_skip=	des_modes
58_sec=	3
59.else
60_docs=	apps
61_skip=	config
62_sec=	1
63.endif
64
65man-update:
66.for manpage in ${MAN}
67	@(sec=${manpage:E}; \
68	pod=${manpage:R}.pod; \
69	cp ${LCRYPTO_DOC}/${_docs}/$$pod .; \
70	pod2man --section=$$sec --release="${OPENSSL_VER}" \
71	  --date="${OPENSSL_DATE}" --center="OpenSSL"  \
72	  $$pod > ${.CURDIR}/man/${manpage}; \
73	rm -f $$pod; \
74	${ECHO} ${manpage})
75.endfor
76
77man-makefile-update:
78	rm -f ${.CURDIR}/Makefile.man
79	echo '# $$'FreeBSD'$$' >> ${.CURDIR}/Makefile.man
80	echo '# DO NOT EDIT: generated from man-makefile-update target' >> \
81	    ${.CURDIR}/Makefile.man
82	for i in ${LCRYPTO_DOC}/${_docs}/*.pod; do \
83		fn=`basename $$i .pod`; \
84		if [ "$$fn" != "${_skip}" ]; then \
85		${ECHO} "MAN+= $$fn.${_sec}" >> ${.CURDIR}/Makefile.man; \
86		fi; \
87	done
88	for i in ${LCRYPTO_DOC}/${_docs}/*.pod; do \
89		fn=`basename $$i .pod`; \
90		if [ "$$fn" != "${_skip}" ]; then \
91		perl ${LCRYPTO_SRC}/util/extract-names.pl < $$i | \
92		  awk "/^$$fn\$$/ { next; } \
93		  { print \"MLINKS+= $$fn.${_sec} \" \$$1 \".${_sec}\" }" >> \
94		  ${.CURDIR}/Makefile.man; \
95		fi; \
96	done
97