docs: improve build system with enhanced targets and descriptions
- Add a `help` target to print a help message. - Add descriptions for the `build`, `air`, `dev`, and `vendor` targets. - Remove inline comments for the `air`, `dev`, and `vendor` targets. Signed-off-by: appleboy <appleboy.tw@gmail.com>
This commit is contained in:
21 Makefile
21
Makefile @@ -3,25 +3,30 @@ EXECUTABLE := gitea-mcp | ||||
VERSION ?= $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//') | ||||
LDFLAGS := -X "main.Version=$(VERSION)" | ||||
| ||||
.PHONY: help | ||||
help: ## Print this help message. | ||||
@echo "Usage: make [target]" | ||||
@echo "" | ||||
@echo "Targets:" | ||||
@echo "" | ||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' | ||||
| ||||
.PHONY: build | ||||
build: | ||||
build: ## Build the application. | ||||
$(GO) build -v -ldflags '-s -w $(LDFLAGS)' -o $(EXECUTABLE) | ||||
| ||||
## air: install air for hot reload | ||||
.PHONY: air | ||||
air: | ||||
air: ## Install air for hot reload. | ||||
@hash air > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ | ||||
$(GO) install github.com/air-verse/air@latest; \ | ||||
fi | ||||
| ||||
## dev: run the application with hot reload | ||||
.PHONY: dev | ||||
dev: air | ||||
dev: air ## run the application with hot reload | ||||
air --build.cmd "make build" --build.bin ./gitea-mcp | ||||
| ||||
## vendor: tidy and verify module dependencies | ||||
.PHONY: vendor | ||||
vendor: | ||||
vendor: ## tidy and verify module dependencies | ||||
@echo 'Tidying and verifying module dependencies...' | ||||
go mod tidy | ||||
go mod verify | ||||
go mod verify | ||||
|
Reference in New Issue
Block a user