66 lines
2.0 KiB
Makefile
66 lines
2.0 KiB
Makefile
TOOLS= golang.org/x/tools/cover
|
|
GOCOVER_TMPFILE?= $(GOCOVER_FILE).tmp
|
|
GOCOVER_FILE?= .cover.out
|
|
GOCOVERHTML?= coverage.html
|
|
FIND=`/usr/bin/which 2> /dev/null gfind find | /usr/bin/grep -v ^no | /usr/bin/head -n 1`
|
|
XARGS=`/usr/bin/which 2> /dev/null gxargs xargs | /usr/bin/grep -v ^no | /usr/bin/head -n 1`
|
|
|
|
test:: $(GOCOVER_FILE)
|
|
@$(MAKE) -C cmd/sockaddr test
|
|
|
|
cover:: coverage_report
|
|
|
|
$(GOCOVER_FILE)::
|
|
@${FIND} . -type d ! -path '*cmd*' ! -path '*.git*' -print0 | ${XARGS} -0 -I % sh -ec "cd % && rm -f $(GOCOVER_TMPFILE) && go test -coverprofile=$(GOCOVER_TMPFILE)"
|
|
|
|
@echo 'mode: set' > $(GOCOVER_FILE)
|
|
@${FIND} . -type f ! -path '*cmd*' ! -path '*.git*' -name "$(GOCOVER_TMPFILE)" -print0 | ${XARGS} -0 -n1 cat $(GOCOVER_TMPFILE) | grep -v '^mode: ' >> ${PWD}/$(GOCOVER_FILE)
|
|
|
|
$(GOCOVERHTML): $(GOCOVER_FILE)
|
|
go tool cover -html=$(GOCOVER_FILE) -o $(GOCOVERHTML)
|
|
|
|
coverage_report:: $(GOCOVER_FILE)
|
|
go tool cover -html=$(GOCOVER_FILE)
|
|
|
|
audit_tools::
|
|
@go get -u github.com/golang/lint/golint && echo "Installed golint:"
|
|
@go get -u github.com/fzipp/gocyclo && echo "Installed gocyclo:"
|
|
@go get -u github.com/remyoudompheng/go-misc/deadcode && echo "Installed deadcode:"
|
|
@go get -u github.com/client9/misspell/cmd/misspell && echo "Installed misspell:"
|
|
@go get -u github.com/gordonklaus/ineffassign && echo "Installed ineffassign:"
|
|
|
|
audit::
|
|
deadcode
|
|
go tool vet -all *.go
|
|
go tool vet -shadow=true *.go
|
|
golint *.go
|
|
ineffassign .
|
|
gocyclo -over 65 *.go
|
|
misspell *.go
|
|
|
|
clean::
|
|
rm -f $(GOCOVER_FILE) $(GOCOVERHTML)
|
|
|
|
dev::
|
|
@go build
|
|
@$(MAKE) -B -C cmd/sockaddr sockaddr
|
|
|
|
install::
|
|
@go install
|
|
@$(MAKE) -C cmd/sockaddr install
|
|
|
|
doc::
|
|
@echo Visit: http://127.0.0.1:6161/pkg/github.com/hashicorp/go-sockaddr/
|
|
godoc -http=:6161 -goroot $GOROOT
|
|
|
|
world::
|
|
@set -e; \
|
|
for os in solaris darwin freebsd linux windows android; do \
|
|
for arch in amd64; do \
|
|
printf "Building on %s-%s\n" "$${os}" "$${arch}" ; \
|
|
env GOOS="$${os}" GOARCH="$${arch}" go build -o /dev/null; \
|
|
done; \
|
|
done
|
|
|
|
$(MAKE) -C cmd/sockaddr world
|