62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| PKG=github.com/mailru/easyjson
 | |
| GOPATH:=$(PWD)/.root:$(GOPATH)
 | |
| export GOPATH
 | |
| 
 | |
| all: test
 | |
| 
 | |
| .root/src/$(PKG):
 | |
| 	mkdir -p $@
 | |
| 	for i in $$PWD/* ; do ln -s $$i $@/`basename $$i` ; done
 | |
| 
 | |
| root: .root/src/$(PKG)
 | |
| 
 | |
| clean:
 | |
| 	rm -rf .root
 | |
| 	rm -rf tests/*_easyjson.go
 | |
| 
 | |
| build:
 | |
| 	go build -i -o .root/bin/easyjson $(PKG)/easyjson
 | |
| 
 | |
| generate: root build
 | |
| 	.root/bin/easyjson -stubs \
 | |
| 		.root/src/$(PKG)/tests/snake.go \
 | |
| 		.root/src/$(PKG)/tests/data.go \
 | |
| 		.root/src/$(PKG)/tests/omitempty.go \
 | |
| 		.root/src/$(PKG)/tests/nothing.go \
 | |
| 		.root/src/$(PKG)/tests/named_type.go \
 | |
| 		.root/src/$(PKG)/tests/custom_map_key_type.go \
 | |
| 		.root/src/$(PKG)/tests/embedded_type.go
 | |
| 
 | |
| 	.root/bin/easyjson -all .root/src/$(PKG)/tests/data.go
 | |
| 	.root/bin/easyjson -all .root/src/$(PKG)/tests/nothing.go
 | |
| 	.root/bin/easyjson -all .root/src/$(PKG)/tests/errors.go
 | |
| 	.root/bin/easyjson -snake_case .root/src/$(PKG)/tests/snake.go
 | |
| 	.root/bin/easyjson -omit_empty .root/src/$(PKG)/tests/omitempty.go
 | |
| 	.root/bin/easyjson -build_tags=use_easyjson .root/src/$(PKG)/benchmark/data.go
 | |
| 	.root/bin/easyjson .root/src/$(PKG)/tests/nested_easy.go
 | |
| 	.root/bin/easyjson .root/src/$(PKG)/tests/named_type.go
 | |
| 	.root/bin/easyjson .root/src/$(PKG)/tests/custom_map_key_type.go
 | |
| 	.root/bin/easyjson .root/src/$(PKG)/tests/embedded_type.go
 | |
| 	.root/bin/easyjson -disallow_unknown_fields .root/src/$(PKG)/tests/disallow_unknown.go
 | |
| 
 | |
| test: generate root
 | |
| 	go test \
 | |
| 		$(PKG)/tests \
 | |
| 		$(PKG)/jlexer \
 | |
| 		$(PKG)/gen \
 | |
| 		$(PKG)/buffer
 | |
| 	go test -benchmem -tags use_easyjson -bench . $(PKG)/benchmark
 | |
| 	golint -set_exit_status .root/src/$(PKG)/tests/*_easyjson.go
 | |
| 
 | |
| bench-other: generate root
 | |
| 	@go test -benchmem -bench . $(PKG)/benchmark
 | |
| 	@go test -benchmem -tags use_ffjson -bench . $(PKG)/benchmark
 | |
| 	@go test -benchmem -tags use_jsoniter -bench . $(PKG)/benchmark
 | |
| 	@go test -benchmem -tags use_codec -bench . $(PKG)/benchmark
 | |
| 
 | |
| bench-python:
 | |
| 	benchmark/ujson.sh
 | |
| 
 | |
| 
 | |
| .PHONY: root clean generate test build
 |