#!/usr/bin/make -f

DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

SO := 0
MN := 0
VER := $(SO).$(MN)

FC := $(shell basename $(shell readlink -f /usr/bin/gfortran))
MPIFC := /usr/bin/mpif77
CC := /usr/bin/gcc
AS := as
FFLAGS += -fopenmp -fPIC -frecursive -std=legacy
CFLAGS += -fopenmp -fPIC -frecursive
LIBNAME := libispack
LIBNAME_MPI := libispack-mpi
SSE := fort
CPP := cpp
CPPFLAGS += -nostdinc -DDIRECT -DIEEE -DASCII -DLEN -DET
LDFLAGS += -Wl,--as-needed

DESTDIR := $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
COMMON_FLAGS := \
	FC=$(FC) FFLAGS="$(FFLAGS)" \
	CC=$(CC) CFLAGS="$(CFLAGS)" \
	MPIFC=$(MPIFC) MPIFFLAGS="$(FFLAGS)" \
	CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)"

DIRS := appack bspack ftpack tdpack snpack sopack sppack
DIRS += flpack fepack fhpack c2pack p2pack p3pack dkpack
DIRS += u2pack pzpack ujpack sjpack
DIRS_MPI := $(DIRS) p3pack-mpi snpack-mpi sppack-mpi sopack-mpi sjpack-mpi

%:
	dh $@ --buildsystem makefile

override_dh_auto_build:
	$(shell ! grep -q jessie /etc/os-release || \
	  echo "activate-noawait ldconfig" > $(CURDIR)/debian/libispack0.triggers )
override_dh_auto_test:
override_dh_auto_install:
	mkdir -p $(DESTDIR)
	( cd $(CURDIR)/.fftj \
	  && $(MAKE) $(SSE) $(COMMON_FLAGS) )
	$(MAKE) $(COMMON_FLAGS) DIRS="$(DIRS)" LIBNAME="$(LIBNAME)"
	$(FC) $(LDFLAGS) -shared -Wl,-soname=$(LIBNAME).so.$(SO) \
	  -o $(DESTDIR)/$(LIBNAME).so.$(VER) $(CURDIR)/*/src/*.o $(CURDIR)/.fftj/*/*.o \
	  -L. -L$(DESTDIR) -llapack -lblas
	install -m 644 $(CURDIR)/$(LIBNAME).* $(DESTDIR)/
	$(MAKE) $(COMMON_FLAGS) DIRS="$(DIRS_MPI)" LIBNAME="$(LIBNAME_MPI)"
	$(MPIFC) $(LDFLAGS) -shared -Wl,-soname=$(LIBNAME_MPI).so.$(SO) \
	  -o $(DESTDIR)/$(LIBNAME_MPI).so.$(VER) $(CURDIR)/*/src/*.o $(CURDIR)/.fftj/*/*.o \
	  -L. -L$(DESTDIR) -llapack -lblas
	install -m 644 $(CURDIR)/$(LIBNAME_MPI).* $(DESTDIR)/
	( cd $(DESTDIR); ln -s $(LIBNAME).so.$(VER) $(LIBNAME).so )
	( cd $(DESTDIR); ln -s $(LIBNAME).so.$(VER) $(LIBNAME).so.$(SO) )
	( cd $(DESTDIR); ln -s $(LIBNAME_MPI).so.$(VER) $(LIBNAME_MPI).so )
	( cd $(DESTDIR); ln -s $(LIBNAME_MPI).so.$(VER) $(LIBNAME_MPI).so.$(SO) )

override_dh_auto_clean:
	dh_auto_clean
	$(MAKE) veryclean
	rm -f $(CURDIR)/*.a

override_dh_compress:
	dh_compress -X.tex -X.f -X.dat -X.F

override_dh_installchangelogs:
	dh_installchangelogs CHANGELOG

override_dh_installdocs:
	dh_installdocs --all README README.en
