From ede1d34693f2119d6d2d3fff421e591783dd5b93 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 18 Apr 2021 03:54:42 +0200 Subject: Makefile: Add packaging and distribution --- .gitignore | 1 + Makefile | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/.gitignore b/.gitignore index ea8c4bf..48681a4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ +/dist/ /target diff --git a/Makefile b/Makefile index 6b86dcf..d26334e 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,48 @@ +VERSION := $(shell egrep '^version = ' Cargo.toml | awk -F '"' '{ print $$2 }') +TOOLCHAIN := $(shell fgrep default_host_triple $(HOME)/.rustup/settings.toml | awk -F '"' '{ print $$2 }') + +SOURCES := $(shell find src -name '*.rs') +RELEASE_PRODUCT := target/release/formurapid + MAN_PAGE := doc/formurapid.1 +DIST := $(abspath dist) +DIST_PRODUCT := $(DIST)/bin/formurapid +DIST_MAN_PAGE := $(DIST)/share/man/man1/formurapid.1 + + +$(RELEASE_PRODUCT): $(SOURCES) + cargo build --release + + .PHONY: doc doc: $(MAN_PAGE) $(MAN_PAGE): $(MAN_PAGE).txt a2x --no-xmllint --format manpage $< + + +.PHONY: dist +dist: $(DIST_PRODUCT) $(DIST_MAN_PAGE) + +$(DIST): + mkdir -p $@ + +$(DIST)/bin: | $(DIST) + mkdir -p $@ + +$(DIST)/share/man/man1: | $(DIST) + mkdir -p $@ + +$(DIST_PRODUCT): $(RELEASE_PRODUCT) | $(DIST)/bin + cp $< $@ + +$(DIST_MAN_PAGE): $(MAN_PAGE) | $(DIST)/share/man/man1 + cp $< $@ + + +.PHONY: pkg +pkg: formurapid_$(VERSION)_$(TOOLCHAIN).tar.bz2 + +formurapid_$(VERSION)_$(TOOLCHAIN).tar.bz2: dist + tar cjv -s /dist/formurapid_$(VERSION)_$(TOOLCHAIN)/ -f $@ dist -- cgit v1.2.3