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

export DPKG_GENSYMBOLS_CHECK_LEVEL=4

include /usr/share/dpkg/default.mk

include /usr/share/dpkg/buildflags.mk
# see FEATURE AREAS in dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

ANDROID_DIR = build-android
DESKTOP_DIR = build-desktop
TMP1_DIR = $(CURDIR)/debian/tmp1
TMP2_DIR = $(CURDIR)/debian/tmp2

# We only want to build qtmir-android on arches using Qt built with OpenGL ES2.0
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
gles2_architectures = armhf arm64

USES_GLES2 = $(findstring $(DEB_HOST_ARCH), $(gles2_architectures))

%:
	dh $@ --with pkgkde_symbolshelper

override_dh_missing:
	dh_missing --fail-missing

override_dh_clean:
ifeq ($(DEB_HOST_ARCH),$(USES_GLES2))
	rm -rf $(TMP1_DIR)
endif
	rm -rf $(TMP2_DIR)
	dh_clean

override_dh_auto_clean:
	dh_auto_clean
	rm build-*/ -Rfv

override_dh_auto_configure:
ifeq ($(DEB_HOST_ARCH),$(USES_GLES2))
	mkdir -p $(ANDROID_DIR) && dh_auto_configure -B$(ANDROID_DIR) -- $(FLAGS) $(CURDIR) -DUSE_OPENGLES=1 -DWerror=OFF
# See comment in CMakeLists.txt
	mkdir -p $(DESKTOP_DIR) && dh_auto_configure -B$(DESKTOP_DIR) -- $(FLAGS) $(CURDIR) -DUSE_OPENGL_BUT_LINK_AGAINST_OPENGLES=1 -DWerror=OFF
else
	mkdir -p $(DESKTOP_DIR) && dh_auto_configure -B$(DESKTOP_DIR) -- $(FLAGS) $(CURDIR) -DUSE_OPENGLES=1 -DWerror=OFF
endif

override_dh_auto_build:
ifeq ($(DEB_HOST_ARCH),$(USES_GLES2))
	dh_auto_build -B$(ANDROID_DIR)
endif
	dh_auto_build -B$(DESKTOP_DIR)

override_dh_auto_test:
ifeq ($(DEB_HOST_ARCH),$(USES_GLES2))
	dh_auto_test -B$(ANDROID_DIR)
endif
	dh_auto_test -B$(DESKTOP_DIR)

override_dh_auto_install:
ifeq ($(DEB_HOST_ARCH),$(USES_GLES2))
	dh_auto_install -B$(ANDROID_DIR) --destdir=$(TMP1_DIR)
endif
	dh_auto_install -B$(DESKTOP_DIR) --destdir=$(TMP2_DIR)

override_dh_install:
ifeq ($(DEB_HOST_ARCH),$(USES_GLES2))
	#clean gmock/gtest if it built in our build dir
	-rm -f $(TMP1_DIR)/usr/lib/libgmock*.a $(TMP1_DIR)/usr/lib/libgtest*.a
	-rm -rf $(TMP1_DIR)/usr/include/gmock $(TMP1_DIR)/usr/include/gtest
	dh_install --sourcedir=$(TMP1_DIR) -pqtmir-android
endif
	#move qtmir-demo-shell and qtmir-demo-client files to the correct location
	mv $(TMP2_DIR)/usr/share/qtmir/qtmir-demo-shell $(TMP2_DIR)/usr/share/qtmir/qml-demo-shell/
	mv $(TMP2_DIR)/usr/share/qtmir/qtmir-demo-client $(TMP2_DIR)/usr/share/qtmir/qml-demo-client/
	#clean gmock/gtest if it built in our build dir
	-rm -f $(TMP2_DIR)/usr/lib/libgmock*.a $(TMP2_DIR)/usr/lib/libgtest*.a
	-rm -rf $(TMP2_DIR)/usr/include/gmock $(TMP2_DIR)/usr/include/gtest
	dh_install --sourcedir=$(TMP2_DIR) -pqtmir-desktop
	dh_install --sourcedir=$(TMP2_DIR) -pqml-module-qtmir
	dh_install --sourcedir=$(TMP2_DIR) -pqtmir-tests
	dh_install --sourcedir=$(TMP2_DIR) -plibqtmirserver1
	dh_install --sourcedir=$(TMP2_DIR) -plibqtmirserver-dev

get-orig-source:
	uscan --noconf --force-download --rename --download-current-version --destdir=..
