#!/usr/bin/make -f

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

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
CONFIG_DIR = $(CURDIR)/debian/config

export CFLAGS := $(shell dpkg-buildflags --get CFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)
export CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)
export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed
export QT_SELECT := qt5
export XDG_CONFIG_HOME := $(CONFIG_DIR)

%:
	dh $@ --parallel --with pkgkde_symbolshelper --dbg-package=qbs-dbg

override_dh_auto_clean:
	dh_auto_clean
	rm -rfv doc/html $(CONFIG_DIR)
	rm -fv doc/qbs.qch bin/qbs* bin/tst*

override_dh_auto_configure:
	qmake qbs.pro \
		CONFIG+=debug \
		QMAKE_CFLAGS+="${CFLAGS} ${CPPFLAGS}" \
		QMAKE_CXXFLAGS+="${CXXFLAGS} ${CPPFLAGS}" \
		QMAKE_LFLAGS+="${LDFLAGS}" \
		QBS_INSTALL_PREFIX=/usr

override_dh_auto_build-indep:
	dh_auto_build -- docs

override_dh_auto_install-indep:
	dh_auto_build -- INSTALL_ROOT=$(CURDIR)/debian/tmp install_docs

	# Remove empty directories
	rmdir $(CURDIR)/debian/tmp/usr/share/doc/qbs/html/images/used-in-examples/
	rmdir $(CURDIR)/debian/tmp/usr/share/doc/qbs/html/scripts/

override_dh_auto_install-arch:
	dh_auto_install

	# Move libraries to Multi-Arch locations
	mkdir -p $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
	mv $(CURDIR)/debian/tmp/usr/lib/*.so* $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/
	mv $(CURDIR)/debian/tmp/usr/lib/qbs $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/

	# Fix permissions
	chmod -x $(CURDIR)/debian/tmp/usr/share/qbs/modules/nsis/NSISModule.qbs
	chmod -x $(CURDIR)/debian/tmp/usr/share/qbs/imports/qbs/base/NSISSetup.qbs

override_dh_auto_test:
	mkdir -p $(CONFIG_DIR)/QtProject
	$(CURDIR)/bin/qbs-setup-toolchains --detect --settings-dir $(CONFIG_DIR)/QtProject
	$(CURDIR)/bin/qbs-setup-qt /usr/bin/qmake qbs_autotests
	dh_auto_test

override_dh_install:
	dh_install --fail-missing
