Added support for creating PostScript Toolkit Reference Manual.
authorPekka Riikonen <priikone@silcnet.org>
Tue, 22 Oct 2002 13:05:49 +0000 (13:05 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Tue, 22 Oct 2002 13:05:49 +0000 (13:05 +0000)
scripts/silcdoc/silcdoc
util/robodoc/Source/generator.c

index 3d1ea72d528a55655db3d33e930f8f9cf63a6f18..bf5069aab9e603f46729d76d1ed206a4727ce566 100755 (executable)
@@ -21,8 +21,8 @@
 
 # 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
@@ -35,6 +35,51 @@ 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
+fi
+
 #
 # ASCII documentation
 #
index 7c43a30b08272232ee2dedab9b43d174f6cbd63a..79a93467cd9797a6b909331d9d208c111baadd3f 100644 (file)
@@ -167,7 +167,7 @@ RB_Generate_Doc_Start (
       else
        fprintf (dest_doc, "@database %s\n", name);
       fprintf (dest_doc, "@rem Source: %s\n", src_name);
-      fprintf (dest_doc, "@rem " COMMENT_ROBODOC);
+/*      fprintf (dest_doc, "@rem " COMMENT_ROBODOC); */
       fprintf (dest_doc, "@rem " COMMENT_COPYRIGHT);
       fprintf (dest_doc, "@node Main %s\n", name);
       fprintf (dest_doc, "@{jcenter}\n");
@@ -364,11 +364,22 @@ RB_Generate_Doc_Start (
 
     case LATEX:
       fprintf (dest_doc, "%% Document: %s\n", name);
-      fprintf (dest_doc, "%% Source: %s\n", src_name);
-      fprintf (dest_doc, "%% " COMMENT_ROBODOC);
+       fprintf (dest_doc, "%% Source: %s\n", src_name);
+/*      fprintf (dest_doc, "%% " COMMENT_ROBODOC);*/
       fprintf (dest_doc, "%% " COMMENT_COPYRIGHT);
       if (course_of_action & DO_SINGLEDOC) {
-       fprintf (dest_doc, "\\section{%s}\n", src_name);
+        if (!strchr(src_name, '_')) {
+         fprintf (dest_doc, "\\section{%s}\n", src_name);
+       } else {
+         char *tmp = calloc(strlen(src_name) + 2, sizeof(*tmp));
+         *strchr(src_name, '_') = '\\';
+         strncat(tmp, src_name, strcspn(src_name, "\\") + 1);
+         strncat(tmp, "_", 1); 
+         strncat(tmp, src_name + strcspn(src_name, "\\") + 1,
+                 strlen(src_name) - strcspn(src_name, "\\") - 1);
+         fprintf (dest_doc, "\\section{%s}\n", tmp);
+         free(tmp);
+        }
       } else {
        fprintf (dest_doc, "\\documentclass{article}\n");
         fprintf (dest_doc, "\\usepackage{makeidx}\n");
@@ -392,7 +403,7 @@ RB_Generate_Doc_Start (
        } else {
          fprintf (dest_doc, "\\title{API Reference}\n");
        }
-       fprintf (dest_doc, "\\author{%s}\n", COMMENT_ROBODOC);
+/*     fprintf (dest_doc, "\\author{%s}\n", COMMENT_ROBODOC); */
        fprintf (dest_doc, "\\makeindex\n");
        fprintf (dest_doc, "\\begin{document}\n");
        fprintf (dest_doc, "\\maketitle\n");
@@ -427,7 +438,6 @@ RB_Generate_Doc_Start (
                 "{\\title %s}"
                 "{\\comment\n"
                 " Source: %s\n"
-                " " COMMENT_ROBODOC
                 " " COMMENT_COPYRIGHT
                 "}"
                 "}", name, src_name);