X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=util%2Frobodoc%2FSource%2Fgenerator.c;h=632c2990f94c880e285de6fc97da3534cfec23a6;hb=c257b555225193e54d85daf541d29578b3c93882;hp=6c12fa26b8994ea23e24ffa72a2720e6f37436ac;hpb=76ee719f8c9ba52a21d8cdd92cc7a8689f322a2e;p=silc.git
diff --git a/util/robodoc/Source/generator.c b/util/robodoc/Source/generator.c
index 6c12fa26..632c2990 100644
--- a/util/robodoc/Source/generator.c
+++ b/util/robodoc/Source/generator.c
@@ -62,9 +62,15 @@ RB_Generate_Documentation (
RB_Say ("generating documentation for \"%s\"\n", cur_header->name);
+#if 1
+ /* If MAIN_HEADER, do not create file */
+ if (cur_header->type == MAIN_HEADER)
+ continue;
+#endif
+
if (output_mode == HTML)
{
- sprintf(fname, "%s__%s.html", doc_base, cur_header->function_name);
+ sprintf(fname, "%s-%s.html", doc_base, cur_header->function_name);
dest_doc = fopen(fname, "w");
if (!dest_doc)
{
@@ -73,7 +79,7 @@ RB_Generate_Documentation (
}
}
- RB_Generate_Header_Start (dest_doc, cur_header);
+ RB_Generate_Header_Start (dest_doc, cur_header, src_name);
next_line = cur_header->contents;
item_type = RB_Find_Item (&next_line, &item_line);
@@ -167,7 +173,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");
@@ -272,7 +278,7 @@ RB_Generate_Doc_Start (
#endif
/* Generate quick index file, for fast referencing */
- sprintf(iname, "%s__index.tmpl", doc_base);
+ sprintf(iname, "%s-index.tmpl", doc_base);
index = fopen(iname, "w");
if (!index)
{
@@ -286,7 +292,7 @@ RB_Generate_Doc_Start (
{
char fname[256];
- sprintf(fname, "%s__%s.html", RB_FilePart(doc_base),
+ sprintf(fname, "%s-%s.html", RB_FilePart(doc_base),
cur_header->function_name);
if (cur_header->name && cur_header->function_name)
@@ -296,7 +302,8 @@ RB_Generate_Doc_Start (
int item_type;
char *next_line, *item_line = NULL;
- RB_Generate_Header_Start (dest_doc, cur_header);
+ RB_Generate_Header_Start (dest_doc, cur_header,
+ src_name);
next_line = cur_header->contents;
item_type = RB_Find_Item (&next_line, &item_line);
@@ -335,7 +342,7 @@ RB_Generate_Doc_Start (
if (index)
{
- fprintf (index, " >> %s
\n",
+ fprintf (index, "%s
\n",
name, cur_header->function_name);
}
@@ -346,7 +353,7 @@ RB_Generate_Doc_Start (
fprintf (dest_doc, "
%s\n",
fname, cur_header->function_name);
if (index)
- fprintf (index, " >> %s
\n",
+ fprintf (index, "%s
\n",
fname, cur_header->function_name);
}
}
@@ -363,11 +370,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");
@@ -391,7 +409,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");
@@ -426,7 +444,6 @@ RB_Generate_Doc_Start (
"{\\title %s}"
"{\\comment\n"
" Source: %s\n"
- " " COMMENT_ROBODOC
" " COMMENT_COPYRIGHT
"}"
"}", name, src_name);
@@ -548,7 +565,8 @@ RB_Generate_Doc_End (FILE * dest_doc, char *name)
*/
void
-RB_Generate_Header_Start (FILE * dest_doc, struct RB_header *cur_header)
+RB_Generate_Header_Start (FILE * dest_doc, struct RB_header *cur_header,
+ const char *src_name)
{
char *cook_link;
@@ -574,28 +592,35 @@ RB_Generate_Header_Start (FILE * dest_doc, struct RB_header *cur_header)
#endif
if (cur_header->type == FUNCTION_HEADER)
fprintf (dest_doc,
- "\n"
+ "\n"
"Function %s"
"
\n\n",
cur_header->function_name,
cur_header->function_name);
else if (cur_header->type == STRUCT_HEADER)
fprintf (dest_doc,
- "\n"
+ "\n"
"Structure %s"
"
\n\n",
cur_header->function_name,
cur_header->function_name);
else if (cur_header->type == VARIABLE_HEADER)
fprintf (dest_doc,
- "\n"
+ "\n"
"Variable %s"
"
\n\n",
cur_header->function_name,
cur_header->function_name);
+ else if (cur_header->type == MAIN_HEADER)
+ fprintf (dest_doc,
+ "\n"
+ "%s"
+ "
Header: %s
\n\n",
+ cur_header->function_name,
+ cur_header->function_name, src_name);
else
fprintf (dest_doc,
- "\n"
+ "\n"
"%s"
"
\n\n",
cur_header->function_name,
@@ -746,7 +771,7 @@ RB_Generate_Item_Name (FILE * dest_doc, int item_type)
fprintf (dest_doc, format_str,
att_start_command[MAKE_BOLD][output_mode]);
if (output_mode == HTML)
- fprintf (dest_doc, "\n");
+ fprintf (dest_doc, "\n");
fprintf (dest_doc, format_str, item_names[item_type]);
if (output_mode == HTML)
fprintf (dest_doc, "\n");
@@ -1273,8 +1298,13 @@ RB_Generate_Item_Body (FILE * dest_doc, char *dest_name,
}
else if (file_name && strcmp (file_name, dest_name))
{
+#if 0
fprintf (dest_doc, "%s",
file_name, label_name, label_name);
+#endif
+ fprintf (dest_doc, "%s",
+ RB_FilePartStart(file_name), label_name,
+ label_name);
}
else
{
@@ -1284,7 +1314,7 @@ RB_Generate_Item_Body (FILE * dest_doc, char *dest_name,
fprintf (dest_doc, "%s",
label_name, label_name);
#endif
- fprintf (dest_doc, "%s",
+ fprintf (dest_doc, "%s",
RB_FilePart(doc_base), label_name,
label_name);
}
@@ -1442,8 +1472,8 @@ RB_Generate_Index (FILE * dest, char *source)
fprintf (dest, "Master Index File
\n");
}
if (RB_Number_Of_Links (MAIN_HEADER, NULL))
- RB_Generate_Index_Table (dest, MAIN_HEADER, "Project Modules");
- RB_Generate_Index_Table (dest, NO_HEADER, "Source Files");
+ RB_Generate_Index_Table (dest, MAIN_HEADER, "Modules");
+// RB_Generate_Index_Table (dest, NO_HEADER, "Source Files");
if (RB_Number_Of_Links (CLASS_HEADER, NULL))
RB_Generate_Index_Table (dest, CLASS_HEADER, "Classes");
if (RB_Number_Of_Links (METHOD_HEADER, NULL))
@@ -1453,7 +1483,7 @@ RB_Generate_Index (FILE * dest, char *source)
if (RB_Number_Of_Links (FUNCTION_HEADER, NULL))
RB_Generate_Index_Table (dest, FUNCTION_HEADER, "Functions");
if (RB_Number_Of_Links (VARIABLE_HEADER, NULL))
- RB_Generate_Index_Table (dest, VARIABLE_HEADER, "Variables");
+ RB_Generate_Index_Table (dest, VARIABLE_HEADER, "Global Variables");
if (RB_Number_Of_Links (CONSTANT_HEADER, NULL))
RB_Generate_Index_Table (dest, CONSTANT_HEADER, "Constants");
if (RB_Number_Of_Links (GENERIC_HEADER, NULL))
@@ -1543,8 +1573,9 @@ RB_Generate_Index_Table (FILE * dest, int type, char *title)
if (RB_Number_Of_Links (NO_HEADER, cur_link->file_name) > 1)
{
fprintf (dest,
- "%s | \n",
- cur_link->file_name, cur_link->label_name,
+ "%s | \n",
+ RB_FilePartStart(cur_link->file_name),
+ cur_link->label_name,
cur_link->label_name);
}
else
@@ -1554,9 +1585,19 @@ RB_Generate_Index_Table (FILE * dest, int type, char *title)
}
else
{
- fprintf (dest, "%s | \n",
- cur_link->file_name, cur_link->label_name,
+ if (type == MAIN_HEADER)
+ {
+ fprintf (dest, "%s | \n",
+ RB_FilePartStart(cur_link->file_name),
cur_link->label_name);
+ }
+ else
+ {
+ fprintf (dest, "%s | \n",
+ RB_FilePartStart(cur_link->file_name),
+ cur_link->label_name,
+ cur_link->label_name);
+ }
};
cur_column++;
if (cur_column > number_of_columns)