aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-10-22 11:54:56 -0400
committerJesse Luehrs <doy@tozt.net>2019-10-22 12:20:10 -0400
commit814194193467b29734a8e548fcae11434f9ebee8 (patch)
treef921b2fd52cbca50b883ef815df515ec7a01176a
parent6001b9923a8de9b555bc6f7df57b90919aa4444a (diff)
downloadteleterm-814194193467b29734a8e548fcae11434f9ebee8.tar.gz
teleterm-814194193467b29734a8e548fcae11434f9ebee8.zip
add a makefile for common actions
-rw-r--r--.gitignore2
-rw-r--r--Makefile53
-rw-r--r--package/arch/PKGBUILD21
-rw-r--r--package/arch/README.md2
4 files changed, 78 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 53eaa21..255bf12 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
+/*.log
+/pkg
/target
**/*.rs.bk
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4488a83
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,53 @@
+NAME = $(shell cargo read-manifest | jq -r '.name')
+VERSION = $(shell cargo read-manifest | jq -r '.version')
+
+INTERACTIVE_SUBCOMMANDS = stream watch record play
+NONINTERACTIVE_SUBCOMMANDS = server
+SUBCOMMANDS = $(INTERACTIVE_SUBCOMMANDS) $(NONINTERACTIVE_SUBCOMMANDS)
+
+all:
+ @cargo build
+.PHONY: all
+
+release:
+ @cargo build --release
+.PHONY: release
+
+$(SUBCOMMANDS):
+ @cargo run $@
+.PHONY: $(SUBCOMMANDS)
+
+$(NONINTERACTIVE_SUBCOMMANDS:%=d%):
+ @RUST_LOG=tt=debug cargo run $$(echo $@ | sed 's/^d//')
+.PHONY: $(NONINTERACTIVE_SUBCOMMANDS:%=d%)
+
+$(INTERACTIVE_SUBCOMMANDS:%=d%):
+ @echo "logging to $$(echo $@ | sed 's/^d//').log"
+ @RUST_LOG=tt=debug cargo run $$(echo $@ | sed 's/^d//') 2>>$$(echo $@ | sed 's/^d//').log
+.PHONY: $(INTERACTIVE_SUBCOMMANDS:%=d%)
+
+$(SUBCOMMANDS:%=r%):
+ @cargo run --release $$(echo $@ | sed 's/^r//')
+.PHONY: $(SUBCOMMANDS:%=r%)
+
+clean:
+ @rm -rf *.log pkg
+.PHONY: clean
+
+cleanall: clean
+ @cargo clean
+.PHONY: cleanall
+
+package: pkg-deb pkg-arch
+.PHONY: package
+
+pkg:
+ @mkdir pkg
+
+pkg-deb: pkg
+ @cargo deb && mv target/debian/$(NAME)_$(VERSION)_amd64.deb pkg
+.PHONY: pkg-deb
+
+pkg-arch: pkg package/arch/PKGBUILD
+ @cd package/arch && makepkg -c && mv $(NAME)-$(VERSION)-1-x86_64.pkg.tar.xz ../../pkg
+.PHONY: pkg-arch
diff --git a/package/arch/PKGBUILD b/package/arch/PKGBUILD
new file mode 100644
index 0000000..c3059a7
--- /dev/null
+++ b/package/arch/PKGBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Jesse Luehrs <doy@tozt.net>
+pkgname=teleterm
+pkgver=0.1.0
+pkgrel=1
+makedepends=('rust' 'cargo')
+depends=('openssl')
+arch=('i686' 'x86_64' 'armv6h' 'armv7h')
+pkgdesc="share your terminals!"
+license=('MIT')
+
+build() {
+ cargo build --release --locked
+}
+
+check() {
+ cargo test --release --locked
+}
+
+package() {
+ install -Dm 755 ../../../target/release/tt -t "${pkgdir}/usr/bin"
+}
diff --git a/package/arch/README.md b/package/arch/README.md
new file mode 100644
index 0000000..11da29a
--- /dev/null
+++ b/package/arch/README.md
@@ -0,0 +1,2 @@
+ideally cargo-pkgbuild could just generate the right thing, but it's currently
+pretty limited.