#!/usr/bin/make -f
include /usr/share/dpkg/architecture.mk

RUST_TYPE_amd64 = x86_64-unknown-linux-gnu
RUST_TYPE_arm64 = aarch64-unknown-linux-gnu
RUST_TARGET = $(RUST_TYPE_$(DEB_HOST_ARCH))

export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER = $(DEB_BUILD_GNU_TYPE)-gcc
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER = aarch64-linux-gnu-gcc
export PKG_CONFIG = $(DEB_HOST_GNU_TYPE)-pkg-config
export PKG_CONFIG_ALLOW_CROSS = 1

CARGO_FLAGS = --release --target $(RUST_TARGET)
PKGDIR = debian/powermanager

%:
	dh $@

override_dh_auto_configure:

override_dh_auto_build:
	test -n "$(RUST_TARGET)" || { echo "unsupported DEB_HOST_ARCH: $(DEB_HOST_ARCH)" >&2; exit 1; }
	cargo build $(CARGO_FLAGS)

override_dh_auto_test:

override_dh_auto_install:
	install -Dm755 target/$(RUST_TARGET)/release/powermanagerd $(PKGDIR)/usr/bin/powermanagerd
	install -Dm644 data/powermanagerd.service         $(PKGDIR)/lib/systemd/system/powermanagerd.service
	install -Dm644 data/net.liberux.PowerManager.conf $(PKGDIR)/usr/share/dbus-1/system.d/net.liberux.PowerManager.conf
	install -Dm644 data/net.liberux.powermanager.policy $(PKGDIR)/usr/share/polkit-1/actions/net.liberux.powermanager.policy
	install -Dm644 data/powermanagerd.toml            $(PKGDIR)/etc/powermanager/powermanagerd.toml

override_dh_auto_clean:
	cargo clean
	dh_clean
