1ifeq ($(CI), true) 2 ci_color_always := --color=always 3endif 4 5ifeq ($(RELEASE), true) 6 build_flags := --release 7endif 8 9ifeq ($(OS), Windows_NT) 10 NIX := false 11else 12 NIX := true 13endif 14 15.PHONY: build clean install test uninstall 16 17ifeq ($(NIX), true) 18build: 19 nix-shell --pure --run 'cargo build $(build_flags) $(ci_color_always)' 20else 21build: 22 cargo build $(build_flags) $(ci_color_always) 23endif 24 25ifeq ($(NIX), true) 26clean: 27 nix-shell --pure --run 'cargo clean $(ci_color_always)' 28else 29clean: 30 cargo clean $(ci_color_always) 31endif 32 33ifeq ($(NIX), true) 34install: 35 nix-shell --pure --run 'cargo install --path=. $(ci_color_always)' 36else 37install: 38 cargo install --path=. $(ci_color_always) 39endif 40 41ifeq ($(NIX), true) 42test: 43 nix-shell --pure --run 'cargo fmt -- --check --files-with-diff $(ci_color_always)' 44 nix-shell --pure --run 'cargo check --all-features $(build_flags) $(ci_color_always)' 45 nix-shell --pure --run 'cargo clippy --all-features $(build_flags) $(ci_color_always) -- --deny warnings --deny clippy::all' 46 nix-shell --pure --run 'cargo test --all-features --no-fail-fast $(build_flags) $(ci_color_always)' 47 nix-shell --pure --run 'cargo audit --deny warnings $(ci_color_always) --ignore=RUSTSEC-2020-0095' 48else 49test: 50 cargo fmt -- --check --files-with-diff $(ci_color_always) 51 cargo check --all-features $(build_flags) $(ci_color_always) 52 cargo clippy --all-features $(build_flags) $(ci_color_always) -- --deny warnings --deny clippy::all 53 cargo test --no-fail-fast $(build_flags) $(ci_color_always) 54 cargo audit --deny warnings $(ci_color_always) --ignore=RUSTSEC-2020-0095 55endif 56 57ifeq ($(NIX), true) 58uninstall: 59 nix-shell --pure --run 'cargo uninstall $(ci_color_always)' 60else 61uninstall: 62 cargo uninstall $(ci_color_always) 63endif 64