TARGET:=dwelling-radio

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

DESTDIR:=
PREFIX:=/usr/local

VERSION=23.20.0

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

all: web/*.jade.go ${TARGET}
.PHONY: ${TARGET} install uninstall install-jade run

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

web/*.jade.go: web/templates/*.pug
	go install github.com/Joker/jade/cmd/jade@latest
	go generate web/web.go

run:
	bin/dwelling-radio -no-liquidsoap -conf configs/config.test.yaml

install:
	install -Dm 0755 bin/${TARGET} ${DESTDIR}${PREFIX}/bin/${TARGET}
	install -Dm 0755 tools/radioctl ${DESTDIR}${PREFIX}/bin/${TARGET}ctl
	install -Dm 0644 configs/config.yaml ${DESTDIR}/etc/dwelling/radio.yaml
	install -Dm 0644 configs/radio.liq ${DESTDIR}/etc/dwelling/radio.liq
	install -Dm 0644 configs/radio.vars.liq ${DESTDIR}/etc/dwelling/radio.vars.liq
	install -Dm 0644 configs/logrotate ${DESTDIR}/etc/logrotate.d/${TARGET}

	install -Dm 0644 init/systemd.service ${DESTDIR}/${SYSDDIR}/${TARGET}.service

uninstall:
	rm ${DESTDIR}${PREFIX}/bin/${TARGET}
	rm ${DESTDIR}${PREFIX}/bin/${TARGET}ctl
	rm ${DESTDIR}/etc/dwelling/radio.liq
	rm ${DESTDIR}/etc/logrotate.d/${TARGET}

	rm ${DESTDIR}${SYSDDIR}/${TARGET}.service

clean:
	rm -f web/*.jade.go
	go clean