64 lines
2.2 KiB
Makefile
Executable File
64 lines
2.2 KiB
Makefile
Executable File
TARGET := dwelling-radio
|
|
|
|
SYSDDIR_ := ${shell pkg-config systemd --variable=systemdsystemunitdir}
|
|
SYSDDIR := ${SYSDDIR_:/%=%}
|
|
|
|
DESTDIR ?=
|
|
PREFIX ?= /usr/local
|
|
|
|
VERSION ?= 24.20.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 \
|
|
-playlist /mnt/data/appdata/radio/playlists/all-rand \
|
|
-fallback-song /mnt/data/appdata/radio/fallback.ogg \
|
|
-db test.db3
|
|
|
|
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
|