Makefile 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. # Protocol Buffers for Go with Gadgets
  2. #
  3. # Copyright (c) 2013, The GoGo Authors. All rights reserved.
  4. # http://github.com/gogo/protobuf
  5. #
  6. # Redistribution and use in source and binary forms, with or without
  7. # modification, are permitted provided that the following conditions are
  8. # met:
  9. #
  10. # * Redistributions of source code must retain the above copyright
  11. # notice, this list of conditions and the following disclaimer.
  12. # * Redistributions in binary form must reproduce the above
  13. # copyright notice, this list of conditions and the following disclaimer
  14. # in the documentation and/or other materials provided with the
  15. # distribution.
  16. #
  17. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  18. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  19. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  20. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  21. # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  22. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  23. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  24. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  25. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  26. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  27. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  28. GO_VERSION:=$(shell go version)
  29. .PHONY: nuke regenerate tests clean install gofmt vet contributors
  30. all: clean install regenerate install tests errcheck vet
  31. buildserverall: clean install regenerate install tests vet js
  32. install:
  33. go install ./proto
  34. go install ./gogoproto
  35. go install ./jsonpb
  36. go install ./protoc-gen-gogo
  37. go install ./protoc-gen-gofast
  38. go install ./protoc-gen-gogofast
  39. go install ./protoc-gen-gogofaster
  40. go install ./protoc-gen-gogoslick
  41. go install ./protoc-gen-gostring
  42. go install ./protoc-min-version
  43. go install ./protoc-gen-combo
  44. go install ./gogoreplace
  45. clean:
  46. go clean ./...
  47. nuke:
  48. go clean -i ./...
  49. gofmt:
  50. gofmt -l -s -w .
  51. regenerate:
  52. make -C protoc-gen-gogo/descriptor regenerate
  53. make -C protoc-gen-gogo/plugin regenerate
  54. make -C protoc-gen-gogo/testdata regenerate
  55. make -C gogoproto regenerate
  56. make -C proto/testdata regenerate
  57. make -C jsonpb/jsonpb_test_proto regenerate
  58. make -C _conformance regenerate
  59. make -C types regenerate
  60. make -C test regenerate
  61. make -C test/example regenerate
  62. make -C test/unrecognized regenerate
  63. make -C test/group regenerate
  64. make -C test/unrecognizedgroup regenerate
  65. make -C test/enumstringer regenerate
  66. make -C test/unmarshalmerge regenerate
  67. make -C test/moredefaults regenerate
  68. make -C test/issue8 regenerate
  69. make -C test/enumprefix regenerate
  70. make -C test/enumcustomname regenerate
  71. make -C test/packed regenerate
  72. make -C test/protosize regenerate
  73. make -C test/tags regenerate
  74. make -C test/oneof regenerate
  75. make -C test/oneof3 regenerate
  76. make -C test/theproto3 regenerate
  77. make -C test/mapdefaults regenerate
  78. make -C test/mapsproto2 regenerate
  79. make -C test/issue42order regenerate
  80. make -C proto generate-test-pbs
  81. make -C test/importdedup regenerate
  82. make -C test/custombytesnonstruct regenerate
  83. make -C test/required regenerate
  84. make -C test/casttype regenerate
  85. make -C test/castvalue regenerate
  86. make -C vanity/test regenerate
  87. make -C test/sizeunderscore regenerate
  88. make -C test/issue34 regenerate
  89. make -C test/empty-issue70 regenerate
  90. make -C test/indeximport-issue72 regenerate
  91. make -C test/fuzztests regenerate
  92. make -C test/oneofembed regenerate
  93. make -C test/asymetric-issue125 regenerate
  94. make -C test/filedotname regenerate
  95. make -C test/nopackage regenerate
  96. make -C test/types regenerate
  97. make -C test/proto3extension regenerate
  98. make -C test/stdtypes regenerate
  99. make -C test/data regenerate
  100. make -C test/typedecl regenerate
  101. make -C test/issue260 regenerate
  102. make -C test/issue261 regenerate
  103. make -C test/issue262 regenerate
  104. make -C test/issue312 regenerate
  105. make -C test/enumdecl regenerate
  106. make -C test/typedecl_all regenerate
  107. make -C test/enumdecl_all regenerate
  108. make -C test/int64support regenerate
  109. make -C test/issue322 regenerate
  110. make -C test/issue330 regenerate
  111. make gofmt
  112. tests:
  113. go build ./test/enumprefix
  114. go test ./...
  115. (cd test/stdtypes && make test)
  116. vet:
  117. go vet ./...
  118. go tool vet --shadow .
  119. errcheck:
  120. go get github.com/kisielk/errcheck
  121. errcheck ./test/...
  122. drone:
  123. sudo apt-get install protobuf-compiler
  124. (cd $(GOPATH)/src/github.com/gogo/protobuf && make buildserverall)
  125. testall:
  126. go get -u github.com/golang/protobuf/proto
  127. make -C protoc-gen-gogo/testdata test
  128. make -C vanity/test test
  129. make -C test/registration test
  130. make tests
  131. bench:
  132. go get golang.org/x/tools/cmd/benchcmp
  133. (cd test/mixbench && go build .)
  134. ./test/mixbench/mixbench
  135. contributors:
  136. git log --format='%aN <%aE>' | sort -fu > CONTRIBUTORS
  137. js:
  138. ifeq (go1.9, $(findstring go1.9, $(GO_VERSION)))
  139. go get -u github.com/gopherjs/gopherjs
  140. gopherjs build github.com/gogo/protobuf/protoc-gen-gogo
  141. endif
  142. update:
  143. (cd protobuf && make update)