summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2022-10-26 23:29:14 -0700
committerBryan Newbold <bnewbold@robocracy.org>2022-10-26 23:29:14 -0700
commit8ae3ff47d4effb1b0ed7c0e2f185c80a2a976be1 (patch)
tree982b6c69134012f1605044bcb52ff0a825e9dc3d /Makefile
parentb4f643ef26d9568044f343ca3537222726768f73 (diff)
downloadadenosine-8ae3ff47d4effb1b0ed7c0e2f185c80a2a976be1.tar.gz
adenosine-8ae3ff47d4effb1b0ed7c0e2f185c80a2a976be1.zip
add a Makefile
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile42
1 files changed, 42 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b7baf57
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,42 @@
+
+.PHONY: help
+help: ## Print info about all commands
+ @echo "Commands:"
+ @echo
+ @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[01;32m%-20s\033[0m %s\n", $$1, $$2}'
+
+.PHONY: test
+test: build ## Run all tests
+ cargo test
+ ./tests/live.sh
+
+.PHONY: lint
+lint: ## Run syntax/style checks
+ cargo clippy -p adenosine-cli -- --no-deps
+
+.PHONY: fmt
+fmt: ## Run syntax re-formatting
+ cargo fmt -p adenosine-cli
+
+.PHONY: build
+build: ## Build
+ cargo build
+
+.PHONY: build-release
+build-release: ## Build for release
+ cargo build --release
+
+.PHONY: completions
+completions: build ## generate shell completions
+ ./target/debug/adenosine --shell-completions bash status > extra/adenosine.bash_completions
+ ./target/debug/adenosine --shell-completions bash status > extra/adenosine.zsh_completions
+
+extra/adenosine.1: extra/adenosine.1.scdoc
+ scdoc < extra/adenosine.1.scdoc > extra/adenosine.1
+
+.PHONY: manpage
+manpage: extra/adenosine.1 ## Rebuild manpage using scdoc
+
+.PHONY: deb
+deb: ## Build debian packages (.deb files)
+ cargo deb -p adenosine-cli