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

# This has to be exported to make some magic below work.
export DH_OPTIONS

DEBDIR := $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
PKGDIR := $(dir $(abspath $(DEBDIR)))
BUILDDIR := obj-$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

%:
	dh $@

override_dh_auto_configure:
	rm -rf CL
	dh_auto_configure

override_dh_auto_test: $(BUILDDIR)/test_compute_capability
	if $(BUILDDIR)/test_compute_capability; then                          \
	  dh_auto_test;                                                       \
	else                                                                  \
	  echo '== SKIPPING TESTS BECAUSE NO OPENCL CAPABILITY FOUND ==' >&2; \
	fi

override_dh_auto_install:
	pdftotext -f 54 -l 58 -nopgbrk -r 150                                 \
	  -x 130 -y 160 -W 980 -H 1440 -enc ASCII7                            \
	  $(BUILDDIR)/doc/viennacl.pdf - |                                    \
	  sed -e 's/^Change Logs/= &\n/'                                      \
	      -e '/^Version [0-9]\.[0-9]\.x/d'                                \
	      -e 's/^Version [0-9]\./== &/'                                   \
	      -e '/^\* / i \ ' |                                              \
	  asciidoc -f /etc/asciidoc/text.conf - |                             \
	  lynx -dump --stdin > $(BUILDDIR)/changelog
	for t in dev doc; do                                                  \
	  sed 's|@BUILDDIR@|$(BUILDDIR)|g' debian/libviennacl-$$t.docs.in >   \
	  debian/libviennacl-$$t.docs;                                        \
	done
	dh_auto_install

$(BUILDDIR)/test_compute_capability: debian/test_compute_capability.c
	gcc -o $@ `dpkg-buildflags --get CFLAGS`                              \
	  `dpkg-buildflags --get LDFLAGS` -I/usr/include/nvidia-current $^    \
	  -lOpenCL

get-orig-source:
	TMPDIR=`mktemp -d`;                                                   \
	echo TMPDIR = $$TMPDIR;                                               \
	cd $(PKGDIR);                                                         \
	uscan --download-current-version --no-symlink --destdir $$TMPDIR;     \
	VERSION=`dpkg-parsechangelog |                                        \
	  awk '/^Version:/{print gensub(/-.*/, "", 1, $$2)}'`;                \
	cd $$TMPDIR;                                                          \
	mkdir viennacl-$$VERSION.orig;                                        \
	tar -xzf ViennaCL-$$VERSION-src.tar.gz --strip-components=1           \
	  --directory viennacl-$$VERSION.orig;                                \
	rm -rf viennacl-$$VERSION.orig/test/build;                            \
	find viennacl-$$VERSION.orig -type f -name \*~ -delete;               \
	tar -cf viennacl_$$VERSION.orig.tar viennacl-$$VERSION.orig;          \
	gzip -9 viennacl_$$VERSION.orig.tar;                                  \
	mv viennacl_$$VERSION.orig.tar.gz $(CURDIR);                          \
	cd $(CURDIR);                                                         \
	rm -rf $$TMPDIR
