mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-13 16:06:30 +00:00
0550faec05
This commit deletes the Makefile, which contained targets to build exa and install it on the local machine, and replaces it with a Justfile, which only contains command to build and test exa. My reasoning for doing this is as follows: • exa is increasingly being installed through package managers, rather than built and tested locally, so users are avoiding using the Makefile at all. • It was a pain to keep up with the correct paths for installing the binary, man pages, and completions, which can vary between OSes. By removing them, the code in this repository need only concern itself with building exa and putting its files in the 'target' directory, simplifying things. • just is much simpler than make conceptually, which is why I prefer it. It just runs commands, rather than being a complete build system, which we already use Cargo for. • just has features built-in, such as listing tasks, that we've had to create make targets for. • exa only needed a Makefile at all because it pre-dates Cargo! • Other Rust projects seem to be getting along perfectly fine without one. If I've missed some important reason that makes it worth keeping the Makefile around then please let me know.
27 lines
457 B
Makefile
27 lines
457 B
Makefile
all: build test
|
|
all-release: build-release test-release
|
|
|
|
|
|
# compiles the exa binary
|
|
@build:
|
|
cargo build
|
|
|
|
# compiles the exa binary (in release mode)
|
|
@build-release:
|
|
cargo build --release --verbose
|
|
|
|
|
|
# runs unit tests
|
|
@test:
|
|
cargo test --all -- --quiet
|
|
|
|
# runs unit tests (in release mode)
|
|
@test-release:
|
|
cargo test --release --all --verbose
|
|
|
|
|
|
# prints versions of the necessary build tools
|
|
@versions:
|
|
rustc --version
|
|
cargo --version
|