+++ /dev/null
-#!/bin/sh
-#
-# Author: Pekka Riikonen <priikone@silcnet.org>
-#
-# 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
-# robodoc compiled in util/robodoc and php utility installed in your system.
-#
-# This will tarverse the given directory and all subdirectories for the
-# SILC style header files. All header files starting with prefix `silc'
-# will be checked. For example, silcpkcs.h.
-#
-# Usage: ./sildoc <type> <source directory> <destination directory> <robodoc>
-#
-# The <source directory> is the directory where this starts checking for
-# the headers and will traverse all subdirectories. The <destination
-# directory> is the directory to where the documentation is generated.
-#
-
-# Arguments checking
-if [ $# -lt "4" ]; then
- 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
-
-TYPE=$1
-SRC=$2
-DST=$3
-ROBO=$4
-
-# 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
- headers=`find . -name "silc*.h" |cut -d/ -f2 |cut -d. -f1`
- cd $path
- for i in $headers
- do
- $ROBO /tmp/silcdoc.html/$i.h $DST/$i.html XREF $DST/silcdoc_xref $TYPE
-
- # Generate the TOC file
- sh gen.sh $DST gen_index.php 1 $DST/$i.html $DST/$i.html
-
- # Generate the details and the layout
- files=`find $DST -name ""$i"-*.html"`
- for k in $files
- do
- sh gen.sh $DST gen_index.php 0 "$k" "$k"
- done
-
- rm -f $DST/$i-index.tmpl
- done
-
- # Generate the index and TOC files from the DIRECTORY files
- for i in $dfiles
- do
- # Get library name
- name=`grep "@LIBRARY=" $i |cut -d= -f2-`
- fname=`grep "@FILENAME=" $i |cut -d= -f2`
-
- # Generate links for this library
- sed -e "/@LINKS@/ r $DST/$fname.links" -e s/@LINKS@//g $i >$DST/$fname
-
- # Generate the TOC file for the library
- 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
- rm -f $DST/$fname.links
- done
-
- # Generate the top index.html file
- index=`find $SRC -name "LIBINDEX"`
- version=`grep "define SILC_VERSION_STRING" $SRC/../includes/silcversion.h |cut -d\" -f2`
- curdate=`date`
- 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