#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=-all
export CFLAGS =
export CXXFLAGS =
export LDFLAGS =

COMPILER_FAMILY := gnu15
MPI_FAMILY      := mvapich2
export MPI_FAMILY
PNAME           := opencoarrays
VERSION         := 2.10.3
INSTALL_PATH    := /opt/ohpc/pub/libs/$(COMPILER_FAMILY)/$(MPI_FAMILY)/$(PNAME)/$(VERSION)
SRCDIR          := $(CURDIR)/OpenCoarrays-$(VERSION)
PKG             := $(CURDIR)/debian/$(PNAME)-$(COMPILER_FAMILY)-$(MPI_FAMILY)-ohpc
ENV             := bash /build/devel/build-mpi.sh

%:
	dh $@

override_dh_auto_configure:
	test -s SOURCES/$(VERSION).tar.gz || \
		wget -q -O SOURCES/$(VERSION).tar.gz \
			https://github.com/sourceryinstitute/OpenCoarrays/archive/refs/tags/$(VERSION).tar.gz
	rm -rf $(SRCDIR)
	tar xf SOURCES/$(VERSION).tar.gz
	cd $(SRCDIR) && patch -p1 < $(CURDIR)/SOURCES/opencoarrays-disable-get-comm-test.patch || true

override_dh_auto_build:
	mkdir -p $(SRCDIR)/build-opencoarrays
	cd $(SRCDIR)/build-opencoarrays && $(ENV) bash -c '\
		export CFLAGS="$${CFLAGS} -Wno-int-conversion" && \
		cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_PATH) .. && \
		make -j$$(nproc) VERBOSE=1'

override_dh_auto_install:
	cd $(SRCDIR)/build-opencoarrays && $(ENV) bash -c '\
		sed -i "s|$${MPI_DIR}|\$$MPI_DIR|g" bin/caf && \
		make DESTDIR=$(PKG) install'
	# Remove static libraries
	find $(PKG)$(INSTALL_PATH)/lib64 -name '*.a' -delete 2>/dev/null || true
	# Install modulefile
	mkdir -p $(PKG)/opt/ohpc/pub/moduledeps/$(COMPILER_FAMILY)-$(MPI_FAMILY)/$(PNAME)
	install -m 644 debian/modulefile $(PKG)/opt/ohpc/pub/moduledeps/$(COMPILER_FAMILY)-$(MPI_FAMILY)/$(PNAME)/$(VERSION)

override_dh_auto_clean:
	rm -rf $(SRCDIR)

override_dh_usrlocal:

override_dh_shlibdeps:
	dh_shlibdeps -l$(PKG)$(INSTALL_PATH)/lib64:$(PKG)$(INSTALL_PATH)/lib -- --ignore-missing-info || true

override_dh_strip:
	dh_strip --no-automatic-dbgsym || true

override_dh_auto_test:
