aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorTeddy Wing2021-03-20 13:18:07 +0100
committerTeddy Wing2021-03-20 13:18:07 +0100
commit2a7d9f54af1c6fa96c313a4644e481cfff3c0a8b (patch)
tree093229a0cbf98cfcdf003457afc7feda28fb2a08 /Makefile
parent40bcc56c77e0b27ead8a232be34106c6b60a1684 (diff)
downloadmutt-ottolangy-2a7d9f54af1c6fa96c313a4644e481cfff3c0a8b.tar.bz2
Makefile: Create a distribution package
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile44
1 files changed, 44 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index f0ce80c..be04731 100644
--- a/Makefile
+++ b/Makefile
@@ -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