master
Makefile
1.POSIX:
2.SUFFIXES:
3
4GO ?= go
5RM ?= rm
6INSTALL ?= install
7SCDOC ?= scdoc
8GIT ?= git
9GOFLAGS ?=
10VERSION ?=
11PREFIX ?= /usr/local
12BINDIR ?= bin
13MANDIR ?= share/man
14APPDIR ?= share/applications
15ICONDIR ?= share/icons
16
17ifeq (0, $(shell $(GIT) status >/dev/null 2>&1; echo $$?))
18export SOURCE_DATE_EPOCH ?= $(shell $(GIT) log -1 --pretty=%ct)
19endif
20
21all: senpai doc
22
23senpai:
24 $(GO) build $(GOFLAGS) -ldflags "-X git.sr.ht/~delthas/senpai.version=$(VERSION)" ./cmd/senpai
25
26ifeq (, $(shell which $(SCDOC) 2>/dev/null))
27$(warning "$(SCDOC) not found, skipping building documentation")
28doc:
29else
30doc: doc/senpai.1 doc/senpai.5
31doc/senpai.1: doc/senpai.1.scd
32 $(SCDOC) < doc/senpai.1.scd > doc/senpai.1
33doc/senpai.5: doc/senpai.5.scd
34 $(SCDOC) < doc/senpai.5.scd > doc/senpai.5
35endif
36
37res: res/icon.128.png res/icon.48.png
38res/icon.128.png: res/icon.svg
39 rsvg-convert -o res/icon.128.png res/icon.svg
40res/icon.48.png: res/icon.svg
41 rsvg-convert -w 48 -h 48 -o res/icon.48.png res/icon.svg
42
43clean:
44 $(RM) -rf senpai doc/senpai.1 doc/senpai.5
45install:
46 $(INSTALL) -d $(DESTDIR)$(PREFIX)/$(BINDIR)
47 $(INSTALL) senpai $(DESTDIR)$(PREFIX)/$(BINDIR)/senpai
48 $(INSTALL) -d $(DESTDIR)$(PREFIX)/$(MANDIR)/man1
49 $(INSTALL) -m644 doc/senpai.1 $(DESTDIR)$(PREFIX)/$(MANDIR)/man1/senpai.1
50 $(INSTALL) -d $(DESTDIR)$(PREFIX)/$(MANDIR)/man5
51 $(INSTALL) -m644 doc/senpai.5 $(DESTDIR)$(PREFIX)/$(MANDIR)/man5/senpai.5
52 $(INSTALL) -d $(DESTDIR)$(PREFIX)/$(APPDIR)
53 $(INSTALL) -m644 contrib/senpai.desktop $(DESTDIR)$(PREFIX)/$(APPDIR)/senpai.desktop
54 $(INSTALL) -d $(DESTDIR)$(PREFIX)/$(ICONDIR)/hicolor/48x48/apps
55 $(INSTALL) -m644 res/icon.48.png $(DESTDIR)$(PREFIX)/$(ICONDIR)/hicolor/48x48/apps/senpai.png
56 $(INSTALL) -d $(DESTDIR)$(PREFIX)/$(ICONDIR)/hicolor/scalable/apps
57 $(INSTALL) -m644 res/icon.svg $(DESTDIR)$(PREFIX)/$(ICONDIR)/hicolor/scalable/apps/senpai.svg
58uninstall:
59 $(RM) $(DESTDIR)$(PREFIX)/$(BINDIR)/senpai
60 $(RM) $(DESTDIR)$(PREFIX)/$(MANDIR)/man1/senpai.1
61 $(RM) $(DESTDIR)$(PREFIX)/$(MANDIR)/man5/senpai.5
62 $(RM) $(DESTDIR)$(PREFIX)/$(APPDIR)/senpai.desktop
63 $(RM) $(DESTDIR)$(PREFIX)/$(ICONDIR)/hicolor/48x48/apps/senpai.png
64 $(RM) $(DESTDIR)$(PREFIX)/$(ICONDIR)/hicolor/scalable/apps/senpai.svg
65
66emoji:
67 curl -sSfL -o emoji.json "https://raw.githubusercontent.com/delthas/gemoji-json/master/emoji.json"
68
69.PHONY: all senpai doc res clean install uninstall emoji