File: rules

package info (click to toggle)
ga 5.9.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,472 kB
  • sloc: ansic: 192,963; fortran: 53,761; f90: 11,218; cpp: 5,784; makefile: 2,248; sh: 1,945; python: 1,734; perl: 534; csh: 134; asm: 106
file content (71 lines) | stat: -rwxr-xr-x 2,539 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
#!/usr/bin/make -f

CFLAGS=-g -O2

DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

include /usr/share/mpi-default-dev/debian_defaults

empty :=
space := $(empty)$(empty)

ifneq (,$(findstring $(space)$(DEB_HOST_ARCH)$(space), $(space)$(OPENMPI_AVAILABLE_ARCHITECTURES)$(space)))
  MPI_SUPPORTED = openmpi
endif
ifneq (,$(findstring $(space)$(DEB_HOST_ARCH)$(space), $(space)$(MPICH_AVAILABLE_ARCHITECTURES)$(space)))
  MPI_SUPPORTED += mpich
endif

%:
	dh $@ --with autoreconf

execute_after_dh_clean:
	rm -rf $(CURDIR)/pristine-src $(CURDIR)/build-mpich $(CURDIR)/build-openmpi

override_dh_auto_configure:
	for mpi_flavor in $(MPI_SUPPORTED); do \
		MPICC=mpicc.$${mpi_flavor} \
		MPICXX=mpicxx.$${mpi_flavor} \
		MPIF77=mpif77.$${mpi_flavor} \
		MPIFC=mpifort.$${mpi_flavor} \
		MPIF90=mpif90.$${mpi_flavor} \
		LDFLAGS="$${LDFLAGS} -pthread" \
		MPIEXEC="mpiexec.$${mpi_flavor} -np %NP%" \
		dh_auto_configure --builddirectory=$(CURDIR)/build-$${mpi_flavor} -- \
		--enable-cxx 				\
		--with-tcgmsg				\
		--with-scalapack="-lscalapack-$${mpi_flavor}" \
		--with-blas4=-lblas			\
		--with-lapack=-llapack			\
		--with-mpi				\
		--with-armci=-larmci-$${mpi_flavor}	\
		MPI_FLAVOR=$${mpi_flavor};		\
	done

override_dh_auto_build:
	for mpi_flavor in $(MPI_SUPPORTED); do \
	  dh_auto_build --builddirectory=$(CURDIR)/build-$${mpi_flavor}; \
	done

override_dh_auto_install:
	for mpi_flavor in $(MPI_SUPPORTED); do \
	  dh_auto_install --builddirectory=$(CURDIR)/build-$${mpi_flavor} --destdir=$(CURDIR)/debian/tmp; \
	done
	rm -f $(CURDIR)/debian/tmp/usr/include/error.h
	rm -f $(CURDIR)/debian/tmp/usr/include/memcpy.h
	rm -f $(CURDIR)/debian/tmp/usr/include/scope.h
	rm -f $(CURDIR)/debian/tmp/usr/include/string-util.h
	rm -f $(CURDIR)/debian/tmp/usr/include/table.h

ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
override_dh_auto_test:
	-for mpi_flavor in $(MPI_SUPPORTED); do \
		dh_auto_test --builddirectory=$(CURDIR)/build-$${mpi_flavor} -- -j1 -k ARMCI_USE_WIN_ALLOCATE=1 MPIEXEC="mpiexec.$${mpi_flavor} -np 4"; \
	done
endif

override_dh_link:
	dh_link -plibglobalarrays-dev usr/lib/$(DEB_HOST_MULTIARCH)/libga-$(ARCH_DEFAULT_MPI_IMPL).a usr/lib/$(DEB_HOST_MULTIARCH)/libga.a
	dh_link -plibglobalarrays-dev usr/lib/$(DEB_HOST_MULTIARCH)/libga++-$(ARCH_DEFAULT_MPI_IMPL).a usr/lib/$(DEB_HOST_MULTIARCH)/libga++.a
	dh_link -plibglobalarrays-dev usr/lib/$(DEB_HOST_MULTIARCH)/ga/$(ARCH_DEFAULT_MPI_IMPL)/bin/ga-config  usr/bin/ga-config