TARGET := dwelling-radio SYSDDIR_ := ${shell pkg-config systemd --variable=systemdsystemunitdir} SYSDDIR := ${SYSDDIR_:/%=%} DESTDIR ?= PREFIX ?= /usr/local VERSION ?= 24.25.0 GOFLAGS := -buildmode=pie -modcacherw -mod=readonly -trimpath LDFLAGS := -ldflags "-linkmode=external -extldflags \"${LDFLAGS}\" -s -w -X main.version=${VERSION}" -tags osusergo,netgo .PHONY: run install uninstall clean ${TARGET}: web/*_templ.go go build -o bin/$@ ${LDFLAGS} ${GOFLAGS} 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 $(shell go env GOPATH)/bin/templ generate run: | ${TARGET} bin/dwelling-radio -listen 127.0.0.1:18322 \ -work-dir test \ -playlist test install: install -Dm 0755 bin/${TARGET} ${DESTDIR}${PREFIX}/bin/${TARGET} install -Dm 0755 tools/radioctl ${DESTDIR}${PREFIX}/bin/${TARGET}ctl install -Dm 0755 tools/radio-fetch ${DESTDIR}${PREFIX}/bin/${TARGET}-fetch # 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/ezstream.xml ${DESTDIR}/etc/dwelling/ezstream.xml install -Dm 0644 configs/logrotate ${DESTDIR}/etc/logrotate.d/${TARGET} install -Dm 0644 configs/override.icecast.service ${DESTDIR}/etc/systemd/system/icecast.service.override.d/override.conf install -Dm 0644 init/radio.service ${DESTDIR}/${SYSDDIR}/${TARGET}.service # install -Dm 0644 init/liquidsoap.service ${DESTDIR}/${SYSDDIR}/${TARGET}-liquidsoap.service install -Dm 0644 init/ezstream.service ${DESTDIR}/${SYSDDIR}/${TARGET}-ezstream.service uninstall: rm ${DESTDIR}${PREFIX}/bin/${TARGET} rm ${DESTDIR}${PREFIX}/bin/${TARGET}ctl rm ${DESTDIR}${PREFIX}/bin/${TARGET}-fetch # rm ${DESTDIR}/etc/dwelling/radio.liq rm ${DESTDIR}/etc/dwelling/ezstream.xml rm ${DESTDIR}/etc/logrotate.d/${TARGET} rm ${DESTDIR}/etc/systemd/system/icecast.service.override.d/override.conf rm ${DESTDIR}${SYSDDIR}/${TARGET}.service # rm ${DESTDIR}${SYSDDIR}/${TARGET}-liquidsoap.service rm ${DESTDIR}${SYSDDIR}/${TARGET}-ezstream.service clean: rm -f web/*.jade.go go clean