- Update config to doxygen 1.5.2 (I use this with 1.5.9).

- Add linprocfs and linsysfs to the linuxulator dox.
- Take the generated includes from the .m files from a subdirectory
  instead of putting everything into $(.OBJDIR). This imporves the
  human readbility of the source directory contents a lot, if you do not
  create a separate OBJDIR.
- Assume UTF-8 encoding for every input file.
- Strip the source and dest path from the output, we are not interested
  in the absolute location on the machine where the docs are created,
  relative the the root of the FreeBSD source is what interests us.
- Exclude .svn directories.
- Switch to alphabetic index.
- Use one line per INCLUDE_PATH member in the common dox-config.
- Bump the __FreeBSD__ version to 9.		[MFC: to 8]
- Switch from hardcoded .m files to an run-time generated one. Takes
  a little bit more time to get started with actual work, but at least
  is more future-proof. If you generate dox for all subsystems, the
  time to find all .m files in the source is magnitutes lower than
  producing the docs.
- Make the *DEST_PATH overidable from the environment. This allows to
  produce the output directly in the docroot of a webserver.
- Fix the path when telling the user where he can find the API docs.

MFC after:	1 month (after 8.0)
This commit is contained in:
Alexander Leidinger 2009-08-24 13:10:55 +00:00
parent 8e937462f4
commit 20cb1f56a9
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=196511
19 changed files with 63 additions and 93 deletions

View File

@ -6,15 +6,15 @@
$(.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)/include/ac97_if.h \
$(.OBJDIR)/include/channel_if.h \
$(.OBJDIR)/include/feeder_if.h \
$(.OBJDIR)/include/mixer_if.h
$(.OBJDIR)/dev_usb/dev_usb.tag: $(.OBJDIR)/dev_pci/dev_pci.tag \
$(.OBJDIR)/usb_if.h
$(.OBJDIR)/include/usb_if.h
$(.OBJDIR)/dev_pci/dev_pci.tag: $(.OBJDIR)/pci_if.h \
$(.OBJDIR)/pcib_if.h \
$(.OBJDIR)/bus_if.h
$(.OBJDIR)/dev_pci/dev_pci.tag: $(.OBJDIR)/include/pci_if.h \
$(.OBJDIR)/include/pcib_if.h \
$(.OBJDIR)/include/bus_if.h

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$
@ -12,6 +12,8 @@ EXTRACT_ALL = YES # for undocumented src, no warnings enabled
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = $(DOXYGEN_SRC_PATH)/compat/linux \
$(DOXYGEN_SRC_PATH)/compat/linprocfs \
$(DOXYGEN_SRC_PATH)/compat/linsysfs \
$(DOXYGEN_LINUX_PATH) $(NOTREVIEWED)
GENERATE_TAGFILE = linux/linux.tag

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$

View File

