50 lines
1.9 KiB
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)."
|