1*be03a99eSjsing# $OpenBSD: Makefile,v 1.65 2020/05/10 14:22:51 jsing Exp $ 2b6fe13c7Sbrad 333afedf6Sschwarze.include <bsd.own.mk> 433afedf6Sschwarze.ifndef NOMAN 5f1a3c524SschwarzeSUBDIR= man 633afedf6Sschwarze.endif 733afedf6Sschwarze 8252ab50eSmiodPC_FILES=openssl.pc libssl.pc 97fb09174Sjasper 10f208b8a0SjsingCLEANFILES=${PC_FILES} ${VERSION_SCRIPT} 119bd621f3Sderaadt 1226febb63SbeckLIB= ssl 1326febb63Sbeck 1426febb63SbeckCFLAGS+= -Wall -Wundef 15736f6d0bSdoug.if ${COMPILER_VERSION:L} == "clang" 1626febb63SbeckCFLAGS+= -Werror 1726febb63Sbeck.endif 1826febb63SbeckCFLAGS+= -DLIBRESSL_INTERNAL 19f69ab74fSjsing.ifdef TLS1_3 207214807fSjsingCFLAGS+= -DLIBRESSL_HAS_TLS1_3_CLIENT 217214807fSjsingCFLAGS+= -DLIBRESSL_HAS_TLS1_3_SERVER 22f69ab74fSjsing.endif 23*be03a99eSjsing.ifdef TLS1_3_DEBUG 24*be03a99eSjsingCFLAGS+= -DTLS13_DEBUG 25*be03a99eSjsing.endif 2626febb63SbeckCFLAGS+= -I${.CURDIR} 2726febb63Sbeck 2896236fe7SbcookLDADD+= -L${BSDOBJDIR}/lib/libcrypto -lcrypto 2926febb63Sbeck 30a9f45c63SguentherVERSION_SCRIPT= Symbols.map 31a9f45c63SguentherSYMBOL_LIST= ${.CURDIR}/Symbols.list 32a9f45c63Sguenther 3326febb63SbeckSRCS= \ 3487c5d849Sjsing bio_ssl.c \ 3587c5d849Sjsing bs_ber.c \ 3687c5d849Sjsing bs_cbb.c \ 3787c5d849Sjsing bs_cbs.c \ 3887c5d849Sjsing d1_both.c \ 3987c5d849Sjsing d1_clnt.c \ 4087c5d849Sjsing d1_lib.c \ 4187c5d849Sjsing d1_pkt.c \ 4287c5d849Sjsing d1_srtp.c \ 4387c5d849Sjsing d1_srvr.c \ 4487c5d849Sjsing pqueue.c \ 4587c5d849Sjsing s3_cbc.c \ 4687c5d849Sjsing s3_lib.c \ 4787c5d849Sjsing ssl_algs.c \ 4887c5d849Sjsing ssl_asn1.c \ 4987c5d849Sjsing ssl_both.c \ 5087c5d849Sjsing ssl_cert.c \ 5187c5d849Sjsing ssl_ciph.c \ 52a36841cfStb ssl_ciphers.c \ 5387c5d849Sjsing ssl_clnt.c \ 5487c5d849Sjsing ssl_err.c \ 5587c5d849Sjsing ssl_init.c \ 5669428dcaSjsing ssl_kex.c \ 5787c5d849Sjsing ssl_lib.c \ 5887c5d849Sjsing ssl_methods.c \ 5987c5d849Sjsing ssl_packet.c \ 6087c5d849Sjsing ssl_pkt.c \ 6187c5d849Sjsing ssl_rsa.c \ 6287c5d849Sjsing ssl_sess.c \ 6387c5d849Sjsing ssl_sigalgs.c \ 6487c5d849Sjsing ssl_srvr.c \ 6587c5d849Sjsing ssl_stat.c \ 6687c5d849Sjsing ssl_tlsext.c \ 671c0e4449Sjsing ssl_transcript.c \ 6887c5d849Sjsing ssl_txt.c \ 6987c5d849Sjsing ssl_versions.c \ 7087c5d849Sjsing t1_enc.c \ 7187c5d849Sjsing t1_lib.c \ 7287c5d849Sjsing tls13_buffer.c \ 7320290792Sjsing tls13_client.c \ 74c9989395Sjsing tls13_error.c \ 7587c5d849Sjsing tls13_handshake.c \ 769673436aSjsing tls13_handshake_msg.c \ 7787c5d849Sjsing tls13_key_schedule.c \ 784673309bSjsing tls13_key_share.c \ 798cf56ebeSjsing tls13_legacy.c \ 80389212baSjsing tls13_lib.c \ 812502d49fSjsing tls13_record.c \ 828630be86Sjsing tls13_record_layer.c \ 838630be86Sjsing tls13_server.c 8426febb63Sbeck 8587c5d849SjsingHDRS= dtls1.h srtp.h ssl.h ssl2.h ssl23.h ssl3.h tls1.h 8626febb63Sbeck 8726febb63Sbeck.PATH: ${.CURDIR} 8826febb63Sbeck 89c1fdfe6bSjsingcheck_includes: 90c1fdfe6bSjsing @cd ${.CURDIR}; for i in $(HDRS); do \ 91c1fdfe6bSjsing j="cmp -s $$i ${DESTDIR}/usr/include/openssl/`basename $$i` || \ 92c1fdfe6bSjsing (echo \"`basename $$i` differs from installed version; \" \ 93c1fdfe6bSjsing \"did you forget 'make includes'?\" && false)"; \ 94c1fdfe6bSjsing eval "$$j"; \ 95c1fdfe6bSjsing done; 96c1fdfe6bSjsing 97c1fdfe6bSjsingall: check_includes 98c1fdfe6bSjsing 9926febb63Sbeckincludes: 10026febb63Sbeck @test -d ${DESTDIR}/usr/include/openssl || \ 10126febb63Sbeck mkdir ${DESTDIR}/usr/include/openssl 10226febb63Sbeck @cd ${.CURDIR}; for i in $(HDRS); do \ 10326febb63Sbeck j="cmp -s $$i ${DESTDIR}/usr/include/openssl/`basename $$i` || \ 10426febb63Sbeck ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 $$i\ 10526febb63Sbeck ${DESTDIR}/usr/include/openssl"; \ 10626febb63Sbeck echo $$j; \ 10726febb63Sbeck eval "$$j"; \ 10826febb63Sbeck done; 10926febb63Sbeck 110a9f45c63Sguenther${VERSION_SCRIPT}: ${SYMBOL_LIST} 111a9f45c63Sguenther { printf '{\n\tglobal:\n'; \ 112a9f45c63Sguenther sed '/^[._a-zA-Z]/s/$$/;/; s/^/ /' ${SYMBOL_LIST}; \ 113a9f45c63Sguenther printf '\n\tlocal:\n\t\t*;\n};\n'; } >$@.tmp && mv $@.tmp $@ 114a9f45c63Sguenther 11526febb63Sbeck.include <bsd.lib.mk> 11626febb63Sbeck 117e62d0eeaSnatanoall: ${PC_FILES} 11853c02d25Snatano${PC_FILES}: ${.CURDIR}/../libcrypto/opensslv.h 11953c02d25Snatano /bin/sh ${.CURDIR}/generate_pkgconfig.sh -c ${.CURDIR} -o ${.OBJDIR} 12053c02d25Snatano 121e62d0eeaSnatanobeforeinstall: 12226febb63Sbeck nm -o lib${LIB}.a | egrep -w 'printf|fprintf' && \ 12326febb63Sbeck (echo please fix stdio usage in this library; false) || true 1247fb09174Sjasper.for p in ${PC_FILES} 1257fb09174Sjasper ${INSTALL} ${INSTALL_COPY} -o root -g ${SHAREGRP} \ 1267fb09174Sjasper -m ${SHAREMODE} ${.OBJDIR}/$p ${DESTDIR}/usr/lib/pkgconfig/ 1277fb09174Sjasper.endfor 1287fb09174Sjasper 12941b8aa9eSderaadt.include <bsd.subdir.mk> 130