#!/usr/bin/make -f

BUILDDIR = $(CURDIR)/debian/build
export HOME=$(BUILDDIR)
export DEB_HOST_ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

%:
	dh $@ --buildsystem=cmake --builddirectory=$(BUILDDIR)

extra_flags = \
  -DCMAKE_INSTALL_PREFIX=/usr  \
  -DRESOURCEDIR=/usr/share/freemat \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_C_FLAGS="-Wall $(shell dpkg-buildflags --get CFLAGS)" \
  -DCMAKE_C_FLAGS_DEBUG="-Wall $(shell dpkg-buildflags --get CFLAGS)" \
  -DCMAKE_C_FLAGS_RELEASE="-Wall $(shell dpkg-buildflags --get CFLAGS) -DNDEBUG" \
  -DCMAKE_SKIP_RPATH=ON \
  -DUSE_LLVM=ON \
  -DFORCE_BUNDLED_PCRE=OFF \
  -DFORCE_BUNDLED_UMFPACK=OFF \
  -DFORCE_BUNDLED_PORTAUDIO=OFF \
  -DFORCE_BUNDLED_ZLIB=OFF \
  -DFORCE_BUNDLED_AMD=OFF

override_dh_auto_clean:
	dh_auto_clean
	dh_clean CMakeCache.txt dependencies/volpack-1.0c7/config.log dependencies/volpack-1.0c7/config.status debian/freemat.png
	find . -name '*.moc.cpp' -delete
	rm -rf $(BUILDDIR)

override_dh_auto_configure:
	dh_auto_configure -- $(extra_flags)
	cp images/freemat_small_mod_64.png debian/freemat.png

override_dh_installchangelogs:
	dh_installchangelogs ChangeLog

override_dh_install-arch:
	mv debian/tmp/usr/bin/FreeMat debian/tmp/usr/bin/freemat
	dh_install -a

override_dh_auto_test:
	# Run FreeMat once in install mode to set toolbox path
	$(BUILDDIR)/src/FreeMat -i $(CURDIR)
ifeq (,$(filter $(DEB_HOST_ARCH),s390x))
	# Run test suite in virtual framebuffer, excluding JIT tests
	xvfb-run dh_auto_test --max-parallel=1 -- ARGS+="-E jit"
endif
