#!/usr/bin/make -f

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
	NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif

ifeq (,$(NUMJOBS))
	NUMJOBS = 1
endif

Q_CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
Q_CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(Q_CPPFLAGS)
Q_CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(Q_CPPFLAGS)
Q_LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed
export Q_CPPFLAGS Q_CFLAGS Q_CXXFLAGS Q_LDFLAGS

Q_OPTS = "QMAKE_CXXFLAGS += $(Q_CXXFLAGS)" \
         "QMAKE_CFLAGS_DEBUG += $(Q_CFLAGS)" \
         "QMAKE_CFLAGS_RELEASE += $(Q_CFLAGS)" \
         "QMAKE_LFLAGS += $(Q_LDFLAGS)"

PACKAGE = psi-plus
DEVELOPER = tehnick
PROJECT = psi-plus

CUR_VER = $(shell uscan --dehs | sed -n 's/.*<upstream-version>\(.*\)<\/upstream-version>.*/\1/p')

QMAKE=qmake-qt4
QCONF=qt-qconf
CONF=--enable-plugins --enable-whiteboarding --disable-bundled-qca --debug --no-separate-debug-info

# Selecting all plugins
plugins_generic = $(notdir $(wildcard $(CURDIR)/src/plugins/generic/*plugin ) )
plugins_unix = $(notdir $(wildcard $(CURDIR)/src/plugins/unix/*plugin ) )

%:
	dh $@ --parallel

override_dh_auto_configure:
	$(QCONF)
	./configure --prefix=/usr $(CONF)

override_dh_auto_build:
	$(MAKE) -j$(NUMJOBS)
	$(foreach plug,$(plugins_generic), cd $(CURDIR)/src/plugins/generic/$(plug) && $(QMAKE) $(Q_OPTS) && $(MAKE) -j$(NUMJOBS); )
	$(foreach plug,$(plugins_unix), cd $(CURDIR)/src/plugins/unix/$(plug) && $(QMAKE) $(Q_OPTS) && $(MAKE) -j$(NUMJOBS); )

override_dh_auto_install:
	$(MAKE) INSTALL_ROOT=$(CURDIR)/debian/psi-plus install
	rm -f $(CURDIR)/debian/psi-plus/usr/bin/psi-plus.debug # Removing static debug file
	# Making the same, but using webkit
	$(MAKE) clean
	./configure --prefix=/usr $(CONF) --enable-webkit
	$(MAKE) -j$(NUMJOBS)
	$(MAKE) INSTALL_ROOT=$(CURDIR)/debian/psi-plus-webkit install
	rm $(CURDIR)/debian/psi-plus-webkit/usr/bin/psi-plus
	rm $(CURDIR)/debian/psi-plus-webkit/usr/share/applications/psi-plus.desktop
	cp $(CURDIR)/src/psi-plus $(CURDIR)/debian/psi-plus-webkit/usr/bin/psi-plus-webkit
	cp $(CURDIR)/debian/psi-plus-webkit.desktop $(CURDIR)/debian/psi-plus-webkit/usr/share/applications/
	rm -f $(CURDIR)/debian/psi-plus-webkit/usr/bin/psi-plus.debug # Removing static debug file
	# Deleting temporary files
	rm -f $(CURDIR)/debian/psi-plus/usr/share/psi-plus/COPYING
	rm -f $(CURDIR)/debian/psi-plus-webkit/usr/share/psi-plus/COPYING

override_dh_install:
	dh_install
	# Deleting exported plugins
	rm -f $(CURDIR)/debian/psi-plus-plugins/usr/lib/psi-plus/plugins/libcontentdownloaderplugin.so
	# Exporting all from psi-plus-common
	./debian/mergedups.sh
	# Deleting extra copy of sound files
	rm -rf $(CURDIR)/debian/psi-plus-common/usr/share/psi-plus/sound/

override_dh_auto_clean:
	dh_clean
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f config.sub config.guess configure

	rm -f psi-plus src/psi-plus src/config.h
	rm -f Makefile src/Makefile libpsi/psiwidgets/Makefile
	rm -f conf.pri extra.pri conf.log
	rm -f src/.qmake.internal.cache

	rm -rf iris/lib iris/conf.pri
	rm -rf .qconftemp

	$(foreach plug,$(plugins_generic), cd $(CURDIR)/src/plugins/generic/$(plug) && [ ! -f Makefile ] || $(MAKE) distclean; )
	$(foreach plug,$(plugins_unix), cd $(CURDIR)/src/plugins/unix/$(plug) && [ ! -f Makefile ] || $(MAKE) distclean; )

	rm -rf .pc_psi

override_dh_strip:
	dh_strip -ppsi-plus --dbg-package=psi-plus-dbg
	dh_strip -ppsi-plus-webkit --dbg-package=psi-plus-webkit-dbg
	dh_strip -ppsi-plus-plugins --dbg-package=psi-plus-plugins-dbg
	dh_strip --remaining-packages

get-orig-source:
	# preparation
	rm -rf "$(PACKAGE)-$(CUR_VER)" "$(CUR_VER)"
	# sources
	wget -4 "http://nodeload.github.com/$(DEVELOPER)/$(PROJECT)/tarball/$(CUR_VER)"
	rm -rf $(DEVELOPER)-$(PROJECT)-*
	tar xzf "$(CUR_VER)"
	mv $(DEVELOPER)-$(PROJECT)-* "$(PACKAGE)-$(CUR_VER)"
	# tarball
	tar -cJf ../"$(PACKAGE)_$(CUR_VER).orig.tar.xz" "$(PACKAGE)-$(CUR_VER)"
	# cleaning
	rm -rf "$(PACKAGE)-$(CUR_VER)" "$(CUR_VER)"
