blob: 14299fc1efb2259c8e28958fb05e023e7480ff9a [file] [log] [blame]
#!/bin/sh
# Check arguments.
if [ $# -ne 1 ]; then
echo "Usage: ./generate_doc.sh sdk_root_directory"
exit 1
fi
# Change to SDK root directory.
cd $1
# Check for doxygen.
command -v doxygen > /dev/null || { echo "Doxygen not found. Exiting."; exit 1; }
# Doxygen must be run twice: once to generate tags and once more to link tags.
i=0; while [ $i -le 1 ]; do
# Run for each library config file.
for file in doc/config/*; do
# Ignore directories.
if [ -d $file ]; then
continue
fi
# Ignore xml files.
if [ ${file##*.} = "xml" ]; then
continue
fi
# Ignore the common configuration file.
if [ $file = "doc/config/common" ]; then
continue
fi
# Generate Doxygen tags first. Once tags are generated, generate documentation.
if [ $i -eq 0 ]; then
echo "Generating Doxygen tags for $file..."
doxygen $file 2> /dev/null
else
echo "Generating documentation for $file..."
# Redirect errors to a file.
doxygen $file 2>>doxygen_warnings.txt
fi
done
i=$(($i+1));
done
echo "Documentation written to doc/output"
echo "Doxygen warnings written to ./doxygen_warnings.txt"
# Print any doxygen errors or warnings and exit with a nonzero value.
if [ -s doxygen_warnings.txt ]; then
cat doxygen_warnings.txt
exit 1
fi