From db261387073c8a6b1a1606b7f5fe95ed1cc10b35 Mon Sep 17 00:00:00 2001 From: netchild Date: Fri, 26 May 2006 18:06:07 +0000 Subject: [PATCH] This is the kernel subsystem API documentation generation framework. It uses doxygen to generate the API documentation. For each subsystem a very small (about 20 lines with comments) subsystem specific Doxyfile has to be written (have a look at the README for more). All common doxygen options are specified in a separate file. The framework is configured to not only generate the HTML version, but also a PDF version (the paper size is hardcoded to DIN A4 currently and depending on the subsystem you have to increase some limits in the latex configuration of your system, the README tells more about this). It also allows cross-references between the subsystems (it generates doxygen tag files). Currently the docs are generated in OBJDIR, but this may change after coordination with doc@. The makefile is prepared to generate/move various parts of the generated docs to different destinations. TARGET_ARCH is respected and some env-vars are set for architecture specific handling of the source (the README tells more). Subsystems for which docs are generated: - cam - crypto - dev_pci - dev_sound - dev_usb - geom - i4b - kern - libkern - linux - net80211 - netgraph - netinet - netinet6 - netipsec - opencrypto - vm Requested by: gnn --- sys/doc/subsys/Dependencies | 22 ++ sys/doc/subsys/Doxyfile-cam | 20 ++ sys/doc/subsys/Doxyfile-crypto | 20 ++ sys/doc/subsys/Doxyfile-dev_pci | 21 ++ sys/doc/subsys/Doxyfile-dev_sound | 22 ++ sys/doc/subsys/Doxyfile-dev_usb | 21 ++ sys/doc/subsys/Doxyfile-geom | 20 ++ sys/doc/subsys/Doxyfile-i4b | 21 ++ sys/doc/subsys/Doxyfile-kern | 20 ++ sys/doc/subsys/Doxyfile-libkern | 20 ++ sys/doc/subsys/Doxyfile-linux | 20 ++ sys/doc/subsys/Doxyfile-net80211 | 20 ++ sys/doc/subsys/Doxyfile-netgraph | 20 ++ sys/doc/subsys/Doxyfile-netinet | 20 ++ sys/doc/subsys/Doxyfile-netinet6 | 20 ++ sys/doc/subsys/Doxyfile-netipsec | 20 ++ sys/doc/subsys/Doxyfile-opencrypto | 20 ++ sys/doc/subsys/Doxyfile-vm | 20 ++ sys/doc/subsys/Makefile | 124 ++++++++++ sys/doc/subsys/README | 32 +++ sys/doc/subsys/common-Doxyfile | 266 +++++++++++++++++++++ tools/kerneldoc/subsys/Dependencies | 22 ++ tools/kerneldoc/subsys/Doxyfile-cam | 20 ++ tools/kerneldoc/subsys/Doxyfile-crypto | 20 ++ tools/kerneldoc/subsys/Doxyfile-dev_pci | 21 ++ tools/kerneldoc/subsys/Doxyfile-dev_sound | 22 ++ tools/kerneldoc/subsys/Doxyfile-dev_usb | 21 ++ tools/kerneldoc/subsys/Doxyfile-geom | 20 ++ tools/kerneldoc/subsys/Doxyfile-i4b | 21 ++ tools/kerneldoc/subsys/Doxyfile-kern | 20 ++ tools/kerneldoc/subsys/Doxyfile-libkern | 20 ++ tools/kerneldoc/subsys/Doxyfile-linux | 20 ++ tools/kerneldoc/subsys/Doxyfile-net80211 | 20 ++ tools/kerneldoc/subsys/Doxyfile-netgraph | 20 ++ tools/kerneldoc/subsys/Doxyfile-netinet | 20 ++ tools/kerneldoc/subsys/Doxyfile-netinet6 | 20 ++ tools/kerneldoc/subsys/Doxyfile-netipsec | 20 ++ tools/kerneldoc/subsys/Doxyfile-opencrypto | 20 ++ tools/kerneldoc/subsys/Doxyfile-vm | 20 ++ tools/kerneldoc/subsys/Makefile | 124 ++++++++++ tools/kerneldoc/subsys/README | 32 +++ tools/kerneldoc/subsys/common-Doxyfile | 266 +++++++++++++++++++++ 42 files changed, 1578 insertions(+) create mode 100644 sys/doc/subsys/Dependencies create mode 100644 sys/doc/subsys/Doxyfile-cam create mode 100644 sys/doc/subsys/Doxyfile-crypto create mode 100644 sys/doc/subsys/Doxyfile-dev_pci create mode 100644 sys/doc/subsys/Doxyfile-dev_sound create mode 100644 sys/doc/subsys/Doxyfile-dev_usb create mode 100644 sys/doc/subsys/Doxyfile-geom create mode 100644 sys/doc/subsys/Doxyfile-i4b create mode 100644 sys/doc/subsys/Doxyfile-kern create mode 100644 sys/doc/subsys/Doxyfile-libkern create mode 100644 sys/doc/subsys/Doxyfile-linux create mode 100644 sys/doc/subsys/Doxyfile-net80211 create mode 100644 sys/doc/subsys/Doxyfile-netgraph create mode 100644 sys/doc/subsys/Doxyfile-netinet create mode 100644 sys/doc/subsys/Doxyfile-netinet6 create mode 100644 sys/doc/subsys/Doxyfile-netipsec create mode 100644 sys/doc/subsys/Doxyfile-opencrypto create mode 100644 sys/doc/subsys/Doxyfile-vm create mode 100644 sys/doc/subsys/Makefile create mode 100644 sys/doc/subsys/README create mode 100644 sys/doc/subsys/common-Doxyfile create mode 100644 tools/kerneldoc/subsys/Dependencies create mode 100644 tools/kerneldoc/subsys/Doxyfile-cam create mode 100644 tools/kerneldoc/subsys/Doxyfile-crypto create mode 100644 tools/kerneldoc/subsys/Doxyfile-dev_pci create mode 100644 tools/kerneldoc/subsys/Doxyfile-dev_sound create mode 100644 tools/kerneldoc/subsys/Doxyfile-dev_usb create mode 100644 tools/kerneldoc/subsys/Doxyfile-geom create mode 100644 tools/kerneldoc/subsys/Doxyfile-i4b create mode 100644 tools/kerneldoc/subsys/Doxyfile-kern create mode 100644 tools/kerneldoc/subsys/Doxyfile-libkern create mode 100644 tools/kerneldoc/subsys/Doxyfile-linux create mode 100644 tools/kerneldoc/subsys/Doxyfile-net80211 create mode 100644 tools/kerneldoc/subsys/Doxyfile-netgraph create mode 100644 tools/kerneldoc/subsys/Doxyfile-netinet create mode 100644 tools/kerneldoc/subsys/Doxyfile-netinet6 create mode 100644 tools/kerneldoc/subsys/Doxyfile-netipsec create mode 100644 tools/kerneldoc/subsys/Doxyfile-opencrypto create mode 100644 tools/kerneldoc/subsys/Doxyfile-vm create mode 100644 tools/kerneldoc/subsys/Makefile create mode 100644 tools/kerneldoc/subsys/README create mode 100644 tools/kerneldoc/subsys/common-Doxyfile diff --git a/sys/doc/subsys/Dependencies b/sys/doc/subsys/Dependencies new file mode 100644 index 000000000000..2eda312d2085 --- /dev/null +++ b/sys/doc/subsys/Dependencies @@ -0,0 +1,22 @@ +# +# $FreeBSD$ +# +# makefile dependencies for doxygen tag files +# + +$(.OBJDIR)/dev_sound/dev_sound.tag: $(.OBJDIR)/dev_pci/dev_pci.tag \ + $(.OBJDIR)/dev_usb/dev_usb.tag \ + $(.OBJDIR)/ac97_if.h \ + $(.OBJDIR)/channel_if.h \ + $(.OBJDIR)/feeder_if.h \ + $(.OBJDIR)/mixer_if.h + +$(.OBJDIR)/dev_usb/dev_usb.tag: $(.OBJDIR)/dev_pci/dev_pci.tag \ + $(.OBJDIR)/usb_if.h + +$(.OBJDIR)/dev_pci/dev_pci.tag: $(.OBJDIR)/pci_if.h \ + $(.OBJDIR)/pcib_if.h \ + $(.OBJDIR)/bus_if.h + +$(.OBJDIR)/i4b/i4b.tag: $(.OBJDIR)/dev_pci/dev_pci.tag + diff --git a/sys/doc/subsys/Doxyfile-cam b/sys/doc/subsys/Doxyfile-cam new file mode 100644 index 000000000000..55e777110786 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-cam @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel CAM code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/cam/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/cam/ + +GENERATE_TAGFILE = cam/cam.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-crypto b/sys/doc/subsys/Doxyfile-crypto new file mode 100644 index 000000000000..4eadf59f05c5 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-crypto @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel crypto code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/crypto/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/crypto/ + +GENERATE_TAGFILE = crypto/crypto.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-dev_pci b/sys/doc/subsys/Doxyfile-dev_pci new file mode 100644 index 000000000000..9690796162f8 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-dev_pci @@ -0,0 +1,21 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel $(DOXYGEN_TARGET_ARCH) PCI device code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_pci/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/dev/pci/ \ + $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/pci/ + +GENERATE_TAGFILE = dev_pci/dev_pci.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-dev_sound b/sys/doc/subsys/Doxyfile-dev_sound new file mode 100644 index 000000000000..430960e3dba0 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-dev_sound @@ -0,0 +1,22 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel sound device code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_sound/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +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 + diff --git a/sys/doc/subsys/Doxyfile-dev_usb b/sys/doc/subsys/Doxyfile-dev_usb new file mode 100644 index 000000000000..7a05dfa63656 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-dev_usb @@ -0,0 +1,21 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel usb device Code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_usb/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/dev/usb/ + +GENERATE_TAGFILE = dev_usb/dev_usb.tag +TAGFILES = dev_pci/dev_pci.tag=../../dev_pci/html + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-geom b/sys/doc/subsys/Doxyfile-geom new file mode 100644 index 000000000000..30c9c0c6470f --- /dev/null +++ b/sys/doc/subsys/Doxyfile-geom @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel GEOM code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/geom/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/geom/ + +GENERATE_TAGFILE = geom/geom.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-i4b b/sys/doc/subsys/Doxyfile-i4b new file mode 100644 index 000000000000..0a3251ea63c7 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-i4b @@ -0,0 +1,21 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel ISDN code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/i4b/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/i4b/ + +GENERATE_TAGFILE = i4b/i4b.tag +TAGFILES = dev_pci/dev_pci.tag=../../dev_pci/html + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-kern b/sys/doc/subsys/Doxyfile-kern new file mode 100644 index 000000000000..b2ba51f4d6cd --- /dev/null +++ b/sys/doc/subsys/Doxyfile-kern @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel kern code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/kern/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/kern/ + +GENERATE_TAGFILE = kern/kern.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-libkern b/sys/doc/subsys/Doxyfile-libkern new file mode 100644 index 000000000000..5191c9e4f847 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-libkern @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel libkern code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/libkern/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/libkern/ + +GENERATE_TAGFILE = libkern/libkern.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-linux b/sys/doc/subsys/Doxyfile-linux new file mode 100644 index 000000000000..8de57f3e8793 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-linux @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel $(DOXYGEN_TARGET_ARCH) linuxolator code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/linux/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/compat/linux $(DOXYGEN_LINUX_PATH) + +GENERATE_TAGFILE = linux/linux.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-net80211 b/sys/doc/subsys/Doxyfile-net80211 new file mode 100644 index 000000000000..75ada2563248 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-net80211 @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel WLAN code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/net80211/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/net80211/ + +GENERATE_TAGFILE = net80211/net80211.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-netgraph b/sys/doc/subsys/Doxyfile-netgraph new file mode 100644 index 000000000000..b203e680662b --- /dev/null +++ b/sys/doc/subsys/Doxyfile-netgraph @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel netgraph code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/netgraph/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/netgraph/ + +GENERATE_TAGFILE = netgraph/netgraph.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-netinet b/sys/doc/subsys/Doxyfile-netinet new file mode 100644 index 000000000000..c5c91dcd1f77 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-netinet @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel IPv4 code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/netinet/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/netinet/ + +GENERATE_TAGFILE = netinet/netinet.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-netinet6 b/sys/doc/subsys/Doxyfile-netinet6 new file mode 100644 index 000000000000..57c0f8ce773d --- /dev/null +++ b/sys/doc/subsys/Doxyfile-netinet6 @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel IPv6 code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/netinet6/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/netinet6/ + +GENERATE_TAGFILE = netinet6/netinet6.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-netipsec b/sys/doc/subsys/Doxyfile-netipsec new file mode 100644 index 000000000000..b962e2cc4e1d --- /dev/null +++ b/sys/doc/subsys/Doxyfile-netipsec @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel IPsec code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/netipsec/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/netipsec/ + +GENERATE_TAGFILE = netipsec/netipsec.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-opencrypto b/sys/doc/subsys/Doxyfile-opencrypto new file mode 100644 index 000000000000..c14a59f4f548 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-opencrypto @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel opencrypto code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/opencrypto/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/opencrypto/ + +GENERATE_TAGFILE = opencrypto/opencrypto.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Doxyfile-vm b/sys/doc/subsys/Doxyfile-vm new file mode 100644 index 000000000000..c232997743c0 --- /dev/null +++ b/sys/doc/subsys/Doxyfile-vm @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD virtual memory subsystem code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/vm/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/vm/ + +GENERATE_TAGFILE = vm/vm.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/sys/doc/subsys/Makefile b/sys/doc/subsys/Makefile new file mode 100644 index 000000000000..35aed6c103a2 --- /dev/null +++ b/sys/doc/subsys/Makefile @@ -0,0 +1,124 @@ +# +# $FreeBSD$ +# + +_ALL!= cd ${.CURDIR} && ls Doxyfile-* +ALL= ${_ALL:C/Doxyfile-//g} +PDF_ALL=${_ALL:C/Doxyfile/pdf/g} + +TARGET_ARCH?= ${MACHINE_ARCH} +S?=/usr/src/sys + +MFILES+=contrib/dev/ath/freebsd/ah_if.m +MFILES+=dev/acpica/acpi_if.m +MFILES+=dev/eisa/eisa_if.m +MFILES+=dev/iicbus/iicbb_if.m +MFILES+=dev/iicbus/iicbus_if.m +MFILES+=dev/mii/miibus_if.m +MFILES+=dev/ofw/ofw_bus_if.m +MFILES+=dev/pccard/card_if.m +MFILES+=dev/pccard/power_if.m +MFILES+=dev/pci/pci_if.m +MFILES+=dev/pci/pcib_if.m +MFILES+=dev/ppbus/ppbus_if.m +MFILES+=dev/smbus/smbus_if.m +MFILES+=dev/sound/pcm/ac97_if.m +MFILES+=dev/sound/pcm/channel_if.m +MFILES+=dev/sound/pcm/feeder_if.m +MFILES+=dev/sound/pcm/mixer_if.m +MFILES+=dev/uart/uart_if.m +MFILES+=dev/usb/usb_if.m +MFILES+=isa/isa_if.m +MFILES+=kern/bus_if.m +MFILES+=kern/clock_if.m +MFILES+=kern/cpufreq_if.m +MFILES+=kern/device_if.m +MFILES+=kern/linker_if.m +MFILES+=libkern/iconv_converter_if.m +MFILES+=opencrypto/crypto_if.m +MFILES+=pc98/pc98/canbus_if.m +MFILES+=pci/agp_if.m +MFILES+=powerpc/powerpc/pic_if.m +MFILES+=sparc64/pci/ofw_pci_if.m + +.if exists{${S}/${TARGET_ARCH}/${TARGET_ARCH}/clock_if.m} +MFILES+=${TARGET_ARCH}/${TARGET_ARCH}/clock_if.m +.endif + +HFILES= ${MFILES:T:S/.m$/.h/} +AWK?= awk + +.MAIN: usage + +usage: + @echo "Possible targets are:" +.for entry in ${ALL} + @echo " ${entry}" + @echo " pdf-${entry}" + @echo " clean-${entry}" +.endfor + @echo + @echo " all" + @echo " pdf-all" + @echo " clean" + +all: ${ALL} +pdf-all:${PDF_ALL} + +mfiles: ${HFILES:S/^/${.OBJDIR}\//} + +DOXYGEN_DEST_PATH= ${.OBJDIR} +DOXYGEN_LATEX_DEST_PATH=${.OBJDIR} +DOXYGEN_PDF_DEST_PATH= ${.OBJDIR} + +.if exists{${S}/${TARGET_ARCH}/linux} +DOXYGEN_LINUX_PATH= ${S}/${TARGET_ARCH}/linux +.endif +.if exists{${S}/${TARGET_ARCH}/linux32} +DOXYGEN_LINUX_PATH+= ${S}/${TARGET_ARCH}/linux32 +.endif + +# +# generate the necessary targets +# +.for target in ${ALL} +${target}: mfiles ${.OBJDIR}/${target}/${target}.tag + +${.OBJDIR}/${target}/${target}.tag: + @cd ${.OBJDIR} && \ + env DOXYGEN_INCLUDE_PATH=${.CURDIR} \ + DOXYGEN_SRC_PATH=${S} \ + DOXYGEN_DEST_PATH=${DOXYGEN_DEST_PATH} \ + DOXYGEN_SRC_INCLUDE_PATH="${S}/sys ${S}/../include ${S}/${TARGET_ARCH}/include" \ + DOXYGEN_TARGET_ARCH=${TARGET_ARCH} \ + DOXYGEN_LINUX_PATH=${DOXYGEN_LINUX_PATH} \ + doxygen ${.CURDIR}/Doxyfile-${target} + @echo "API docs for ${target} are now available in ${.OBJDIR}/${target}/." | /usr/bin/fmt + +pdf-${target}: ${.OBJDIR}/${target}/${target}.tag + @cd ${DOXYGEN_LATEX_DEST_PATH}/${target}/latex && ${MAKE} refman.pdf && cp refman.pdf ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf + @echo "API docs for ${target} are now available in ${DOXYGEN_PDF_DEST_PATH}/." | /usr/bin/fmt + +CLEANDIRS+= ${DOXYGEN_DEST_PATH}/${target} +CLEANDIRS+= ${.OBJDIR}/${target}/ +CLEANFILES+= ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf +clean-${target}: + rm -rf ${DOXYGEN_DEST_PATH}/${target} ${.OBJDIR}/${target} +.endfor + +.for file in ${MFILES} +CLEANDIRS+= ${.OBJDIR}/${file:T:S/.m$/.h/} +${.OBJDIR}/${file:T:S/.m$/.h/}: ${S}/${file} + cd ${.OBJDIR}; ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h +.endfor + +# +# update target for the config files {config syntax change} +# +update-doxys: +.for config_file in ${_ALL} + @doxygen -u ${config_file} +.endfor + +.include "Dependencies" +.include diff --git a/sys/doc/subsys/README b/sys/doc/subsys/README new file mode 100644 index 000000000000..9a70bf0b577e --- /dev/null +++ b/sys/doc/subsys/README @@ -0,0 +1,32 @@ + The kernel subsystem API documentation generation framework. + -------------------------------------------------------------- + +For every Doxyfile-(.*) the Makefile adds the public targets $1, pdf-$1 and +clean-$1. For e.g. Doxyfile-dev_pci this translates to the targets dev_pci, +pdf-dev_pci and clean-dev_pci. + +Additionally, the targets 'all', 'pdf-all' and 'clean' to generate or remove +the documentation for all targets are available. + +The file 'Dependencies' contains dependencies for the .tag files. + +To add another part to the documentation just copy a Doxyfile and add +the necessary dependencies to the file 'Dependencies'. + +The following environment variables can be used in the Doxyfile: + - DOXYGEN_SRC_PATH (/usr/src/sys) + - DOXYGEN_DEST_PATH (where the docs are generated) + - DOXYGEN_TARGET_ARCH (${TARGET_ARCH} if set, else ${MACHINE_ARCH}) + +For the PDF generation you may have to change some limits in the latex +configuration (the build may fail and an error about e.g. "pool size" is +shown), for print/teTeX this is done in + /usr/local/share/texmf/web2c/texmf.cnf + +Programs needed to generate the API docs: + - devel/doxygen + - print/teTeX + - graphics/graphviz + +-- +$FreeBSD$ diff --git a/sys/doc/subsys/common-Doxyfile b/sys/doc/subsys/common-Doxyfile new file mode 100644 index 000000000000..537241877b18 --- /dev/null +++ b/sys/doc/subsys/common-Doxyfile @@ -0,0 +1,266 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NUMBER = +CREATE_SUBDIRS = YES +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.C \ + *.CC \ + *.C++ \ + *.II \ + *.I++ \ + *.H \ + *.HH \ + *.H++ \ + *.CS \ + *.PHP \ + *.PHP3 \ + *.M \ + *.MM +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = */.\#* +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = $(DOXYGEN_SRC_INCLUDE_PATH) . +INCLUDE_FILE_PATTERNS = *.h +PREDEFINED = "_KERNEL" \ + "__FreeBSD__=7" \ + "__${TARGET_ARCH}__=1" \ + "__${TARGET_ARCH}=1" +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = YES +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/tools/kerneldoc/subsys/Dependencies b/tools/kerneldoc/subsys/Dependencies new file mode 100644 index 000000000000..2eda312d2085 --- /dev/null +++ b/tools/kerneldoc/subsys/Dependencies @@ -0,0 +1,22 @@ +# +# $FreeBSD$ +# +# makefile dependencies for doxygen tag files +# + +$(.OBJDIR)/dev_sound/dev_sound.tag: $(.OBJDIR)/dev_pci/dev_pci.tag \ + $(.OBJDIR)/dev_usb/dev_usb.tag \ + $(.OBJDIR)/ac97_if.h \ + $(.OBJDIR)/channel_if.h \ + $(.OBJDIR)/feeder_if.h \ + $(.OBJDIR)/mixer_if.h + +$(.OBJDIR)/dev_usb/dev_usb.tag: $(.OBJDIR)/dev_pci/dev_pci.tag \ + $(.OBJDIR)/usb_if.h + +$(.OBJDIR)/dev_pci/dev_pci.tag: $(.OBJDIR)/pci_if.h \ + $(.OBJDIR)/pcib_if.h \ + $(.OBJDIR)/bus_if.h + +$(.OBJDIR)/i4b/i4b.tag: $(.OBJDIR)/dev_pci/dev_pci.tag + diff --git a/tools/kerneldoc/subsys/Doxyfile-cam b/tools/kerneldoc/subsys/Doxyfile-cam new file mode 100644 index 000000000000..55e777110786 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-cam @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel CAM code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/cam/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/cam/ + +GENERATE_TAGFILE = cam/cam.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-crypto b/tools/kerneldoc/subsys/Doxyfile-crypto new file mode 100644 index 000000000000..4eadf59f05c5 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-crypto @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel crypto code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/crypto/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/crypto/ + +GENERATE_TAGFILE = crypto/crypto.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-dev_pci b/tools/kerneldoc/subsys/Doxyfile-dev_pci new file mode 100644 index 000000000000..9690796162f8 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-dev_pci @@ -0,0 +1,21 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel $(DOXYGEN_TARGET_ARCH) PCI device code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_pci/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/dev/pci/ \ + $(DOXYGEN_SRC_PATH)/$(DOXYGEN_TARGET_ARCH)/pci/ + +GENERATE_TAGFILE = dev_pci/dev_pci.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-dev_sound b/tools/kerneldoc/subsys/Doxyfile-dev_sound new file mode 100644 index 000000000000..430960e3dba0 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-dev_sound @@ -0,0 +1,22 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel sound device code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_sound/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +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 + diff --git a/tools/kerneldoc/subsys/Doxyfile-dev_usb b/tools/kerneldoc/subsys/Doxyfile-dev_usb new file mode 100644 index 000000000000..7a05dfa63656 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-dev_usb @@ -0,0 +1,21 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel usb device Code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_usb/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/dev/usb/ + +GENERATE_TAGFILE = dev_usb/dev_usb.tag +TAGFILES = dev_pci/dev_pci.tag=../../dev_pci/html + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-geom b/tools/kerneldoc/subsys/Doxyfile-geom new file mode 100644 index 000000000000..30c9c0c6470f --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-geom @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel GEOM code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/geom/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/geom/ + +GENERATE_TAGFILE = geom/geom.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-i4b b/tools/kerneldoc/subsys/Doxyfile-i4b new file mode 100644 index 000000000000..0a3251ea63c7 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-i4b @@ -0,0 +1,21 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel ISDN code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/i4b/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/i4b/ + +GENERATE_TAGFILE = i4b/i4b.tag +TAGFILES = dev_pci/dev_pci.tag=../../dev_pci/html + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-kern b/tools/kerneldoc/subsys/Doxyfile-kern new file mode 100644 index 000000000000..b2ba51f4d6cd --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-kern @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel kern code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/kern/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/kern/ + +GENERATE_TAGFILE = kern/kern.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-libkern b/tools/kerneldoc/subsys/Doxyfile-libkern new file mode 100644 index 000000000000..5191c9e4f847 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-libkern @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel libkern code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/libkern/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/libkern/ + +GENERATE_TAGFILE = libkern/libkern.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-linux b/tools/kerneldoc/subsys/Doxyfile-linux new file mode 100644 index 000000000000..8de57f3e8793 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-linux @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel $(DOXYGEN_TARGET_ARCH) linuxolator code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/linux/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/compat/linux $(DOXYGEN_LINUX_PATH) + +GENERATE_TAGFILE = linux/linux.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-net80211 b/tools/kerneldoc/subsys/Doxyfile-net80211 new file mode 100644 index 000000000000..75ada2563248 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-net80211 @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel WLAN code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/net80211/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/net80211/ + +GENERATE_TAGFILE = net80211/net80211.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-netgraph b/tools/kerneldoc/subsys/Doxyfile-netgraph new file mode 100644 index 000000000000..b203e680662b --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-netgraph @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel netgraph code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/netgraph/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/netgraph/ + +GENERATE_TAGFILE = netgraph/netgraph.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-netinet b/tools/kerneldoc/subsys/Doxyfile-netinet new file mode 100644 index 000000000000..c5c91dcd1f77 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-netinet @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel IPv4 code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/netinet/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/netinet/ + +GENERATE_TAGFILE = netinet/netinet.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-netinet6 b/tools/kerneldoc/subsys/Doxyfile-netinet6 new file mode 100644 index 000000000000..57c0f8ce773d --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-netinet6 @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel IPv6 code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/netinet6/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/netinet6/ + +GENERATE_TAGFILE = netinet6/netinet6.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-netipsec b/tools/kerneldoc/subsys/Doxyfile-netipsec new file mode 100644 index 000000000000..b962e2cc4e1d --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-netipsec @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel IPsec code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/netipsec/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/netipsec/ + +GENERATE_TAGFILE = netipsec/netipsec.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-opencrypto b/tools/kerneldoc/subsys/Doxyfile-opencrypto new file mode 100644 index 000000000000..c14a59f4f548 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-opencrypto @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD kernel opencrypto code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/opencrypto/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#-------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/opencrypto/ + +GENERATE_TAGFILE = opencrypto/opencrypto.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Doxyfile-vm b/tools/kerneldoc/subsys/Doxyfile-vm new file mode 100644 index 000000000000..c232997743c0 --- /dev/null +++ b/tools/kerneldoc/subsys/Doxyfile-vm @@ -0,0 +1,20 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "FreeBSD virtual memory subsystem code" +OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/vm/ +EXTRACT_ALL = YES # for undocumented src, no warnings enabled +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(DOXYGEN_SRC_PATH)/vm/ + +GENERATE_TAGFILE = vm/vm.tag + +@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) +@INCLUDE = common-Doxyfile + diff --git a/tools/kerneldoc/subsys/Makefile b/tools/kerneldoc/subsys/Makefile new file mode 100644 index 000000000000..35aed6c103a2 --- /dev/null +++ b/tools/kerneldoc/subsys/Makefile @@ -0,0 +1,124 @@ +# +# $FreeBSD$ +# + +_ALL!= cd ${.CURDIR} && ls Doxyfile-* +ALL= ${_ALL:C/Doxyfile-//g} +PDF_ALL=${_ALL:C/Doxyfile/pdf/g} + +TARGET_ARCH?= ${MACHINE_ARCH} +S?=/usr/src/sys + +MFILES+=contrib/dev/ath/freebsd/ah_if.m +MFILES+=dev/acpica/acpi_if.m +MFILES+=dev/eisa/eisa_if.m +MFILES+=dev/iicbus/iicbb_if.m +MFILES+=dev/iicbus/iicbus_if.m +MFILES+=dev/mii/miibus_if.m +MFILES+=dev/ofw/ofw_bus_if.m +MFILES+=dev/pccard/card_if.m +MFILES+=dev/pccard/power_if.m +MFILES+=dev/pci/pci_if.m +MFILES+=dev/pci/pcib_if.m +MFILES+=dev/ppbus/ppbus_if.m +MFILES+=dev/smbus/smbus_if.m +MFILES+=dev/sound/pcm/ac97_if.m +MFILES+=dev/sound/pcm/channel_if.m +MFILES+=dev/sound/pcm/feeder_if.m +MFILES+=dev/sound/pcm/mixer_if.m +MFILES+=dev/uart/uart_if.m +MFILES+=dev/usb/usb_if.m +MFILES+=isa/isa_if.m +MFILES+=kern/bus_if.m +MFILES+=kern/clock_if.m +MFILES+=kern/cpufreq_if.m +MFILES+=kern/device_if.m +MFILES+=kern/linker_if.m +MFILES+=libkern/iconv_converter_if.m +MFILES+=opencrypto/crypto_if.m +MFILES+=pc98/pc98/canbus_if.m +MFILES+=pci/agp_if.m +MFILES+=powerpc/powerpc/pic_if.m +MFILES+=sparc64/pci/ofw_pci_if.m + +.if exists{${S}/${TARGET_ARCH}/${TARGET_ARCH}/clock_if.m} +MFILES+=${TARGET_ARCH}/${TARGET_ARCH}/clock_if.m +.endif + +HFILES= ${MFILES:T:S/.m$/.h/} +AWK?= awk + +.MAIN: usage + +usage: + @echo "Possible targets are:" +.for entry in ${ALL} + @echo " ${entry}" + @echo " pdf-${entry}" + @echo " clean-${entry}" +.endfor + @echo + @echo " all" + @echo " pdf-all" + @echo " clean" + +all: ${ALL} +pdf-all:${PDF_ALL} + +mfiles: ${HFILES:S/^/${.OBJDIR}\//} + +DOXYGEN_DEST_PATH= ${.OBJDIR} +DOXYGEN_LATEX_DEST_PATH=${.OBJDIR} +DOXYGEN_PDF_DEST_PATH= ${.OBJDIR} + +.if exists{${S}/${TARGET_ARCH}/linux} +DOXYGEN_LINUX_PATH= ${S}/${TARGET_ARCH}/linux +.endif +.if exists{${S}/${TARGET_ARCH}/linux32} +DOXYGEN_LINUX_PATH+= ${S}/${TARGET_ARCH}/linux32 +.endif + +# +# generate the necessary targets +# +.for target in ${ALL} +${target}: mfiles ${.OBJDIR}/${target}/${target}.tag + +${.OBJDIR}/${target}/${target}.tag: + @cd ${.OBJDIR} && \ + env DOXYGEN_INCLUDE_PATH=${.CURDIR} \ + DOXYGEN_SRC_PATH=${S} \ + DOXYGEN_DEST_PATH=${DOXYGEN_DEST_PATH} \ + DOXYGEN_SRC_INCLUDE_PATH="${S}/sys ${S}/../include ${S}/${TARGET_ARCH}/include" \ + DOXYGEN_TARGET_ARCH=${TARGET_ARCH} \ + DOXYGEN_LINUX_PATH=${DOXYGEN_LINUX_PATH} \ + doxygen ${.CURDIR}/Doxyfile-${target} + @echo "API docs for ${target} are now available in ${.OBJDIR}/${target}/." | /usr/bin/fmt + +pdf-${target}: ${.OBJDIR}/${target}/${target}.tag + @cd ${DOXYGEN_LATEX_DEST_PATH}/${target}/latex && ${MAKE} refman.pdf && cp refman.pdf ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf + @echo "API docs for ${target} are now available in ${DOXYGEN_PDF_DEST_PATH}/." | /usr/bin/fmt + +CLEANDIRS+= ${DOXYGEN_DEST_PATH}/${target} +CLEANDIRS+= ${.OBJDIR}/${target}/ +CLEANFILES+= ${DOXYGEN_PDF_DEST_PATH}/${target}.pdf +clean-${target}: + rm -rf ${DOXYGEN_DEST_PATH}/${target} ${.OBJDIR}/${target} +.endfor + +.for file in ${MFILES} +CLEANDIRS+= ${.OBJDIR}/${file:T:S/.m$/.h/} +${.OBJDIR}/${file:T:S/.m$/.h/}: ${S}/${file} + cd ${.OBJDIR}; ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h +.endfor + +# +# update target for the config files {config syntax change} +# +update-doxys: +.for config_file in ${_ALL} + @doxygen -u ${config_file} +.endfor + +.include "Dependencies" +.include diff --git a/tools/kerneldoc/subsys/README b/tools/kerneldoc/subsys/README new file mode 100644 index 000000000000..9a70bf0b577e --- /dev/null +++ b/tools/kerneldoc/subsys/README @@ -0,0 +1,32 @@ + The kernel subsystem API documentation generation framework. + -------------------------------------------------------------- + +For every Doxyfile-(.*) the Makefile adds the public targets $1, pdf-$1 and +clean-$1. For e.g. Doxyfile-dev_pci this translates to the targets dev_pci, +pdf-dev_pci and clean-dev_pci. + +Additionally, the targets 'all', 'pdf-all' and 'clean' to generate or remove +the documentation for all targets are available. + +The file 'Dependencies' contains dependencies for the .tag files. + +To add another part to the documentation just copy a Doxyfile and add +the necessary dependencies to the file 'Dependencies'. + +The following environment variables can be used in the Doxyfile: + - DOXYGEN_SRC_PATH (/usr/src/sys) + - DOXYGEN_DEST_PATH (where the docs are generated) + - DOXYGEN_TARGET_ARCH (${TARGET_ARCH} if set, else ${MACHINE_ARCH}) + +For the PDF generation you may have to change some limits in the latex +configuration (the build may fail and an error about e.g. "pool size" is +shown), for print/teTeX this is done in + /usr/local/share/texmf/web2c/texmf.cnf + +Programs needed to generate the API docs: + - devel/doxygen + - print/teTeX + - graphics/graphviz + +-- +$FreeBSD$ diff --git a/tools/kerneldoc/subsys/common-Doxyfile b/tools/kerneldoc/subsys/common-Doxyfile new file mode 100644 index 000000000000..537241877b18 --- /dev/null +++ b/tools/kerneldoc/subsys/common-Doxyfile @@ -0,0 +1,266 @@ +# Doxyfile 1.4.1 + +# $FreeBSD$ + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NUMBER = +CREATE_SUBDIRS = YES +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.C \ + *.CC \ + *.C++ \ + *.II \ + *.I++ \ + *.H \ + *.HH \ + *.H++ \ + *.CS \ + *.PHP \ + *.PHP3 \ + *.M \ + *.MM +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = */.\#* +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = $(DOXYGEN_SRC_INCLUDE_PATH) . +INCLUDE_FILE_PATTERNS = *.h +PREDEFINED = "_KERNEL" \ + "__FreeBSD__=7" \ + "__${TARGET_ARCH}__=1" \ + "__${TARGET_ARCH}=1" +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = YES +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO