.PHONY: all build install clean uninstall test BINARY_NAME = gogofetch PREFIX ?= /usr all: @echo "Available targets: build install clean uninstall test" build: @echo "Building $(BINARY_NAME)..." @go build -mod=vendor -ldflags="-s -w" -o $(BINARY_NAME) ./src @echo "Build completed successfully." install: @[ "$$(id -u)" -eq 0 ] || [ -n "$(DESTDIR)" ] || { echo "Root privileges required."; exit 1; } install -Dm755 $(BINARY_NAME) $(DESTDIR)$(PREFIX)/bin/$(BINARY_NAME) install -d $(DESTDIR)$(PREFIX)/share/gogofetch/logos install -m 644 logos/* $(DESTDIR)$(PREFIX)/share/gogofetch/logos/ test: go test -v ./src/... 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