#!/usr/bin/make -f
# SPDX-License-Identifier: GPL-3.0-or-later

# see FEATURE AREAS in dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic -fno-omit-frame-pointer
# package maintainers to append LDFLAGS
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

# include python modules in main package
export PYKRES_DESTDIR=debian/knot-resolver6/

# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk


%:
	dh $@ --with python3

override_dh_auto_build:
	meson build_deb \
		--buildtype=plain \
		--prefix=/usr \
		--libdir=lib \
		-Dsystemd_files=enabled \
		-Ddnstap=enabled \
		-Dkeyfile_default=/usr/share/dns/root.key \
		-Droot_hints=/usr/share/dns/root.hints \
		-Dunit_tests=enabled \
		-Dmalloc=jemalloc \
		-Dc_args="$${CFLAGS}" \
		-Dc_link_args="$${LDFLAGS}"
	ninja -v -C build_deb
	PYBUILD_NAME=knot_resolver PYBUILD_DESTDIR="$${PYKRES_DESTDIR}" \
		dh_auto_build --buildsystem=pybuild --sourcedirectory build_deb/python
	PYBUILD_NAME=knot_resoolver_manager PYBUILD_DESTDIR="$${PYKRES_DESTDIR}" \
		dh_auto_build --buildsystem=pybuild --sourcedirectory manager

override_dh_auto_install:
	DESTDIR="${PWD}/debian/tmp" ninja -v -C build_deb install
	PYBUILD_NAME=knot_resolver PYBUILD_DESTDIR="$${PYKRES_DESTDIR}" \
		dh_auto_install --buildsystem=pybuild --sourcedirectory build_deb/python
	PYBUILD_NAME=knot_resolver_manager PYBUILD_DESTDIR="$${PYKRES_DESTDIR}" \
		dh_auto_install --buildsystem=pybuild --sourcedirectory manager
	install -m 644 -D manager/etc/knot-resolver/config.yaml debian/tmp/etc/knot-resolver/config.yaml
	install -m 644 -D manager/shell-completion/client.bash debian/tmp/usr/share/bash-completion/completions/kresctl
	install -m 644 -D manager/shell-completion/client.fish debian/tmp/usr/share/fish/completions/kresctl.fish

override_dh_auto_test:
	meson test -C build_deb
