Doxygen allows you to build automatically documentation about your code. Among C also other programing languages as Python are supported. See

/usr/share/doc/doxygen-1.5.8-r1/doxygen_manual.pdf /usr/share/doc/doxygen-1.5.8-r1/html/doxygen_usage.html

or its man doxygen

Create the documentation

To create doxygen documentation a file typically called Doxyfile needs to be created.

doxygen -u updates an old existing one.

doxywizard is a gui for that.

doxygen -g creates a default one

This creates the Doxyfile configuration file that can be edited:


and then run

doxygen or doxygen Doxyfile

to get the documentation in html and latex format. Everything is put in subdirectories.

Not all comments are considered to be used in the doxygen documentation. To get something the comments need to be in a special format.

Doxygen Syntax

To tell Doxygen what to do you have to tunes the comments

* <text to be taken by doxygen>

The /usr/share/doc/doxygen-1.5.8-r1/html/commands.html holds all key words that are detected by a beginning @ or \ character.

The following produces description about the file

* @file
* <description of the file>

A to do list for the file

* @todo 
* <what to do> 

To get a bullet list use the - character.

Functions and their parameters and return values are documented as follows

* <function description>
* @param <parametername> 
* <parameter description> 
* @return <return value description>

As a side effect when doxygen runs it creates warnings about important items that do not hold documentation. This can be used as a check to see how well the documentation is.

Graphic support

To get nice diagrams showing how the software is structured, verify that you have dot from, then edit your doxygen file:


Linurs Servernest startpage