diff options
author | Teddy Wing | 2021-03-20 13:18:07 +0100 |
---|---|---|
committer | Teddy Wing | 2021-03-20 13:18:07 +0100 |
commit | 2a7d9f54af1c6fa96c313a4644e481cfff3c0a8b (patch) | |
tree | 093229a0cbf98cfcdf003457afc7feda28fb2a08 | |
parent | 40bcc56c77e0b27ead8a232be34106c6b60a1684 (diff) | |
download | mutt-ottolangy-2a7d9f54af1c6fa96c313a4644e481cfff3c0a8b.tar.bz2 |
Makefile: Create a distribution package
-rw-r--r-- | Makefile | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -14,16 +14,28 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. +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') DEBUG_PRODUCT := target/debug/ottolangy +RELEASE_PRODUCT := target/release/ottolangy MAN_PAGE := doc/ottolangy.1 +DIST := $(abspath dist) +DIST_PRODUCT := $(DIST)/bin/ottolangy +DIST_MUTTRC := $(DIST)/etc/ottolangy/muttrc +DIST_MAN_PAGE := $(DIST)/share/man/man1/ottolangy.1 + $(DEBUG_PRODUCT): $(SOURCES) cargo build +$(RELEASE_PRODUCT): $(SOURCES) + cargo build --release + + .PHONY: test test: $(DEBUG_PRODUCT) prove -v -I./t @@ -36,3 +48,35 @@ $(MAN_PAGE): doc/ottolangy.1.txt sed "s/\$$PREFIX/$$PREFIX/g" $< > "$<.tmp" a2x --no-xmllint --format manpage "$<.tmp" rm "$<.tmp" + + +.PHONY: dist +dist: $(DIST_PRODUCT) $(DIST_MUTTRC) $(DIST_MAN_PAGE) + +$(DIST): + mkdir -p $@ + +$(DIST)/bin: | $(DIST) + mkdir -p $@ + +$(DIST)/etc/ottolangy: | $(DIST) + mkdir -p $@ + +$(DIST)/share/man/man1: | $(DIST) + mkdir -p $@ + +$(DIST_PRODUCT): $(RELEASE_PRODUCT) | $(DIST)/bin + cp $< $@ + +$(DIST_MUTTRC): muttrc | $(DIST)/etc/ottolangy + cp $< $@ + +$(DIST_MAN_PAGE): $(MAN_PAGE) | $(DIST)/share/man/man1 + cp $< $@ + + +.PHONY: pkg +pkg: ottolangy_$(VERSION)_$(TOOLCHAIN).tar.bz2 + +ottolangy_$(VERSION)_$(TOOLCHAIN).tar.bz2: dist + tar cjv -s /dist/ottolangy_$(VERSION)_$(TOOLCHAIN)/ -f $@ dist |