# 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
+fi
+
#
# ASCII documentation
#
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");
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");
} 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");
"{\\title %s}"
"{\\comment\n"
" Source: %s\n"
- " " COMMENT_ROBODOC
" " COMMENT_COPYRIGHT
"}"
"}", name, src_name);