#!/usr/bin/make -f
# -*- makefile -*-
# This code is released under the BSD-3 Clause
# Created by Eric Maeker, 2012 - 2014

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

# Enable multiarch builds & prepare qmake vars
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
QMAKE_GENERIC := -r LIBS+=-lz LIB_ARCH="$(DEB_HOST_MULTIARCH)"
QMAKE_STATIC := CONFIG+=staticlib
QT4_SO_PATH = build/qt4/so
QT5_SO_PATH = build/qt5/so
QT4_STATIC_PATH = build/qt4/static
QT5_STATIC_PATH = build/qt5/static
PATH_TO_SOURCE = ../../..

# This has to be exported to make some magic below work.
export DH_OPTIONS
export NO_DOCS := no
export QMAKE_LIBDIR=/usr/lib

%:
	dh $@ --buildsystem=qmake --parallel #--with migrations

override_dh_auto_configure:
	mkdir -p $(QT4_SO_PATH) $(QT5_SO_PATH) $(QT4_STATIC_PATH) $(QT5_STATIC_PATH)

	# Qt4 builds - qmake (dynamic and static)
	QT_SELECT=qt4 \
	dh_auto_configure -B$(QT4_SO_PATH) -- $(QMAKE_GENERIC) \
		BUILD_DIR=$(QT4_SO_PATH) \
		"QMAKE_CXXFLAGS=$(CFLAGS)" \
		$(extra_configure_opts) \
		$(PATH_TO_SOURCE)/quazip.pro
	QT_SELECT=qt4 \
	dh_auto_configure -B$(QT4_STATIC_PATH) -- $(QMAKE_GENERIC) $(QMAKE_STATIC) \
		BUILD_DIR=$(QT4_STATIC_PATH) \
		"QMAKE_CXXFLAGS=$(CFLAGS)" \
		$(extra_configure_opts) \
		$(PATH_TO_SOURCE)/quazip.pro

	# Qt5 builds - qmake (dynamic and static)
	QT_SELECT=qt5 \
	dh_auto_configure -B$(QT5_SO_PATH) -- $(QMAKE_GENERIC) \
		BUILD_DIR=$(QT5_SO_PATH) \
		"QMAKE_CXXFLAGS=$(CFLAGS)" \
		$(extra_configure_opts) \
		$(PATH_TO_SOURCE)/quazip.pro
	QT_SELECT=qt5 \
	dh_auto_configure -B$(QT5_STATIC_PATH) -- $(QMAKE_GENERIC) $(QMAKE_STATIC) \
		BUILD_DIR=$(QT5_STATIC_PATH) \
		"QMAKE_CXXFLAGS=$(CFLAGS)" \
		$(extra_configure_opts) \
		$(PATH_TO_SOURCE)/quazip.pro

	cp NEWS.txt NEWS

override_dh_auto_build:
	# Qt4 builds - make (dynamic and static)
	QT_SELECT=qt4 dh_auto_build -B$(QT4_SO_PATH)
	QT_SELECT=qt4 dh_auto_build -B$(QT4_STATIC_PATH)

	# Qt5 builds - make (dynamic and static)
	QT_SELECT=qt5 dh_auto_build -B$(QT5_SO_PATH)
	QT_SELECT=qt5 dh_auto_build -B$(QT5_STATIC_PATH)

override_dh_auto_test:
	$(QT4_STATIC_PATH)/qztest/qztest
	$(QT5_STATIC_PATH)/qztest/qztest

override_dh_auto_clean:
	dh_auto_clean -B$(QT4_SO_PATH)
	dh_auto_clean -B$(QT4_STATIC_PATH)
	dh_auto_clean -B$(QT5_SO_PATH)
	dh_auto_clean -B$(QT5_STATIC_PATH)
	rm -Rf NEWS

override_dh_auto_install:
	# Install static builds
	mkdir -p $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
	cp -a $(QT4_STATIC_PATH)/quazip/libquazip.a $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
	cp -a $(QT5_STATIC_PATH)/quazip/libquazip-qt5.a $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
	
	# Install Qt4 packages
	dh_auto_install -B$(QT4_SO_PATH) -plibquazip1
	dh_auto_install -B$(QT4_SO_PATH) -plibquazip-dev

	# Install Qt5 packages
	dh_auto_install -B$(QT5_SO_PATH) -plibquazip-qt5-1
	dh_auto_install -B$(QT5_SO_PATH) -plibquazip-qt5-dev

override_dh_installchangelogs:
	dh_installchangelogs -plibquazip1 NEWS upstream
	dh_installchangelogs -plibquazip1-dev NEWS upstream
	#dh_installchangelogs -plibquazip-dbg NEWS upstream
	dh_installchangelogs -plibquazip-qt5-1 NEWS upstream
	dh_installchangelogs -plibquazip-qt5-dev NEWS upstream
	dh_installchangelogs

override_dh_strip:
	dh_strip -plibquazip1 --dbg-package=libquazip-dbg
	dh_strip -plibquazip-qt5-1 --dbg-package=libquazip-qt5-dbg

override_dh_install:
	dh_install --list-missing

