I committed the kernel subsystem API documentation generation framework. It allows to generate the API documentation of a subsystem (with doxygen) just by adding a short config file (around 22 lines with comments and blank lines, maybe 14 lines without comments and blank lines). Here’s an example of such a config:
—-snip—-
PROJECT_NAME = “FreeBSD kernel sound device code”
OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_sound/
EXTRACT_ALL = YES # for undocumented src, no warnings enabled
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 framework is configured to not only generate the HTML version, but also a PDF version.

Subsystems for which docs are generated currently (configs for other subsystems are welcome):

  • cam

  • crypto

  • dev_pci

  • dev_sound

  • dev_usb

  • geom

  • i4b

  • kern

  • libkern

  • linux

  • net80211

  • netgraph

  • netinet

  • netinet6

  • netipsec

  • opencrypto

  • vm

People which want to help documenting the code may want to have a look at the special commands doxygen understands.

Add to del.icio.us - Digg this article

No Responses to “The kernel subsystem API documentation generation framework.”  

  1. No Comments

Leave a Reply

You must log in to post a comment.