30 lines
820 B
Makefile
30 lines
820 B
Makefile
.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
|