🛠 Add Makefile
This commit is contained in:
		
					parent
					
						
							
								4eb6101e7e
							
						
					
				
			
			
				commit
				
					
						fb6c2fb941
					
				
			
		
					 2 changed files with 44 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -122,3 +122,4 @@ Temporary Items | |||
| *.icloud | ||||
| 
 | ||||
| # End of https://www.toptal.com/developers/gitignore/api/go,linux,emacs,macos | ||||
| my-log | ||||
|  |  | |||
							
								
								
									
										43
									
								
								Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								Makefile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,43 @@ | |||
| SOURCES = $(wildcard *.go) $(wildcard **/*.go) | ||||
| OUT=my-log | ||||
| GOBIN=$(shell go env GOBIN) | ||||
| COVEROUT=cover.out | ||||
| COVERHTML=cover.html | ||||
| 
 | ||||
| .PHONY: help | ||||
| help: ## Show help for documented recipes
 | ||||
| 	@echo "Make recipes:" | ||||
| 	@echo | ||||
| 	@grep -E '^[a-zA-Z0-9_#-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' | ||||
| 
 | ||||
| .PHONY: clean | ||||
| clean: ## Removes temporary and build files
 | ||||
| 	rm -v $(COVEROUT) $(COVERHTML) $(OUT) || true | ||||
| 
 | ||||
| .PHONY: fmt ## Runs go fmt
 | ||||
| fmt: ## Runs go fmt
 | ||||
| 	go fmt ./... | ||||
| 
 | ||||
| .PHONY: test | ||||
| test: ## Test application and generate coverage report
 | ||||
| 	rm $(COVEROUT) 2>/dev/null || true | ||||
| 	$(MAKE) $(COVEROUT) | ||||
| 
 | ||||
| $(COVEROUT): $(SOURCES) | ||||
| 	go test ./... -race -cover -coverprofile $@ | ||||
| 
 | ||||
| $(COVERHTML): $(COVEROUT) | ||||
| 	go tool cover -html=$< -o $@ | ||||
| 
 | ||||
| .PHONY: report | ||||
| report: $(COVERHTML) ## Generate a coverage report
 | ||||
| 
 | ||||
| .PHONY: open-report | ||||
| open-report: report ## Open the coverage report in the default browser
 | ||||
| 	xdg-open $(COVERHTML) | ||||
| 
 | ||||
| .PHONY: build | ||||
| build: $(OUT) ## Builds the application
 | ||||
| 
 | ||||
| $(OUT): $(SOURCES) | ||||
| 	go build -o $@ | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue