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

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

PYVERS=$(shell pyversions -vr)

doc_dir=doc/user_manual/
rst_docs=$(wildcard $(addsuffix /*.rst, $(doc_dir)))
html_docs=$(patsubst %.rst, %.html, $(rst_docs))

%.html: %.rst
	rst2html --stylesheet-path=$(doc_dir)/user_manual.css $< > $@

docs: $(html_docs)

build: $(PYVERS:%=build-python%) docs
	rst2html README > README.html
	touch $@

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
SELFTEST_CONCURRENCY = BZR_CONCURRENCY=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
SELFTEST_PARALLEL = --parallel=fork
else
SELFTEST_CONCURRENCY =
SELFTEST_PARALLEL =
endif

build-python%:
	python$* setup.py build
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(SELFTEST_CONCURRENCY) BZR_PLUGINS_AT=builddeb@$(CURDIR) python$* /usr/bin/bzr selftest \
	    $(SELFTEST_PARALLEL) -v -s bp.builddeb
endif
	touch $@-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp install-all-stamp build-python*-stamp
	rm -f $(html_docs)
	rm -f README.html

	python setup.py clean --all
	dh_clean

install: build $(PYVERS:%=install-python%)

install-all-stamp:
	dh_testdir
	dh_testroot
	dh_clean
	dh_installdirs
	touch install-all-stamp

install-python%: install-all-stamp
	python$* setup.py install --root=$(CURDIR)/debian/bzr-builddeb --no-compile --install-layout=deb

binary-indep: build install
	dh_testdir
	dh_testroot
	dh_install
	dh_installchangelogs
	dh_installdocs
	dh_installexamples
	dh_compress
	dh_fixperms
	dh_python2
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary-arch: build install

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