#!/usr/bin/make -f
# -*- makefile -*-
# Makefile for MRPT Debian package.

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

export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie,+fortify

# For multiarch support:
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

# SSE options
ifeq ($(DEB_HOST_ARCH),amd64)
CMAKE_ARCH_FLAGS = -DMRPT_AUTODETECT_SSE=OFF -DDISABLE_SSE2=OFF -DDISABLE_SSE3=ON -DDISABLE_SSE4_1=ON -DDISABLE_SSE4_2=ON  -DDISABLE_SSE4_A=ON
else
CMAKE_ARCH_FLAGS = -DMRPT_AUTODETECT_SSE=OFF -DDISABLE_SSE2=ON -DDISABLE_SSE3=ON -DDISABLE_SSE4_1=ON -DDISABLE_SSE4_2=ON  -DDISABLE_SSE4_A=ON
endif

CMAKE_FLAGS = \
	-DCMAKE_INSTALL_PREFIX="$(CURDIR)/debian/" \
	-DCMAKE_INSTALL_LIBDIR="lib/$(DEB_HOST_MULTIARCH)" \
	-DCMAKE_VERBOSE_MAKEFILE=ON \
	-DCMAKE_BUILD_TYPE=Release  \
	-DCMAKE_HOST="$(DEB_HOST_GNU_TYPE)" \
	-DCMAKE_BUILD="$(DEB_BUILD_GNU_TYPE)" \
	-DCMAKE_MRPT_USE_DEB_POSTFIXS="1" \
	-DCMAKE_VERBOSE_MAKEFILE=ON \
	-DCMAKE_C_FLAGS_RELEASE="$(CFLAGS)" \
	-DCMAKE_CXX_FLAGS_RELEASE="$(CXXFLAGS)" \
	-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$(LDFLAGS)" \
	-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$(LDFLAGS)" \
	$(CMAKE_ARCH_FLAGS) \
	 

# Don't set: CMAKE_SKIP_RPATH=ON --> it makes unit tests to fail, 
# and the rpath is removed anyway by cmake's install target.


%:
	dh $@ --buildsystem=cmake --parallel

override_dh_auto_build:
	dh_auto_build -O--buildsystem=cmake -- # -j4

	# Also build doc targets:
	dh_auto_build -O--buildsystem=cmake -- \
		documentation_html \
		documentation_performance_html \
		man_pages_all \
		documentation_psgz_guides

	# clean useless doxygen files:
	find $(CURDIR)/doc/ -name '*.md5' | xargs -I FIL rm FIL


override_dh_auto_configure:
	dh_auto_configure -- $(CMAKE_FLAGS)

override_dh_auto_install:
	# Do nothing?
	echo "[override_dh_auto_install]"

override_dh_auto_test:
	# Tests:
	echo "[override_dh_auto_test]"
	dh_auto_build -O--buildsystem=cmake -- test -j1

override_dh_install:
	# Install:
	dh_auto_build -O--buildsystem=cmake -- install

	# Move all the ".so" files to the proper place: the -dev package:
	mkdir -p $(CURDIR)/debian/libmrpt-dev/usr/lib/$(DEB_HOST_MULTIARCH)
	find $(CURDIR)/debian/ -name "*.so" | grep -v 'libmrpt-dev' | xargs -I FIL mv -f FIL $(CURDIR)/debian/libmrpt-dev/usr/lib/$(DEB_HOST_MULTIARCH)

	# Fix Doxygen's embedded JQuery lib:
	rm $(CURDIR)/debian/mrpt-doc/usr/share/doc/mrpt-doc/html/jquery.js || true
	ln -s /usr/share/javascript/jquery/jquery.js $(CURDIR)/debian/mrpt-doc/usr/share/doc/mrpt-doc/html/jquery.js  || true

override_dh_strip:
	dh_strip --dbg-package=libmrpt-dbg

