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