aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 64b35c29a9f15091dfb49adba3ca51be73aa8fc0 (plain)
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
BINARY_NAME=scrapbook
SYS_CONF_DIR=/etc/scrapbook
SYS_DATA_DIR=/var/lib/scrapbook
SYSTEMD_DIR=/etc/systemd/system

all: build

build:
	go build -ldflags "-X 'github.com/LMBishop/scrapbook/pkg/constants.SysConfDir=${SYS_CONF_DIR}' -X 'github.com/LMBishop/scrapbook/pkg/constants.SysDataDir=${SYS_DATA_DIR}'" -o ${BINARY_NAME} main.go

.PHONY: runlocal
runlocal:
	PWD=$(shell pwd)
	mkdir -p runlocal
	go build -ldflags "-X 'github.com/LMBishop/scrapbook/pkg/constants.SysConfDir=${PWD}/runlocal/config' -X 'github.com/LMBishop/scrapbook/pkg/constants.SysDataDir=${PWD}/runlocal/data'" -o runlocal/${BINARY_NAME} main.go
	cd runlocal; ./${BINARY_NAME}

.PHONY: install
install:
	install -Dm755 ${BINARY_NAME} /usr/local/bin/${BINARY_NAME}

.PHONY: install-config
install-config:
	install --backup -Dm755 dist/config.toml ${SYS_CONF_DIR}/config.toml

.PHONY: install-service
install-service:
	install -Dm755 dist/scrapbook.service ${SYSTEMD_DIR}/
	if ! getent passwd scrapbook > /dev/null; then \
		useradd --system --create-home --shell /usr/sbin/nologin --home-dir ${SYS_DATA_DIR} scrapbook ;\
	fi

.PHONY: clean
clean:
	go clean
	rm ${BINARY_NAME}