Remove protoc_plugins, and use a variable.
Files that have dependencies on phony targets are always remade, leading
to much unnecessary compiling of the C++ tests.
diff --git a/templates/Makefile.template b/templates/Makefile.template
index bd49f5a..8cd3805 100644
--- a/templates/Makefile.template
+++ b/templates/Makefile.template
@@ -219,6 +219,13 @@
.SECONDARY = %.pb.h %.pb.cc
+PROTOC_PLUGINS=\
+% for tgt in targets:
+% if tgt.build == 'protoc':
+ bins/$(CONFIG)/${tgt.name}\
+% endif
+% endfor
+
ifeq ($(DEP_MISSING),)
all: static shared\
% for tgt in targets:
@@ -394,14 +401,6 @@
% endfor
-protoc_plugins:\
-% for tgt in targets:
-% if tgt.build == 'protoc':
- bins/$(CONFIG)/${tgt.name}\
-% endif
-% endfor
-
-
buildbenchmarks: privatelibs\
% for tgt in targets:
% if tgt.build == 'benchmark':
@@ -459,7 +458,7 @@
% endfor
% for p in protos:
-gens/${p}.pb.cc: ${p}.proto protoc_plugins
+gens/${p}.pb.cc: ${p}.proto $(PROTOC_PLUGINS)
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $<