#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules of libhmsbeagle

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

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

include /usr/share/dpkg/default.mk

lib := $(DEB_SOURCE)1v5
use_sse := $(shell if [ `dpkg-architecture -qDEB_BUILD_ARCH` = amd64 ] ; then echo yes ; else echo no ; fi)
BUILDGNUTYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
BUILDARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)

%:
	dh $@ --with javahelper

override_dh_auto_configure:
	./autogen.sh
	dh_auto_configure -- --enable-doxygen-man --enable-march-native=no --enable-sse=$(use_sse) --with-opencl=/usr/include/CL

override_dh_auto_build:
	$(MAKE)
	$(MAKE) doxygen-doc
	ant

override_dh_install:
	dh_install
	jniso=`find debian/$(lib) -name $(DEB_SOURCE)-jni.so` ; \
	mkdir -p `dirname $$jniso`/jni ; \
	mv $$jniso `dirname $$jniso`/jni

override_dh_auto_clean:
	$(MAKE) -f Makefile distclean || true
	rm -rf doc .config configure
	rm -rf lib build

override_dh_installdocs:
	dh_installdocs
	find debian/$(DEB_SOURCE)-dev -name jquery.js -delete
	find debian/$(DEB_SOURCE)-dev -name "*.md5" -delete

# run tests only on platforms supporting opencl
# see https://lists.debian.org/debian-mentors/2015/08/msg00081.html
num_opencl_platforms := $(shell clinfo | head -n1 | sed -e "s/.*[^0-9]\([0-9]\+\)[^0-9]*$$/\1/")

ifeq ($(num_opencl_platforms),  0)
override_dh_auto_test:
	@echo "No OpenCL platform available, skipping test"	
else
override_dh_auto_test:
ifeq ($(BUILDARCH),amd64)
	# VERBOSE=1 dh_auto_test
	# pbuilder has set HOME=/nonexistent.  Since some valid HOME is needed
	# to pass the test this is set to /tmp
	HOME=/tmp make check VERBOSE=1
else
	echo "Pocl works only on amd64 properly - skip the tests on $(BUILDARCH)."
endif
endif

override_dh_link:
	dh_link
	dh_link -plibhmsbeagle-dev usr/lib/$(BUILDGNUTYPE)/libhmsbeagle-opencl.so.21 usr/lib/$(BUILDGNUTYPE)/libhmsbeagle-opencl.so

get-orig-source:
	. debian/get-orig-source
