#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export PATH := /usr/share/cargo/bin:$(PATH)
export CARGO := /usr/share/cargo/bin/cargo
export CARGO_HOME := $(CURDIR)/debian/cargo_home
export CARGO_REGISTRY := $(CURDIR)/debian/cargo_registry
export CARGO_TARGET_DIR := $(CURDIR)/target

include /usr/share/dpkg/default.mk
include /usr/share/rustc/architecture.mk

export DEB_CARGO_CRATE := crumb_$(DEB_VERSION_UPSTREAM)

export DEB_HOST_RUST_TYPE
export DEB_HOST_GNU_TYPE

%:
	dh $@ --buildsystem=makefile

override_dh_auto_configure:
	mkdir -p $(CARGO_HOME) $(CARGO_REGISTRY)
	test ! -e Cargo.lock || test -e debian/Cargo.lock.upstream || cp Cargo.lock debian/Cargo.lock.upstream
	rm -f Cargo.lock
	$(CARGO) prepare-debian $(CARGO_REGISTRY) --link-from-system

override_dh_auto_build:
	$(CARGO) build --release -p crumb-cli --no-default-features --features debian --target $(DEB_HOST_RUST_TYPE)
	CARGO_CHANNEL=release dh-cargo-built-using crumb

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(CARGO) test -p crumb-cli --no-default-features --features debian --target $(DEB_HOST_RUST_TYPE)
endif

override_dh_auto_install:
	install -D -m 0755 target/$(DEB_HOST_RUST_TYPE)/release/crumb debian/crumb/usr/bin/crumb
	install -D -m 0644 debian/crumb.1 debian/crumb/usr/share/man/man1/crumb.1

override_dh_auto_clean:
	rm -rf target debian/cargo_home debian/cargo_registry
	if test -e debian/Cargo.lock.upstream; then mv debian/Cargo.lock.upstream Cargo.lock; fi
	dh_auto_clean --buildsystem=makefile
