#!/usr/bin/make -f export DH_VERBOSE=1 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) VERSION:=$(shell dpkg-parsechangelog --show-field Version) LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH) DESTDIR:=$(CURDIR)/debian/tmp AUTOGENERATED:= caf-mpich.pc caf-openmpi.pc \ libcoarrays-openmpi-dev.postinst libcoarrays-openmpi-dev.prerm \ libcoarrays-mpich-dev.postinst libcoarrays-mpich-dev.prerm \ caf.openmpi caf.mpich # Set default f95 compiler F95 ?= /usr/bin/f95 GFORTRAN_VERSION:=$(readlink /usr/bin/gfortran) # The magic debhelper rule %: dh $@ --buildsystem=cmake --no-parallel DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) # DISABLED_TESTS:= "powerpc alpha" MPICH_CFLAGS=$(dpkg-buildpackage --get CFLAGS) $(shell pkg-config mpich --cflags) MPICH_FCFLAGS=$(dpkg-buildpackage --get FCFLAGS) $(shell pkg-config mpich-fort --cflags) OPENMPI_CFLAGS=$(dpkg-buildpackage --get CFLAGS) $(shell pkg-config ompi-c --cflags) OPENMPI_FCFLAGS=$(dpkg-buildpackage --get FCFLAGS) $(shell pkg-config ompi-fort --cflags) override_dh_auto_configure: for f in ${AUTOGENERATED} ; do \ sed -e 's%@DEB_HOST_MULTIARCH@%${DEB_HOST_MULTIARCH}%g' < debian/$$f.in | \ sed -e 's%@VERSION@%${VERSION}%g' | \ sed -e 's%@GFORTRAN_VERSION@%${GFORTRAN_VERSION}%g' > debian/$$f ; \ done CXX=mpicxx.mpich CC=mpicc.mpich FC=mpif90.mpich \ dh_auto_configure --builddirectory=build-mpich -- \ -DCAF_LIB_NAME=caf_mpich CXX=mpicxx.openmpi CC=mpicc.openmpi FC=mpif90.openmpi \ dh_auto_configure --builddirectory=build-openmpi -- \ -DCAF_LIB_NAME=caf_openmpi #dh_auto_configure --builddirectory=build-mpich -- \ # -DMPI_C_COMPILER=mpicc.mpich -DMPI_Fortran_COMPILER=mpifort.mpich \ # -DCMAKE_C_FLAGS="$(MPICH_CFLAGS)" -DCMAKE_Fortran_FLAGS="$(MPICH_FCFLAGS)" \ # -DCAF_LIB_NAME=caf_mpich #dh_auto_configure --builddirectory=build-openmpi -- \ # -DMPI_C_COMPILER=mpicc.openmpi -DMPI_Fortran_COMPILER=mpifort.openmpi \ # -DCMAKE_C_FLAGS="$(OPENMPI_CFLAGS)" -DCMAKE_Fortran_FLAGS="$(OPENMPI_FCFLAGS)" \ # -DCAF_LIB_NAME=caf_openmpi override_dh_auto_build: dh_auto_build --builddirectory=build-mpich dh_auto_build --builddirectory=build-openmpi override_dh_auto_install: cp debian/caf.openmpi build-openmpi/bin/caf cp debian/caf.mpich build-mpich/bin/caf dh_auto_install --builddirectory=build-mpich dh_auto_install --builddirectory=build-openmpi rm $(DESTDIR)/$(LIBDIR)/libopencoarrays_mod.a mkdir -p $(DESTDIR)/$(LIBDIR)/open-coarrays/mpich/lib $(DESTDIR)/$(LIBDIR)/open-coarrays/openmpi/lib/ mv build-mpich/lib/$(DEB_HOST_MULTIARCH)/libopencoarrays_mod.a $(DESTDIR)/$(LIBDIR)/open-coarrays/mpich/lib/libopencoarrays_mod_mpich.a mv build-openmpi/lib/$(DEB_HOST_MULTIARCH)/libopencoarrays_mod.a $(DESTDIR)/$(LIBDIR)/open-coarrays/openmpi/lib/libopencoarrays_mod_openmpi.a override_dh_auto_clean: dh_clean rm -f $(patsubst %, debian/%, ${AUTOGENERATED}) rm -rf build-* override_dh_auto_test: ifneq (,$(findstring "$(DEB_HOST_ARCH)",$(DISABLED_TESTS))) @echo "Tests disabled on this arch: known failures being investigated" else @echo "Tests may hang/timeout due to lack of processors. " -dh_auto_test --timeout 30 endif