You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
.PHONY: all clean cover cpu editor internalError later mem nuke todo edit |
|
|
|
grep=--include=*.go --include=*.l --include=*.y --include=*.yy |
|
ngrep='TODOOK\|parser\.go\|scanner\.go\|.*_string\.go' |
|
|
|
all: editor |
|
go vet 2>&1 | grep -v $(ngrep) || true |
|
golint 2>&1 | grep -v $(ngrep) || true |
|
make todo |
|
-unused . |
|
-misspell *.go |
|
-gosimple |
|
|
|
clean: |
|
go clean |
|
rm -f *~ *.test *.out |
|
|
|
cover: |
|
t=$(shell tempfile) ; go test -coverprofile $$t && go tool cover -html $$t && unlink $$t |
|
|
|
cpu: clean |
|
go test -run @ -bench . -cpuprofile cpu.out |
|
go tool pprof -lines *.test cpu.out |
|
|
|
edit: |
|
@ 1>/dev/null 2>/dev/null gvim -p Makefile *.go |
|
|
|
editor: |
|
gofmt -l -s -w *.go |
|
go test |
|
go build |
|
|
|
generic: |
|
@# writes to stdout a version where the type of key is KEY and the type |
|
@# of value is VALUE. |
|
@# |
|
@# Intended use is to replace all textual occurrences of KEY or VALUE in |
|
@# the output with your desired types. |
|
@sed -e 's|interface{}[^{]*/\*K\*/|KEY|g' -e 's|interface{}[^{]*/\*V\*/|VALUE|g' btree.go |
|
|
|
internalError: |
|
egrep -ho '"internal error.*"' *.go | sort | cat -n |
|
|
|
later: |
|
grep -n $(grep) LATER * || true |
|
grep -n $(grep) MAYBE * || true |
|
|
|
mem: clean |
|
go test -run @ -bench . -memprofile mem.out -memprofilerate 1 -timeout 24h |
|
go tool pprof -lines -web -alloc_space *.test mem.out |
|
|
|
nuke: clean |
|
go clean -i |
|
|
|
todo: |
|
grep -nr $(grep) ^[[:space:]]*_[[:space:]]*=[[:space:]][[:alpha:]][[:alnum:]]* * | grep -v $(ngrep) || true |
|
grep -nr $(grep) TODO * | grep -v $(ngrep) || true |
|
grep -nr $(grep) BUG * | grep -v $(ngrep) || true |
|
grep -nr $(grep) [^[:alpha:]]println * | grep -v $(ngrep) || true
|
|
|