josie / alder-tools

# 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
CONF     := $(DESTDIR)$(SYSCONF)/aldermon/aldermon.conf
HELPER   := $(DESTDIR)$(DATADIR)/aldermon/powercap-pl-rules.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 -Dm644 aldermon.conf $(CONF)
	install -Dm755 powercap-pl-rules.sh $(HELPER)

uninstall:
	rm -f $(BIN) $(CONF) $(HELPER)
	rmdir -p --ignore-fail-on-non-empty $(CONF) 2>/dev/null || true
	rmdir -p --ignore-fail-on-non-empty $(HELPER) 2>/dev/null || true

clean:
	cargo clean