mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-22 12:05:11 +00:00
75 lines
1.8 KiB
Makefile
75 lines
1.8 KiB
Makefile
all: build test xtests
|
|
all-release: build-release test-release xtests-release
|
|
|
|
|
|
# compiles the exa binary
|
|
@build:
|
|
cargo build
|
|
|
|
# compiles the exa binary (in release mode)
|
|
@build-release:
|
|
cargo build --release --verbose
|
|
|
|
# compiles the exa binary with every combination of feature flags
|
|
@build-features:
|
|
cargo hack build --feature-powerset
|
|
|
|
|
|
# runs unit tests
|
|
@test:
|
|
cargo test --all -- --quiet
|
|
|
|
# runs unit tests (in release mode)
|
|
@test-release:
|
|
cargo test --release --all --verbose
|
|
|
|
# runs unit tests with every combination of feature flags
|
|
@test-features:
|
|
cargo hack test --feature-powerset -- --quiet
|
|
|
|
|
|
# runs extended tests
|
|
@xtests:
|
|
xtests/run.sh
|
|
|
|
# runs extended tests (using the release mode exa)
|
|
@xtests-release:
|
|
xtests/run.sh --release
|
|
|
|
|
|
# lints the code
|
|
@clippy:
|
|
touch src/main.rs
|
|
cargo clippy
|
|
|
|
# updates dependency versions, and checks for outdated ones
|
|
@update-deps:
|
|
cargo update
|
|
command -v cargo-outdated >/dev/null || (echo "cargo-outdated not installed" && exit 1)
|
|
cargo outdated
|
|
|
|
# lists unused dependencies
|
|
@unused-deps:
|
|
command -v cargo-udeps >/dev/null || (echo "cargo-udeps not installed" && exit 1)
|
|
cargo +nightly udeps
|
|
|
|
# prints versions of the necessary build tools
|
|
@versions:
|
|
rustc --version
|
|
cargo --version
|
|
|
|
|
|
# builds the man pages
|
|
@man:
|
|
mkdir -p "${CARGO_TARGET_DIR:-target}/man"
|
|
pandoc --standalone -f markdown -t man man/exa.1.md > "${CARGO_TARGET_DIR:-target}/man/exa.1"
|
|
pandoc --standalone -f markdown -t man man/exa_colors.5.md > "${CARGO_TARGET_DIR:-target}/man/exa_colors.5"
|
|
|
|
# builds and previews the main man page (exa.1)
|
|
@man-1-preview: man
|
|
man "${CARGO_TARGET_DIR:-target}/man/exa.1"
|
|
|
|
# builds and previews the colour configuration man page (exa_colors.5)
|
|
@man-5-preview: man
|
|
man "${CARGO_TARGET_DIR:-target}/man/exa_colors.5"
|