freeze-watcher/Makefile

50 lines
1.9 KiB
Makefile

PREFIX ?= /usr/local
BINDIR := $(PREFIX)/bin
APPDIR := $(PREFIX)/share/applications
SYSTEMDDIR := /etc/systemd/system
CONFDIR := /etc
LOGDIR := /var/log/freeze-watcher
LOG_GROUP ?= $(shell id -gn)
.PHONY: install uninstall enable disable status logs clean
install:
install -Dm755 src/freeze-watcher.sh $(DESTDIR)$(BINDIR)/freeze-watcher.sh
install -Dm755 src/freeze-monitor-gui $(DESTDIR)$(BINDIR)/freeze-monitor-gui
install -Dm755 src/freeze-snapshot-convert $(DESTDIR)$(BINDIR)/freeze-snapshot-convert
install -Dm644 systemd/freeze-watcher.service $(DESTDIR)$(SYSTEMDDIR)/freeze-watcher.service
install -Dm644 desktop/freeze-monitor.desktop $(DESTDIR)$(APPDIR)/freeze-monitor.desktop
@if [ ! -e "$(DESTDIR)$(CONFDIR)/freeze-watcher.conf" ]; then \
install -Dm644 config/freeze-watcher.conf $(DESTDIR)$(CONFDIR)/freeze-watcher.conf; \
echo "Installed default config at $(CONFDIR)/freeze-watcher.conf"; \
else \
install -Dm644 config/freeze-watcher.conf $(DESTDIR)$(CONFDIR)/freeze-watcher.conf.new; \
echo "Existing config preserved; new template at $(CONFDIR)/freeze-watcher.conf.new"; \
fi
install -dm775 -g $(LOG_GROUP) $(DESTDIR)$(LOGDIR)
@echo "Installed. Run 'make enable' to start the service."
uninstall:
rm -f $(DESTDIR)$(BINDIR)/freeze-watcher.sh
rm -f $(DESTDIR)$(BINDIR)/freeze-monitor-gui
rm -f $(DESTDIR)$(BINDIR)/freeze-snapshot-convert
rm -f $(DESTDIR)$(SYSTEMDDIR)/freeze-watcher.service
rm -f $(DESTDIR)$(APPDIR)/freeze-monitor.desktop
rm -f $(DESTDIR)$(CONFDIR)/freeze-watcher.conf.new
@echo "Uninstalled. Config at $(CONFDIR)/freeze-watcher.conf and logs at $(LOGDIR) preserved."
enable:
systemctl daemon-reload
systemctl enable --now freeze-watcher.service
disable:
systemctl disable --now freeze-watcher.service
status:
systemctl status freeze-watcher.service --no-pager
logs:
journalctl -u freeze-watcher.service -f
clean:
@echo "Nothing to clean (no build artifacts)."