The file <bsd.snmpmod.mk>
simplifies the building of modules for the Begemot SNMP daemon,
bsnmpd(1). It provides some common functions for building a module
and relies on <bsd.lib.mk>, which is included by
<bsd.snmpmod.mk> to actually build the shared
library.

The following make(1)
variables control the special functions:

MOD

The short name of the
module. The name of the shared library will be
snmp_${MOD}.so. There must exist a file
${MOD}_tree.def for compilation with gensnmptree(1) which
contains the definition of the MIB tree implemented by the
module.

EXTRAMIBDEFS

A list of extra MIB
definition files for gensnmptree(1). This is optional.

XSYM

A list of symbols to be
extracted from the MIB definition files by gensnmptree(1). This is
optional.

DEFS

A list of MIB
definition files to be installed. This is optional.

BMIBS

A list of textual MIBs
to be installed. This is optional.

Three files are
automatically created from the MIB definition files and the
XSYM variable:

${MOD}_tree.c

This contains a table with the tree
implemented by the module. It is automatically included into the
SRCS variable.

${MOD}_tree.h

This contains preprocessor defines for
all the OIDs defined by the module and can be included in the
module’s source code.

${MOD}_oid.h

OID preprocessor
definitions for all the symbols listed in XSYMS. This is to
be included into the module’s source code.