#!/usr/bin/make -f

include /usr/share/dpkg/default.mk

COMMON_FLAGS = USE_SYSTEM_LLVM=1 USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_MPFR=1 \
	USE_SYSTEM_READLINE=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 \
	USE_SYSTEM_FFTW=1 USE_SYSTEM_GMP=1 USE_SYSTEM_ARPACK=1 USE_SYSTEM_SUITESPARSE=1 \
	USE_SYSTEM_ZLIB=1 USE_SYSTEM_GRISU=1 USE_LLVM_SHLIB=1 SYSCONFDIR=/etc \
	VERBOSE=1 LLVM_CONFIG=/usr/bin/llvm-config-3.3 MULTIARCH_INSTALL=1

# Openlibm does not compile on non-x86 archs
ifeq (,$(findstring $(DEB_HOST_ARCH_CPU),i386 amd64))
COMMON_FLAGS += USE_SYSTEM_LIBM=1
endif

%:
	dh $@ --parallel

override_dh_auto_build-arch:
	make $(COMMON_FLAGS) all

override_dh_auto_build-indep:
	make -C doc html

override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	make -C test $(COMMON_FLAGS)

	# The parallel test fail randomly so is made non-fatal
	# (it is disabled by default thanks to disable-parallel-test.patch)
	-make -C test $(COMMON_FLAGS) parallel
endif

override_dh_auto_test-indep:

override_dh_auto_clean:
	make $(COMMON_FLAGS) distclean
	make -C deps $(COMMON_FLAGS) distclean
	make -C doc clean
	rm -f doc/juliadoc/juliadoc/*.pyc

override_dh_auto_install-arch:
	make $(COMMON_FLAGS) PREFIX=debian/tmp/usr install
	rm -rf usr # Otherwise dh_install does not see debian/tmp/usr

override_dh_auto_install-indep:

override_dh_strip-arch:
	dh_strip --dbg-package=julia-dbg

get-orig-source:
	git clone https://github.com/JuliaLang/julia.git julia-$(DEB_VERSION_UPSTREAM)
	# Checkout right commit and submodules, download and patch dSFMT,
	# remove unneeded and non DFSG-free sources
	cd julia-$(DEB_VERSION_UPSTREAM) && \
		git checkout v`echo $(DEB_VERSION_UPSTREAM) | sed 's/\+dfsg\d*//' | sed 's/~/-/'` && \
		git submodule update --init && \
		make -C	deps configure-random && \
		rm -rf deps/random/dsfmt-*.tar.gz \
		       deps/openlibm/test/ieeetestnew.c \
		       deps/openlibm/i387/osx_asm.h \
		       deps/random/dsfmt-*/html/jquery.js \
		       .gitmodules && \
		git rev-parse --short HEAD > .commitsha && \
		make -C base build_h.jl.phony git_branch=master && grep BUILD_INFO base/build_h.jl > .build_info && rm -f base/build_h.jl
	tar --exclude-vcs -caf julia_$(DEB_VERSION_UPSTREAM).orig.tar.xz julia-$(DEB_VERSION_UPSTREAM)
	rm -rf julia-$(DEB_VERSION_UPSTREAM)
