# generic targets
-default: doxygen tutorial development glossary # class_index.html validate-xrefs
+default: doxygen tutorial development glossary # validate-xrefs
-all: default autogen-doc-all
+all: default
# specific targets
doxygen:
cd doxygen ; rm -f *.tag ; $(MAKE)
-autogen-doc:
- cd auto ; $(MAKE)
-
-
-autogen-doc-all:
- cd auto ; $(MAKE) all
-
-
tutorial:
cd tutorial ; $(MAKE)
cd reports ; $(MAKE) validate-xrefs
-# generate a class index from each of the various include directories
-# note that both include dirs deal.II/include/{dofs,fe} are mapped to
-# API library `dof'
-class_index.html: $(shell echo $D/base/include/base/*.h \
- $D/lac/include/lac/*.h \
- $D/deal.II/include/*/*.h) \
- autogen-doc
- @(echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"' ; \
- echo '"http://www.w3.org/TR/REC-html40/strict.dtd">' ; \
- echo '<html>' ; \
- echo '<head>' ; \
- echo '<link href="screen.css" rel="StyleSheet" title="deal.II Homepage" media="screen">' ; \
- echo '<link href="print.css" rel="StyleSheet" title="deal.II Homepage" media="print">' ; \
- echo '<title>The deal.II Homepage</title>' ; \
- echo '<meta name="author" content="Wolfgang Bangerth <deal@iwr.uni-heidelberg.de>">' ; \
- echo '<meta name="keywords" content="deal.II"></head>' ; \
- echo '' ; \
- echo '' ; \
- echo '<body>' \
- ) > $@
- @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." ; \
- echo "Use this file if you are looking for the documentation of a" ; \
- echo " certain class and are unsure" ; \
- echo "in which API documentation to find the corresponding reference." ; \
- echo "<p>" ; \
- echo "This file is automatically generated, so please excuse the strange layout." ; \
- echo "Furthermore, please note that the script is not perfect, and even though it" ; \
- echo "tries to identify the file corresponding to each class, it is not always" ; \
- echo "able to do so, in particular in presence of nested classes or explicitely" ; \
- echo "specialized templates, or if a class name appears more than once (e.g. as local" ; \
- echo "classes in other classes). In this case, no link is presented with the name," ; \
- echo "but you can nevertheless get at the documentation of the class by clicking on" ; \
- echo "the link leading to the top page for each sub-library; this link is at the top" ; \
- echo "of each of the following sections." \
- ) >> $@
- echo '<table>' >> $@ ; \
- 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!.*/!!;'`" ; \
- if test $$dirbasename = dofs; then \
- dirbasename=dof; \
- fi; \
- if test $$dirbasename = fe; then \
- dirbasename=dof; \
- fi; \
- (echo "<tr><td align=\"center\" colspan=\"3\">" ; \
- echo "<hr>" ; \
- echo "<h2><a href=\"auto/kdoc/$$dirbasename/index.html\""\
- " target=\"body\">" ; \
- echo " $$dirbasename sub-library</a></h2>" ; \
- echo "</td></tr>" ; \
- echo "" \
- ) >> $@ ; \
- $(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; s/>/>/g;' \
- | $(PERL) -pi -e 's/;\n/\n/g;' \
- | $(PERL) -e ' @classes = (); \
- while (<>) { \
- chop; \
- @classes = (@classes, $$_); \
- } \
- print " <tr>\n"; \
- $$allfiles = `ls -1 auto/kdoc/*/*.html`; \
- $$n_classes = $$#classes + 1; \
- for ($$col=0; $$col<3; $$col++) { \
- print " <td>\n"; \
- for ($$i=0; $$i<$$n_classes/3; $$i++) { \
- $$classname = $$classes[$$i+$$col*($$n_classes+1)/3]; \
- $$mangledname = $$classname; \
- $$mangledname =~ s/</\@3C/g; \
- $$mangledname =~ s/>/\@3E/g; \
- $$mangledname =~ s/ /\@20/g; \
- $$filename = `echo \"$$allfiles\"|egrep \"/([a-zA-Z0-9_\@]+__)*$$mangledname.html\"`; \
- $$filename =~ s/\n/ /g; \
- $$filename =~ s/\s+$$//g; \
- if ($$filename =~ / / || $$filename eq "") { \
- print " $$classname<br>\n"; \
- } else { \
- print " <a href=\"$$filename\" target=\"body\">$$classname</a><br>\n";\
- } \
- } \
- print " </td>\n"; \
- } \
- print " </tr>\n\n";' \
- >> $@ ; \
- echo "" >> $@ ; \
- echo "" >> $@ ; \
- fi \
- done
- @echo "<tr><td align=\"center\" colspan=\"3\"> <hr> </td> </tr>" \
- >> $@
- @echo "</table>" >> $@
- @(echo "<p align=\"right\"> " ; \
- echo " Generated on `$(PERL) -e 'print scalar localtime;'`" ; \
- echo "</p>" \
- ) >> $@
- @echo '</body></html>' >> $@
-
-
-
clean:
cd tutorial ; $(MAKE) clean
cd development ; $(MAKE) clean