#!/usr/bin/make -f

DH_VERBOSE=1

export SHELL = /bin/bash
export HOME=$(CURDIR)/build

vafilt					= $(subst $(2)=,,$(filter $(2)=%,$(1)))
DPKG_VARS				:= $(shell dpkg-architecture)
DEB_BUILD_ARCH			?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_ARCH)
DEB_BUILD_GNU_TYPE		?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE)
DEB_BUILD_MULTIARCH		?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_MULTIARCH)
DEB_HOST_ARCH			?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH)
DEB_HOST_ARCH_ENDIAN	?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH_ENDIAN)
DEB_HOST_ARCH_OS		?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH_OS)
DEB_HOST_GNU_TYPE		?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE)
DEB_HOST_MULTIARCH		?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)

buildroot := $(CURDIR)/debian/tmp

_sourcedir := debian/source
_prefix := /opt/alt/pcre2/usr
_bindir := $(_prefix)/bin
_libdir := $(_prefix)/lib/$(DEB_HOST_MULTIARCH)
_includedir := $(_prefix)/include
_sysconfdir := $(_prefix)/etc
_datadir := $(_prefix)/share
_mandir := $(_datadir)/man

NJOBS := -j$(shell getconf _NPROCESSORS_ONLN)

%:
	dh $@


#override_dh_auto_configure:
#	patch -p1 < debian/patches/pcre2-10.10-Fix-multilib.patch
#	libtoolize --copy --force
#	autoreconf -vif


override_dh_auto_build:
	./configure \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--host=$(DEB_HOST_GNU_TYPE) \
		--target=$(DEB_BUILD_GNU_TYPE) \
		--program-prefix= \
		--prefix=$(_prefix) \
		--exec-prefix=$(_prefix) \
		--bindir=$(_bindir) \
		--sysconfdir=$(_sysconfdir) \
		--datadir=$(_datadir) \
		--includedir=$(_includedir) \
		--libdir=$(_libdir) \
		--libexecdir=$(_prefix)/libexec \
		--localstatedir=/var \
		--mandir=$(_mandir) \
		--disable-bsr-anycrlf \
		--disable-coverage \
		--disable-ebcdic \
		--disable-fuzz-support \
		--disable-never-backslash-C \
		--disable-pcre2grep-libbz2 \
		--disable-pcre2grep-libz \
		--disable-pcre2test-libedit \
		--disable-rebuild-chartables \
		--disable-valgrind \
		--enable-jit \
		--enable-newline-is-lf \
		--enable-pcre2-16 \
		--enable-pcre2-32 \
		--enable-pcre2-8 \
		--enable-pcre2grep-callout \
		--enable-pcre2grep-jit \
		--enable-pcre2grep-jit \
		--enable-pcre2test-libreadline \
		--enable-shared \
		--enable-stack-for-recursion \
		--enable-static \
		--enable-unicode
	$(MAKE) $(NJOBS)


override_dh_auto_install:
	$(MAKE) install DESTDIR=$(buildroot)
	rm -f $(buildroot)$(_libdir)/*.la
	rm -rf $(buildroot)$(_datadir)/doc/pcre2

	dh_movefiles -palt-pcre2 \
		.$(_libdir)/libpcre2-8.so.* \
		.$(_libdir)/libpcre2-posix.so.*

	dh_movefiles -palt-pcre2-utf16 \
		.$(_libdir)/libpcre2-16.so.*

	dh_movefiles -palt-pcre2-utf32 \
		.$(_libdir)/libpcre2-32.so.*

	dh_movefiles -palt-pcre2-dev \
		.$(_bindir)/pcre2-config \
		.$(_includedir)/* \
		.$(_libdir)/*.so \
		.$(_libdir)/pkgconfig/* \
		.$(_mandir)/man1/pcre2-config.* \
		.$(_mandir)/man3/*

	dh_movefiles -palt-pcre2-static \
		.$(_libdir)/*.a

	dh_movefiles -palt-pcre2-tools \
		.$(_bindir)/pcre2grep \
		.$(_bindir)/pcre2test \
		.$(_mandir)/man1/pcre2grep.* \
		.$(_mandir)/man1/pcre2test.*


override_dh_auto_test:

override_dh_auto_clean:

override_dh_builddeb:
	dh_builddeb
	if [ $(shell find $(buildroot) -type f | wc -l) -gt 0 ]; then \
		echo "Installed but unpackaged:"; \
		find $(buildroot) -type f -exec echo "{}" \; | sed -e 's#$(buildroot)##g'; \
		exit 1; \
	fi
