File: Makefile.in

package info (click to toggle)
deal.ii 6.3.1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 130,276 kB
  • ctags: 254,694
  • sloc: cpp: 664,750; ansic: 30,376; sh: 3,290; makefile: 3,152; perl: 1,046; asm: 802; fortran: 801; lisp: 84; pascal: 71
file content (85 lines) | stat: -rw-r--r-- 2,799 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# $Id: Makefile.in 21386 2010-06-27 18:03:38Z bangerth $
# $Name$
#
# Copyright (c) the deal.II authors 2003

###############################
# Configured variables

D     = @DEAL_II_PATH@
include $D/common/Make.global_options



html: deal.tag

private:
	perl -pi -e 's/(EXTRACT_PRIVATE\s*=\s*)NO/$$1YES/;s/(INTERNAL_DOCS\s*=\s*)NO/$$1YES/;' options.dox
	$(MAKE) html

# Generate documentation. write the output to a file so as not to hide the
# important message to impatient observers that this process can take quite
# a while
#
# We have to fix up one case after doxygen runs: doxygen versions
# 1.6.2 and 1.6.3 (and only these versions) create output files for
# @page commands that contain underscores where the underscore is
# escaped by a second underscore (e.g. "step__1.html" instead of
# "step_1.html"). While all internal links from the doxygen output are
# correct, the links we have from the handwritten html files won't
# work any more this way. The simplest way to avoid this is to simply
# copy all such files to their alternative (traditional) name so that
# the external links still work (they will link to a different but
# equal file).
deal.II deal.tag: tutorial \
          deal.dox \
	  $D/base/include/*/*.h \
	  $D/lac/include/*/*.h \
	  $D/deal.II/include/*/*.h \
	  headers/*.h \
	  $(addprefix tutorial/doxygen/, $(shell ls tutorial/doxygen/))
	@echo "=== Generating reference documentation. " \
              "This can take several minutes..."
	cat @DOXYGEN_OPTIONS@ deal.dox | @DOXYGEN@ - > doxygen.log
	@if test -f deal.II/step__1.html ; then \
	   for i in deal.II/*__*html ; do \
	     j="`echo $$i | sed s/__/_/g`" ; \
	     cp $$i $$j ; \
	   done ; \
	  fi
	@cp deal.css deal.II


tutorial:
	@mkdir -p tutorial/doxygen
	@cd tutorial ; $(MAKE)

deal.dox: Makefile $(shell echo images ../../examples/*/doc ../news/*.h)
	@echo "=== Making $@"
	@echo "INPUT=`echo headers ../../{base,lac,deal.II}/include/* tutorial/doxygen ../news/*.h`" > $@
	@echo "IMAGE_PATH=`echo images ../../examples/*/doc`" >> $@



# validate cross references. there are so many html files in these
# directories that we can just call
#    $(PERL) $D/common/scripts/validate-xrefs.pl deal.II/*.html
# as this leads to error messages of the kind "/usr/bin/perl: Argument
# list too long". Instead, use a loop over all html files
validate-xrefs:
	@echo "--- Validating xrefs in doxygen/deal.II/ ---"
	@cd deal.II ; \
		for i in *.html ; do \
			$(PERL) $D/common/scripts/validate-xrefs.pl $$i ; \
		done

# we have so many files that we can't just do "rm deal.II/*" because that
# leads to overlong command lines. gotta split it up
clean:
	-for i in deal.II/* ; do rm $$i ; done
	-rm *.tag
	@cd tutorial ; $(MAKE) clean


.PHONY: html tutorial private deal.II \
	validate-xrefs clean tutorial