Installation
$ sudo apt-get install doxygen doxygen-doc doxygen-gui graphviz
Getting started
Step 1: Creating a configuration file
$ doxygen -g /path/to/doxygen.conf
Step 2 : Modify the configuration file
1 diff
2 --- doxygen.conf.orig 2013-05-14 09:59:57.343509492 +0800
3 +++ doxygen.conf 2013-05-14 10:04:08.948757138 +0800
4 @@ -26,7 +26,7 @@
5 # identify the project. Note that if you do not use Doxywizard you need
6 # to put quotes around the project name if it contains spaces.
7
8 -PROJECT_NAME = "My Project"
9 +PROJECT_NAME = "XXX"
10
11 # The PROJECT_NUMBER tag can be used to enter a project or revision number.
12 # This could be handy for archiving the generated documentation or
13 @@ -52,7 +52,7 @@
14 # If a relative path is entered, it will be relative to the location
15 # where doxygen was started. If left blank the current directory will be used.
16
17 -OUTPUT_DIRECTORY =
18 +OUTPUT_DIRECTORY = /path/to/output
19
20 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
21 # 4096 sub-directories (in 2 levels) under the output directory of each output
22 @@ -61,7 +61,7 @@
23 # source files, where putting all generated files in the same directory would
24 # otherwise cause performance problems for the file system.
25
26 -CREATE_SUBDIRS = NO
27 +CREATE_SUBDIRS = YES
28
29 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
30 # documentation generated by doxygen is written. Doxygen will use this
31 @@ -106,7 +106,7 @@
32 # Doxygen will generate a detailed section even if there is only a brief
33 # description.
34
35 -ALWAYS_DETAILED_SEC = NO
36 +ALWAYS_DETAILED_SEC = YES
37
38 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
39 # inherited members of a class in the documentation of that class as if those
40 @@ -355,12 +355,12 @@
41 # Private class members and static file members will be hidden unless
42 # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
43
44 -EXTRACT_ALL = NO
45 +EXTRACT_ALL = YES
46
47 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class
48 # will be included in the documentation.
49
50 -EXTRACT_PRIVATE = NO
51 +EXTRACT_PRIVATE = YES
52
53 # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation.
54
55 @@ -369,7 +369,7 @@
56 # If the EXTRACT_STATIC tag is set to YES all static members of a file
57 # will be included in the documentation.
58
59 -EXTRACT_STATIC = NO
60 +EXTRACT_STATIC = YES
61
62 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
63 # defined locally in source files will be included in the documentation.
64 @@ -655,7 +655,7 @@
65 # directories like "/usr/src/myproject". Separate the files or directories
66 # with spaces.
67
68 -INPUT =
69 +INPUT = /path/to/input
70
71 # This tag can be used to specify the character encoding of the source files
72 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
73 @@ -679,7 +679,7 @@
74 # should be searched for input files as well. Possible values are YES and NO.
75 # If left blank NO is used.
76
77 -RECURSIVE = NO
78 +RECURSIVE = YES
79
80 # The EXCLUDE tag can be used to specify files and/or directories that should be
81 # excluded from the INPUT source files. This way you can easily exclude a
82 @@ -782,30 +782,30 @@
83 # Note: To get rid of all source code in the generated output, make sure also
84 # VERBATIM_HEADERS is set to NO.
85
86 -SOURCE_BROWSER = NO
87 +SOURCE_BROWSER = YES
88
89 # Setting the INLINE_SOURCES tag to YES will include the body
90 # of functions and classes directly in the documentation.
91
92 -INLINE_SOURCES = NO
93 +INLINE_SOURCES = YES
94
95 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
96 # doxygen to hide any special comment blocks from generated source code
97 # fragments. Normal C, C++ and Fortran comments will always remain visible.
98
99 -STRIP_CODE_COMMENTS = YES
100 +STRIP_CODE_COMMENTS = NO
101
102 # If the REFERENCED_BY_RELATION tag is set to YES
103 # then for each documented function all documented
104 # functions referencing it will be listed.
105
106 -REFERENCED_BY_RELATION = NO
107 +REFERENCED_BY_RELATION = YES
108
109 # If the REFERENCES_RELATION tag is set to YES
110 # then for each documented function all documented entities
111 # called/used by that function will be listed.
112
113 -REFERENCES_RELATION = NO
114 +REFERENCES_RELATION = YES
115
116 # If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
117 # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
118 @@ -1127,7 +1127,7 @@
119 # Since the tree basically has the same information as the tab index you
120 # could consider to set DISABLE_INDEX to NO when enabling this option.
121
122 -GENERATE_TREEVIEW = NO
123 +GENERATE_TREEVIEW = YES
124
125 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
126 # (range [0,1..20]) that doxygen will group on one line in the generated HTML
127 @@ -1216,7 +1216,7 @@
128 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
129 # generate Latex output.
130
131 -GENERATE_LATEX = YES
132 +GENERATE_LATEX = NO
133
134 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
135 # If a relative path is entered the value of OUTPUT_DIRECTORY will be
136 @@ -1599,7 +1599,7 @@
137 # toolkit from AT&T and Lucent Bell Labs. The other options in this section
138 # have no effect if this option is set to NO (the default)
139
140 -HAVE_DOT = NO
141 +HAVE_DOT = YES
142
143 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
144 # allowed to run in parallel. When set to 0 (the default) doxygen will
145 @@ -1666,7 +1666,7 @@
146 # If set to YES, the inheritance and collaboration graphs will show the
147 # relations between templates and their instances.
148
149 -TEMPLATE_RELATIONS = NO
150 +TEMPLATE_RELATIONS = YES
151
152 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
153 # tags are set to YES then doxygen will generate a graph for each documented
154 @@ -1688,7 +1688,7 @@
155 # the time of a run. So in most cases it will be better to enable call graphs
156 # for selected functions only using the \callgraph command.
157
158 -CALL_GRAPH = NO
159 +CALL_GRAPH = YES
160
161 # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
162 # doxygen will generate a caller dependency graph for every global function
163 @@ -1696,7 +1696,7 @@
164 # the time of a run. So in most cases it will be better to enable caller
165 # graphs for selected functions only using the \callergraph command.
166
167 -CALLER_GRAPH = NO
168 +CALLER_GRAPH = YES
169
170 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
171 # will generate a graphical hierarchy of all classes instead of a textual one.
Running doxygen
$ doxygen /path/to/doxygen.conf