.PHONY: all build install clean uninstall BINARY_NAME=gogofetch PREFIX?=/usr all: build build: @echo "Building $(BINARY_NAME)..." @go build -mod=vendor -ldflags="-s -w" -o $(BINARY_NAME) ./src @echo "Build completed successfully." install: @if [ "$$(id -u)" -ne 0 ] && [ -z "$(DESTDIR)" ]; then \ echo "Error: root privileges required. Run with sudo or doas."; \ exit 1; \ fi @echo "Installing $(BINARY_NAME) to $(PREFIX)/bin..." install -Dm755 $(BINARY_NAME) $(DESTDIR)$(PREFIX)/bin/$(BINARY_NAME) install -d $(DESTDIR)$(PREFIX)/share/gogofetch/logos cp -v logos/* $(DESTDIR)$(PREFIX)/share/gogofetch/logos/ chmod 755 $(DESTDIR)$(PREFIX)/share/gogofetch/logos chmod 644 $(DESTDIR)$(PREFIX)/share/gogofetch/logos/* clean: rm -f $(BINARY_NAME) uninstall: @echo "Uninstalling $(BINARY_NAME) from $(PREFIX)/bin..." rm -f $(DESTDIR)$(PREFIX)/bin/$(BINARY_NAME) rm -rf $(DESTDIR)$(PREFIX)/share/gogofetch