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