26cdff29ec
as PYTHON_BIN, ACTIVE_SCRIPT and INSTALL_PYAUDIO. Fixed echo statements not using @ to suppress double message output. Deprecated the usage of ECHOCMD := /bin/echo -e because it has no effect: https://stackoverflow.com/questions/60387684/how-to-make-the-makefile-echos-to-use-bin-echo-e # Conflicts: # Makefile
50 lines
1.2 KiB
Makefile
50 lines
1.2 KiB
Makefile
SHELL := /bin/bash
|
|
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
|
|
|
.SHELLFLAGS := -eu -o pipefail -c
|
|
.DELETE_ON_ERROR:
|
|
MAKEFLAGS += --warn-undefined-variables
|
|
MAKEFLAGS += --no-builtin-rules
|
|
|
|
$(shell mkdir -p .build)
|
|
|
|
.PHONY: all check fix clean develop
|
|
|
|
all: check
|
|
|
|
check: ftl/repo .build/check
|
|
|
|
fix:
|
|
cargo fmt
|
|
|
|
clean:
|
|
rm -rf .build target
|
|
|
|
develop: .build/vernum ftl/repo
|
|
|
|
ftl/repo:
|
|
(cd ftl && ./scripts/fetch-latest-translations)
|
|
|
|
ALL_SOURCE := $(shell ${FIND} src -type f) $(wildcard ftl/*.ftl)
|
|
|
|
# nightly currently required for ignoring files in rustfmt.toml
|
|
RUST_TOOLCHAIN := $(shell cat rust-toolchain)
|
|
|
|
.build/rs-tools: rust-toolchain
|
|
rustup toolchain install $(RUST_TOOLCHAIN)
|
|
rustup component add rustfmt-preview --toolchain $(RUST_TOOLCHAIN)
|
|
rustup component add clippy-preview --toolchain $(RUST_TOOLCHAIN)
|
|
@touch $@
|
|
|
|
.build/check: .build/rs-tools $(ALL_SOURCE)
|
|
cargo test --lib -- --nocapture
|
|
cargo fmt -- --check
|
|
cargo clippy -- -D warnings
|
|
@touch $@
|
|
|
|
VER := $(shell cat ../meta/version)
|
|
.build/vernum: ../meta/version
|
|
sed -i.bak 's/.*automatically updated.*/version = "$(VER)" # automatically updated/' Cargo.toml
|
|
rm Cargo.toml.bak
|
|
@touch $@
|