#!/usr/bin/make -f

# DH_VERBOSE := 1
export LC_ALL=C.UTF-8
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
export DEB_CPPFLAGS_MAINT_APPEND=-I/usr/include/seqan3/submodules/sdsl-lite/include/ -I/usr/include/simde -I${CURDIR}/lib/sharg-parser/include/ -I${CURDIR}/lib/submodules/lemon/include/
export DEB_CFLAGS_MAINT_APPEND=-O3
export DEB_CXXFLAGS_MAINT_APPEND=-O3
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

%:
	dh $@

override_dh_auto_configure-indep:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_configure --sourcedirectory=test/documentation --builddirectory doc_build -- -DRAPTOR_NATIVE_BUILD=OFF -DRAPTOR_SUBMODULES_DIR=$(CURDIR)/lib -DRAPTOR_STRIP_BINARY=OFF -Dbuild_search=ON
endif

override_dh_auto_configure-arch:
	dh_auto_configure -- -DRAPTOR_NATIVE_BUILD=OFF -DRAPTOR_SUBMODULES_DIR=$(CURDIR)/lib -DRAPTOR_STRIP_BINARY=OFF
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_configure --sourcedirectory=test/unit --builddirectory build_unit -- -DRAPTOR_NATIVE_BUILD=OFF -DRAPTOR_SUBMODULES_DIR=$(CURDIR)/lib -DRAPTOR_STRIP_BINARY=OFF
	#dh_auto_configure --sourcedirectory=test/performance --builddirectory build_performance -- -DRAPTOR_NATIVE_BUILD=OFF -DRAPTOR_SUBMODULES_DIR=$(CURDIR)/lib -DRAPTOR_STRIP_BINARY=OFF
	#dh_auto_configure --sourcedirectory=test/header --builddirectory build_header -- -DRAPTOR_NATIVE_BUILD=OFF -DRAPTOR_SUBMODULES_DIR=$(CURDIR)/lib -DRAPTOR_STRIP_BINARY=OFF
	dh_auto_configure --sourcedirectory=test/snippet --builddirectory build_snippet -- -DRAPTOR_NATIVE_BUILD=OFF -DRAPTOR_SUBMODULES_DIR=$(CURDIR)/lib -DRAPTOR_STRIP_BINARY=OFF
endif

override_dh_auto_build-arch:
	dh_auto_build --arch
	obj-*/bin/raptor --export-help man > debian/raptor.1
	obj-*/bin/raptor build --export-help man > debian/raptor-build.1
	obj-*/bin/raptor search --export-help man > debian/raptor-search.1
	obj-*/bin/raptor layout --export-help man > debian/raptor-layout.1
	obj-*/bin/raptor prepare --export-help man > debian/raptor-prepare.1
	obj-*/bin/raptor upgrade --export-help man > debian/raptor-upgrade.1
	obj-*/bin/raptor build --export-help cwl > debian/raptor-build.cwl
	obj-*/bin/raptor search --export-help cwl > debian/raptor-search.cwl
	obj-*/bin/raptor layout --export-help cwl > debian/raptor-layout.cwl
	obj-*/bin/raptor prepare --export-help cwl > debian/raptor-prepare.cwl
	obj-*/bin/raptor upgrade --export-help cwl > debian/raptor-upgrade.cwl
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_build --arch --builddirectory build_unit
	#dh_auto_build --arch --builddirectory build_performance
	#dh_auto_build --arch --builddirectory build_header
	dh_auto_build --arch --builddirectory build_snippet
endif

override_dh_auto_build-indep:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_build --indep --builddirectory doc_build
	cd doc_build/latex && \
	sed -i 's@\\begin{longtabu}spread 0pt \[c]{\*{2}{|X\[-1]}|}@\\begin{longtable}\[c]{c|c}@g' *.tex && \
	sed -i 's@\\begin{longtabu}spread 0pt \[c]{\*{8}{|X\[-1]}|}@\\begin{longtable}\[c]{c|c|c|c|c|c|c|c}@g' *.tex && \
	sed -i 's@\\end{longtabu}@\\end{longtable}@g' *.tex && \
	$(MAKE)
endif

override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_test --arch --builddirectory build_unit
	#dh_auto_test --arch --builddirectory build_performance
	#dh_auto_test --arch --builddirectory build_header
	dh_auto_test --arch --builddirectory build_snippet
endif

override_dh_auto_test-indep:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_test --builddirectory doc_build
endif
endif

override_dh_auto_install-indep:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_install --indep --builddir doc_build
endif

override_dh_auto_clean-arch:
	dh_auto_clean
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_clean --sourcedirectory=test/unit --builddirectory build_unit
	#dh_auto_clean --sourcedirectory=test/performance --builddirectory build_performance
	#dh_auto_clean --sourcedirectory=test/header --builddirectory build_header
	dh_auto_clean --sourcedirectory=test/snippet --builddirectory build_snippet
endif

override_dh_auto_clean-indep:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
	dh_auto_clean --indep --builddir doc_build
endif

override_dh_missing:
	dh_missing --list-missing
