mirror of
https://github.com/id-Software/GtkRadiant.git
synced 2026-03-20 00:49:29 +01:00
The GtkRadiant sources as originally released under the GPL license.
This commit is contained in:
150
gendox
Normal file
150
gendox
Normal file
@@ -0,0 +1,150 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Shell script to make doxygen documentation by specifying a target directory
|
||||
# on the command line
|
||||
#
|
||||
# Gef (gefdavis@dingoblue.net.au) -- August 2001
|
||||
|
||||
# TODO:
|
||||
# - Dynamic ChangeLog (page gets updated with each commit)
|
||||
# - Have the ability to specify server dox or local dox, which will then
|
||||
# change the content on the main page
|
||||
# - Incorporate a scaled gtkradiant splash image into the pages
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# Set some variables
|
||||
#------------------------------------------------------------------------
|
||||
# WORKINGDIR=`pwd`;
|
||||
RETVAL=0;
|
||||
TARGETSTRING='';
|
||||
EXTRAS_PATH="./Doxygen_files";
|
||||
CONFIG_OUTPUT="$EXTRAS_PATH/genConf";
|
||||
DOXYCONFIG="./DoxyConfig";
|
||||
DOXYFILE="$EXTRAS_PATH/Doxyfile";
|
||||
NEWDOXYFILE="$EXTRAS_PATH/genDoxyfile";
|
||||
declare -a TARGETLIST[$#];
|
||||
COUNTER=0;
|
||||
TARGETCOUNT=0;
|
||||
QUIETMODE=0;
|
||||
# added -k command line option to kill running doxygen procs
|
||||
KILLON=0
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# load the functions
|
||||
#------------------------------------------------------------------------
|
||||
if [ -f "$EXTRAS_PATH/gendoxfunctions" ] ; then
|
||||
. $EXTRAS_PATH/gendoxfunctions
|
||||
else
|
||||
echo -e "Missing critical files...\n";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# parse the command line options
|
||||
#------------------------------------------------------------------------
|
||||
COMLINE="$*";
|
||||
OPTCOUNT="$#";
|
||||
parse_commandline;
|
||||
if [ $RETVAL -gt 0 ] ; then
|
||||
echo -e "Exiting.";
|
||||
exit $RETVAL;
|
||||
fi
|
||||
|
||||
|
||||
if [ $KILLON -gt 0 ] ; then
|
||||
PIDOF_DOXYGEN=`pidof -x doxygen`
|
||||
MYPID=$$
|
||||
|
||||
if [ -z "$PIDOF_DOXYGEN" ] ; then
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " * Killing other doxygen pids";
|
||||
killall -q -9 doxygen
|
||||
else
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " * Killing other doxygen pids";
|
||||
kill -9 $PIDOF_DOXYGEN &> /dev/null
|
||||
fi
|
||||
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " * Cleaning up gendox pids";
|
||||
killall -q -9 `pidof -x gendox | sed -e s/$MYPID//` &> /dev/null
|
||||
|
||||
fi
|
||||
|
||||
# If the output dir hasn't been set yet...
|
||||
#if [ -z "$OUTPUTDIR" ] ; then
|
||||
# OUTPUTDIR="../$(basename `pwd`)-doxygen";
|
||||
#fi
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# execute some functions to determine stuff(c)
|
||||
# Get the perl path (either from the config file, or find it)
|
||||
#------------------------------------------------------------------------
|
||||
get_perlpath;
|
||||
if [ X"$PERLPATH" == "X" ] ; then
|
||||
echo -e "\nError: A working install of perl is needed to use doxygen";
|
||||
exit 2;
|
||||
fi
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " -> Set PERL_PATH to: $PERLPATH";
|
||||
|
||||
get_dotpath;
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " -> Set HAVE_DOT to: $HAVEDOT";
|
||||
if [ X"$HAVEDOT" == "XYes" ] ; then
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " -> Set DOT_PATH to: $DOTPATH";
|
||||
fi
|
||||
|
||||
get_language;
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " -> Set OUTPUT_LANGUAGE to: $OUPUTLANGUAGE";
|
||||
|
||||
get_projectname;
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " -> Set PROJECT_NAME to: $PROJECTNAME";
|
||||
|
||||
get_version;
|
||||
[ $QUIETMODE -gt 0 ] || echo -e " -> Set PROJECT_NUMBER to: $VERSION";
|
||||
#------------------------------------------------------------------------
|
||||
# Got everything we need, now write the DoxyConfig file and run doxygen
|
||||
#------------------------------------------------------------------------
|
||||
|
||||
# Clean up first
|
||||
clean_up;
|
||||
|
||||
# Put the images & reference pages in the right place
|
||||
move_stuff;
|
||||
if [ $RETVAL -ge 666 ] ; then
|
||||
exit 666;
|
||||
fi
|
||||
|
||||
# Generate the config file
|
||||
gen_doxyconfig;
|
||||
if [ $RETVAL -gt 0 ] ; then
|
||||
echo -e "Error: You are missing critical files."
|
||||
exit RETVAL;
|
||||
fi
|
||||
|
||||
# build the reference page and the index
|
||||
build_extra_html;
|
||||
|
||||
# Generate documentation
|
||||
RETVAL=0;
|
||||
run_doxygen;
|
||||
if [ $RETVAL -gt 0 ] ; then
|
||||
echo -e "Doxygen error: returned $RETVAL";
|
||||
echo -e " Check doxygen.log for details";
|
||||
elif [ $RETVAL -lt 0 ] ; then
|
||||
echo -e "Doxygen error: Doxygen returned $RETVAL";
|
||||
fi
|
||||
|
||||
# if the log file is empty, remove it
|
||||
if [ ! -s ./doxygen.log ] ; then
|
||||
rm -f ./doxygen.log
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# Done.
|
||||
#------------------------------------------------------------------------
|
||||
[ $QUIETMODE -gt 0 ] || echo -e "Finished...";
|
||||
[ $QUIETMODE -gt 0 ] || echo -e "Duration: $SECONDS seconds\n";
|
||||
|
||||
# echo -e "** Removing output while in debug mode **";
|
||||
# echo -e "** Output dir: $OUTPUTDIR **\n";
|
||||
# rm -rf $OUTPUTDIR
|
||||
|
||||
exit 0;
|
||||
|
||||
Reference in New Issue
Block a user