~ubuntu-branches/ubuntu/trusty/deal.ii/trusty

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/usr/bin/make -f
# Made with the aid of debmake, by Christoph Lameter,
# based on the sample debian/rules file for GNU hello by Ian Jackson.

package=deal.ii
version=6.2.0

stamp-patch:
	if [ ! -e stamp-patch ]; then \
	  QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2; \
	fi
	touch $@

clean:
	dh_testdir
	if [ -e common/Make.global_options ]; then $(MAKE) distclean; fi
	if [ -e stamp-patch ]; then \
	  QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2; \
	  rm -f stamp-patch; \
	fi
	rm -f stamp-*
# This is left by a quilt push/pop sequence
	rm -rf .pc
	dh_clean

stamp-configure: stamp-patch
	dh_testdir
	autoconf
	CXX=mpicxx CC=mpicc PETSC_DIR=/usr/lib/petsc PETSC_ARCH=`petscarch` \
	  SLEPC_DIR=/usr/lib/slepc SLEPC_ARCH=linux-gnu-c-opt \
	  ./configure --prefix=/usr --disable-parser --enable-multithreading \
	  --enable-shared --with-boost --with-blas --with-lapack \
	  --with-umfpack=/usr --with-umfpack-include=/usr/include/suitesparse \
	  --with-metis=/usr --with-metis-include=/usr/include/metis/
#	  --with-trilinos=/usr --with-trilinos-include=/usr/include/trilinos
	touch $@

build: stamp-build
stamp-build: stamp-configure
	dh_testdir
# Move aside Make.global_options and replace it with something temporary
	mv common/Make.global_options common/Make.global_options.orig
	sed 's/$$(LIBDIR)\/lib/-L$$(LIBDIR) -l/' < common/Make.global_options.orig \
	  | sed 's/.g$$(lib-suffix)/.g/' | sed 's/call$$(lib-suffix)/call/' \
	  | sed 's/hsl$$(lib-suffix)/hsl/' | sed 's/ase$$(lib-suffix)/ase/' \
	  | sed 's/lac$$(lib-suffix)/lac/' | sed 's/_1d$$(lib-suffix)/_1d/' \
	  | sed 's/_2d$$(lib-suffix)/_2d/' | sed 's/_3d$$(lib-suffix)/_3d/' \
	  > common/Make.global_options
	$(MAKE) all
	touch $@

build-doc: stamp-configure
	$(MAKE) online-doc
	touch $@

install: build
# We distribute the libs, and put the includes and common files in -dev
	install -d debian/libdeal.ii-dbg$(version)/usr/lib
	mv lib/*.g.so.$(version) debian/libdeal.ii-dbg$(version)/usr/lib/
	install -d debian/libdeal.ii$(version)/usr/lib
	mv lib/*.so.$(version) debian/libdeal.ii$(version)/usr/lib/
	install -d debian/libdeal.ii-dbg/usr/lib
	mv lib/*.g.so debian/libdeal.ii-dbg/usr/lib/
	install -d debian/libdeal.ii-dev/usr/lib
	mv lib/*.so debian/libdeal.ii-dev/usr/lib/
	install -d debian/libdeal.ii-dev/usr/include/deal.II
	cp -a deal.II/include/* lac/include/* base/include/* \
	  debian/libdeal.ii-dev/usr/include/deal.II/
	install -d debian/libdeal.ii-dev/usr/share/deal.II
	cp -a common/* debian/libdeal.ii-dev/usr/share/deal.II
# Fix Make.global_options
	rm -f debian/libdeal.ii-dev/usr/share/deal.II/Make.global_options*
	sed "s/`echo $(CURDIR) | sed 's/\//\\\\\//g'`/\/usr/" \
	  < common/Make.global_options.orig | \
	  sed 's/deal.II\/include/include\/deal.II/' \
	  > debian/libdeal.ii-dev/usr/share/deal.II/Make.global_options
# There are a couple of binaries in common/scripts which belong in $(version)
	install -d debian/libdeal.ii$(version)/usr/lib/deal.II
	mv debian/libdeal.ii-dev/usr/share/deal.II/scripts/expand_instantiations \
	  debian/libdeal.ii-dev/usr/share/deal.II/scripts/make_dependencies \
	  debian/libdeal.ii$(version)/usr/lib/deal.II/
	ln -s ../../../lib/deal.II/expand_instantiations \
	  debian/libdeal.ii-dev/usr/share/deal.II/scripts/expand_instantiations
	ln -s ../../../lib/deal.II/make_dependencies \
	  debian/libdeal.ii-dev/usr/share/deal.II/scripts/make_dependencies
	rm -f debian/libdeal.ii-dev/usr/share/deal.II/scripts/*.cc \
	  debian/libdeal.ii-dev/usr/share/deal.II/scripts/make_tarfile.sh
	touch $@

binary-indep: install build-doc
	dh_testdir -i
	dh_testroot -i
	dh_installdirs -i
#	dh_install -i
#	dh_movefiles -i
	dh_installdocs -i
	rm -rf debian/deal.ii-examples/usr/share/doc/deal.ii-examples/step-*/doc
# Fix example Makefiles
	for mfile in `ls debian/deal.ii-examples/usr/share/doc/deal.ii-examples/step-*/Makefile`; do \
	  mv $$mfile $$mfile.in; \
	  sed 's/$$D\/common/$$D/' < $$mfile.in | \
	    sed 's/$$D\/\*\/include/\/usr\/include\/deal.II/' | \
	    sed 's/$$D/\/usr\/share\/deal.II/' | \
	    sed 's/debug-mode = on/debug-mode = off/' | \
	    grep -v 'D = ' > $$mfile; \
	  rm -f $$mfile.in; \
	done
	dh_installchangelogs -i
	dh_compress -i -XMakefile -Xcc -Xinp
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: install
	dh_testdir -a
	dh_testroot -a
	dh_installdirs -a
#	dh_install -a
#	dh_movefiles -a
	install -d debian/libdeal.ii-dbg$(version)/usr/share/lintian/overrides
	install -m 644 debian/libdeal.ii-dbg$(version).overrides \
	  debian/libdeal.ii-dbg$(version)/usr/share/lintian/overrides/libdeal.ii-dbg$(version)
	dh_installdocs -a
	dh_installchangelogs -a
	dh_strip -a -X.g
	dh_makeshlibs -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch

.PHONY: binary binary-arch binary-indep clean