File: rules

package info (click to toggle)
med-fichier 4.1.0%2Brepack-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 56,164 kB
  • sloc: cpp: 662,273; ansic: 77,841; python: 36,574; fortran: 12,927; sh: 6,050; f90: 5,531; makefile: 5,187; tcl: 314; xml: 182
file content (74 lines) | stat: -rwxr-xr-x 2,848 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/make -f
%:
	dh $@ --with python3

# Which MPI implementation?
# set ARCH_DEFAULT_MPI_IMPL
include /usr/share/mpi-default-dev/debian_defaults

export OMPI_MCA_orte_rsh_agent=/bin/false                #workaround to start MPI-applications in chroot
export DEB_CPPFLAGS_MAINT_APPEND := -I/usr/include/$(ARCH_DEFAULT_MPI_IMPL) -DOMPI_SKIP_MPICXX=1 -DMPICH_SKIP_MPICXX=1
export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed

# Workaround for FTBFS with GCC-10:
# Error: Type mismatch between actual argument at (1) and actual argument at (2)
export DEB_FFLAGS_MAINT_APPEND := -fallow-argument-mismatch

CONFIGURE_FLAGS = --enable-python --with-swig=yes --with-hdf5=/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/$(ARCH_DEFAULT_MPI_IMPL) --with-hdf5-bin=/usr/bin

PY3VERS=$(shell py3versions -vr)
PY3DEF=$(shell py3versions -dv)

override_dh_auto_clean:
	[ ! -f doc/html.dox/Makefile ] || make -C doc/html.dox maintainer-clean-local
	dh_auto_clean
	rm -fr build.* debian/tmp.*
	[ ! -f doc/dox/examples.dox.orig ] || mv doc/dox/examples.dox.orig doc/dox/examples.dox

my_configure_common:
	cp doc/dox/examples.dox doc/dox/examples.dox.orig

my_configure_python%: pyver=$(patsubst my_configure_python%,%,$@)
my_configure_python%: my_configure_common
	PYTHON=/usr/bin/python$(pyver) dh_auto_configure -Bbuild.python$(pyver) -- $(CONFIGURE_FLAGS)

override_dh_auto_configure: $(foreach pyver,$(PY3VERS), my_configure_python$(pyver))

my_build_python%: pyver=$(patsubst my_build_python%,%,$@)
my_build_python%:
	dh_auto_build -Bbuild.python$(pyver)

override_dh_auto_build-arch: $(foreach pyver,$(PY3VERS), my_build_python$(pyver))

override_dh_auto_build-indep:
	dh_auto_build -Bbuild.python$(PY3DEF)/doc/html.dox -- html-local

my_install_python%: pyver=$(patsubst my_install_python%,%,$@)
my_install_python%:
	dh_auto_install -Bbuild.python$(pyver)

override_dh_auto_install-arch: $(foreach pyver,$(PY3VERS), my_install_python$(pyver))
	find debian/tmp/usr/lib/python* \( -name \*.py[co] -o -name \*.la \) -delete
	rm -rf debian/tmp/usr/bin/test* \
	       debian/tmp/usr/bin/usescases \
	       debian/tmp/usr/bin/unittests

override_dh_auto_install-indep:
	dh_auto_install -Bbuild.python$(PY3DEF)/doc/html.dox

override_dh_install:
	dh_install
	rm -f debian/libmedc-dev/usr/include/*import*

define my_auto_test
# $(1): folder to launch the tests from
	MPIEXEC="mpiexec --allow-run-as-root --oversubscribe -np " dh_auto_test -B$(1) --max-parallel=1
endef

override_dh_auto_test-arch:
	# first launch all the tests from the default python3 version's build dir
	$(call my_auto_test,build.python$(PY3DEF))
	# then launch the python tests only from the tests/python subdir of each of the other python3 versions' build dir
	$(foreach pyver,$(filter-out $(PY3DEF),$(PY3VERS)),$(call my_auto_test,build.python$(pyver)/tests/python))

override_dh_auto_test-indep: