summaryrefslogtreecommitdiff
path: root/lib/libssl/Makefile
blob: 778b525224aa4b68da261461b18328e4152cf083 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# $OpenBSD: Makefile,v 1.57 2019/11/17 06:35:30 jsing Exp $

.include <bsd.own.mk>
.ifndef NOMAN
SUBDIR=	man
.endif

PC_FILES=openssl.pc libssl.pc

CLEANFILES=${PC_FILES} ${VERSION_SCRIPT}

LIB=	ssl

CFLAGS+= -Wall -Wundef
.if ${COMPILER_VERSION:L} == "clang"
CFLAGS+= -Werror
.endif
CFLAGS+= -DLIBRESSL_INTERNAL
.ifdef TLS1_3
CFLAGS+= -DLIBRESSL_HAS_TLS1_3
.endif
CFLAGS+= -I${.CURDIR}

LDADD+= -L${BSDOBJDIR}/lib/libcrypto -lcrypto

VERSION_SCRIPT=	Symbols.map
SYMBOL_LIST=	${.CURDIR}/Symbols.list

SRCS= \
	bio_ssl.c \
	bs_ber.c \
	bs_cbb.c \
	bs_cbs.c \
	d1_both.c \
	d1_clnt.c \
	d1_enc.c \
	d1_lib.c \
	d1_pkt.c \
	d1_srtp.c \
	d1_srvr.c \
	pqueue.c \
	s3_cbc.c \
	s3_lib.c \
	ssl_algs.c \
	ssl_asn1.c \
	ssl_both.c \
	ssl_cert.c \
	ssl_ciph.c \
	ssl_ciphers.c \
	ssl_clnt.c \
	ssl_err.c \
	ssl_init.c \
	ssl_lib.c \
	ssl_methods.c \
	ssl_packet.c \
	ssl_pkt.c \
	ssl_rsa.c \
	ssl_sess.c \
	ssl_sigalgs.c \
	ssl_srvr.c \
	ssl_stat.c \
	ssl_tlsext.c \
	ssl_transcript.c \
	ssl_txt.c \
	ssl_versions.c \
	t1_enc.c \
	t1_lib.c \
	tls13_buffer.c \
	tls13_client.c \
	tls13_handshake.c \
	tls13_handshake_msg.c \
	tls13_key_schedule.c \
	tls13_lib.c \
	tls13_record.c \
	tls13_record_layer.c \
	tls13_server.c

HDRS=	dtls1.h srtp.h ssl.h ssl2.h ssl23.h ssl3.h tls1.h

.PATH:	${.CURDIR}

includes:
	@test -d ${DESTDIR}/usr/include/openssl || \
	    mkdir ${DESTDIR}/usr/include/openssl
	@cd ${.CURDIR}; for i in $(HDRS); do \
	    j="cmp -s $$i ${DESTDIR}/usr/include/openssl/`basename $$i` || \
	    ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 $$i\
		${DESTDIR}/usr/include/openssl"; \
	    echo $$j; \
	    eval "$$j"; \
	done;

${VERSION_SCRIPT}: ${SYMBOL_LIST}
	{ printf '{\n\tglobal:\n'; \
	  sed '/^[._a-zA-Z]/s/$$/;/; s/^/		/' ${SYMBOL_LIST}; \
	  printf '\n\tlocal:\n\t\t*;\n};\n'; } >$@.tmp && mv $@.tmp $@

.include <bsd.lib.mk>

all: ${PC_FILES}
${PC_FILES}: ${.CURDIR}/../libcrypto/opensslv.h
	/bin/sh ${.CURDIR}/generate_pkgconfig.sh -c ${.CURDIR} -o ${.OBJDIR}

beforeinstall:
	nm -o lib${LIB}.a | egrep -w 'printf|fprintf' && \
	    (echo please fix stdio usage in this library; false) || true
.for p in ${PC_FILES}
	${INSTALL} ${INSTALL_COPY} -o root -g ${SHAREGRP} \
	    -m ${SHAREMODE} ${.OBJDIR}/$p ${DESTDIR}/usr/lib/pkgconfig/
.endfor

.include <bsd.subdir.mk>