Skip to content

Instantly share code, notes, and snippets.

@antfroger
Created August 22, 2017 09:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save antfroger/6f117db70c0b3d511501dfbb0dfab858 to your computer and use it in GitHub Desktop.
Save antfroger/6f117db70c0b3d511501dfbb0dfab858 to your computer and use it in GitHub Desktop.
Go makefile
IGNORED_PACKAGES := /vendor/
PACKAGES := $(shell ( go list ./... | grep -v -e "^$$" $(addprefix -e ,$(IGNORED_PACKAGES)) ))
DIRS := $(shell ( go list -f '{{.Dir}}' ./... | grep -v -e "^$$" $(addprefix -e ,$(IGNORED_PACKAGES)) ))
.PHONY: test
test:
go test $(PACKAGES)
.PHONY: fmt
# Run gofmt on all source files
fmt: ; $(info $(M) running gofmt…) @
@ret=0 && for d in $(DIRS); do \
gofmt -l -w $$d/*.go || ret=$$? ; \
done ; exit $$ret
.PHONY: vet
# Run govet on all source files
vet: ; $(info $(M) running govet…) @
@ret=0 && for d in $(DIRS); do \
go tool vet $$d/*.go || ret=$$? ; \
done ; exit $$ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment