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
|