@ -10,49 +10,7 @@ TARGET_ARCH?= ${MACHINE_ARCH}
S?=/usr/src/sys
LOCALBASE?=/usr/local
MFILES+=dev/acpica/acpi_if.m
MFILES+=dev/ata/ata_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/mmc/mmcbr_if.m
MFILES+=dev/mmc/mmcbus_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/scc/scc_if.m
MFILES+=dev/smbus/smbus_if.m
MFILES+=dev/sound/midi/mpu_if.m
MFILES+=dev/sound/midi/mpufoi_if.m
MFILES+=dev/sound/midi/synth_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/spibus/spibus_if.m
MFILES+=dev/uart/uart_if.m
MFILES+=dev/usb/usb_if.m
MFILES+=geom/part/g_part_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+=kern/serdev_if.m
MFILES+=libkern/iconv_converter_if.m
MFILES+=opencrypto/cryptodev_if.m
MFILES+=pc98/pc98/canbus_if.m
MFILES+=pci/agp_if.m
MFILES+=powerpc/powerpc/mmu_if.m
MFILES+=powerpc/powerpc/pic_if.m
MFILES+=sparc64/pci/ofw_pci_if.m
MFILES+=sun4v/mdesc/mdesc_bus_if.m
MFILES!= find ${S} -name \*.m | sed -e 's:${S}/::g'
HFILES= ${MFILES:T:S/.m$/.h/}
AWK?= awk
@ -73,16 +31,16 @@ usage:
all: ${ALL}
pdf-all:${PDF_ALL}
mfiles: ${HFILES:S/^/${.OBJDIR}\//}
mfiles: ${HFILES:S/^/${.OBJDIR}\/include\//}
DOXYGEN_DEST_PATH= ${.OBJDIR}
DOXYGEN_LATEX_DEST_PATH=${.OBJDIR}
DOXYGEN_PDF_DEST_PATH= ${.OBJDIR}
DOXYGEN_DEST_PATH?= ${.OBJDIR}
DOXYGEN_LATEX_DEST_PATH?=${.OBJDIR}
DOXYGEN_PDF_DEST_PATH?= ${.OBJDIR}
.if exists{${S}/${TARGET_ARCH}/linux}
.if exists(${S}/${TARGET_ARCH}/linux)
DOXYGEN_LINUX_PATH= ${S}/${TARGET_ARCH}/linux
.endif
.if exists{${S}/${TARGET_ARCH}/linux32}
.if exists(${S}/${TARGET_ARCH}/linux32)
DOXYGEN_LINUX_PATH+= ${S}/${TARGET_ARCH}/linux32
.endif
@ -98,13 +56,13 @@ ${.OBJDIR}/${target}/${target}.tag:
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_SRC_INCLUDE_PATH="${S}/sys ${S}/../include ${S}/${TARGET_ARCH}/include ${.OBJDIR}/include" \
DOXYGEN_TARGET_ARCH=${TARGET_ARCH} \
DOXYGEN_LINUX_PATH=${DOXYGEN_LINUX_PATH} \
NOTREVIEWED=${.CURDIR}/notreviewed.dox \
PATH=${LOCALBASE}/bin:${PATH} \
doxygen ${.CURDIR}/Doxyfile-${target}
@echo "API docs for ${target} are now available in ${.OBJDIR}/${target}/." | /usr/bin/fmt
@echo "API docs for ${target} are now available in ${DOXYGEN_DEST_PATH}/${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
@ -117,10 +75,12 @@ clean-${target}:
rm -rf ${DOXYGEN_DEST_PATH}/${target} ${.OBJDIR}/${target}
.endfor
CLEANDIRS+= ${.OBJDIR}/include
.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
CLEANFILES+= ${.OBJDIR}/include/${file:T:S/.m$/.h/}
${.OBJDIR}/include/${file:T:S/.m$/.h/}: ${S}/${file}
@mkdir -p ${.OBJDIR}/include
cd ${.OBJDIR}/include && ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h
.endfor
#

View File

@ -1,14 +1,14 @@
# Doxyfile 1.4.1
# Doxyfile 1.5.2
# $FreeBSD$
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NUMBER =
CREATE_SUBDIRS = YES
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
@ -25,18 +25,20 @@ ABBREVIATE_BRIEF = "The $name class" \
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_PATH = $(DOXYGEN_SRC_PATH) $(DOXYGEN_DEST_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
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
@ -76,9 +78,11 @@ WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
@ -120,7 +124,8 @@ FILE_PATTERNS = *.c \
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = */.\#*
EXCLUDE_PATTERNS = */.\#* */.svn/*
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
@ -136,11 +141,13 @@ INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
REFERENCES_LINK_SOURCE = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
@ -220,12 +227,13 @@ ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = $(DOXYGEN_SRC_INCLUDE_PATH) .
INCLUDE_PATH = $(DOXYGEN_SRC_INCLUDE_PATH) \
.
INCLUDE_FILE_PATTERNS = *.h
PREDEFINED = "_KERNEL" \
"__FreeBSD__=7" \
"__${TARGET_ARCH}__=1" \
"__${TARGET_ARCH}=1"
PREDEFINED = _KERNEL \
__FreeBSD__=9 \
__${TARGET_ARCH}__=1 \
__${TARGET_ARCH}=1
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
@ -238,6 +246,7 @@ PERL_PATH = /usr/bin/perl
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
MSCGEN_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
@ -248,14 +257,13 @@ TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = YES
CALLER_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_GRAPH_MAX_NODES = 50
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = YES
GENERATE_LEGEND = YES