From 4896da9a9d06a2349ecc2a54e97c53eea29f9c82 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 3 Apr 2000 16:49:06 +0000 Subject: [PATCH] Auto-generate a list of classes sorted by sub-library. git-svn-id: https://svn.dealii.org/trunk@2664 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/Makefile.in | 55 +++++++++++++++++++++++++++++++++- deal.II/doc/documentation.html | 7 +++++ 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/deal.II/doc/Makefile.in b/deal.II/doc/Makefile.in index d5cfedd676..b3aa192947 100644 --- a/deal.II/doc/Makefile.in +++ b/deal.II/doc/Makefile.in @@ -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 '\n \ + \n\ + \n\ + \n\ + \n\ + The deal.II Homepage\n\ + \n\ + \n\ + \n\ + \n\n' > $@ + @echo "

Class index for sub-libraries and their API references

" \ + >> $@ + @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" \ + "

" \ + "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 "

" \ + "$$dirbasename sub-library

\n\n" >> $@ ; \ + echo '\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/&/&/g; s//>/g;' \ + | $(PERL) -pi -e 's/;\n/
\n/g;' >> $@ ; \ + echo "\n\n" >> $@ ; \ + echo "
\n" >> $@ ; \ + fi \ + done + @echo '' >> $@ + + + 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 diff --git a/deal.II/doc/documentation.html b/deal.II/doc/documentation.html index 148f5c2273..cc1fbefced 100644 --- a/deal.II/doc/documentation.html +++ b/deal.II/doc/documentation.html @@ -70,6 +70,13 @@

+

+ If you feel unsure in which of the various sublibraries a + certain class is located, take a look at this + list of classes by + sublibrary. +

+

Development information

-- 2.39.5