From b1a376dbbeaa03ab7d3cd1c0dec18002675179e9 Mon Sep 17 00:00:00 2001 From: AI Bot Date: Fri, 24 Apr 2026 21:14:03 +0200 Subject: [PATCH] Add build, install and uninstall targets to Makefile --- .gitignore | 2 +- Makefile | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2aca3c6..0272da9 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,4 @@ go.work.sum # .vscode/ # Binary output -/declpac +bin/ diff --git a/Makefile b/Makefile index eff97ef..6ab671d 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,19 @@ -.PHONY: fmt vet check githook +.PHONY: build fmt vet check githook install uninstall + +PKG := github.com/Riyyi/declpac +BIN := declpac +BUILD_DIR := bin +BUILD := $(BUILD_DIR)/$(BIN) +PREFIX ?= /usr/local +DESTDIR ?= STAGED_GO := $(shell git diff --cached --name-only --diff-filter=ACM | grep '\.go$$') STAGED_PKGS := $(shell echo "$(STAGED_GO)" | tr ' ' '\n' | xargs -I{} dirname {} | sort -u | sed 's|^|./|') +build: + @mkdir -p $(BUILD_DIR) + go build -o $(BUILD) ./cmd/declpac + fmt: @if [ -z "$(STAGED_GO)" ]; then exit 0; fi; \ unformatted=$$(gofmt -l $(STAGED_GO)); \ @@ -23,3 +34,10 @@ githook: @echo 'make check' >> .git/hooks/pre-commit @chmod +x .git/hooks/pre-commit @echo "Installed pre-commit hook: .git/hooks/pre-commit" + +install: build + @mkdir -p $(DESTDIR)$(PREFIX)/bin + @install -m 0755 $(BUILD) $(DESTDIR)$(PREFIX)/bin/$(BIN) + +uninstall: + @rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN)