Makefile raw

   1  all: test
   2  
   3  clean:
   4  	rm -rf bin
   5  	rm -rf tests/*_easyjson.go
   6  	rm -rf benchmark/*_easyjson.go
   7  
   8  build:
   9  	go build -o ./bin/easyjson ./easyjson
  10  
  11  generate: build
  12  	bin/easyjson -stubs \
  13  		./tests/snake.go \
  14  		./tests/data.go \
  15  		./tests/omitempty.go \
  16  		./tests/nothing.go \
  17  		./tests/named_type.go \
  18  		./tests/custom_map_key_type.go \
  19  		./tests/embedded_type.go \
  20  		./tests/reference_to_pointer.go \
  21  		./tests/html.go \
  22  		./tests/unknown_fields.go \
  23  		./tests/type_declaration.go \
  24  		./tests/type_declaration_skip.go \
  25  		./tests/members_escaped.go \
  26  		./tests/members_unescaped.go \
  27  		./tests/intern.go \
  28  		./tests/nocopy.go \
  29  		./tests/escaping.go
  30  	bin/easyjson -all \
  31  		./tests/data.go \
  32   		./tests/nothing.go \
  33   		./tests/errors.go \
  34   		./tests/html.go \
  35   		./tests/type_declaration_skip.go
  36  	bin/easyjson \
  37  		./tests/nested_easy.go \
  38  		./tests/named_type.go \
  39  		./tests/custom_map_key_type.go \
  40  		./tests/embedded_type.go \
  41  		./tests/reference_to_pointer.go \
  42  		./tests/key_marshaler_map.go \
  43  		./tests/unknown_fields.go \
  44  		./tests/type_declaration.go \
  45  		./tests/members_escaped.go \
  46  		./tests/intern.go \
  47  		./tests/nocopy.go \
  48  		./tests/escaping.go \
  49  		./tests/nested_marshaler.go
  50  	bin/easyjson -snake_case ./tests/snake.go
  51  	bin/easyjson -omit_empty ./tests/omitempty.go
  52  	bin/easyjson -build_tags=use_easyjson -disable_members_unescape ./benchmark/data.go
  53  	bin/easyjson -disallow_unknown_fields ./tests/disallow_unknown.go
  54  	bin/easyjson -disable_members_unescape ./tests/members_unescaped.go
  55  
  56  test: generate
  57  	go test \
  58  		./tests \
  59  		./jlexer \
  60  		./gen \
  61  		./buffer
  62  	cd benchmark && go test -benchmem -tags use_easyjson -bench .
  63  	golint -set_exit_status ./tests/*_easyjson.go
  64  
  65  bench-other: generate
  66  	cd benchmark && make
  67  
  68  bench-python:
  69  	benchmark/ujson.sh
  70  
  71  
  72  .PHONY: clean generate test build
  73