brewery

beer

public

A terminal worth pouring time into

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/beer.git
Makefile69 lines1.9 KB
1
# - make            # build the release binary
2
# - make install    # install under $(PREFIX), honouring $(DESTDIR)
3
# - make uninstall
4
#
5
# Override PREFIX/DESTDIR as usual, e.g. `make install PREFIX=/usr DESTDIR=pkg`.
6
7
PREFIX ?= /usr/local
8
DESTDIR ?=
9
10
BINDIR := $(DESTDIR)$(PREFIX)/bin
11
MANDIR := $(DESTDIR)$(PREFIX)/share/man
12
TERMINFODIR := $(DESTDIR)$(PREFIX)/share/terminfo
13
APPDIR := $(DESTDIR)$(PREFIX)/share/applications
14
ICONDIR := $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps
15
DOCDIR := $(DESTDIR)$(PREFIX)/share/doc/beer
16
17
CARGO ?= cargo
18
SCDOC ?= scdoc
19
TIC ?= tic
20
INSTALL ?= install
21
22
APPID := dev.notashelf.beer
23
24
.PHONY: all build man install install-bin install-man install-terminfo \
25
        install-desktop install-doc uninstall clean
26
27
all: build
28
29
build:
30
	$(CARGO) build --release --locked
31
32
man: beer.1 beer.toml.5 beer-themes.7
33
34
beer.1: doc/beer.1.scd
35
	$(SCDOC) < $< > $@
36
beer.toml.5: doc/beer.toml.5.scd
37
	$(SCDOC) < $< > $@
38
beer-themes.7: doc/beer-themes.7.scd
39
	$(SCDOC) < $< > $@
40
41
install: install-bin install-man install-terminfo install-desktop install-doc
42
43
install-bin: build
44
	$(INSTALL) -Dm755 target/release/beer $(BINDIR)/beer
45
46
install-man: man
47
	$(INSTALL) -Dm644 beer.1 $(MANDIR)/man1/beer.1
48
	$(INSTALL) -Dm644 beer.toml.5 $(MANDIR)/man5/beer.toml.5
49
	$(INSTALL) -Dm644 beer-themes.7 $(MANDIR)/man7/beer-themes.7
50
51
install-terminfo:
52
	$(TIC) -x -o $(TERMINFODIR) terminfo/beer.info
53
54
install-desktop:
55
	$(INSTALL) -Dm644 contrib/$(APPID).desktop $(APPDIR)/$(APPID).desktop
56
	$(INSTALL) -Dm644 contrib/$(APPID).svg $(ICONDIR)/$(APPID).svg
57
58
install-doc:
59
	$(INSTALL) -Dm644 contrib/beer.toml $(DOCDIR)/beer.toml.example
60
61
uninstall:
62
	$(RM) $(BINDIR)/beer
63
	$(RM) $(MANDIR)/man1/beer.1 $(MANDIR)/man5/beer.toml.5 $(MANDIR)/man7/beer-themes.7
64
	$(RM) $(APPDIR)/$(APPID).desktop $(ICONDIR)/$(APPID).svg
65
	$(RM) $(DOCDIR)/beer.toml.example
66
67
clean:
68
	$(RM) beer.1 beer.toml.5 beer-themes.7
69
	$(CARGO) clean