lammps/tools/doxygen/doxygen.sh

108 lines
3.1 KiB
Bash

#!/bin/bash
LAMMPSBASE=${PWD} ;
LAMMPSSRC="${LAMMPSBASE}/src" ;
LAMMPSDOC="${LAMMPSBASE}/doc" ;
LAMMPSDOCHTML="${LAMMPSDOC}/html" ;
LAMMPSDEVELOPERDOC="${LAMMPSBASE}/doc/src/Developer" ;
LAMMPSDOCTMP="/tmp/lammps-docs-*" ;
LAMMPSDOCMAKE="${LAMMPSDOC}/Makefile" ;
LAMMPSDOXYGEN="${LAMMPSBASE}/tools/doxygen" ;
LAMMPSDOXYGENDOC="${LAMMPSDOXYGEN}/doc" ;
LAMMPSDOXYGENDOCMANUAL="${LAMMPSDOXYGEN}/doc/html/Manual" ;
LAMMPSDOXYFILE=${LAMMPSDOXYGEN}/Doxyfile.lammps ;
DOXYFILE=${LAMMPSDOXYGEN}/Doxyfile ;
LAMMPSDEVELOPERDOXFILE=${LAMMPSDOXYGEN}/Developer.dox.lammps ;
DEVELOPERDOXFILE=${LAMMPSDOXYGEN}/Developer.dox ;
FIG2DEV=`which fig2dev` ;
DOXYGEN=`which doxygen` ;
if [[ -d ${LAMMPSSRC} && -d ${LAMMPSDEVELOPERDOC} && -d ${LAMMPSDOC} && -f ${LAMMPSDOCMAKE} && -d ${LAMMPSDOXYGEN} && -f ${LAMMPSDOXYFILE} ]] ;
then
cd ${LAMMPSSRC} ;
make no-all ;
cd ${LAMMPSBASE} ;
else
echo "Cannot configure LAMMPS sources - Please run doxygen.sh from the LAMMPS root directory." >&2 ;
exit 1 ;
fi ;
if [ ! -x ${FIG2DEV} ] ;
then
echo "${FIG2DEV} not found - Please install ${FIG2DEV} for Your operating system." >&2 ;
exit 1 ;
fi ;
if [ -d ${LAMMPSDEVELOPERDOC} ] ;
then
${FIG2DEV} -L png ${LAMMPSDEVELOPERDOC}/classes.fig > tools/doxygen/classes.png ;
${FIG2DEV} -L eps ${LAMMPSDEVELOPERDOC}/classes.fig > tools/doxygen/classes.eps ;
else
echo "LAMMPS developer documentation not found - Please control Your LAMMPS installation." >&2 ;
exit 1 ;
fi ;
if [ ! -x ${DOXYGEN} ] ;
then
echo "doxygen not found - Please install doxygen for Your operating system." >&2 ;
exit 1 ;
fi ;
if [[ -d ${LAMMPSSRC} && -f ${LAMMPSDOXYFILE} && -f ${LAMMPSDEVELOPERDOXFILE} ]] ;
then
ICS=' ';
read -r -a array < ${LAMMPSSRC}/version.h ;
version=`echo ${array[2]} ${array[3]} ${array[4]} | sed s/\"//g`;
cp -av ${LAMMPSDOXYFILE} ${DOXYFILE} ;
sed -i "s/LAMMPS_VERSION/${version}/g" ${DOXYFILE} ;
cp -av ${LAMMPSDEVELOPERDOXFILE} ${DEVELOPERDOXFILE} ;
sed -i "s/LAMMPS_VERSION/${version}/g" ${DEVELOPERDOXFILE} ;
${DOXYGEN} ${DOXYFILE} ;
else
echo "Doxyfile prototype not found - Please control Your LAMMPS installation." >&2 ;
exit 1 ;
fi ;
if [[ -d ${LAMMPSDOC} && -f ${LAMMPSDOCMAKE} ]] ;
then
cd ${LAMMPSDOC} ;
for d in ${LAMMPSDOCTMP} ;
do
rm -vrf $d;
done ;
make clean ;
make html ;
make pdf ;
cd ${LAMMPSBASE} ;
echo "${LAMMPSDOC} exists." ;
else
echo "Cannot build LAMMPS native documentation - Please run doxygen.sh from the LAMMPS root directory."i >&2 ;
exit 1 ;
fi ;
if [ -d ${LAMMPSDOCHTML} ] ;
then
if [ -d ${LAMMPSDOXYGENDOCMANUAL} ] ;
then
rm -vrf ${LAMMPSDOXYGENDOCMANUAL} ;
echo "${LAMMPSDOXYGENDOCMANUAL} removed." ;
fi ;
cp -av ${LAMMPSDOCHTML} ${LAMMPSDOXYGENDOCMANUAL} ;
cp -av ${LAMMPSDOC}/*.pdf ${LAMMPSDOXYGENDOCMANUAL} ;
echo "${LAMMPSDOXYGENDOCMANUAL} copied." ;
else
echo "Cannot include LAMMPS native documentation into the doxygen documentation - Please run doxygen.sh from the LAMMPS root directory." >&2 ;
exit 1 ;
fi ;