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 29GO_VERSION:=$(shell go version) 30 31.PHONY: nuke regenerate tests clean install gofmt vet contributors 32 33all: clean install regenerate install tests errcheck vet 34 35buildserverall: clean install regenerate install tests vet js 36 37install: 38 go install ./proto 39 go install ./gogoproto 40 go install ./jsonpb 41 go install ./protoc-gen-gogo 42 go install ./protoc-gen-gofast 43 go install ./protoc-gen-gogofast 44 go install ./protoc-gen-gogofaster 45 go install ./protoc-gen-gogoslick 46 go install ./protoc-gen-gostring 47 go install ./protoc-min-version 48 go install ./protoc-gen-combo 49 go install ./gogoreplace 50 51clean: 52 go clean ./... 53 54nuke: 55 go clean -i ./... 56 57gofmt: 58 gofmt -l -s -w . 59 60regenerate: 61 make -C protoc-gen-gogo regenerate 62 make -C gogoproto regenerate 63 make -C proto/test_proto regenerate 64 make -C proto/proto3_proto regenerate 65 make -C jsonpb/jsonpb_test_proto regenerate 66 make -C conformance regenerate 67 make -C protobuf regenerate 68 make -C test regenerate 69 make -C test/example regenerate 70 make -C test/unrecognized regenerate 71 make -C test/group regenerate 72 make -C test/unrecognizedgroup regenerate 73 make -C test/enumstringer regenerate 74 make -C test/unmarshalmerge regenerate 75 make -C test/moredefaults regenerate 76 make -C test/issue8 regenerate 77 make -C test/enumprefix regenerate 78 make -C test/enumcustomname regenerate 79 make -C test/packed regenerate 80 make -C test/protosize regenerate 81 make -C test/tags regenerate 82 make -C test/oneof regenerate 83 make -C test/oneof3 regenerate 84 make -C test/theproto3 regenerate 85 make -C test/mapdefaults regenerate 86 make -C test/mapsproto2 regenerate 87 make -C test/issue42order regenerate 88 make -C proto generate-test-pbs 89 make -C test/importdedup regenerate 90 make -C test/importduplicate regenerate 91 make -C test/custombytesnonstruct regenerate 92 make -C test/required regenerate 93 make -C test/casttype regenerate 94 make -C test/castvalue regenerate 95 make -C vanity/test regenerate 96 make -C test/sizeunderscore regenerate 97 make -C test/issue34 regenerate 98 make -C test/empty-issue70 regenerate 99 make -C test/indeximport-issue72 regenerate 100 make -C test/fuzztests regenerate 101 make -C test/oneofembed regenerate 102 make -C test/asymetric-issue125 regenerate 103 make -C test/filedotname regenerate 104 make -C test/nopackage regenerate 105 make -C test/types regenerate 106 make -C test/proto3extension regenerate 107 make -C test/stdtypes regenerate 108 make -C test/data regenerate 109 make -C test/typedecl regenerate 110 make -C test/issue260 regenerate 111 make -C test/issue261 regenerate 112 make -C test/issue262 regenerate 113 make -C test/issue312 regenerate 114 make -C test/enumdecl regenerate 115 make -C test/typedecl_all regenerate 116 make -C test/enumdecl_all regenerate 117 make -C test/int64support regenerate 118 make -C test/issue322 regenerate 119 make -C test/issue330 regenerate 120 make -C test/importcustom-issue389 regenerate 121 make -C test/merge regenerate 122 make -C test/cachedsize regenerate 123 make -C test/deterministic regenerate 124 make gofmt 125 126tests: 127 go build ./test/enumprefix 128 go test ./... 129 (cd test/stdtypes && make test) 130 131vet: 132 go vet ./... 133 go tool vet --shadow . 134 135errcheck: 136 go get github.com/kisielk/errcheck 137 errcheck ./test/... 138 139drone: 140 sudo apt-get install protobuf-compiler 141 (cd $(GOPATH)/src/github.com/gogo/protobuf && make buildserverall) 142 143testall: 144 go get -u github.com/golang/protobuf/proto 145 make -C protoc-gen-gogo test 146 make -C vanity/test test 147 make -C test/registration test 148 make -C conformance test 149 make -C test/issue427 test 150 make tests 151 152bench: 153 go get golang.org/x/tools/cmd/benchcmp 154 (cd test/mixbench && go build .) 155 ./test/mixbench/mixbench 156 157contributors: 158 git log --format='%aN <%aE>' | sort -fu > CONTRIBUTORS 159 160js: 161ifeq (go1.10, $(findstring go1.10, $(GO_VERSION))) 162 go get -u github.com/gopherjs/gopherjs 163 gopherjs build github.com/gogo/protobuf/protoc-gen-gogo 164endif 165 166update: 167 (cd protobuf && make update) 168