TARGET=dwelling-home

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

VERSION=24.16.1

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/*_templ.go
	go build -o bin/$@ ${LDFLAGS} ${FLAGS} cmd/$@/main.go

web/*_templ.go: web/*.templ
ifeq (,$(wildcard $(shell go env GOPATH)/bin/templ))
	go install github.com/a-h/templ/cmd/templ@latest
endif
	TEMPL_EXPERIMENT=rawgo $(shell go env GOPATH)/bin/templ generate 
#	sed -ri 's/a> "/a>"/g' web/*_templ.go

run: | ${TARGET}
	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