23 lines
510 B
Makefile

PROTOC ?= $(shell which protoc)
PROTOS := $(shell find -name '*.proto')
PROTO_GEN_PB := $(subst .proto,.pb.go,$(PROTOS))
PROTO_GEN_GRPC := $(subst .proto,_grpc.pb.go,$(PROTOS))
GO_SRC := $(shell find -name '*.go')
.PHONY: all
all: build
.PHONY: build
build: bin/signal-server
bin/%: $(GO_SRC) $(PROTO_GEN_PB) $(PROTO_GEN_GRPC)
go build -o $@ ./$<
%_grpc.pb.go: %.proto
protoc --go-grpc_out=. --go-grpc_opt=paths=source_relative $<
%.pb.go: %.proto
protoc --go_out=. --go_opt=paths=source_relative $<