Alexander Leidinger

Just another weblog

May
26

The ker­nel sub­sys­tem API doc­u­ment­a­tion gen­er­a­tion frame­work.

I com­mit­ted the ker­nel sub­sys­tem API doc­u­ment­a­tion gen­er­a­tion frame­work. It al­lows to gen­er­ate the API doc­u­ment­a­tion of a sub­sys­tem (with doxy­gen) just by adding a short con­fig file (around 22 lines with com­ments and blank lines, maybe 14 lines without com­ments and blank lines). Here’s an ex­ample of such a con­fig:

—snip—
PROJECT_NAME = “FreeBSD ker­nel sound device code”
OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_sound/
EXTRACT_ALL = YES # for un­doc­u­mented src, no warn­ings en­abled
INPUT = $(DOXYGEN_SRC_PATH)/dev/sound/

GENERATE_TAGFILE = dev_sound/dev_sound.tag
TAGFILES = dev_pci/dev_pci.tag=../../dev_pci/html \
dev_usb/dev_usb.tag=../../dev_usb/html
@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH)
@INCLUDE = common-Doxyfile
—snip—

The frame­work is con­figured to not only gen­er­ate the HTML ver­sion, but also a PDF ver­sion.

Sub­sys­tems for which docs are gen­er­ated cur­rently (con­figs for other sub­sys­tems are wel­come):

  • cam
  • crypto
  • dev_pci
  • dev_sound
  • dev_usb
  • geom
  • i4b
  • kern
  • lib­kern
  • linux
  • net80211
  • net­graph
  • net­inet
  • netinet6
  • ne­tipsec
  • open­crypto
  • vm

People which want to help doc­u­ment­ing the code may want to have a look at the spe­cial com­mands doxy­gen un­der­stands.

Share/Save

Tags: , , , , , , , , ,