updates.
[silc.git] / scripts / silcdoc / silcdoc
index 40d16a540a69fed90aa8dfd17fd086828d05eb08..32001a707bcb607958cbc5f61e4e56fc756c5e54 100755 (executable)
@@ -35,6 +35,13 @@ ROBO=$4
 # Get all headers in the source directory
 headers=`find $SRC -name "silc*.h"`
 
+#
+# ASCII documentation
+#
+#if [ "$TYPE" = "ASCII" ]; then
+#
+#fi
+
 #
 # HTML documentation
 #
@@ -42,8 +49,27 @@ if [ "$TYPE" = "HTML" ]; then
   mkdir /tmp/silcdoc.html
   cp $headers /tmp/silcdoc.html
 
-  # Generate the first pass of the documentation. This will generate
-  # the HTML from the headers.
+  # Generate indes template from the DIRECTORY files
+  files=`find $SRC -name "DIRECTORY"`
+  for i in $files
+  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><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 "&nbsp;&nbsp;&nbsp; <A HREF="$k">$n</A><BR>" >>$DST/index.tmpl
+    done
+  done
+
+  # Generate the actual detailed documentation
   path=`pwd`
   cd /tmp/silcdoc.html
   headers=`find . -name "silc*.h" |cut -d/  -f2 |cut -d.  -f1`
@@ -53,24 +79,47 @@ if [ "$TYPE" = "HTML" ]; then
     $ROBO /tmp/silcdoc.html/$i.h $DST/$i.html $TYPE
 
     # Generate the TOC file
-    sh gen.sh gen_toc.php $DST/$i.html $DST/$i.html
+    sh gen.sh $DST gen_toc.php $DST/$i.html $DST/$i.html
+    sh gen.sh $DST index.php $DST/$i.html $DST/$i.html
 
-    # Generate the details
-    files=`find $DST -name "silc_*.html"`
+    # Generate the details and the layour
+    files=`find $DST -name ""$i"_*.html"`
     for k in $files
     do
-      sh gen.sg gen_detail.php $k $k
+      sh gen.sh $DST gen_detail.php $k $k
+      sh gen.sh $DST index.php $k $k
     done
+
+    rm -f $DST/$i_index.tmpl
   done
 
-  # Make the second pass to create the actual layout for the files
-  rm -f $DST/*.tmpl
-  files=`find $DST -name "silc*.html"`
+  # Generate the index and TOC files from the DIRECTORY files
+  files=`find $SRC -name "DIRECTORY"`
   for i in $files
   do
-    sh gen.sh index.php $i $i
+    # 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_toc.php $DST/$fname $DST/$fname
+    sh gen.sh $DST index.php $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"`
+  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 $DST gen_toc.php $DST/index.html $DST/index.html
+  sh gen.sh $DST index.php $DST/index.html $DST/index.html
+
+  rm -rf $DST/index.html.tmp
   rm -rf /tmp/silcdoc.html
-  rm -f $DST/tmp.php
 fi