#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/cmake.mk
include /usr/share/cdbs/1/rules/utils.mk

DEB_COMPRESS_EXCLUDE_ALL := .py .cpp .h .pdf
DEB_INSTALL_DOCS_ALL += AUTHORS README TODO

# Allow test programs that uses OpenMPI to run
export OMPI_MCA_plm_rsh_agent=/bin/false

# Disable MPI on lam architectures
ifeq ($(DEB_BUILD_ARCH), armel)
ENABLE_MPI=OFF
else ifeq ($(DEB_BUILD_ARCH), mips)
ENABLE_MPI=OFF
else ifeq ($(DEB_BUILD_ARCH), mipsel)
ENABLE_MPI=OFF
else ifeq ($(DEB_BUILD_ARCH), s390)
ENABLE_MPI=OFF
else ifeq ($(DEB_BUILD_ARCH), sparc)
ENABLE_MPI=OFF
else
ENABLE_MPI=ON
endif

DEB_CMAKE_EXTRA_FLAGS= \
	-D BUILD_SHARED_LIBS:BOOL=ON \
	-D CMAKE_SKIP_RPATH:BOOL=ON \
	-D CMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=OFF \
	-D DOLFIN_ENABLE_TRILINOS:BOOL=ON \
	-D Trilinos_DIR:PATH=/usr/include/trilinos \
	-D DOLFIN_ENABLE_CGAL:BOOL=OFF \
	-D DOLFIN_ENABLE_MTL4:BOOL=OFF \
	-D DOLFIN_ENABLE_PARMETIS:BOOL=OFF \
	-D DOLFIN_ENABLE_UNIT_TESTS:BOOL=OFF \
	-D SWIG_EXECUTABLE:FILEPATH=/usr/bin/swig2.0 \
        -D DOLFIN_ENABLE_MPI:BOOL=$(ENABLE_MPI) \
	..

USCAN_DESTDIR := $(CURDIR)

PY_VERSIONS = $(shell pyversions --requested debian/control | tac -s' ')

install-stamp-%:
	cd $(DEB_BUILDDIR) && rm CMakeCache.txt && \
	  cmake -D PYTHON_EXECUTABLE:FILEPATH=/usr/bin/$* \
	    -D PYTHON_LIBRARY:FILEPATH=/usr/lib/lib$*.so \
	    -D PYTHON_INCLUDE_DIR:PATH=/usr/include/$* \
	    $(DEB_CMAKE_NORMAL_ARGS) $(DEB_CMAKE_EXTRA_FLAGS)
	make -C $(DEB_BUILDDIR) install DESTDIR=$(CURDIR)/debian/tmp
	touch $@

install/python-dolfin:: $(addprefix install-stamp-, $(PY_VERSIONS))

binary-install/python-dolfin::
	dh_python2 -p$(cdbs_curpkg)

binary-install/dolfin-bin::
	dh_python2 -p$(cdbs_curpkg)

clean::
	-rm -rf $(addprefix install-stamp-, $(PY_VERSIONS))

get-orig-source:
	uscan --force-download --verbose --destdir $(USCAN_DESTDIR) \
	 --download-version $(DEB_UPSTREAM_VERSION) \
	 --upstream-version $(DEB_UPSTREAM_VERSION)
