1# $OpenBSD: Makefile,v 1.69 2021/04/25 13:15:22 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_CLIENT 21CFLAGS+= -DLIBRESSL_HAS_TLS1_3_SERVER 22.endif 23.ifdef TLS1_3_DEBUG 24CFLAGS+= -DTLS13_DEBUG 25.endif 26CFLAGS+= -I${.CURDIR} 27 28LDADD+= -L${BSDOBJDIR}/lib/libcrypto -lcrypto 29 30VERSION_SCRIPT= Symbols.map 31SYMBOL_LIST= ${.CURDIR}/Symbols.list 32 33SRCS= \ 34 bio_ssl.c \ 35 bs_ber.c \ 36 bs_cbb.c \ 37 bs_cbs.c \ 38 d1_both.c \ 39 d1_lib.c \ 40 d1_pkt.c \ 41 d1_srtp.c \ 42 pqueue.c \ 43 s3_cbc.c \ 44 s3_lib.c \ 45 ssl_algs.c \ 46 ssl_asn1.c \ 47 ssl_both.c \ 48 ssl_cert.c \ 49 ssl_ciph.c \ 50 ssl_ciphers.c \ 51 ssl_clnt.c \ 52 ssl_err.c \ 53 ssl_init.c \ 54 ssl_kex.c \ 55 ssl_lib.c \ 56 ssl_methods.c \ 57 ssl_packet.c \ 58 ssl_pkt.c \ 59 ssl_rsa.c \ 60 ssl_sess.c \ 61 ssl_sigalgs.c \ 62 ssl_srvr.c \ 63 ssl_stat.c \ 64 ssl_tlsext.c \ 65 ssl_transcript.c \ 66 ssl_txt.c \ 67 ssl_versions.c \ 68 t1_enc.c \ 69 t1_lib.c \ 70 tls12_lib.c \ 71 tls12_record_layer.c \ 72 tls13_buffer.c \ 73 tls13_client.c \ 74 tls13_error.c \ 75 tls13_handshake.c \ 76 tls13_handshake_msg.c \ 77 tls13_key_schedule.c \ 78 tls13_key_share.c \ 79 tls13_legacy.c \ 80 tls13_lib.c \ 81 tls13_record.c \ 82 tls13_record_layer.c \ 83 tls13_server.c 84 85HDRS= dtls1.h srtp.h ssl.h ssl2.h ssl23.h ssl3.h tls1.h 86 87.PATH: ${.CURDIR} 88 89includes: 90 @test -d ${DESTDIR}/usr/include/openssl || \ 91 mkdir ${DESTDIR}/usr/include/openssl 92 @cd ${.CURDIR}; for i in $(HDRS); do \ 93 j="cmp -s $$i ${DESTDIR}/usr/include/openssl/`basename $$i` || \ 94 ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 $$i\ 95 ${DESTDIR}/usr/include/openssl"; \ 96 echo $$j; \ 97 eval "$$j"; \ 98 done; 99 100${VERSION_SCRIPT}: ${SYMBOL_LIST} 101 { printf '{\n\tglobal:\n'; \ 102 sed '/^[._a-zA-Z]/s/$$/;/; s/^/ /' ${SYMBOL_LIST}; \ 103 printf '\n\tlocal:\n\t\t*;\n};\n'; } >$@.tmp && mv $@.tmp $@ 104 105.include <bsd.lib.mk> 106 107all: ${PC_FILES} 108${PC_FILES}: ${.CURDIR}/../libcrypto/opensslv.h 109 /bin/sh ${.CURDIR}/generate_pkgconfig.sh -c ${.CURDIR} -o ${.OBJDIR} 110 111beforeinstall: 112 nm -o lib${LIB}.a | egrep -w 'printf|fprintf' && \ 113 (echo please fix stdio usage in this library; false) || true 114.for p in ${PC_FILES} 115 ${INSTALL} ${INSTALL_COPY} -o root -g ${SHAREGRP} \ 116 -m ${SHAREMODE} ${.OBJDIR}/$p ${DESTDIR}/usr/lib/pkgconfig/ 117.endfor 118 119.include <bsd.subdir.mk> 120