.PHONY: all build install clean uninstall

BINARY_NAME=gogofetch
PREFIX?=/usr

all: build

build:
	@echo "Building $(BINARY_NAME)..."
	@go build -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."; \
    		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