# aldermon — btop-style Alder Lake monitor. Gentoo-friendly: respects # PREFIX, DESTDIR. `make check` runs fmt+clippy+test. PREFIX ?= /usr/local SYSCONF ?= /etc DATADIR ?= /usr/share BIN := $(DESTDIR)$(PREFIX)/bin/aldermon MSRBIN := $(DESTDIR)$(PREFIX)/bin/aldermon-msr CONF := $(DESTDIR)$(SYSCONF)/aldermon/aldermon.conf SETUP := $(DESTDIR)$(DATADIR)/aldermon/aldermon-install.sh .PHONY: all build check install uninstall clean all: build build: cargo build --release check: cargo fmt --check cargo clippy --all-targets -- -D warnings cargo test install: build install -Dm755 target/release/aldermon $(BIN) install -Dm755 target/release/aldermon-msr $(MSRBIN) # never clobber a hand-edited system conf; aldermon-install.sh owns # force-replacing it (--clean) [ -e $(CONF) ] || install -Dm644 aldermon.conf $(CONF) install -Dm755 aldermon-install.sh $(SETUP) ifeq ($(DESTDIR),) # VID needs the cap half of a two-gate check (msr nodes also go 0440 adm # via the rules installed by aldermon-install.sh); grant cap_sys_rawio # to the read-only helper only. Re-applied on every install since # rebuilding drops file caps. setcap cap_sys_rawio+ep $(MSRBIN) endif uninstall: rm -f $(BIN) $(MSRBIN) $(CONF) $(SETUP) rm -f $(DESTDIR)$(DATADIR)/aldermon/powercap-pl-rules.sh rm -f $(DESTDIR)$(DATADIR)/aldermon/aldermon-setup.sh rmdir -p --ignore-fail-on-non-empty $(CONF) 2>/dev/null || true rmdir -p --ignore-fail-on-non-empty $(SETUP) 2>/dev/null || true clean: cargo clean