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