#!/usr/bin/make -f
# -*- makefile -*-
# Makefile to build the nml debian package.

# Enable all hardening options (since nml processes potentially
# untrusted input).
export DEB_BUILD_MAINT_OPTIONS=hardening=+all

# Use debhelper default for all targets (but some are overridden below).
%:
	# Force the pybuild buildsystem, since there is also a
	# Makefile (which is used only for testing by this rules file).
	dh $@ --with python3 --buildsystem pybuild

ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
# When terse is specified, pass --quiet to dh_auto_*, which gets passed
# on to pybuild. We cannot pass this directly to dh above, since:
#  - Options passed to dh get wrapped on -O and are not passed on to the
#    actual buildsystem.
#  - If you work around that using DH_OPTIONS, you will be passing
#    --quiet also to steps that do not understand it (e.g. clean).
#
# This stuff can be removed once dh-python starts handling this
# automatically: https://bugs.debian.org/945945
override_dh_auto_build:
	dh_auto_build $@ -- --quiet
override_dh_auto_configure:
	dh_auto_configure $@ -- --quiet
override_dh_auto_install:
	dh_auto_install $@ -- --quiet
endif

ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
# Enable verbose by *unsetting* _V, which defaults to a prefix that
# supresses verbose output
TEST_VERBOSE="_V="
endif

override_dh_auto_test:
	# Regression testing is done through a Makefile. Set an env var
	# to prevent python from generating pyc files all over the
	# source tree well. We still run dh_auto_test here, so we don't
	# need to check DEB_BUILD_OPTIONS for nocheck
	PYTHONDONTWRITEBYTECODE=1 dh_auto_test --buildsystem makefile -- ${TEST_VERBOSE}

override_dh_auto_clean:
	dh_auto_clean
	# The distutils buildsystem doesn't know about the regression
	# test, so we'll have to manually clean it. Ignore any failures
	# by prepending a dash.
	make -C regression clean
