#!/usr/bin/make -f

DH_VERBOSE := 1
export LC_ALL=C.UTF-8

include /usr/share/dpkg/default.mk
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
export CFLAGS=$(shell dpkg-buildflags --get CFLAGS)
export CPPFLAGS=$(shell dpkg-buildflags --get CPPFLAGS)
export LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS)
export CXXFLAGS=$(shell dpkg-buildflags --get CXXFLAGS)

prefix=$(CURDIR)/debian/$(DEB_SOURCE)/usr
libexecdir=$(prefix)/lib/$(DEB_SOURCE)

%:
	dh $@

override_dh_autoreconf:
	dh_autoreconf --sourcedirectory=$(CURDIR)/deps/vowpal_wabbit

override_dh_auto_clean:
	mv include/vg_git_version.hpp debian/
	rm -Rf include/*
	mv debian/vg_git_version.hpp include/
	dh_auto_clean || true

override_dh_auto_build-arch:
	mkdir -p $(CURDIR)/debian/help
ifeq (amd64,$(DEB_HOST_ARCH))
	mkdir -p $(prefix)
	mkdir -p $(libexecdir)
	for SIMD in avx2 avx sse4.1 ssse3 sse3 sse2 ; do \
		export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && export CFLAGS="$(CFLAGS) -m$${SIMD}" && \
		make clean ; \
		dh_auto_build -- SFX=-$${SIMD} all test/build_graph bin/shuf ; \
	done
	cp bin/vg-sse2 debian/help/vg
else ifeq (i386,$(DEB_HOST_ARCH))
	mkdir -p $(prefix)
	mkdir -p $(libexecdir)
	for SIMD in ssse3 sse3 sse2 sse mmx; do \
		export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && export CFLAGS="$(CFLAGS) -m$${SIMD}" && \
		make clean ; \
		dh_auto_build -- SFX=-$${SIMD} ; \
	done
	dh_auto_build -- SFX=-plain all test/build_graph bin/shuf
	cp bin/vg-plain debian/help/vg
else
	dh_auto_build -- all test/build_graph bin/shuf
	cp bin/vg debian/help/
endif
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
	PATH=$$PATH:$(CURDIR)/debian/help help2man --no-discard-stderr --no-info --help-option=help --version-option=version vg > debian/vg.1
endif

override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_PROFILES) $(DEB_BUILD_OPTIONS)))
	export PATH=$$PATH:$(CURDIR)/debian/help && . ./source_me.sh && cd test && prove -v t
endif

override_dh_auto_test-indep:
	echo No arch independent tests

override_dh_auto_build-indep:
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
	dh_auto_build -- docs
endif

override_dh_auto_install-arch:
ifeq (amd64,$(DEB_HOST_ARCH))
	dh_install debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/
	dh_install bin/vg* usr/lib/$(DEB_SOURCE)/
	mkdir -p $(prefix)/bin
	cd $(prefix)/bin \
		&& for prog in vg ; do \
		ln -s ../lib/$(DEB_SOURCE)/simd-dispatch $${prog} ; done
else ifeq (i386,$(DEB_HOST_ARCH))
	dh_install debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/
	dh_install bin/vg* usr/lib/$(DEB_SOURCE)/
	mkdir -p $(prefix)/bin
	cd $(prefix)/bin \
		&& for prog in vg ; do \
		ln -s ../lib/$(DEB_SOURCE)/simd-dispatch $${prog} ; done
else
	dh_install bin/vg usr/bin/
endif

override_dh_auto_install-indep:
