#!/usr/bin/make -f

# resolve DEB_VERSION DEB_DISTRIBUTION
include /usr/share/dpkg/pkg-info.mk

# resolve if release is experimental
DEB_SUITE_EXP = $(filter experimental% UNRELEASED,$(DEB_DISTRIBUTION))

# use local fork of debcargo and dh-cargo
PATH := $(CURDIR)/debian/dh-cargo/bin:$(PATH)
PERL5LIB = $(CURDIR)/debian/dh-cargo/lib
export PATH PERL5LIB

CORE_VERSION = $(shell grep -m 1 -Po '^version\W+\K[^"]+' axum-core/Cargo.toml)
EXTRA_VERSION = $(shell grep -m 1 -Po '^version\W+\K[^"]+' axum-extra/Cargo.toml)
MACROS_VERSION = $(shell grep -m 1 -Po '^version\W+\K[^"]+' axum-macros/Cargo.toml)

%:
	dh $@ --buildsystem cargo

# tolerate test failures when targeted experimental
override_dh_auto_test:
	dh_auto_test -- --no-fail-fast $(if $(DEB_SUITE_EXP),|| true)

# handle versions for embedded crates
override_dh_gencontrol:
	dh_gencontrol -plibrust-axum-dev -- \
	 -V'core:Version=$(CORE_VERSION)+$(DEB_VERSION)' \
	 -V'macros:Version=$(MACROS_VERSION)+$(DEB_VERSION)'
	dh_gencontrol -plibrust-axum-core-dev -- \
	 -v'$(CORE_VERSION)+$(DEB_VERSION)'
	dh_gencontrol -plibrust-axum-extra-dev -- \
	 -V'main:Version=$(DEB_VERSION)' \
	 -V'core:Version=$(CORE_VERSION)+$(DEB_VERSION)' \
	 -V'macros:Version=$(MACROS_VERSION)+$(DEB_VERSION)' \
	 -v'$(EXTRA_VERSION)+$(DEB_VERSION)'
	dh_gencontrol -plibrust-axum-macros-dev -- \
	 -v'$(MACROS_VERSION)+$(DEB_VERSION)'
