48 lines
1.5 KiB
Makefile
Executable File
48 lines
1.5 KiB
Makefile
Executable File
TARGET=dwelling-home
|
|
|
|
SYSDDIR_=${shell pkg-config systemd --variable=systemdsystemunitdir}
|
|
SYSDDIR=${SYSDDIR_:/%=%}
|
|
|
|
DESTDIR?=
|
|
PREFIX?=/usr/local
|
|
|
|
VERSION?=24.38.0
|
|
|
|
XVER:=git.arav.su/Arav/dwelling-home/internal/version.ver=v${VERSION}
|
|
|
|
GOFLAGS:=-buildmode=pie -trimpath -mod=readonly -modcacherw
|
|
GOFLAGS+=-ldflags="-linkmode=external -s -w -X '${XVER}' -extldflags=${LDFLAGS}"
|
|
GOFLAGS+=-tags osusergo,netgo
|
|
|
|
.PHONY: run install uninstall clean
|
|
|
|
${TARGET}: web/*_templ.go
|
|
go build ${GOFLAGS} -o bin/$@ 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
|
|
|
|
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/*_templ.go
|