1
0
dwelling-radio/Makefile

63 lines
2.1 KiB
Makefile
Executable File

TARGET := dwelling-radio
SYSDDIR_ := ${shell pkg-config systemd --variable=systemdsystemunitdir}
SYSDDIR := ${SYSDDIR_:/%=%}
DESTDIR ?=
PREFIX ?= /usr/local
VERSION ?= 24.38.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