github.com/runner-mei/ql@v1.1.0/Makefile (about) 1 # Copyright (c) 2014 The ql Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style 3 # license that can be found in the LICENSE file. 4 5 .PHONY: all clean cover cpu editor internalError later mem nuke todo edit 6 7 grep=--include=*.go --include=*.l --include=*.y --include=*.yy --exclude=ql.y 8 ngrep='TODOOK\|parser\.go\|scanner\.go\|.*_string\.go' 9 10 all: editor scanner.go parser.go 11 go vet 2>&1 | grep -v $(ngrep) || true 12 golint 2>&1 | grep -v $(ngrep) || true 13 make todo 14 unused . || true 15 misspell *.go 16 gosimple || true 17 go install ./... 18 19 bench: all 20 go test -run NONE -bench . 21 22 clean: 23 go clean 24 rm -f *~ y.go y.tab.c *.out *.test 25 26 coerce.go: helper/helper.go 27 if [ -f coerce.go ] ; then rm coerce.go ; fi 28 go run helper/helper.go | gofmt > $@ 29 30 cover: 31 t=$(shell tempfile) ; go test -coverprofile $$t && go tool cover -html $$t && unlink $$t 32 33 cpu: clean 34 go test -run @ -bench . -cpuprofile cpu.out 35 go tool pprof -lines *.test cpu.out 36 37 edit: 38 @ 1>/dev/null 2>/dev/null gvim -p Makefile *.l *.y *.go testdata.ql testdata.log 39 40 editor: ql.y scanner.go parser.go coerce.go 41 gofmt -s -l -w *.go 42 go test -i 43 go test 2>&1 | tee log 44 45 internalError: 46 egrep -ho '"internal error.*"' *.go | sort | cat -n 47 48 later: 49 @grep -n $(grep) LATER * || true 50 @grep -n $(grep) MAYBE * || true 51 52 mem: clean 53 go test -run @ -bench . -memprofile mem.out -memprofilerate 1 -timeout 24h 54 go tool pprof -lines -web -alloc_space *.test mem.out 55 56 nuke: clean 57 go clean -i 58 59 parser.go: parser.y 60 a=$(shell tempfile) ; \ 61 goyacc -o /dev/null -xegen $$a $< ; \ 62 goyacc -cr -o $@ -xe $$a $< ; \ 63 rm -f $$a 64 sed -i -e 's|//line.*||' -e 's/yyEofCode/yyEOFCode/' $@ 65 66 ql.y: doc.go 67 sed -n '1,/^package/ s/^\/\/ //p' < $< \ 68 | ebnf2y -o $@ -oe $*.ebnf -start StatementList -pkg $* -p _ 69 goyacc -cr -o /dev/null $@ 70 71 scanner.go: scanner.l parser.go 72 golex -o $@ $< 73 74 todo: 75 @grep -nr $(grep) ^[[:space:]]*_[[:space:]]*=[[:space:]][[:alpha:]][[:alnum:]]* * || true 76 @grep -nr $(grep) TODO * || true 77 @grep -nr $(grep) BUG * || true 78 @grep -nr $(grep) [^[:alpha:]]println * || true