#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
gles2_architectures := armel armhf
ignore_warnings_archs := armhf ppc64el s390x

DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')

# http://ccache.samba.org/manual.html#_precompiled_headers
CCACHE_SLOPPINESS=time_macros

CORE_ABIVERSION := $(shell sed -rn 's/^\#define[[:space:]]+CORE_ABIVERSION[[:space:]]+//p' /usr/include/compiz/core/abiversion.h )
NUX_ABIVERSION := $(shell sed -rn 's/^\#define[[:space:]]+NUX_ABIVERSION[[:space:]]+//p' /usr/include/Nux-4.0/Nux/ABI.h )
LIBUNITY_PRIVATE := $(shell pkg-config --libs-only-L unity-protocol-private | sed -e 's/-L\(.*\)/\1/' )
SCOPES_RECOMMENDS := $(shell perl debian/scopes-recommends-generator /usr/share/unity/client-scopes.json)

cmake_options := -DCOMPIZ_BUILD_WITH_RPATH=FALSE \
                 -DCOMPIZ_PACKAGING_ENABLED=TRUE \
                 -DCOMPIZ_PLUGIN_INSTALL_TYPE=package

ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(gles2_architectures)))
  cmake_options += -DBUILD_GLES=TRUE -DDISABLE_MAINTAINER_CXXFLAGS=ON
endif

ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(ignore_warnings_archs)))
  cmake_options += -DDISABLE_MAINTAINER_CXXFLAGS=ON
endif

cmake_options += -DENABLE_UNIT_TESTS=OFF

override_dh_auto_configure:
	dh_auto_configure -- $(cmake_options)

override_dh_install:
	# install autopilot tests
	cd tests/autopilot; python3 setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb;
	find debian/tmp/usr/lib -name \*.*a -exec rm {} \;
	rm -rf debian/tmp/usr/share/gconf/schemas
	# install uwidgets
	cd uwidgets; python3 setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb
	install -Dm755 uwidgets/uwidgets-runner.desktop $(CURDIR)/debian/tmp/etc/xdg/autostart/uwidgets-runner.desktop
	dh_install --fail-missing

override_dh_gencontrol:
	dh_gencontrol -- -Vcoreabiversion=$(CORE_ABIVERSION) -Vnuxabiversion=$(NUX_ABIVERSION) -Vunity-default-masterscopes="$(SCOPES_RECOMMENDS)"

override_dh_makeshlibs:
	dh_makeshlibs -plibunity-core-6.0-9 -V 'libunity-core-6.0-9 (>= 7.0.0)'

override_dh_shlibdeps:
	dh_shlibdeps -l$(LIBUNITY_PRIVATE) -O--parallel

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	make -C obj-$(DEB_HOST_GNU_TYPE) check-headless
endif

%:
	dh $@ --with translations,quilt,python3,migrations --parallel
