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 $<