diff options
author | Teddy Wing | 2021-04-18 03:54:42 +0200 |
---|---|---|
committer | Teddy Wing | 2021-04-18 03:54:42 +0200 |
commit | ede1d34693f2119d6d2d3fff421e591783dd5b93 (patch) | |
tree | 91b737aeadf0750b059b4f201c7d27547c382e14 | |
parent | 5d015f4c05474c6e9e8e58e6b0cc64d69d0e70bd (diff) | |
download | formurapid-ede1d34693f2119d6d2d3fff421e591783dd5b93.tar.bz2 |
Makefile: Add packaging and distribution
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 41 |
2 files changed, 42 insertions, 0 deletions
@@ -1 +1,2 @@ +/dist/ /target @@ -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 |