| # Project packages. | |
| PACKAGES=$(shell go list ./...) | |
| # Flags passed to `go test` | |
| BUILDFLAGS ?= | |
| TESTFLAGS ?= | |
| .PHONY: all build test coverage | |
| .DEFAULT: all | |
| all: build | |
| build: ## no binaries to build, so just check compilation suceeds | |
| go build ${BUILDFLAGS} ./... | |
| test: ## run tests | |
| go test ${TESTFLAGS} ./... | |
| coverage: ## generate coverprofiles from the unit tests | |
| rm -f coverage.txt | |
| go test ${TESTFLAGS} -cover -coverprofile=cover.out ./... | |
| .PHONY: help | |
| help: | |
| @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_\/%-]+:.*?##/ { printf " \033[36m%-27s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) |