MFC r196511:

- 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. [here in the 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.
This commit is contained in:
Alexander Leidinger 2009-11-05 08:31:42 +00:00
parent 9d37c171d7
commit c199dd3eab
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/stable/8/; revision=198946
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_sound/dev_sound.tag: $(.OBJDIR)/dev_pci/dev_pci.tag \
$(.OBJDIR)/dev_usb/dev_usb.tag \ $(.OBJDIR)/dev_usb/dev_usb.tag \
$(.OBJDIR)/ac97_if.h \ $(.OBJDIR)/include/ac97_if.h \
$(.OBJDIR)/channel_if.h \ $(.OBJDIR)/include/channel_if.h \
$(.OBJDIR)/feeder_if.h \ $(.OBJDIR)/include/feeder_if.h \
$(.OBJDIR)/mixer_if.h $(.OBJDIR)/include/mixer_if.h
$(.OBJDIR)/dev_usb/dev_usb.tag: $(.OBJDIR)/dev_pci/dev_pci.tag \ $(.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)/dev_pci/dev_pci.tag: $(.OBJDIR)/include/pci_if.h \
$(.OBJDIR)/pcib_if.h \ $(.OBJDIR)/include/pcib_if.h \
$(.OBJDIR)/bus_if.h $(.OBJDIR)/include/bus_if.h

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -10,49 +10,7 @@ TARGET_ARCH?= ${MACHINE_ARCH}
S?=/usr/src/sys S?=/usr/src/sys
LOCALBASE?=/usr/local LOCALBASE?=/usr/local
MFILES+=dev/acpica/acpi_if.m MFILES!= find ${S} -name \*.m | sed -e 's:${S}/::g'
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
HFILES= ${MFILES:T:S/.m$/.h/} HFILES= ${MFILES:T:S/.m$/.h/}
AWK?= awk AWK?= awk
@ -73,16 +31,16 @@ usage:
all: ${ALL} all: ${ALL}
pdf-all:${PDF_ALL} pdf-all:${PDF_ALL}
mfiles: ${HFILES:S/^/${.OBJDIR}\//} mfiles: ${HFILES:S/^/${.OBJDIR}\/include\//}
DOXYGEN_DEST_PATH= ${.OBJDIR} DOXYGEN_DEST_PATH?= ${.OBJDIR}
DOXYGEN_LATEX_DEST_PATH=${.OBJDIR} DOXYGEN_LATEX_DEST_PATH?=${.OBJDIR}
DOXYGEN_PDF_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 DOXYGEN_LINUX_PATH= ${S}/${TARGET_ARCH}/linux
.endif .endif
.if exists{${S}/${TARGET_ARCH}/linux32} .if exists(${S}/${TARGET_ARCH}/linux32)
DOXYGEN_LINUX_PATH+= ${S}/${TARGET_ARCH}/linux32 DOXYGEN_LINUX_PATH+= ${S}/${TARGET_ARCH}/linux32
.endif .endif
@ -98,13 +56,13 @@ ${.OBJDIR}/${target}/${target}.tag:
env DOXYGEN_INCLUDE_PATH=${.CURDIR} \ env DOXYGEN_INCLUDE_PATH=${.CURDIR} \
DOXYGEN_SRC_PATH=${S} \ DOXYGEN_SRC_PATH=${S} \
DOXYGEN_DEST_PATH=${DOXYGEN_DEST_PATH} \ 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_TARGET_ARCH=${TARGET_ARCH} \
DOXYGEN_LINUX_PATH=${DOXYGEN_LINUX_PATH} \ DOXYGEN_LINUX_PATH=${DOXYGEN_LINUX_PATH} \
NOTREVIEWED=${.CURDIR}/notreviewed.dox \ NOTREVIEWED=${.CURDIR}/notreviewed.dox \
PATH=${LOCALBASE}/bin:${PATH} \ PATH=${LOCALBASE}/bin:${PATH} \
doxygen ${.CURDIR}/Doxyfile-${target} 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 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 @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} rm -rf ${DOXYGEN_DEST_PATH}/${target} ${.OBJDIR}/${target}
.endfor .endfor
CLEANDIRS+= ${.OBJDIR}/include
.for file in ${MFILES} .for file in ${MFILES}
CLEANDIRS+= ${.OBJDIR}/${file:T:S/.m$/.h/} CLEANFILES+= ${.OBJDIR}/include/${file:T:S/.m$/.h/}
${.OBJDIR}/${file:T:S/.m$/.h/}: ${S}/${file} ${.OBJDIR}/include/${file:T:S/.m$/.h/}: ${S}/${file}
cd ${.OBJDIR}; ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h @mkdir -p ${.OBJDIR}/include
cd ${.OBJDIR}/include && ${AWK} -f $S/tools/makeobjops.awk ${S}/${file} -h
.endfor .endfor
# #

View File

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