PKGS := $(filter-out main,$(shell go list -f '{{.Name}}' ./...)) PKG_COVERS := $(addprefix cover/,$(PKGS)) all: generate get test get: go get . test: go test ./... cover/%: % mkdir -p cover go test -coverprofile=$@ ./$< cover: $(PKG_COVERS) generate: go generate ./... .PHONY: all get test cover generate