From a94ccb468515d770491bd0df3368cb18b5a35947 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 23 May 2021 20:25:15 +0200 Subject: Makefile: Add packaging targets --- .gitignore | 1 + Makefile | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 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 262c519..69520cf 100644 --- a/Makefile +++ b/Makefile @@ -14,11 +14,51 @@ # along with this program. If not, see . +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/google-calendar-rsvp + MAN_PAGE := doc/google-calendar-rsvp.1 +DIST := $(abspath dist) +DIST_PRODUCT := $(DIST)/bin/google-calendar-rsvp +DIST_MAN_PAGE := $(DIST)/share/man/man1/google-calendar-rsvp.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: google-calendar-rsvp_$(VERSION)_$(TOOLCHAIN).tar.bz2 + +google-calendar-rsvp_$(VERSION)_$(TOOLCHAIN).tar.bz2: dist + tar cjv -s /dist/google-calendar-rsvp_$(VERSION)_$(TOOLCHAIN)/ -f $@ dist -- cgit v1.2.3