\hypertarget{doxygen_usage}{}\section{Doxygen usage}\label{doxygen_usage}
 Doxygen is a command line based utility. Calling {\tt doxygen} with the {\tt --help} option at the command line will give you a brief description of the  usage of the program.

All options consist of a leading character {\tt -},  followed by one character and one or more arguments depending on the option.

To generate a manual for your project you typically  need to follow these steps: \begin{enumerate}
\item 
 You document your source code with  special documentation blocks (see section \hyperlink{specialblock}{Special documentation blocks}). \item 
 You generate a configuration file (see section \hyperlink{config}{Configuration}) by  calling doxygen with the {\tt -g} option: 

\footnotesize\begin{verbatim}
doxygen -g <config_file>
\end{verbatim}\normalsize 
 \item 
 You edit the configuration file so it matches your project. In the configuration file you can specify the input files and a lot of optional information. \item 
 You let doxygen generate the documentation, based on the settings in the configuration file: 

\footnotesize\begin{verbatim}
doxygen <config_file>
\end{verbatim}\normalsize 
 \end{enumerate}
If you have a configuration file generated with an older version of doxygen, you can upgrade it to the current version by running doxygen with the -u option. 

\footnotesize\begin{verbatim}
doxygen -u <config_file>
\end{verbatim}\normalsize 
 All configuration settings in the orginal configuration file will be copied to the new configuration file. Any new options will have their default value. Note that comments that you may have added in the original configuration file  will be lost.

If you want to fine-tune the way the output looks, doxygen allows you  generate default style sheet, header, and footer files that you can edit afterwards: \begin{CompactItemize}
\item 
For HTML output, you can generate the default header file  (see \hyperlink{config_cfg_html_header}{HTML\_\-HEADER}), the default footer  (see \hyperlink{config_cfg_html_footer}{HTML\_\-FOOTER}), and the default style sheet (see \hyperlink{config_cfg_html_stylesheet}{HTML\_\-STYLESHEET}), using the following command: 

\footnotesize\begin{verbatim}
doxygen -w html header.html footer.html stylesheet.css
\end{verbatim}\normalsize 
 \item 
For La\-Te\-X output, you can generate the first part of {\tt refman.tex}  (see \hyperlink{config_cfg_latex_header}{LATEX\_\-HEADER}) and the style sheet included by that header (normally {\tt doxygen.sty}), using: 

\footnotesize\begin{verbatim}
doxygen -w latex header.tex doxygen.sty
\end{verbatim}\normalsize 
 \item 
For RTF output, you can generate the default style sheet file (see \hyperlink{config_cfg_rtf_stylesheet_file}{RTF\_\-STYLESHEET\_\-FILE}) using: 

\footnotesize\begin{verbatim}
doxygen -w rtf rtfstyle.cfg
\end{verbatim}\normalsize 
 \end{CompactItemize}
{\bf Note:}\par
 \begin{CompactItemize}
\item 
 If you do not want documentation for each item inside the configuration file then you can use the optional {\tt -s} option. This can use be used in combination with the {\tt -u} option, to add or strip the documentation from an existing configuration file. Please use the {\tt -s} option if you send me a configuration file  as part of a bug report! \item 
 To make doxygen read/write to standard input/output instead of from/to  a file, use {\tt -} for the file name. \end{CompactItemize}
If you also want to use the search engine, you should look at section \hyperlink{doxysearch_usage}{Doxysearch usage}.

