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

#export DH_VERBOSE=1

# Sanitize build environment when running inside Scratchbox 1
ifneq (,$(wildcard /targets))
	export SBOX_REDIRECT_IGNORE=/usr/bin/automake:/usr/bin/autoreconf:/usr/bin/aclocal:/usr/bin/autoconf:/usr/bin/autom4te:/usr/bin/m4:/usr/bin/libtoolize:/usr/bin/autoreconf
	export AUTOMAKE=/usr/bin/automake
	export ACLOCAL=/usr/bin/aclocal
	export AUTOCONF=/usr/bin/autoconf
	export AUTORECONF=/usr/bin/autoreconf
	export LIBTOOLIZE=/usr/bin/libtoolize
endif

LDFLAGS+=-Wl,--as-needed

configure:
	./autogen.sh --no-configure

Makefile: configure
	./configure --prefix /usr --sysconfdir=/etc --disable-coverage

build: build-stamp
build-stamp: Makefile
	dh_testdir
	$(MAKE) LDFLAGS='$(LDFLAGS)' all
	touch build-stamp

clean: 
	dh_testdir
	dh_testroot
	rm -f build-stamp
	[ -f Makefile ] && $(MAKE) distclean || true
	rm -f configure Makefile
	dh_clean

install:
install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	$(MAKE) DESTDIR=`pwd`/debian/tmp/ install

	mkdir -p `pwd`/debian/tmp/usr/share/doc/libcontextprovider-doc
	rm -rf `pwd`/debian/tmp/usr/share/doc/libcontextprovider-doc/html
	mkdir -p `pwd`/debian/tmp/usr/share/doc/libcontextprovider-doc/html
	echo "No documentation in this release" > `pwd`/debian/tmp/usr/share/doc/libcontextprovider-doc/html/README
	cp -a libcontextprovider/doc/html `pwd`/debian/tmp/usr/share/doc/libcontextprovider-doc

	# install testsets under /usr/share
	mkdir -p debian/tmp/usr/share

	cp -f libcontextsubscriber/customer-tests/waitforsilence \
		debian/tmp/usr/share/libcontextsubscriber-tests
	cp -f libcontextsubscriber/customer-tests/waitforsilence \
		debian/tmp/usr/share/libcontextprovider-tests
	cp -rf libcontextsubscriber/customer-tests/commander debian/tmp/usr/share/libcontextsubscriber-tests/
	cp -rf libcontextsubscriber/customer-tests/asynchronicity debian/tmp/usr/share/libcontextsubscriber-tests/
	cp -rf libcontextsubscriber/customer-tests/subscription debian/tmp/usr/share/libcontextsubscriber-tests/
	cp -rf libcontextsubscriber/customer-tests/registry debian/tmp/usr/share/libcontextsubscriber-tests/
	cp -rf libcontextsubscriber/customer-tests/pluginchanging debian/tmp/usr/share/libcontextsubscriber-tests/
	cp -rf libcontextprovider/customer-tests/multiprovider debian/tmp/usr/share/libcontextprovider-tests/
	mkdir -p debian/tmp/usr/share/libcontextprovider-tests/types/
	cp libcontextprovider/customer-tests/types/types.py debian/tmp/usr/share/libcontextprovider-tests/types/
	mkdir -p debian/tmp/usr/share/libcontextsubscriber-tests/update-contextkit-providers
	cp -rf  libcontextsubscriber/customer-tests/update-contextkit-providers/Battery.Charging_KEYDOC.expected \
		libcontextsubscriber/customer-tests/update-contextkit-providers/Battery.Charging_PROVIDERS.expected \
		libcontextsubscriber/customer-tests/update-contextkit-providers/KEYS.expected \
		libcontextsubscriber/customer-tests/update-contextkit-providers/providers1.context \
		libcontextsubscriber/customer-tests/update-contextkit-providers/providers2.context \
		libcontextsubscriber/customer-tests/update-contextkit-providers/test.sh \
		debian/tmp/usr/share/libcontextsubscriber-tests/update-contextkit-providers
	mkdir -p debian/tmp/usr/share/libcontextsubscriber-tests/forward-compatible
	cp -rf  libcontextsubscriber/customer-tests/forward-compatible/cache1.cdb \
		libcontextsubscriber/customer-tests/forward-compatible/cache2.cdb \
		libcontextsubscriber/customer-tests/forward-compatible/test.sh \
		debian/tmp/usr/share/libcontextsubscriber-tests/forward-compatible
	chown -R root:root debian/tmp/usr/share/libcontextsubscriber-tests

	# propertymonitor-tests
	mkdir -p debian/tmp/usr/share/propertymonitor-tests
	cp -f libcontextsubscriber/customer-tests/waitforsilence \
		debian/tmp/usr/share/propertymonitor-tests
	cp libcontextsubscriber/propertymonitor/has_value.py debian/tmp/usr/share/propertymonitor-tests
	cp libcontextsubscriber/propertymonitor/has_provider.py debian/tmp/usr/share/propertymonitor-tests
	cp libcontextsubscriber/propertymonitor/tests.xml debian/tmp/usr/share/propertymonitor-tests
	chown -R root:root debian/tmp/usr/share/propertymonitor-tests

	# set the executable flag on to all files that have a shebang line
	grep -rl '^#!' debian/tmp/usr/share/libcontextsubscriber-tests | xargs chmod +x

	mkdir -p `pwd`/debian/tmp/usr/share/doc/libcontextsubscriber-doc
	rm -rf `pwd`/debian/tmp/usr/share/doc/libcontextsubscriber-doc/html
	cp -a libcontextsubscriber/doc/html `pwd`/debian/tmp/usr/share/doc/libcontextsubscriber-doc
	
	dh_install --sourcedir=`pwd`/debian/tmp/

binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installchangelogs -i
	dh_installdocs -i
	dh_installexamples -i
	dh_installman -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_installchangelogs -a
	dh_installdocs -a
	dh_installexamples -a
	dh_installmenu -a
	dh_installman -a
	dh_strip -p contextkit-utils
	dh_strip -p libcontextsubscriber-tests
	dh_strip -p libcontextprovider-tests
	dh_strip -p libcontextprovider0 --dbg-package="libcontextprovider0-dbg"
	dh_strip -p libcontextsubscriber0 --dbg-package="libcontextsubscriber0-dbg"
	dh_pycentral -ppython-contextkit
	dh_link -a
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a -V -Xcontextsubscribertime  # do not add ldconfig calls because of testplugins
	dh_installdeb -a
	cp `pwd`/debian/libcontextsubscriber0.triggers `pwd`/debian/libcontextsubscriber0/DEBIAN/triggers
	chmod 0644 `pwd`/debian/libcontextsubscriber0/DEBIAN/triggers
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
