#!/usr/bin/make -f

PYVERSIONS:=$(shell pyversions -vr)

build-indep:

build build-arch: build-stamp
build-stamp:
	# libdds
	$(MAKE)
	# dds
	$(MAKE) -C ddd
	sed -ne '/^\/\* =/,/^\*\//p' ddd/giblib.h > ddd/giblib.txt
	# pydds
	-ln -s ../dll.h ../dds.cpp python
	cd python && set -ex && for v in $(PYVERSIONS) ; do python$$v setup.py build ; done
	touch $@

install: build-stamp
	dh_testroot
	dh_prep
	# libdds
	$(MAKE) install PREFIX=/usr DESTDIR=$(CURDIR)/debian/libdds-dev
	# dds
	$(MAKE) -C ddd install PREFIX=/usr DESTDIR=$(CURDIR)/debian/dds
	# pydds
	cd python && set -ex && for v in $(PYVERSIONS) ; do python$$v setup.py install --root $(CURDIR)/debian/python-pydds --install-layout=deb ; done

test-ddd: build-stamp
	@echo Running ddd test ...
	ddd/ddd -giblib=1-100 ddd/test.gib
	@echo ddd test passed.

test-python: build-stamp
	@echo Running pydds test ...
	cd python && set -ex && for v in $(PYVERSIONS) ; do set $(CURDIR)/python/build/lib.*$$v ; PYTHONPATH=$$1 python$$v trydds.py ; done
	@echo pydds test passed.

binary-indep:

binary binary-arch: install test-ddd test-python
	dh_installchangelogs -a release_notes.txt
	dh_installdocs -a -A debian/README.Debian
	dh_installman -a
	dh_installexamples -a
	dh_strip -a
	dh_compress -a
	dh_python2 -p'python-pydds'
	dh_fixperms -a
	dh_shlibdeps -a
	dh_installdeb -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

clean:
	dh_testdir
	$(MAKE) clean
	$(MAKE) -C ddd clean
	rm -rf python/build
	dh_clean build-stamp ddd/giblib.txt python/dll.h python/dds.cpp

VERSION:=$(shell head -n1 debian/changelog | sed -e 's/dds .//' -e 's/-.*//')

origtgz:
	test ! -e ../dds_$(VERSION).orig.tar.gz
	test ! -d dds-$(VERSION)
	test ! -d .pc
	svn export . dds-$(VERSION)
	rm -rf dds-$(VERSION)/debian
	tar -czf ../dds_$(VERSION).orig.tar.gz dds-$(VERSION)
	rm -rf dds-$(VERSION)

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