3 # Shell script to make doxygen documentation by specifying a target directory
\r
4 # on the command line
\r
6 # Gef (gefdavis@dingoblue.net.au) -- August 2001
\r
9 # - Dynamic ChangeLog (page gets updated with each commit)
\r
10 # - Have the ability to specify server dox or local dox, which will then
\r
11 # change the content on the main page
\r
12 # - Incorporate a scaled gtkradiant splash image into the pages
\r
14 #------------------------------------------------------------------------
\r
15 # Set some variables
\r
16 #------------------------------------------------------------------------
\r
20 EXTRAS_PATH="./Doxygen_files";
\r
21 CONFIG_OUTPUT="$EXTRAS_PATH/genConf";
\r
22 DOXYCONFIG="./DoxyConfig";
\r
23 DOXYFILE="$EXTRAS_PATH/Doxyfile";
\r
24 NEWDOXYFILE="$EXTRAS_PATH/genDoxyfile";
\r
25 declare -a TARGETLIST[$#];
\r
29 # added -k command line option to kill running doxygen procs
\r
32 #------------------------------------------------------------------------
\r
33 # load the functions
\r
34 #------------------------------------------------------------------------
\r
35 if [ -f "$EXTRAS_PATH/gendoxfunctions" ] ; then
\r
36 . $EXTRAS_PATH/gendoxfunctions
\r
38 echo -e "Missing critical files...\n";
\r
42 #------------------------------------------------------------------------
\r
43 # parse the command line options
\r
44 #------------------------------------------------------------------------
\r
48 if [ $RETVAL -gt 0 ] ; then
\r
54 if [ $KILLON -gt 0 ] ; then
\r
55 PIDOF_DOXYGEN=`pidof -x doxygen`
\r
58 if [ -z "$PIDOF_DOXYGEN" ] ; then
\r
59 [ $QUIETMODE -gt 0 ] || echo -e " * Killing other doxygen pids";
\r
60 killall -q -9 doxygen
\r
62 [ $QUIETMODE -gt 0 ] || echo -e " * Killing other doxygen pids";
\r
63 kill -9 $PIDOF_DOXYGEN &> /dev/null
\r
66 [ $QUIETMODE -gt 0 ] || echo -e " * Cleaning up gendox pids";
\r
67 killall -q -9 `pidof -x gendox | sed -e s/$MYPID//` &> /dev/null
\r
71 # If the output dir hasn't been set yet...
\r
72 #if [ -z "$OUTPUTDIR" ] ; then
\r
73 # OUTPUTDIR="../$(basename `pwd`)-doxygen";
\r
76 #------------------------------------------------------------------------
\r
77 # execute some functions to determine stuff(c)
\r
78 # Get the perl path (either from the config file, or find it)
\r
79 #------------------------------------------------------------------------
\r
81 if [ X"$PERLPATH" == "X" ] ; then
\r
82 echo -e "\nError: A working install of perl is needed to use doxygen";
\r
85 [ $QUIETMODE -gt 0 ] || echo -e " -> Set PERL_PATH to: $PERLPATH";
\r
88 [ $QUIETMODE -gt 0 ] || echo -e " -> Set HAVE_DOT to: $HAVEDOT";
\r
89 if [ X"$HAVEDOT" == "XYes" ] ; then
\r
90 [ $QUIETMODE -gt 0 ] || echo -e " -> Set DOT_PATH to: $DOTPATH";
\r
94 [ $QUIETMODE -gt 0 ] || echo -e " -> Set OUTPUT_LANGUAGE to: $OUPUTLANGUAGE";
\r
97 [ $QUIETMODE -gt 0 ] || echo -e " -> Set PROJECT_NAME to: $PROJECTNAME";
\r
100 [ $QUIETMODE -gt 0 ] || echo -e " -> Set PROJECT_NUMBER to: $VERSION";
\r
101 #------------------------------------------------------------------------
\r
102 # Got everything we need, now write the DoxyConfig file and run doxygen
\r
103 #------------------------------------------------------------------------
\r
108 # Put the images & reference pages in the right place
\r
110 if [ $RETVAL -ge 666 ] ; then
\r
114 # Generate the config file
\r
116 if [ $RETVAL -gt 0 ] ; then
\r
117 echo -e "Error: You are missing critical files."
\r
121 # build the reference page and the index
\r
124 # Generate documentation
\r
127 if [ $RETVAL -gt 0 ] ; then
\r
128 echo -e "Doxygen error: returned $RETVAL";
\r
129 echo -e " Check doxygen.log for details";
\r
130 elif [ $RETVAL -lt 0 ] ; then
\r
131 echo -e "Doxygen error: Doxygen returned $RETVAL";
\r
134 # if the log file is empty, remove it
\r
135 if [ ! -s ./doxygen.log ] ; then
\r
136 rm -f ./doxygen.log
\r
139 #------------------------------------------------------------------------
\r
141 #------------------------------------------------------------------------
\r
142 [ $QUIETMODE -gt 0 ] || echo -e "Finished...";
\r
143 [ $QUIETMODE -gt 0 ] || echo -e "Duration: $SECONDS seconds\n";
\r
145 # echo -e "** Removing output while in debug mode **";
\r
146 # echo -e "** Output dir: $OUTPUTDIR **\n";
\r
147 # rm -rf $OUTPUTDIR
\r