40 lines
		
	
	
		
			878 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			878 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # -*- mode: makefile -*-
 | |
| 
 | |
| PROJECTNAME := client
 | |
| GO_LDFLAGS_STATIC=-ldflags "-w $(CTIMEVAR) -extldflags -static"
 | |
| GO := go
 | |
| 
 | |
| all: build fmt lint test
 | |
| 
 | |
| .PHONY: fmt
 | |
| fmt: ## Verifies all files have been `gofmt`ed.
 | |
| 	@echo "+ $@"
 | |
| 	$(eval var = $(shell gofmt -s -l . | grep -v vendor | tee /dev/stderr))
 | |
| 	@if [ ! -z "${var}" ]; then exit 1; fi
 | |
| 
 | |
| 
 | |
| .PHONY: build
 | |
| build: ## Builds a static executable.
 | |
| 	@echo "+ $@"
 | |
| 	CGO_ENABLED=0 $(GO) build -mod=vendor \
 | |
| 	 -o $(PROJECTNAME) \
 | |
| 	 -tags "static_build netgo" \
 | |
| 	 -installsuffix netgo ${GO_LDFLAGS_STATIC} .;
 | |
| 
 | |
| 
 | |
| .PHONY: test
 | |
| test: ## Generates test certificates & run unit tests.
 | |
| 	go vet -mod=vendor
 | |
| 	go test -v -mod=vendor
 | |
| 
 | |
| 
 | |
| .PHONY: lint
 | |
| lint: ## Verifies `golint` passes.
 | |
| 	@echo "+ $@"
 | |
| 	$(eval var = $(shell golint ./... | grep -v vendor | tee /dev/stderr))
 | |
| 	@if [ ! -z "${var}" ]; then exit 1; fi
 | |
| 
 | |
| .PHONY: clean
 | |
| clean:
 | |
| 	rm -f $(PROJECTNAME)
 |