#!/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