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
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:
GENERATE_LATEX = NO
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.
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.
To get nice diagrams showing how the software is structured, verify that you have dot from http://www.graphviz.org/, then edit your doxygen file:
HAVE_DOT YES CALL_GRAPH YES CALLER_GRAPH YES