1# $FreeBSD$
2#
3# Author: Harti Brandt <harti@freebsd.org>
4
5.include <src.opts.mk>
6
7CONTRIB= ${SRCTOP}/contrib/bsnmp/lib
8.PATH: ${CONTRIB}
9
10LIB=	bsnmp
11SHLIB_MAJOR=	6
12LD_FATAL_WARNINGS=	no
13
14CFLAGS+= -I${CONTRIB} -DHAVE_ERR_H -DHAVE_GETADDRINFO -DHAVE_STRLCPY
15CFLAGS+= -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DQUADFMT='"llu"' -DQUADXFMT='"llx"'
16
17CFLAGS+= -DBOGUS_CVE_2019_5610_FIX
18
19.if ${MK_OPENSSL} != "no"
20CFLAGS+= -DHAVE_LIBCRYPTO
21LIBADD=	crypto
22.endif
23
24SRCS=	asn1.c snmp.c snmpagent.c snmpclient.c snmpcrypto.c support.c
25SRCS+=	snmptc.h
26INCS=	asn1.h snmp.h snmpagent.h snmpclient.h
27MAN=	asn1.3 bsnmpagent.3 bsnmpclient.3 bsnmplib.3
28
29.if ${MK_DIRDEPS_BUILD} == "yes"
30GENSNMPTREE?= ${HOST_OBJTOP}/usr.sbin/bsnmpd/gensnmptree/gensnmptree
31.endif
32GENSNMPTREE?= gensnmptree
33
34snmptc.h : tc.def
35	(\
36	echo "/* autogenerated from tc.def */";\
37	echo "#ifndef snmptc_h_1529923773";\
38	echo "#define snmptc_h_1529923773";\
39	${GENSNMPTREE} -E -f <${.ALLSRC};\
40	echo "#endif" ; \
41	) >${.TARGET}
42
43CLEANFILES+= snmptc.h
44
45MLINKS+=	asn1.3	asn_append_oid.3
46MLINKS+=	asn1.3	asn_commit_header.3
47MLINKS+=	asn1.3	asn_compare_oid.3
48MLINKS+=	asn1.3	asn_get_counter64_raw.3
49MLINKS+=	asn1.3	asn_get_header.3
50MLINKS+=	asn1.3	asn_get_integer.3
51MLINKS+=	asn1.3	asn_get_integer_raw.3
52MLINKS+=	asn1.3	asn_get_ipaddress.3
53MLINKS+=	asn1.3	asn_get_ipaddress_raw.3
54MLINKS+=	asn1.3	asn_get_null.3
55MLINKS+=	asn1.3	asn_get_null_raw.3
56MLINKS+=	asn1.3	asn_get_objid.3
57MLINKS+=	asn1.3	asn_get_objid_raw.3
58MLINKS+=	asn1.3	asn_get_octetstring.3
59MLINKS+=	asn1.3	asn_get_octetstring_raw.3
60MLINKS+=	asn1.3	asn_get_sequence.3
61MLINKS+=	asn1.3	asn_get_timeticks.3
62MLINKS+=	asn1.3	asn_get_uint32_raw.3
63MLINKS+=	asn1.3	asn_is_suboid.3
64MLINKS+=	asn1.3	asn_oid2str.3
65MLINKS+=	asn1.3	asn_oid2str_r.3
66MLINKS+=	asn1.3	asn_put_counter64.3
67MLINKS+=	asn1.3	asn_put_exception.3
68MLINKS+=	asn1.3	asn_put_header.3
69MLINKS+=	asn1.3	asn_put_integer.3
70MLINKS+=	asn1.3	asn_put_ipaddress.3
71MLINKS+=	asn1.3	asn_put_null.3
72MLINKS+=	asn1.3	asn_put_objid.3
73MLINKS+=	asn1.3	asn_put_octetstring.3
74MLINKS+=	asn1.3	asn_put_temp_header.3
75MLINKS+=	asn1.3	asn_put_timeticks.3
76MLINKS+=	asn1.3	asn_put_uint32.3
77MLINKS+=	asn1.3	asn_skip.3
78MLINKS+=	asn1.3	asn_slice_oid.3
79
80MLINKS+=	bsnmpagent.3	snmp_debug.3
81MLINKS+=	bsnmpagent.3	snmp_dep_commit.3
82MLINKS+=	bsnmpagent.3	snmp_dep_finish.3
83MLINKS+=	bsnmpagent.3	snmp_dep_lookup.3
84MLINKS+=	bsnmpagent.3	snmp_dep_rollback.3
85MLINKS+=	bsnmpagent.3	snmp_depop_t.3
86MLINKS+=	bsnmpagent.3	snmp_get.3
87MLINKS+=	bsnmpagent.3	snmp_getbulk.3
88MLINKS+=	bsnmpagent.3	snmp_getnext.3
89MLINKS+=	bsnmpagent.3	snmp_init_context.3
90MLINKS+=	bsnmpagent.3	snmp_make_errresp.3
91MLINKS+=	bsnmpagent.3	snmp_op_t.3
92MLINKS+=	bsnmpagent.3	snmp_set.3
93MLINKS+=	bsnmpagent.3	snmp_trace.3
94MLINKS+=	bsnmpagent.3	tree_size.3
95
96MLINKS+=	bsnmpclient.3	snmp_add_binding.3
97MLINKS+=	bsnmpclient.3	snmp_client.3
98MLINKS+=	bsnmpclient.3	snmp_client_init.3
99MLINKS+=	bsnmpclient.3	snmp_client_set_host.3
100MLINKS+=	bsnmpclient.3	snmp_client_set_port.3
101MLINKS+=	bsnmpclient.3	snmp_close.3
102MLINKS+=	bsnmpclient.3	snmp_dialog.3
103MLINKS+=	bsnmpclient.3	snmp_discover_engine.3
104MLINKS+=	bsnmpclient.3	snmp_oid_append.3
105MLINKS+=	bsnmpclient.3	snmp_open.3
106MLINKS+=	bsnmpclient.3	snmp_parse_server.3
107MLINKS+=	bsnmpclient.3	snmp_pdu_check.3
108MLINKS+=	bsnmpclient.3	snmp_pdu_create.3
109MLINKS+=	bsnmpclient.3	snmp_pdu_send.3
110MLINKS+=	bsnmpclient.3	snmp_receive.3
111MLINKS+=	bsnmpclient.3	snmp_send_cb_f.3
112MLINKS+=	bsnmpclient.3	snmp_table_cb_f.3
113MLINKS+=	bsnmpclient.3	snmp_table_fetch.3
114MLINKS+=	bsnmpclient.3	snmp_table_fetch_async.3
115MLINKS+=	bsnmpclient.3	snmp_timeout_cb_f.3
116MLINKS+=	bsnmpclient.3	snmp_timeout_start_f.3
117MLINKS+=	bsnmpclient.3	snmp_timeout_stop_f.3
118
119MLINKS+=	bsnmplib.3	TRUTH_GET.3
120MLINKS+=	bsnmplib.3	TRUTH_MK.3
121MLINKS+=	bsnmplib.3	TRUTH_OK.3
122MLINKS+=	bsnmplib.3	snmp_calc_keychange.3
123MLINKS+=	bsnmplib.3	snmp_get_local_keys.3
124MLINKS+=	bsnmplib.3	snmp_passwd_to_keys.3
125MLINKS+=	bsnmplib.3	snmp_pdu_decode.3
126MLINKS+=	bsnmplib.3	snmp_pdu_decode_header.3
127MLINKS+=	bsnmplib.3	snmp_pdu_decode_scoped.3
128MLINKS+=	bsnmplib.3	snmp_pdu_decode_secmode.3
129MLINKS+=	bsnmplib.3	snmp_pdu_dump.3
130MLINKS+=	bsnmplib.3	snmp_pdu_encode.3
131MLINKS+=	bsnmplib.3	snmp_pdu_free.3
132MLINKS+=	bsnmplib.3	snmp_pdu_init_secparams.3
133MLINKS+=	bsnmplib.3	snmp_value_copy.3
134MLINKS+=	bsnmplib.3	snmp_value_free.3
135MLINKS+=	bsnmplib.3	snmp_value_parse.3
136
137FILESGROUPS+=	DEFS
138DEFS=	tc.def
139DEFSDIR?=	${SHAREDIR}/snmp/defs
140
141.include <bsd.lib.mk>
142