Golang needs whole packages to be compiled together. Added globbing.

Generalized dependency rule
Added error checking for LANGUAGE variable
pull/3/head
Gary Belvin 10 years ago
parent bbccccb7b3
commit 2bf066e37f
  1. 21
      Makefile

@ -18,7 +18,6 @@ LANGUAGE ?= cpp
# directory is not "/usr/local/include", you need to modify this file.
#
DEPS:= $(shell find google -type f -name '*.proto' | sed 's/proto$$/pb.go/')
FLAGS+= --proto_path=.:/usr/local/include
ifeq ($(LANGUAGE),go)
FLAGS+= --$(LANGUAGE)_out=plugins=grpc:$(OUTPUT)
@ -27,11 +26,25 @@ else
FLAGS+= --plugin=protoc-gen-grpc=/usr/local/bin/grpc_$(LANGUAGE)_plugin
endif
all: $(DEPS)
ifeq ($(LANGUAGE),go)
SUFFIX:= pb.go
endif
ifeq ($(LANGUAGE),cpp)
SUFFIX:= pb.cc
endif
DEPS:= $(shell find . -type f -name '*.proto' | sed "s/proto$$/$(SUFFIX)/")
all: supported_lang $(DEPS)
supported_lang:
ifndef SUFFIX
$(error unsupported language: [$(LANGUAGE)])
endif
%.pb.go: %.proto
%.$(SUFFIX): %.proto
mkdir -p $(OUTPUT)
protoc $(FLAGS) $<
protoc $(FLAGS) $(dir $<)*.proto
clean:
rm $(patsubst %,$(OUTPUT)/%,$(DEPS)) 2> /dev/null

Loading…
Cancel
Save