1# $OpenBSD: Makefile,v 1.56 2019/02/09 15:30:52 jsing Exp $ 2 3.include <bsd.own.mk> 4.ifndef NOMAN 5SUBDIR= man 6.endif 7 8PC_FILES=openssl.pc libssl.pc 9 10CLEANFILES=${PC_FILES} ${VERSION_SCRIPT} 11 12LIB= ssl 13 14CFLAGS+= -Wall -Wundef 15.if ${COMPILER_VERSION:L} == "clang" 16CFLAGS+= -Werror 17.endif 18CFLAGS+= -DLIBRESSL_INTERNAL 19.ifdef TLS1_3 20CFLAGS+= -DLIBRESSL_HAS_TLS1_3 21.endif 22CFLAGS+= -I${.CURDIR} 23 24LDADD+= -L${BSDOBJDIR}/lib/libcrypto -lcrypto 25 26VERSION_SCRIPT= Symbols.map 27SYMBOL_LIST= ${.CURDIR}/Symbols.list 28 29SRCS= \ 30 bio_ssl.c \ 31 bs_ber.c \ 32 bs_cbb.c \ 33 bs_cbs.c \ 34 d1_both.c \ 35 d1_clnt.c \ 36 d1_enc.c \ 37 d1_lib.c \ 38 d1_pkt.c \ 39 d1_srtp.c \ 40 d1_srvr.c \ 41 pqueue.c \ 42 s3_cbc.c \ 43 s3_lib.c \ 44 ssl_algs.c \ 45 ssl_asn1.c \ 46 ssl_both.c \ 47 ssl_cert.c \ 48 ssl_ciph.c \ 49 ssl_ciphers.c \ 50 ssl_clnt.c \ 51 ssl_err.c \ 52 ssl_init.c \ 53 ssl_lib.c \ 54 ssl_methods.c \ 55 ssl_packet.c \ 56 ssl_pkt.c \ 57 ssl_rsa.c \ 58 ssl_sess.c \ 59 ssl_sigalgs.c \ 60 ssl_srvr.c \ 61 ssl_stat.c \ 62 ssl_tlsext.c \ 63 ssl_transcript.c \ 64 ssl_txt.c \ 65 ssl_versions.c \ 66 t1_enc.c \ 67 t1_lib.c \ 68 tls13_buffer.c \ 69 tls13_client.c \ 70 tls13_handshake.c \ 71 tls13_handshake_msg.c \ 72 tls13_key_schedule.c \ 73 tls13_lib.c \ 74 tls13_record.c \ 75 tls13_record_layer.c 76 77HDRS= dtls1.h srtp.h ssl.h ssl2.h ssl23.h ssl3.h tls1.h 78 79.PATH: ${.CURDIR} 80 81includes: 82 @test -d ${DESTDIR}/usr/include/openssl || \ 83 mkdir ${DESTDIR}/usr/include/openssl 84 @cd ${.CURDIR}; for i in $(HDRS); do \ 85 j="cmp -s $$i ${DESTDIR}/usr/include/openssl/`basename $$i` || \ 86 ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 $$i\ 87 ${DESTDIR}/usr/include/openssl"; \ 88 echo $$j; \ 89 eval "$$j"; \ 90 done; 91 92${VERSION_SCRIPT}: ${SYMBOL_LIST} 93 { printf '{\n\tglobal:\n'; \ 94 sed '/^[._a-zA-Z]/s/$$/;/; s/^/ /' ${SYMBOL_LIST}; \ 95 printf '\n\tlocal:\n\t\t*;\n};\n'; } >$@.tmp && mv $@.tmp $@ 96 97.include <bsd.lib.mk> 98 99all: ${PC_FILES} 100${PC_FILES}: ${.CURDIR}/../libcrypto/opensslv.h 101 /bin/sh ${.CURDIR}/generate_pkgconfig.sh -c ${.CURDIR} -o ${.OBJDIR} 102 103beforeinstall: 104 nm -o lib${LIB}.a | egrep -w 'printf|fprintf' && \ 105 (echo please fix stdio usage in this library; false) || true 106.for p in ${PC_FILES} 107 ${INSTALL} ${INSTALL_COPY} -o root -g ${SHAREGRP} \ 108 -m ${SHAREMODE} ${.OBJDIR}/$p ${DESTDIR}/usr/lib/pkgconfig/ 109.endfor 110 111.include <bsd.subdir.mk> 112