From ebcebc96c803c1485729099103e1d99aed3f6b53 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 2 May 2020 02:28:12 -0400 Subject: add makefile and packaging information --- Makefile | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c18ee30 --- /dev/null +++ b/Makefile @@ -0,0 +1,64 @@ +NAME = $(shell cargo metadata --no-deps --format-version 1 | jq '.packages[0].name') +VERSION = $(shell cargo metadata --no-deps --format-version 1 | jq '.packages[0].version') + +DEB_PACKAGE = $(NAME)_$(VERSION)_amd64.deb + +all: + @cargo build +.PHONY: all + +release: + @cargo build --release +.PHONY: release + +test: + @RUST_BACKTRACE=1 cargo test +.PHONY: test + +check: + @cargo check --all-targets +.PHONY: check + +doc: + @cargo doc --workspace +.PHONY: doc + +clean: + @rm -rf *.log pkg +.PHONY: clean + +cleanall: clean + @cargo clean +.PHONY: cleanall + +package: pkg/$(DEB_PACKAGE) +.PHONY: package + +pkg: + @mkdir pkg + +pkg/$(DEB_PACKAGE): | pkg + @cargo deb && mv target/debian/$(DEB_PACKAGE) pkg + +pkg/$(DEB_PACKAGE).minisig: pkg/$(DEB_PACKAGE) + @minisign -Sm pkg/$(DEB_PACKAGE) + +release-dir-deb: + @ssh tozt.net mkdir -p releases/teleterm/deb +.PHONY: release-dir-deb + +publish: publish-crates-io publish-git-tags publish-deb +.PHONY: publish + +publish-crates-io: test + @cargo publish +.PHONY: publish-crates-io + +publish-git-tags: test + @git tag $(VERSION) + @git push --tags +.PHONY: publish-git-tags + +publish-deb: test pkg/$(DEB_PACKAGE) pkg/$(DEB_PACKAGE).minisig release-dir-deb + @scp pkg/$(DEB_PACKAGE) pkg/$(DEB_PACKAGE).minisig tozt.net:releases/rbw/deb +.PHONY: publish-deb -- cgit v1.2.3-54-g00ecf