.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
