#!/usr/bin/make -f

include /usr/share/rustc/architecture.mk

RUSTUP_CA=Amazon_Root_CA_1.pem

ifeq ($(DEB_HOST_ARCH),amd64)
RUST_WIN_TARGET=x86_64-pc-windows-gnu
lib_name=nvdaControllerClient64.dll
endif
ifeq ($(DEB_HOST_ARCH),i386)
RUST_WIN_TARGET=i686-pc-windows-gnu
lib_name=nvdaControllerClient32.dll
endif

export CARGO_HOME=$(CURDIR)/tmp

%:
	dh $@

override_dh_auto_clean:
	-rm -fr $(CARGO_HOME)

override_dh_auto_build:
	@echo 'blhc: ignore-line-regexp: \ \ \ Compiling .*'
ifneq (,$(lib_name))
	# Don't do this at home, kids!

	curl --cacert /etc/ssl/certs/$(RUSTUP_CA) --proto '=https' --tlsv1.2 -f https://sh.rustup.rs > rustup.sh
	HOME=$(CARGO_HOME) sh rustup.sh -y --default-host $(DEB_HOST_RUST_TYPE) --profile minimal -t $(RUST_WIN_TARGET)

	cd src/client && \
	HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/cargo build -v --release --target $(RUST_WIN_TARGET)
	mv src/client/target/$(RUST_WIN_TARGET)/release/nvda2speechd.dll \
	   src/client/target/$(RUST_WIN_TARGET)/release/$(lib_name)
	chmod -x src/client/target/$(RUST_WIN_TARGET)/release/$(lib_name)
endif

	cd src/server && \
	HOME=$(CARGO_HOME) cargo build -v --release --target ${DEB_HOST_RUST_TYPE}

override_dh_fixperms:
	dh_fixperms -X.dll
