#!/usr/bin/make -f

# resolve DEB_HOST_ARCH
include /usr/share/dpkg/architecture.mk

# generate documentation unless nodoc requested
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
MANPAGES = debian/sccache.1
endif

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

# reduce risk of out-of-memory issues during build for weak arches
ifneq (,$(filter $(DEB_HOST_ARCH),armel armhf i386 riscv64))
export RUSTFLAGS += -C lto=thin
endif
ifneq (,$(filter $(DEB_HOST_ARCH),mipsel riscv64))
export RUSTFLAGS += -C embed-bitcode=no -C lto=no -C linker-plugin-lto=no
endif

%:
	dh $@ --buildsystem cargo

# ensure ccache is not in use during tests
override_dh_auto_test:
	PATH=$(CURDIR)/debian/dh-cargo/bin:/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=$(CURDIR)/debian dh_auto_test

execute_after_dh_auto_install: $(MANPAGES)

# build manpages
debian/sccache.1: debian/%.1: debian/sccache/usr/bin/%
	help2man --section 1 --no-info \
		--name "a fast C/C++/Rust compiler cache" \
		--output $@ $< \
		|| { $< --help; false; }
