X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=util%2Frobodoc%2FSource%2Fgenerator.c;h=632c2990f94c880e285de6fc97da3534cfec23a6;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;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)