From b3db99a38d8822f29eae6f67ee6034c57284d06f Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 11 Aug 2009 15:14:36 +0100 Subject: [doc] Expand scope of doxygen-generated documentation --- src/Makefile | 5 +++++ src/Makefile.housekeeping | 23 ++++++++++++++++++----- src/arch/x86/Makefile | 2 +- src/doxygen.cfg | 45 +++++++++++++++++++++------------------------ 4 files changed, 45 insertions(+), 30 deletions(-) diff --git a/src/Makefile b/src/Makefile index 0dbe8d3d..ad60c356 100644 --- a/src/Makefile +++ b/src/Makefile @@ -80,6 +80,11 @@ SRCDIRS += usr NON_AUTO_SRCS := NON_AUTO_SRCS += drivers/net/prism2.c +# INCDIRS lists the include path +# +INCDIRS := +INCDIRS += include . + ############################################################################### # # Default build target: build the most common targets and print out a diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index cf7a9c78..df2a6201 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -292,6 +292,11 @@ MAKEDEPS += arch/$(ARCH)/Makefile include arch/$(ARCH)/Makefile endif +# Include architecture-specific include path +ifdef ARCH +INCDIRS += arch/$(ARCH)/include +endif + ############################################################################### # # Source file handling @@ -320,9 +325,13 @@ autosrcs : ifdef BIN +# INCDIRS lists the include path +incdirs : + @$(ECHO) $(INCDIRS) + # Common flags # -CFLAGS += -I include -I arch/$(ARCH)/include -I . +CFLAGS += $(foreach INC,$(INCDIRS),-I$(INC)) CFLAGS += -Os CFLAGS += -g ifeq ($(CCTYPE),gcc) @@ -953,20 +962,24 @@ endif # defined(BIN) ifdef BIN $(BIN)/doxygen.cfg : doxygen.cfg $(MAKEDEPS) - $(PERL) -pe 's{\@SRCDIRS\@}{$(SRCDIRS)}; ' \ + $(Q)$(PERL) -pe 's{\@SRCDIRS\@}{$(SRCDIRS)}; ' \ + -e 's{\@INCDIRS\@}{$(filter-out .,$(INCDIRS))}; ' \ -e 's{\@BIN\@}{$(BIN)}; ' \ -e 's{\@ARCH\@}{$(ARCH)}; ' \ $< > $@ $(BIN)/doc : $(BIN)/doxygen.cfg - $(DOXYGEN) $< + $(Q)$(DOXYGEN) $< .PHONY : $(BIN)/doc -VERYCLEANUP += $(BIN)/doc - doc : $(BIN)/doc +doc-clean : + $(Q)$(RM) -r $(BIN)/doc + +VERYCLEANUP += $(BIN)/doc + docview : @[ -f $(BIN)/doc/html/index.html ] || $(MAKE) $(BIN)/doc @if [ -n "$$BROWSER" ] ; then \ diff --git a/src/arch/x86/Makefile b/src/arch/x86/Makefile index a7c4bc0e..f5f67ac7 100644 --- a/src/arch/x86/Makefile +++ b/src/arch/x86/Makefile @@ -1,6 +1,6 @@ # Include common x86 headers # -CFLAGS += -Iarch/x86/include +INCDIRS += arch/x86/include # x86-specific directories containing source files # diff --git a/src/doxygen.cfg b/src/doxygen.cfg index c159d6ce..0ee87ad9 100644 --- a/src/doxygen.cfg +++ b/src/doxygen.cfg @@ -25,7 +25,7 @@ DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. -PROJECT_NAME = Etherboot +PROJECT_NAME = gPXE # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or @@ -92,7 +92,7 @@ ABBREVIATE_BRIEF = # Doxygen will generate a detailed section even if there is only a brief # description. -ALWAYS_DETAILED_SEC = NO +ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those @@ -105,7 +105,7 @@ INLINE_INHERITED_MEMB = NO # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. -FULL_PATH_NAMES = NO +FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is @@ -236,14 +236,14 @@ SIP_SUPPORT = NO # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. -IDL_PROPERTY_SUPPORT = YES +IDL_PROPERTY_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. -DISTRIBUTE_GROUP_DOC = NO +DISTRIBUTE_GROUP_DOC = YES # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a @@ -288,7 +288,7 @@ SYMBOL_CACHE_SIZE = 0 # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES -EXTRACT_ALL = NO +EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. @@ -375,7 +375,7 @@ HIDE_SCOPE_NAMES = NO # will put a list of the files that are included by a file in the documentation # of that file. -SHOW_INCLUDE_FILES = NO +SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. @@ -528,7 +528,7 @@ WARN_IF_DOC_ERROR = YES # wrong or incomplete parameter documentation, but not about the absence of # documentation. -WARN_NO_PARAMDOC = NO +WARN_NO_PARAMDOC = YES # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text @@ -555,9 +555,8 @@ WARN_LOGFILE = # with spaces. INPUT = @SRCDIRS@ \ - include \ - include/gpxe \ - arch/@ARCH@/include \ + @INCDIRS@ \ + config \ doc # This tag can be used to specify the character encoding of the source files @@ -577,14 +576,13 @@ INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c \ *.h \ - *.S \ *.dox # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. -RECURSIVE = NO +RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a @@ -679,7 +677,7 @@ SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. -INLINE_SOURCES = NO +INLINE_SOURCES = YES # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code @@ -697,7 +695,7 @@ REFERENCED_BY_RELATION = YES # then for each documented function all documented entities # called/used by that function will be listed. -REFERENCES_RELATION = NO +REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from @@ -797,7 +795,7 @@ HTML_ALIGN_MEMBERS = YES # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). -HTML_DYNAMIC_SECTIONS = NO +HTML_DYNAMIC_SECTIONS = YES # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 @@ -867,7 +865,7 @@ BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. -TOC_EXPAND = NO +TOC_EXPAND = YES # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # are set, an additional index file will be generated that can be used as input for @@ -927,7 +925,7 @@ ENUM_VALUES_PER_LINE = 4 # releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE # respectively. -GENERATE_TREEVIEW = NO +GENERATE_TREEVIEW = NONE # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree @@ -950,7 +948,7 @@ FORMULA_FONTSIZE = 10 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be @@ -1068,7 +1066,7 @@ RTF_EXTENSIONS_FILE = # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages -GENERATE_MAN = YES +GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be @@ -1201,8 +1199,7 @@ SEARCH_INCLUDES = YES # contain include files that are not input files but should be processed by # the preprocessor. -INCLUDE_PATH = include \ - arch/@ARCH@/include +INCLUDE_PATH = @INCDIRS@ # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the @@ -1297,7 +1294,7 @@ PERL_PATH = # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. -CLASS_DIAGRAMS = YES +CLASS_DIAGRAMS = NO # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see @@ -1312,7 +1309,7 @@ MSCGEN_PATH = # inheritance and usage relations if the target is undocumented # or is not a class. -HIDE_UNDOC_RELATIONS = YES +HIDE_UNDOC_RELATIONS = NO # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization -- cgit v1.2.3-55-g7522