TARGET=dwelling-home

SYSDDIR_=${shell pkg-config systemd --variable=systemdsystemunitdir}
SYSDDIR=${SYSDDIR_:/%=%}
DESTDIR:=
PREFIX:=/usr/local

VERSION=24.16.0

FLAGS:=-buildmode=pie -modcacherw -mod=readonly -trimpath
LDFLAGS=-ldflags "-s -w -X main.version=${VERSION}" -tags osusergo,netgo

.PHONY: run install uninstall clean

${TARGET}: web/*.pug.go
	go build -o bin/$@ ${LDFLAGS} ${FLAGS} cmd/$@/main.go

web/*.pug.go: web/templates/*.pug
ifeq (,$(wildcard $(shell go env GOPATH)/bin/jade))
	go install github.com/Joker/jade/cmd/jade@latest
endif
	go generate web/web.go

run:
	bin/${TARGET} -listen 127.0.0.1:18123 -database-path . -captcha-expiry 10m \
		-guestbook-page-size 10

install:
	install -Dm 0755 bin/${TARGET} ${DESTDIR}${PREFIX}/bin/${TARGET}
	install -Dm 0644 init/systemd.service ${DESTDIR}${SYSDDIR}/${TARGET}.service
#	install -Dm 0644 LICENSE ${DESTDIR}/usr/share/licenses/${TARGET}/LICENSE
#	install -Dm 0644 LICENSE.RobotoCondensed.txt \
#		${DESTDIR}/usr/share/licenses/${TARGET}/LICENSE.RobotoCondensed
#	install -Dm 0644 LICENSE.ShareTechMono.txt \
#		${DESTDIR}/usr/share/licenses/${TARGET}/LICENSE.ShareTechMono

uninstall:
	rm ${DESTDIR}${PREFIX}/bin/${TARGET}
	rm ${DESTDIR}${SYSDDIR}/${TARGET}.service
#	rm -r ${DESTDIR}/usr/share/licenses/${TARGET}

clean:
	rm -f bin/${TARGET}
	rm -f web/*.pug.go web/jade.go