File: rules

package info (click to toggle)
nvda2speechd 0.1-11
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid
  • size: 288 kB
  • sloc: makefile: 39
file content (56 lines) | stat: -rwxr-xr-x 1,772 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/make -f

include /usr/share/rustc/architecture.mk
include /usr/share/dpkg/buildtools.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

# known to work
RUST_VERSION=1.77

export CARGO_HOME=$(CURDIR)/tmp

%:
	dh $@

override_dh_auto_clean:
	-rm -fr $(CARGO_HOME) src/server/target src/client/target

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
	HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup install --profile minimal $(RUST_VERSION)
	HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup default $(RUST_VERSION)
	HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup uninstall stable

	HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup install --force-non-host --profile minimal $(RUST_VERSION)-$(RUST_WIN_TARGET)
	HOME=$(CARGO_HOME) $(CARGO_HOME)/bin/rustup target add $(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} \
		--config build.rustflags='["-C", "linker=$(CC)"]'

override_dh_fixperms:
	dh_fixperms -X.dll