| 
					
				 | 
			
			
				@@ -217,7 +217,7 @@ CC_counters = $(DEFAULT_CC) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 CXX_counters = $(DEFAULT_CXX) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LD_counters = $(DEFAULT_CC) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LDXX_counters = $(DEFAULT_CXX) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-CPPFLAGS_counters = -O2 -DGPR_MU_COUNTERS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+CPPFLAGS_counters = -O2 -DGPR_LOW_LEVEL_COUNTERS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 DEFINES_counters = NDEBUG 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -980,9 +980,6 @@ httpcli_format_request_test: $(BINDIR)/$(CONFIG)/httpcli_format_request_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 httpcli_test: $(BINDIR)/$(CONFIG)/httpcli_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 httpscli_test: $(BINDIR)/$(CONFIG)/httpscli_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 init_test: $(BINDIR)/$(CONFIG)/init_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-internal_api_canary_iomgr_test: $(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-internal_api_canary_support_test: $(BINDIR)/$(CONFIG)/internal_api_canary_support_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-internal_api_canary_transport_test: $(BINDIR)/$(CONFIG)/internal_api_canary_transport_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 invalid_call_argument_test: $(BINDIR)/$(CONFIG)/invalid_call_argument_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 json_fuzzer_test: $(BINDIR)/$(CONFIG)/json_fuzzer_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 json_rewrite: $(BINDIR)/$(CONFIG)/json_rewrite 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1043,7 +1040,9 @@ wakeup_fd_cv_test: $(BINDIR)/$(CONFIG)/wakeup_fd_cv_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 alarm_cpp_test: $(BINDIR)/$(CONFIG)/alarm_cpp_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 async_end2end_test: $(BINDIR)/$(CONFIG)/async_end2end_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 auth_property_iterator_test: $(BINDIR)/$(CONFIG)/auth_property_iterator_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+bm_call_create: $(BINDIR)/$(CONFIG)/bm_call_create 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 bm_closure: $(BINDIR)/$(CONFIG)/bm_closure 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+bm_cq: $(BINDIR)/$(CONFIG)/bm_cq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 bm_fullstack: $(BINDIR)/$(CONFIG)/bm_fullstack 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 channel_arguments_test: $(BINDIR)/$(CONFIG)/channel_arguments_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 channel_filter_test: $(BINDIR)/$(CONFIG)/channel_filter_test 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1072,6 +1071,7 @@ grpc_ruby_plugin: $(BINDIR)/$(CONFIG)/grpc_ruby_plugin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 grpc_tool_test: $(BINDIR)/$(CONFIG)/grpc_tool_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 grpclb_api_test: $(BINDIR)/$(CONFIG)/grpclb_api_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 grpclb_test: $(BINDIR)/$(CONFIG)/grpclb_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+health_service_end2end_test: $(BINDIR)/$(CONFIG)/health_service_end2end_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 http2_client: $(BINDIR)/$(CONFIG)/http2_client 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 hybrid_end2end_test: $(BINDIR)/$(CONFIG)/hybrid_end2end_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 interop_client: $(BINDIR)/$(CONFIG)/interop_client 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1335,9 +1335,6 @@ buildtests_c: privatelibs_c \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/httpcli_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/httpscli_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/init_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $(BINDIR)/$(CONFIG)/internal_api_canary_support_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $(BINDIR)/$(CONFIG)/internal_api_canary_transport_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/invalid_call_argument_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/json_rewrite \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/json_rewrite_test \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1450,7 +1447,9 @@ buildtests_cxx: privatelibs_cxx \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/alarm_cpp_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/async_end2end_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/auth_property_iterator_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $(BINDIR)/$(CONFIG)/bm_call_create \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/bm_closure \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $(BINDIR)/$(CONFIG)/bm_cq \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/bm_fullstack \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/channel_arguments_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/channel_filter_test \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1472,6 +1471,7 @@ buildtests_cxx: privatelibs_cxx \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/grpc_tool_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/grpclb_api_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/grpclb_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $(BINDIR)/$(CONFIG)/health_service_end2end_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/http2_client \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/hybrid_end2end_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/interop_client \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1555,7 +1555,9 @@ buildtests_cxx: privatelibs_cxx \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/alarm_cpp_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/async_end2end_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/auth_property_iterator_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $(BINDIR)/$(CONFIG)/bm_call_create \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/bm_closure \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $(BINDIR)/$(CONFIG)/bm_cq \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/bm_fullstack \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/channel_arguments_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/channel_filter_test \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1577,6 +1579,7 @@ buildtests_cxx: privatelibs_cxx \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/grpc_tool_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/grpclb_api_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/grpclb_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $(BINDIR)/$(CONFIG)/health_service_end2end_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/http2_client \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/hybrid_end2end_test \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(BINDIR)/$(CONFIG)/interop_client \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1860,8 +1863,6 @@ test_c: buildtests_c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 flaky_test_c: buildtests_c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(E) "[RUN]     Testing lb_policies_test" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(Q) $(BINDIR)/$(CONFIG)/lb_policies_test || ( echo test lb_policies_test failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(E) "[RUN]     Testing mlog_test" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) $(BINDIR)/$(CONFIG)/mlog_test || ( echo test mlog_test failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1873,8 +1874,12 @@ test_cxx: buildtests_cxx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) $(BINDIR)/$(CONFIG)/async_end2end_test || ( echo test async_end2end_test failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(E) "[RUN]     Testing auth_property_iterator_test" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) $(BINDIR)/$(CONFIG)/auth_property_iterator_test || ( echo test auth_property_iterator_test failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(E) "[RUN]     Testing bm_call_create" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) $(BINDIR)/$(CONFIG)/bm_call_create || ( echo test bm_call_create failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(E) "[RUN]     Testing bm_closure" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) $(BINDIR)/$(CONFIG)/bm_closure || ( echo test bm_closure failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(E) "[RUN]     Testing bm_cq" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) $(BINDIR)/$(CONFIG)/bm_cq || ( echo test bm_cq failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(E) "[RUN]     Testing bm_fullstack" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) $(BINDIR)/$(CONFIG)/bm_fullstack || ( echo test bm_fullstack failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(E) "[RUN]     Testing channel_arguments_test" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1913,6 +1918,8 @@ test_cxx: buildtests_cxx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) $(BINDIR)/$(CONFIG)/grpclb_api_test || ( echo test grpclb_api_test failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(E) "[RUN]     Testing grpclb_test" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) $(BINDIR)/$(CONFIG)/grpclb_test || ( echo test grpclb_test failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(E) "[RUN]     Testing health_service_end2end_test" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) $(BINDIR)/$(CONFIG)/health_service_end2end_test || ( echo test health_service_end2end_test failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(E) "[RUN]     Testing interop_test" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) $(BINDIR)/$(CONFIG)/interop_test || ( echo test interop_test failed ; exit 1 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(E) "[RUN]     Testing mock_test" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2061,6 +2068,21 @@ $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++_unsecure.pc: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) mkdir -p $(@D) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(Q) echo "$(GRPCXX_UNSECURE_PC_FILE)" | tr , '\n' >$@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifeq ($(NO_PROTOC),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(GENDIR)/src/proto/grpc/health/v1/health.pb.cc: protoc_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc: protoc_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(GENDIR)/src/proto/grpc/health/v1/health.pb.cc: src/proto/grpc/health/v1/health.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(E) "[PROTOC]  Generating protobuf CC file from $<" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) mkdir -p `dirname $@` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc: src/proto/grpc/health/v1/health.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(E) "[GRPC]    Generating gRPC's protobuf service CC file from $<" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) mkdir -p `dirname $@` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ifeq ($(NO_PROTOC),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc: protoc_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc: protoc_dep_error 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3862,6 +3884,10 @@ LIBGRPC++_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/async_generic_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/create_default_thread_pool.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/dynamic_thread_pool.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/default_health_check_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health.pb.c \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health_check_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health_check_service_server_builder_option.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_builder.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_cc.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_context.cc \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3882,9 +3908,11 @@ PUBLIC_HEADERS_CXX += \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/completion_queue.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/create_channel.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/create_channel_posix.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include/grpc++/ext/health_check_service_server_builder_option.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/generic/async_generic_service.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/generic/generic_stub.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/grpc++.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include/grpc++/health_check_service_interface.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/call.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/client_unary_call.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/codegen/core_codegen.h \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4055,6 +4083,10 @@ LIBGRPC++_CRONET_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/async_generic_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/create_default_thread_pool.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/dynamic_thread_pool.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/default_health_check_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health.pb.c \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health_check_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health_check_service_server_builder_option.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_builder.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_cc.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_context.cc \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4258,9 +4290,11 @@ PUBLIC_HEADERS_CXX += \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/completion_queue.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/create_channel.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/create_channel_posix.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include/grpc++/ext/health_check_service_server_builder_option.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/generic/async_generic_service.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/generic/generic_stub.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/grpc++.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include/grpc++/health_check_service_interface.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/call.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/client_unary_call.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/codegen/core_codegen.h \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4593,6 +4627,7 @@ endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LIBGRPC++_TEST_UTIL_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $(GENDIR)/src/proto/grpc/health/v1/health.pb.cc $(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4701,13 +4736,13 @@ ifneq ($(NO_DEPS),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 -include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/cpp/util/byte_buffer_proto_helper.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/cpp/util/create_test_channel.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/cpp/util/subprocess.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/cpp/util/test_credentials_provider.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(GENDIR)/src/proto/grpc/health/v1/health.pb.cc $(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/util/byte_buffer_proto_helper.o: $(GENDIR)/src/proto/grpc/health/v1/health.pb.cc $(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/util/create_test_channel.o: $(GENDIR)/src/proto/grpc/health/v1/health.pb.cc $(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(GENDIR)/src/proto/grpc/health/v1/health.pb.cc $(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/util/subprocess.o: $(GENDIR)/src/proto/grpc/health/v1/health.pb.cc $(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/util/test_credentials_provider.o: $(GENDIR)/src/proto/grpc/health/v1/health.pb.cc $(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(GENDIR)/src/proto/grpc/health/v1/health.pb.cc $(GENDIR)/src/proto/grpc/health/v1/health.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 LIBGRPC++_UNSECURE_SRC = \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4731,6 +4766,10 @@ LIBGRPC++_UNSECURE_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/async_generic_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/create_default_thread_pool.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/dynamic_thread_pool.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/default_health_check_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health.pb.c \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health_check_service.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src/cpp/server/health/health_check_service_server_builder_option.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_builder.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_cc.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     src/cpp/server/server_context.cc \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4751,9 +4790,11 @@ PUBLIC_HEADERS_CXX += \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/completion_queue.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/create_channel.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/create_channel_posix.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include/grpc++/ext/health_check_service_server_builder_option.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/generic/async_generic_service.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/generic/generic_stub.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/grpc++.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include/grpc++/health_check_service_interface.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/call.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/client_unary_call.h \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     include/grpc++/impl/codegen/core_codegen.h \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -10299,102 +10340,6 @@ endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-INTERNAL_API_CANARY_IOMGR_TEST_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test/core/internal_api_canaries/iomgr.c \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-INTERNAL_API_CANARY_IOMGR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_IOMGR_TEST_SRC)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifeq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# You can't build secure targets if you don't have OpenSSL. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test: openssl_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test: $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(E) "[LD]      Linking $@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(Q) mkdir -p `dirname $@` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o:  $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-deps_internal_api_canary_iomgr_test: $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifneq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifneq ($(NO_DEPS),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				--include $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-INTERNAL_API_CANARY_SUPPORT_TEST_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test/core/internal_api_canaries/iomgr.c \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-INTERNAL_API_CANARY_SUPPORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_SUPPORT_TEST_SRC)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifeq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# You can't build secure targets if you don't have OpenSSL. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(BINDIR)/$(CONFIG)/internal_api_canary_support_test: openssl_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(BINDIR)/$(CONFIG)/internal_api_canary_support_test: $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(E) "[LD]      Linking $@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(Q) mkdir -p `dirname $@` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_support_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o:  $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-deps_internal_api_canary_support_test: $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifneq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifneq ($(NO_DEPS),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				--include $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-INTERNAL_API_CANARY_TRANSPORT_TEST_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test/core/internal_api_canaries/iomgr.c \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_TRANSPORT_TEST_SRC)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifeq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# You can't build secure targets if you don't have OpenSSL. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(BINDIR)/$(CONFIG)/internal_api_canary_transport_test: openssl_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(BINDIR)/$(CONFIG)/internal_api_canary_transport_test: $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(E) "[LD]      Linking $@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(Q) mkdir -p `dirname $@` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_transport_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o:  $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-deps_internal_api_canary_transport_test: $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifneq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ifneq ($(NO_DEPS),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				--include $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 INVALID_CALL_ARGUMENT_TEST_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test/core/end2end/invalid_call_argument_test.c \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -12348,6 +12293,49 @@ endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+BM_CALL_CREATE_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test/cpp/microbenchmarks/bm_call_create.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+BM_CALL_CREATE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BM_CALL_CREATE_SRC)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifeq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# You can't build secure targets if you don't have OpenSSL. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/bm_call_create: openssl_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifeq ($(NO_PROTOBUF),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/bm_call_create: protobuf_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/bm_call_create: $(PROTOBUF_DEP) $(BM_CALL_CREATE_OBJS) $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(E) "[LD]      Linking $@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) mkdir -p `dirname $@` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) $(LDXX) $(LDFLAGS) $(BM_CALL_CREATE_OBJS) $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/bm_call_create 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/microbenchmarks/bm_call_create.o:  $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+deps_bm_call_create: $(BM_CALL_CREATE_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifneq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifneq ($(NO_DEPS),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-include $(BM_CALL_CREATE_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 BM_CLOSURE_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test/cpp/microbenchmarks/bm_closure.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -12391,6 +12379,49 @@ endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+BM_CQ_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test/cpp/microbenchmarks/bm_cq.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+BM_CQ_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BM_CQ_SRC)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifeq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# You can't build secure targets if you don't have OpenSSL. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/bm_cq: openssl_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifeq ($(NO_PROTOBUF),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/bm_cq: protobuf_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/bm_cq: $(PROTOBUF_DEP) $(BM_CQ_OBJS) $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(E) "[LD]      Linking $@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) mkdir -p `dirname $@` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) $(LDXX) $(LDFLAGS) $(BM_CQ_OBJS) $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/bm_cq 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/microbenchmarks/bm_cq.o:  $(LIBDIR)/$(CONFIG)/libbenchmark.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+deps_bm_cq: $(BM_CQ_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifneq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifneq ($(NO_DEPS),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-include $(BM_CQ_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 BM_FULLSTACK_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test/cpp/microbenchmarks/bm_fullstack.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13566,6 +13597,49 @@ endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_test.o: $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+HEALTH_SERVICE_END2END_TEST_SRC = \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test/cpp/end2end/health_service_end2end_test.cc \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+HEALTH_SERVICE_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HEALTH_SERVICE_END2END_TEST_SRC)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifeq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# You can't build secure targets if you don't have OpenSSL. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/health_service_end2end_test: openssl_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifeq ($(NO_PROTOBUF),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/health_service_end2end_test: protobuf_dep_error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(BINDIR)/$(CONFIG)/health_service_end2end_test: $(PROTOBUF_DEP) $(HEALTH_SERVICE_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(E) "[LD]      Linking $@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) mkdir -p `dirname $@` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(Q) $(LDXX) $(LDFLAGS) $(HEALTH_SERVICE_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/health_service_end2end_test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$(OBJDIR)/$(CONFIG)/test/cpp/end2end/health_service_end2end_test.o:  $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+deps_health_service_end2end_test: $(HEALTH_SERVICE_END2END_TEST_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifneq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ifneq ($(NO_DEPS),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-include $(HEALTH_SERVICE_END2END_TEST_OBJS:.o=.dep) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ifeq ($(NO_SECURE),true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # You can't build secure targets if you don't have OpenSSL. 
			 |