forked from alecthomas/go_serialization_benchmarks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
84 lines (68 loc) · 3.44 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# This is necessary due to the use of two conflicting generator commands for capnproto
.NOTPARALLEL:
all: Colfer.go FlatBufferA.go msgp_gen.go structdef-gogo.pb.go structdef.pb.go structdef.capnp.go structdef.capnp2.go gencode.schema.gen.go gencode-unsafe.schema.gen.go structdefxdr_generated.go structdef-bebop.go structdef_msgpackgen.go musgo.go
Colfer.go:
go run github.com/pascaldekloe/colfer/cmd/colf go
mv goserbench/Colfer.go .
rmdir goserbench
FlatBufferA.go: flatbuffers-structdef.fbs
flatc -g flatbuffers-structdef.fbs
mv flatbuffersmodels/FlatBufferA.go FlatBufferA.go
rmdir flatbuffersmodels
sed -i '' 's/flatbuffersmodels/goserbench/' FlatBufferA.go
msgp_gen.go: structdef.go
go run github.com/tinylib/msgp -o msgp_gen.go -file structdef.go -io=false -tests=false
structdef_easyjson.go: structdef.go
go run github.com/mailru/easyjson/easyjson -no_std_marshalers -all structdef.go
structdef-gogo.pb.go: structdef-gogo.proto
protoc --gogofaster_out=. -I. -I${GOPATH}/src -I${GOPATH}/src/github.com/gogo/protobuf/protobuf structdef-gogo.proto
structdef.pb.go: structdef.proto
protoc --go_out=. structdef.proto
structdef.capnp2.go: structdef.capnp2
go get -u zombiezen.com/go/capnproto2/... # conflicts with go-capnproto
capnp compile -I${GOPATH}/src -ogo structdef.capnp2
structdef.capnp.go: structdef.capnp
go get -u github.com/glycerine/go-capnproto/capnpc-go # conflicts with capnproto2
capnp compile -I${GOPATH}/src -ogo structdef.capnp
gencode.schema.gen.go: gencode.schema
go run github.com/andyleap/gencode go -schema=gencode.schema -package=goserbench
gencode-unsafe.schema.gen.go: gencode-unsafe.schema
go run github.com/andyleap/gencode go -schema=gencode-unsafe.schema -package=goserbench -unsafe
structdefxdr_generated.go: structdefxdr.go
go run github.com/calmh/xdr/cmd/genxdr -o structdefxdr_generated.go structdefxdr.go
structdef-bebop.go:
bebopc-go -i structdef-bebop.bop -o structdef-bebop.go --package goserbench
structdef_msgpackgen.go: structdef.go
go run github.com/shamaton/msgpackgen -input-file structdef.go -output-file structdef_msgpackgen.go -strict
musgo.go: structdef.go
go run ./musgo/generate.go
.PHONY: clean
clean:
rm -f Colfer.go FlatBufferA.go msgp_gen.go structdef-gogo.pb.go structdef.pb.go structdef.capnp.go structdef.capnp2.go gencode.schema.gen.go gencode-unsafe.schema.gen.go structdefxdr_generated.go structdef_msgpackgen.go NoTimeA.musgen.go NoTimeAUnsafe.musgen.go
.PHONY: install
install:
go get -u github.com/gogo/protobuf/protoc-gen-gogofaster
go get -u github.com/gogo/protobuf/gogoproto
go get -u github.com/golang/protobuf/protoc-gen-go
go get -u github.com/tinylib/msgp
go get -u github.com/andyleap/gencode
go get -u github.com/mailru/easyjson/...
go get -u go.dedis.ch/protobuf
go get -u github.com/Sereal/Sereal/Go/sereal
go get -u github.com/alecthomas/binary
go get -u github.com/davecgh/go-xdr/xdr
go get -u github.com/gogo/protobuf/proto
go get -u github.com/google/flatbuffers/go
go get -u github.com/tinylib/msgp/msgp
go get -u github.com/ugorji/go/codec
go get -u gopkg.in/mgo.v2/bson
go get -u github.com/vmihailenco/msgpack/v4
go get -u github.com/golang/protobuf/proto
go get -u github.com/hprose/hprose-go/io
go get -u github.com/pascaldekloe/colfer/cmd/colf
go get -u github.com/calmh/xdr
go get -u github.com/niubaoshu/gotiny
go get -u github.com/200sc/bebop
go get -u github.com/200sc/bebop/main/bebopc-go
go get -u github.com/shamaton/msgpackgen
go get -u github.com/ymz-ncnk/musgo