aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 4488a83ff0d1ee76e71f5a23c5d22fa55f02dc6b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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