#!/usr/bin/make -f
# export DH_VERBOSE=1

export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

# cannot use ABI mecanism for now:
# https://github.com/dgobbi/vtk-dicom/issues/20
#export DEB_CFLAGS_MAINT_APPEND = -fvisibility=hidden -fvisibility-inlines-hidden
#export DEB_CXXFLAGS_MAINT_APPEND = -fvisibility=hidden -fvisibility-inlines-hidden

# to please dpkg-shlibdeps and java private libs in /usr/lib/jni
LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):/usr/lib/jni
export LD_LIBRARY_PATH

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

%:
	dh $@ --with python2 --with javahelper --parallel

SOVERSION=0.5
# https://github.com/dgobbi/vtk-dicom/issues/19
#	-DDICOM_INC_DIR:STRING=/include/vtk-dicom-$(SOVERSION)
CMAKE_EXTRA_FLAGS += \
	-DCMAKE_SKIP_RPATH=OFF \
	-DDICOM_LIB_DIR:STRING=/lib/$(DEB_HOST_MULTIARCH) \
	-DCMAKE_BUILD_TYPE:STRING=None \
	-DBUILD_PYTHON_WRAPPERS:BOOL=ON \
	-DBUILD_JAVA_WRAPPERS:BOOL=ON \
	-DUSE_DCMTK:BOOL=OFF \
	-DUSE_GDCM:BOOL=ON \
	-DBUILD_SHARED_LIBS:BOOL=ON

override_dh_auto_configure:
	dh_auto_configure -- $(CMAKE_EXTRA_FLAGS)

VERSION=$(shell dpkg-parsechangelog | grep '^Version' | cut -d' ' -f2 | cut -f1 -d- | cut -f2 -d~)
pkg_lib = libvtk-dicom$(SOVERSION)
pkg_dev = libvtk-dicom$(SOVERSION)-dev
pkg_bin = vtk-dicom-tools
pkg_py2 = python-vtk-dicom
pkg_java = libvtk-dicom-java

PYVER    := $(shell pyversions -dv)

override_dh_install:
	# bin
	dh_install -p$(pkg_bin) --autodest usr/bin
	# lib
	dh_install -p$(pkg_lib) --autodest usr/lib/$(DEB_HOST_MULTIARCH)/libvtkDICOM.so.*
	# dev:
	dh_install -p$(pkg_dev) --autodest usr/lib/$(DEB_HOST_MULTIARCH)/libvtkDICOM.so
	dh_install -p$(pkg_dev) --autodest usr/lib/$(DEB_HOST_MULTIARCH)/dicom-0.5/cmake/*.cmake
	dh_install -p$(pkg_dev) --autodest usr/include/
	# python2
	dh_install -p$(pkg_py2) --autodest usr/lib/$(DEB_HOST_MULTIARCH)/libvtkDICOMPythonD.so*
	dh_install -p$(pkg_py2) usr/lib/$(DEB_HOST_MULTIARCH)/vtkDICOMPython.so usr/lib/python$(PYVER)/dist-packages
	# java
	dh_install -p$(pkg_java) usr/lib/$(DEB_HOST_MULTIARCH)/libvtkDICOMJava.so usr/lib/$(DEB_HOST_MULTIARCH)/jni
	dh_install -p$(pkg_java) --autodest usr/share/java/vtkdicom.jar
	dh_install --list-missing

debian/%.1: debian/common.1.in
	help2man --help-option=--help --include=$< --version-option=--version --version-string=$(VERSION) \
    --output=$@ --no-info --name="vtk-dicom CLI" ./obj-*/bin/`basename $@ .1`

manpages: debian/dicomdump.1 debian/dicomtonifti.1 debian/niftidump.1 debian/niftitodicom.1 debian/dicomfind.1 debian/dicomtodicom.1
	echo "manpages"

override_dh_installman: manpages
	dh_installman -p$(pkg_bin) debian/*.1

override_dh_clean:
	dh_clean debian/*.1

override_dh_lintian:
	echo "$(pkg_lib): package-name-doesnt-match-sonames" > debian/$(pkg_lib).lintian-overrides
	echo "$(pkg_py2): package-name-doesnt-match-sonames" > debian/$(pkg_py2).lintian-overrides
	echo "$(pkg_py2): non-dev-pkg-with-shlib-symlink" >> debian/$(pkg_py2).lintian-overrides
	dh_lintian

get-orig-source:
	uscan --verbose --rename --force-download
