]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Auto-generate a list of classes sorted by sub-library.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 3 Apr 2000 16:49:06 +0000 (16:49 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 3 Apr 2000 16:49:06 +0000 (16:49 +0000)
git-svn-id: https://svn.dealii.org/trunk@2664 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/Makefile.in
deal.II/doc/documentation.html

index d5cfedd676f4087f91ad1ada7789f0ece0ed3844..b3aa19294755575be4bf6aaa5dc3fd52cfffa3a7 100644 (file)
@@ -10,7 +10,7 @@ include $D/common/Make.global_options
 
 
 # generic targets
-default: autogen-doc tutorial development glossary validate-xrefs
+default: autogen-doc tutorial development glossary class_index.html validate-xrefs
 
 all: default autogen-doc-all
 
@@ -43,11 +43,64 @@ validate-xrefs:
        cd publications ; $(MAKE) validate-xrefs
 
 
+# generate a class index from each of the various include directories
+class_index.html: $(shell echo $D/base/include/base/*.h \
+                               $D/lac/include/lac/*.h   \
+                               $D/deal.II/include/*/*.h)
+       @echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"\n\
+               "http://www.w3.org/TR/REC-html40/strict.dtd">\n   \
+               <html>\n\
+               <head>\n\
+               <link href="screen.css" rel="StyleSheet" title="deal.II Homepage" media="screen">\n\
+               <link href="print.css" rel="StyleSheet" title="deal.II Homepage" media="print">\n\
+               <title>The deal.II Homepage</title>\n\
+               <meta name="author" content="Wolfgang Bangerth <deal@iwr.uni-heidelberg.de>">\n\
+               <meta name="keywords" content="deal.II"></head>\n\
+               \n\
+               <body>\n\n' > $@ 
+       @echo "<h2>Class index for sub-libraries and their API references</h2>" \
+             >> $@ 
+       @echo "This file contains a list of classes in the different sub-libraries.\n" \
+              "Use this file if you are looking for the documentation of a\n" \
+              " certain class and are unsure\n" \
+             "in which API documentation to find the corresponding reference.\n" \
+             "<p>" \
+             "This file is automatically generated, so please excuse the strange layout.\n" \
+             >> $@ 
+       for dir in $D/base/include/base                              \
+                   $D/lac/include/lac                                \
+                   $(shell echo $D/deal.II/include/*);  do           \
+         if test -d $$dir   -a                                      \
+             ! "`echo $$dir | $(PERL) -p -e 's!.*/!!;'`" = CVS; then \
+           echo "Creating class index for $$dir"     ;              \
+            dirbasename="`echo $$dir | $(PERL) -p -e 's!.*/!!;'`" ; \
+           echo "<h3><a href=\"auto/kdoc/$$dirbasename/index.html\""\
+                 " target=\"body\">"                                 \
+                 "$$dirbasename sub-library</a></h3>\n\n" >> $@ ;    \
+           echo '<dir>\n' >> $@ ;                                   \
+           $(PERL) ../common/scripts/forward_declarations.pl             \
+                   `echo $$dir/*.h |                                     \
+                    $(PERL) -pi -e s'/[\w\/]*forward_declarations.h//g;'`\
+              | $(PERL) -e 'while (<>) { if (/;$$/) {print;}}'           \
+              | $(PERL) -pi -e 's/.*(struct|class)\s+//g;'               \
+              | sort                                                     \
+              | uniq                                                     \
+              | $(PERL) -pi -e 's/&/&amp;/g; s/</&lt;/g; s/>/&gt;/g;'    \
+              | $(PERL) -pi -e 's/;\n/ <br> \n/g;'     >> $@ ;           \
+           echo "\n\n" >> $@ ;                                           \
+           echo "</dir>\n" >> $@ ;                                  \
+         fi                                                         \
+       done
+       @echo '</body></html>' >> $@
+
+
+
 clean:
        cd auto ; $(MAKE) clean
        cd tutorial ; $(MAKE) clean
        cd development ; $(MAKE) clean
        cd glossary ; $(MAKE) clean
+       -rm class_index.html
 
 
 .PHONY: default all autogen-doc autogen-doc-all tutorial clean development validate-xrefs glossary
index 148f5c2273eb9a46e90ea7093179061bf5114b73..cc1fbefced500b91e47ae096d9fe47eacafba810 100644 (file)
         </ul>
       </p>
 
+      <p>
+      If you feel unsure in which of the various sublibraries a
+      certain class is located, take a look at this 
+      <a href="class_index.html" target="body">list of classes by
+      sublibrary</a>.
+      </p>
+
 
     <h4>Development information</h4>
   

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.