#!/usr/bin/make -f

include /usr/share/dpkg/pkg-info.mk

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
export JAVA_HOME := /usr/lib/jvm/default-java
export CLASSPATH := /usr/share/java/ant-nodeps.jar:/usr/share/java/junit4.jar:/usr/share/java/ant-junit4.jar:/usr/share/java/ant-junit.jar

%:
	dh $@ --buildsystem=ant

override_dh_auto_build:
	# Build the native libraries first
	mkdir -p debian/tmp/locale/
	localedef -f UTF-8 -i en_US ./debian/tmp/locale/en_US.UTF-8/
	export LOCPATH=$(CURDIR)/debian/tmp/locale/ && \
		export LC_ALL=en_US.UTF-8 && \
		./configure --libpath=/usr/lib/$(DEB_HOST_MULTIARCH):/usr/lib/$(DEB_HOST_MULTIARCH)/atlas
	export LOCPATH=$(CURDIR)/debian/tmp/locale/ && \
		export LC_ALL=en_US.UTF-8 && \
		$(MAKE)
	# Build the jar files
	dh_auto_build -- minimal-jar javadoc

override_dh_auto_clean:
	dh_auto_clean -- clean clean-jars

override_dh_install:
	install -m755 -d debian/jblas/usr/lib/jni
	install -m644 $(shell find ./src/main/resources/lib/dynamic -name '*.so') debian/jblas/usr/lib/jni
	install -m644 -D jblas-minimal-$(DEB_VERSION_UPSTREAM)-SNAPSHOT.jar \
		debian/jblas/usr/share/java/jblas-$(DEB_VERSION_UPSTREAM)-SNAPSHOT.jar

override_dh_link:
	dh_link
	dh_link -pjblas /usr/share/java/jblas-$(DEB_VERSION_UPSTREAM)-SNAPSHOT.jar /usr/share/java/jblas.jar

override_dh_auto_test:
	# the tests need to be able to find the JNI libs
ifeq ($(DEB_BUILD_ARCH),powerpc)
	export LD_LIBRARY_PATH=$(CURDIR)/src/main/resources/lib/dynamic/Linux/ppc
else ifeq ($(DEB_BUILD_ARCH),arm64)
	export LD_LIBRARY_PATH=$(CURDIR)/src/main/resources/lib/dynamic/Linux/aarch64
else ifeq ($(DEB_BUILD_ARCH),ppc64el)
	export LD_LIBRARY_PATH=$(CURDIR)/src/main/resources/lib/dynamic/Linux/ppc64
else
	export LD_LIBRARY_PATH=$(CURDIR)/src/main/resources/lib/dynamic/Linux/$(DEB_BUILD_ARCH)
endif
	dh_auto_test

get-orig-source:
	-uscan --force-download --download-current-version
	@echo successfully retrieved upstream tarball
