#!/usr/bin/make -f

export PYBUILD_NAME=hdbscan
export PYBUILD_BEFORE_BUILD=rm -vf {dir}/hdbscan/*.c  # Rebuild cython file between each run
export PYBUILD_TEST_PYTEST=1
export PYBUILD_TEST_ARGS=-k"-test_hdbscan_is_sklearn_estimator -test_rsl_is_sklearn_estimator"

PY2VERS = $(shell pyversions -r -v)
PY3VERS = $(shell py3versions -r -v)

# Get version from changelog as well as lsb_release
# to compute unique build version (useful for repo mirroring systems doing file pooling)
PKG_VERSION  := $(shell dpkg-parsechangelog | grep -E '^Version:' | cut -d' ' -f2)
DIST_NAME    := $(shell lsb_release -si)
DIST_RELEASE := $(shell lsb_release -sc)
DIST_VERSION := $(shell lsb_release -sr)
PKG_VERSION_TAG := $(PKG_VERSION)+$(DIST_NAME)..$(DIST_VERSION).$(DIST_RELEASE)

%:
	dh $@ --with python2,python3,sphinxdoc --buildsystem=pybuild

override_dh_auto_clean:
	dh_auto_clean
	rm -rf .eggs
	rm -rf .pytest_cache
	rm -f hdbscan/*.so
	rm -f hdbscan/*.c

override_dh_auto_build:
	dh_auto_build
	PYTHONPATH=. http_proxy='127.0.0.1:9' sphinx-build -N -bhtml docs/ build/html
	PYTHONPATH=. http_proxy='127.0.0.1:9' sphinx-build -N -bman  docs/ build/man

override_dh_auto_install:
	dh_auto_install
	dh_numpy
	dh_numpy3

override_dh_install:
	dh_install
	for py in $(PY2VERS); do \
	  cp -v debian/python-hdbscan/usr/dist_metrics.pxd debian/python-hdbscan/usr/lib/python$$py/dist-packages/hdbscan/; \
        done
	for py in $(PY3VERS); do \
	  cp -v debian/python3-hdbscan/usr/dist_metrics.pxd debian/python3-hdbscan/usr/lib/python$$py/dist-packages/hdbscan/; \
        done
	rm -f debian/python-hdbscan/usr/dist_metrics.pxd debian/python3-hdbscan/usr/dist_metrics.pxd

override_dh_gencontrol:
	dh_gencontrol -- -v"$(PKG_VERSION_TAG)"
