VERSION = $(shell git describe --tags) BUILDTIME = $(shell date +%Y.%m.%d_%H%M) all: clean simpleMutexProtoc goimports build ./example modproto: clean withMutex goimports vet build ./example rawproto: clean withoutMutex goimports vet build ./example deleteproto: clean ../autogenpb --proto fruit.proto --package main --delete make build vet: @GO111MODULE=off go vet rawbuild: GO111MODULE=off go build -v build: goimports vet GO111MODULE=off go build -v simpleMutexProtoc: clean ../autogenpb --proto fruit.proto --package main # why does this fail to compile? I'm not sure. maybe someone smart can figure it out # basically, it just trys to return the deleted record but says something # about the RWmutex lock being copied and GO fails to compile # I'm don't grok what is going on. This autogenerated code should # provide as simple as one could hope for automated way to try to debug it though! simpleMutexProtocWithDeleteCopy: clean ../autogenpb --proto fruit.proto --package main --delete simpleMutexGlobal: clean ../autogenpb --proto fruit.proto --package main --mutex=false withMutex: clean ../autogenpb --proto fruit.proto --package main ../autogenpb --proto file.proto --package main ../autogenpb --proto patchset.proto --package main withoutMutex: clean ../autogenpb --proto fruit.proto --package main --mutex=false ../autogenpb --proto file.proto --package main --mutex=false ../autogenpb --proto patchset.proto --package main --mutex=false goimports: goimports -w *.go clean: -rm -f go.* -rm -f *.pb.go -rm -f example