#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

# magic debhelper rule
%:
	dh $@ --buildsystem=cmake

include /usr/share/dpkg/architecture.mk
include /usr/share/mpi-default-dev/debian_defaults
MPI:=$(ARCH_DEFAULT_MPI_IMPL)
MPI_INC:=/usr/lib/$(MPI)/include

ifeq ($(shell dpkg-architecture -qDEB_TARGET_ARCH_BITS), 64)
    FPZIP:= '-DSILO_ENABLE_FPZIP=1'
else
    FPZIP:= '-DSILO_ENABLE_FPZIP=0'
endif


export CONFIG_SHELL=/bin/sh

# QT version 4 or 5
#export QT_SELECT=5

PY3VERS:= $(shell py3versions -s)
PYABI:=$(shell python3  -c "import sysconfig; print(sysconfig.get_config_var('SOABI'))")
LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH)

# Work with either old or new-style (co-installable)  HDF5 layouts
ifneq ($(wildcard $(LIBDIR)/hdf5/$(MPI)/libhdf5.so),)
HDF5_INC:=/usr/include/hdf5/$(MPI)
HDF5_LIB:=$(LIBDIR)/hdf5/$(MPI)
else
ifneq ($(wildcard $(LIBDIR)/hdf5/serial/libhdf5.so),)
HDF5_INC:=/usr/include/hdf5/serial
HDF5_LIB:=$(LIBDIR)/hdf5/serial
else
HDF5_INC:=/usr/include
HDF5_LIB:=/usr/lib
endif
endif

override_dh_auto_configure:
	dh_auto_configure -- \
		-DCMAKE_SKIP_RPATH=On \
		-DSILO_ENABLE_HDF5=On  \
		-DSILO_ENABLE_SILEX=On \
		-DSILO_ENABLE_INSTALL_LITE_HEADERS=On \
		-DSILO_ENABLE_PYTHON_MODULE=On \
		$(FPZIP) \
		CC=$(CC) CXX=$(CXX) CFLAGS="$(CFLAGS) -fPIC " CXXFLAGS="$(CXXFLAGS) -fPIC " \
		LDFLAGS="$(LDFLAGS) -L$(HDF5_LIB) " 




#	dh_auto_configure -- \
		--with-versioned-symbols \
		--enable-pythonmodule \
		--enable-silex \
		--with-szlib \
		--disable-hzip \
		$(FPZIP) \
		--with-hdf5=$(HDF5_INC),$(HDF5_DIR) \
		--enable-install-lite-headers \
		--with-Qt-bin-dir=$(QT_BINDIR) --with-Qt-include-dir=$(QT_INC) \

# TODO:
# Adapt to build multiple python versions when 3.15 comes out

# Iterate over some directories to avoid stepping into tools/silex, which doesn't build.
# override_dh_auto_build:
	#for d in src tools/browser tools/silock ; do \
	#	$(MAKE) -C $$d CC=$(CC) CXX=$(CXX) ; done
	#$(MAKE) -C tools/silex CXX=$(CXX) QT_MOC=moc QT_LIBS="$(QT_LIBS)" 
	#set -e ; for p in $(PY3VERS) ; do   \
	#	echo "Build python interface for $$p" ; \
	#	$(MAKE) -C tools/python clean all check CXX=$(CXX) PYTHON_CPPFLAGS="-I/usr/include/$$p" ; \
	#	mkdir -p  debian/tmp/usr/lib/pyshared/$$p ;  \
	#	cp tools/python/.libs/Silo.so debian/Silo.so.$$p  ; \
	#done


execute_before_dh_install:
	# move the python modules to where dh_python* will spot them ...
	mkdir -p  debian/tmp/usr/lib/python3/dist-packages
	mv debian/tmp/$(LIBDIR)/Silo.so debian/tmp/usr/lib/python3/dist-packages/Silo.$(PYABI).so

