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
|