summary refs log tree commit diff stats
path: root/Makefile
blob: 19aad3966398199e4a4fa862654440fd533f1fe6 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
PREFIX?=/usr/local
_INSTDIR=$(PREFIX)
BINDIR?=$(_INSTDIR)/getwtxt
VERSION?=$(shell git tag | grep ^v | sort -V | tail -n 1)
GOFLAGS?=-ldflags '-X github.com/getwtxt/getwtxt/svc.Vers=${VERSION}'

getwtxt: getwtxt.go go.mod go.sum
	@echo
	@echo Building getwtxt. This may take a minute or two.
	@mkdir -p logs
	go build $(GOFLAGS) -o $@
	@echo
	@echo ...Done\!

.PHONY: clean
clean:
	@echo
	@echo Cleaning build and module caches...
	go clean -cache -modcache
	@echo
	@echo ...Done\!

.PHONY: update
update:
	@echo
	@echo Updating from upstream repository...
	@echo
	git pull --rebase origin master
	@echo
	@echo ...Done\!

.PHONY: install
install:
	@echo
	@echo Installing getwtxt...
	@echo
	@echo Creating user/group...
	adduser -home $(BINDIR) --system --group getwtxt
	@echo
	@echo
	@echo Creating directories...
	mkdir -p $(BINDIR)/assets/tmpl $(BINDIR)/docs $(BINDIR)/logs
	@echo
	@echo Copying files...
	install -m755 getwtxt $(BINDIR)
	install -m644 getwtxt.yml $(BINDIR)
	install -m644 assets/style.css $(BINDIR)/assets
	install -m644 assets/tmpl/index.html $(BINDIR)/assets/tmpl
	install -m644 README.md $(BINDIR)/docs
	install -m644 LICENSE $(BINDIR)/docs
	install -m644 etc/getwtxt.service /etc/systemd/system
	@echo
	@echo
	@echo Setting ownership...
	chown -R getwtxt:getwtxt $(BINDIR)
	@echo
	@echo ...Done\! Don\'t forget to run
	@echo '         $$ systemctl enable getwtxt'

.PHONY: uninstall
uninstall:
	@echo
	@echo Uninstalling getwtxt...
	@echo
	@echo Stopping service if running...
	@echo systemctl stop getwtxt
	@systemctl stop getwtxt >/dev/null 2>&1 || true
	@echo
	@echo Disabling service autostart...
	@echo systemctl disable getwtxt
	@systemctl disable getwtxt >/dev/null 2>&1 || true
	@echo
	@echo Removing files
	rm -rf $(BINDIR)/assets
	rm -rf $(BINDIR)/logs
	rm -f $(BINDIR)/getwtxt
	rm -f $(BINDIR)/getwtxt.yml
	rm -f /etc/systemd/system/getwtxt.service
	@echo
	@echo Removing user
	- userdel getwtxt
	@echo
	@echo The database is still intact in /usr/local/getwtxt/
	@echo
	@echo ...Done\!