#
# Author: Pekka Riikonen <priikone@silcnet.org>
#
-# Copyright (C) GNU GPL 2001 Pekka Riikonen
+# Copyright (C) GNU GPL 2001 - 2002 Pekka Riikonen
#
# SILC Toolkit Reference Manual documentation script. This will automatically
# generate documentation from the source tree. This will require the
# Arguments checking
if [ $# -lt "4" ]; then
- echo "Usage: ./silcdoc <type> <source directory> <destination directory> <robodoc>"
- echo "Supported types: HTML"
+ echo "Usage: ./silcdoc <type> <source directory> <destination directory/file> <robodoc>"
+ echo "Supported types: HTML PS"
# echo "Supported types: HTML, ASCII, LATEX or RTF"
exit 1
fi
# Get all headers in the source directory
headers=`find $SRC -name "silc*.h"`
+#
+# PS documentation (from LATEX)
+#
+if [ "$TYPE" = "PS" ]; then
+ TYPE="LATEX"
+ rm -rf /tmp/silcdoc.tex
+ mkdir /tmp/silcdoc.tex
+ cp $headers /tmp/silcdoc.tex
+
+ path=`pwd`
+ cd /tmp/silcdoc.tex
+
+ # Generate cross reference files
+ headers=`find . -name "silc*.h" |cut -d/ -f2 |cut -d. -f1`
+ touch silcdoc_xref
+ for i in $headers
+ do
+ $ROBO $i.h $i.h.tex $TYPE INTERNAL GENXREF $i.h.xref
+ echo $i.h.xref >>silcdoc_xref
+ done
+
+ # Generate the detailed documentation
+ headers=`find . -name "silc*.h" |cut -d/ -f2 |cut -d. -f1`
+ for i in $headers
+ do
+ # remove internals
+ rm -rf $i_i.h
+ $ROBO $i.h $i.h.tex XREF silcdoc_xref $TYPE C SORT NOSOURCE SINGLEDOC
+ done
+
+ # Generate the index
+ $ROBO silcdoc_xref toolkit_mi INDEX $TYPE TITLE "SILC Toolkit Reference Manual"
+
+ # Generate the postscript
+ latex toolkit_mi
+ makeindex toolkit_mi
+ latex toolkit_mi
+ latex toolkit_mi
+ dvips toolkit_mi.dvi -o $DST
+
+ cd $path
+
+ rm -rf /tmp/silcdoc.tex
+ exit 0
+fi
+
+#
+# ASCII documentation
+#
+#if [ "$TYPE" = "ASCII" ]; then
+#
+#fi
+
#
# HTML documentation
#
if [ "$TYPE" = "HTML" ]; then
+ rm -rf /tmp/silcdoc.html
+ rm -rf /tmp/silcdoc_html.html
mkdir /tmp/silcdoc.html
+ mkdir /tmp/silcdoc_html.html
cp $headers /tmp/silcdoc.html
+ # Generate index template from the DIRECTORY files. The template for
+ # the generated index template is INDEX.tmpl.
+ dfiles=`find $SRC -name "DIRECTORY"`
+ for i in $dfiles
+ do
+ # Get library name
+ name=`grep "@LIBRARY=" $i |cut -d= -f2`
+ fname=`grep "@FILENAME=" $i |cut -d= -f2`
+ links=`grep "@LINK=" $i |cut -d= -f2 |cut -d: -f1`
+
+ # Generate links to template file that can be included into various
+ # places on the webpage.
+ echo "<a href="$fname"><img src="box.gif" border="0" alt="">$name</a><br />" >>$DST/index.tmpl
+ for k in $links
+ do
+ n=`grep $k $i |cut -d= -f2 |cut -d: -f2`
+ echo "<li><a href="$k">$n</a>" >>$DST/$fname.links
+ echo " <a href="$k"><img src="box2.gif" border="0" alt="">$n</a><br />" >>$DST/index.tmpl
+ done
+ done
+ # Now get the template for the link template, and generate the final index
+ # template file
+ temp=`find $SRC -name "INDEX.tmpl"`
+ sed -e "/@BODY@/ r $DST/index.tmpl" -e s/@BODY@//g $temp >$DST/index.tmpl.tmp
+ mv $DST/index.tmpl.tmp $DST/index.tmpl
+
+ # Copy all HTML files to destination
+ htmlfiles=`find $SRC -name "*.html"`
+ for i in $htmlfiles
+ do
+ cp $i /tmp/silcdoc_html.html
+ done
+ path=`pwd`
+ cd /tmp/silcdoc_html.html
+ htmlfiles=`find . -name "*.html" | cut -d/ -f2`
+ cd $path
+ for i in $htmlfiles
+ do
+ # Generate the details and the layout
+ f="/tmp/silcdoc_html.html/$i"
+ sh gen.sh $DST gen_index.php 1 $f $f
+ cp /tmp/silcdoc_html.html/$i $DST
+ done
+
+ # Generate cross reference files
+ path=`pwd`
+ cd /tmp/silcdoc.html
+ headers=`find . -name "silc*.h" |cut -d/ -f2 |cut -d. -f1`
+ cd $path
+ touch $DST/silcdoc_xref
+ for i in $headers
+ do
+ $ROBO /tmp/silcdoc.html/$i.h $DST/$i.html $TYPE GENXREF $DST/$i.xref
+ echo $DST/$i.xref >>$DST/silcdoc_xref
+ done
+
# Generate the actual detailed documentation
path=`pwd`
cd /tmp/silcdoc.html
cd $path
for i in $headers
do
- $ROBO /tmp/silcdoc.html/$i.h $DST/$i.html $TYPE
+ $ROBO /tmp/silcdoc.html/$i.h $DST/$i.html XREF $DST/silcdoc_xref $TYPE
# Generate the TOC file
- sh gen.sh gen_toc.php $DST/$i.html $DST/$i.html
- sh gen.sh index.php $DST/$i.html $DST/$i.html
+ sh gen.sh $DST gen_index.php 1 $DST/$i.html $DST/$i.html
- # Generate the details and the layour
- files=`find $DST -name ""$i"_*.html"`
+ # Generate the details and the layout
+ files=`find $DST -name ""$i"-*.html"`
for k in $files
do
- sh gen.sh gen_detail.php $k $k
- sh gen.sh index.php $k $k
+ sh gen.sh $DST gen_index.php 0 $k $k
done
- rm -f $DST/$i_index.tmpl
+ rm -f $DST/$i-index.tmpl
done
# Generate the index and TOC files from the DIRECTORY files
- files=`find $SRC -name "DIRECTORY"`
- touch $DST/index.html.tmp
- for i in $files
+ for i in $dfiles
do
# Get library name
name=`grep "@LIBRARY=" $i |cut -d= -f2`
fname=`grep "@FILENAME=" $i |cut -d= -f2`
- links=`grep "@LINK=" $i |cut -d= -f2 |cut -d: -f1`
-
- # Generate links to template file that can be included into various
- # places on the webpage.
- echo ">> <A HREF="$fname">$name"</A> >>$DST/index.tmpl
# Generate links for this library
- for k in $links
- do
- n=`grep $k $i |cut -d= -f2 |cut -d: -f2`
- echo "<LI><A HREF="$k">$n</A>" >>$DST/$fname.links
- echo "&nbps; > <A HREF="$k">$n</A>" >>$DST/index.tmpl
- done
sed -e "/@LINKS@/ r $DST/$fname.links" -e s/@LINKS@//g $i >$DST/$fname
# Generate the TOC file for the library
- sh gen.sh gen_toc.php $DST/$fname $DST/$fname
- sh gen.sh index.php $DST/$fname $DST/$fname
+ sh gen.sh $DST gen_index.php 1 $DST/$fname $DST/$fname
# Generate the link for the top index.html for this library
- echo "<LI><A HREF="$fname">$name</A>" >>$DST/index.html.tmp
+ echo "<li><a href="$fname">$name</a>" >>$DST/index.html.tmp
rm -f $DST/$fname.links
done
# Generate the top index.html file
index=`find $SRC -name "LIBINDEX"`
+ version=`grep SILC_VERSION_STRING $SRC/../includes/version_internal.h |cut -d\" -f2`
curdate=`date`
- sed -e "/@DATE@/s//$curdate/" -e "/@BODY@/ r $DST/index.html.tmp" -e s/@BODY@//g $index >$DST/index.html
- sh gen.sh gen_toc.php $DST/index.html $DST/index.html
- sh gen.sh index.php $DST/index.html $DST/index.html
+ sed -e "/@VERSION@/s//$version/" -e "/@DATE@/s//$curdate/" -e "/@BODY@/ r $DST/index.html.tmp" -e s/@BODY@//g $index >$DST/index.html
+ sh gen.sh $DST gen_index.php 2 $DST/index.html $DST/index.html
+
+ # Generate the index toolkit_index.html file
+ $ROBO $DST/silcdoc_xref $DST/toolkit_index.html INDEX HTML TITLE "SILC Toolkit Index"
+ sh gen.sh $DST gen_index.php 2 $DST/toolkit_index.html $DST/toolkit_index.html
+ # Cleanup
rm -rf $DST/index.html.tmp
rm -rf /tmp/silcdoc.html
+ rm -rf /tmp/silcdoc_html.html
+ exit 0
fi