#!/usr/bin/make -f

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

COMPILER_FAMILY := intel
export COMPILER_FAMILY
MPI_FAMILY      := openmpi5
PNAME           := fftw
VERSION         := 3.3.10
INSTALL_PATH    := /opt/ohpc/pub/libs/$(COMPILER_FAMILY)/$(MPI_FAMILY)/$(PNAME)/$(VERSION)
SRCDIR          := $(CURDIR)/$(PNAME)-$(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/$(PNAME)-$(VERSION).tar.gz || \
		wget -q -O SOURCES/$(PNAME)-$(VERSION).tar.gz \
			http://www.fftw.org/fftw-$(VERSION).tar.gz
	rm -rf $(SRCDIR)
	tar xf SOURCES/$(PNAME)-$(VERSION).tar.gz

override_dh_auto_build:
	for prec in single double long-double; do \
		mkdir -p $(SRCDIR)/build_$${prec} && \
		PREC_FLAGS="" && \
		ARCH_FLAGS="--enable-sse2 --enable-avx --enable-avx2" && \
		case $${prec} in \
			single) PREC_FLAGS="--enable-float" ;; \
			double) PREC_FLAGS="" ;; \
			long-double) PREC_FLAGS="--enable-long-double"; ARCH_FLAGS="" ;; \
		esac && \
		cd $(SRCDIR)/build_$${prec} && \
		$(ENV) $(SRCDIR)/configure --prefix=$(INSTALL_PATH) --enable-shared --disable-dependency-tracking \
			--enable-threads --enable-openmp --enable-mpi --enable-static=no \
			$${ARCH_FLAGS} $${PREC_FLAGS} && \
		$(ENV) make -j$$(nproc) ; \
	done

override_dh_auto_install:
	for prec in single double long-double; do \
		cd $(SRCDIR)/build_$${prec} && \
		$(ENV) make DESTDIR=$(PKG) install ; \
	done
	find $(PKG) -name '*.la' -delete || true
	# Fix buildroot references
	find $(PKG) -name '*.pc' | xargs -r sed -i 's|$(PKG)||g'
	# 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)/lib -- --ignore-missing-info || true

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

override_dh_auto_test:
