PROTOFILES = $(wildcard *.proto) GO_TARGETS = $(patsubst %.proto,%.pb.go,$(PROTOFILES)) DEBIAN_DEPS = protobuf-compiler protoc-gen-go protobuf-compiler-grpc \ golang-goprotobuf-dev golang-google-genproto-dev \ golang-google-grpc-dev grpc-proto golang-protobuf-extensions-dev .PHONY: all all: $(GO_TARGETS) %.pb.go: %.proto protoc -I=$(PWD) --go_out=$(PWD) --go-grpc_out=. --go-grpc_opt=paths=source_relative $< .PHONY: install-debian-deps install-debian-deps: sudo apt-get install $(DEBIAN_DEPS) .PHONY: uninstall-debian-deps uninstall-debian-deps: sudo apt-get remove $(DEBIAN_DEPS) .PHONY: clean clean: rm -f *.pb.go