# Per-user install: binaries, the systemd timer that runs the logger, and the # desktop entry for the viewer. PREFIX ?= $(HOME)/.local BINDIR := $(PREFIX)/bin APPDIR := $(or $(XDG_DATA_HOME),$(HOME)/.local/share)/applications UNITDIR := $(or $(XDG_CONFIG_HOME),$(HOME)/.config)/systemd/user .PHONY: build test install install-bin install-units install-desktop uninstall build: cargo build --release test: cargo test install: install-bin install-units install-desktop install-bin: build install -Dm755 target/release/vitals $(BINDIR)/vitals install -Dm755 target/release/vitals-log $(BINDIR)/vitals-log # dist/ files carry an @BINDIR@ placeholder so they point at wherever PREFIX put the binaries. install-units: install -d $(UNITDIR) sed 's|@BINDIR@|$(BINDIR)|' dist/vitals-log.service > $(UNITDIR)/vitals-log.service install -m644 dist/vitals-log.timer $(UNITDIR)/vitals-log.timer systemctl --user daemon-reload systemctl --user enable --now vitals-log.timer install-desktop: install -d $(APPDIR) sed 's|@BINDIR@|$(BINDIR)|' dist/vitals.desktop > $(APPDIR)/vitals.desktop -update-desktop-database $(APPDIR) # Leaves the logs in ~/.local/state/vitals alone. uninstall: -systemctl --user disable --now vitals-log.timer rm -f $(UNITDIR)/vitals-log.service $(UNITDIR)/vitals-log.timer rm -f $(APPDIR)/vitals.desktop $(BINDIR)/vitals $(BINDIR)/vitals-log -systemctl --user daemon-reload -update-desktop-database $(APPDIR)