Compare commits

...

2 Commits

Author SHA1 Message Date
Stefan Etringer 81af5973de Merge pull request 'add autogeneration of help target for Makefile' (#1) from autogenerate-makefile-help into master
Reviewed-on: #1
2025-01-15 08:32:48 +01:00
Alexander Hinrichs fdc6c4aac6 add autogeneration of help target for Makefile
Will aggregate targets and comments behind the target, sort them by
target alphabetically and print the output. Removes requirement to
update help target everytime something changes. targets without comment
will not appear in help output.
2025-01-15 07:52:03 +01:00
1 changed files with 8 additions and 10 deletions

View File

@ -7,27 +7,25 @@ GO_CLEAN = $(GO_CMD) clean
BUILD_DIR = build BUILD_DIR = build
BINARY = $(BUILD_DIR)/$(APP_NAME) BINARY = $(BUILD_DIR)/$(APP_NAME)
.PHONY: build .PHONY: all build help clean install
all: build all: build
build: build: ## Build the application
@echo "Building $(APP_NAME)..." @echo "Building $(APP_NAME)..."
$(GO_BUILD) -o $(BINARY) $(GO_BUILD) -o $(BINARY)
install: build install: build ## Install the application
@echo "Installing $(APP_NAME)..." @echo "Installing $(APP_NAME)..."
$(GO_INSTALL) $(GO_INSTALL)
clean: clean: ## Remove build artifacts
@echo "Cleaning up build artifacts..." @echo "Cleaning up build artifacts..."
$(GO_CLEAN) $(GO_CLEAN)
rm -f $(BINARY) rm -f $(BINARY)
help: help: ## Print the make targets
@echo "Makefile for $(APP_NAME)" @echo "Makefile for $(APP_NAME)"
@echo "Usage:" @echo "Targets:"
@echo " make build - Build the application" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
@echo " make install - Install the application"
@echo " make clean - Remove build artifacts"
@echo " make - Default target (build)"