Save makefile var clobbering
diff --git a/Makefile b/Makefile
index 4aacb99..f5d45f5 100644
--- a/Makefile
+++ b/Makefile
@@ -178,6 +178,10 @@
 DEFINES += $(DEFINES_$(CONFIG)) INSTALL_PREFIX=\"$(prefix)\"
 LDFLAGS += $(LDFLAGS_$(CONFIG))
 
+ifdef EXTRA_DEFINES
+DEFINES += EXTRA_DEFINES
+endif
+
 CFLAGS += -std=c89 -pedantic
 ifeq ($(HAS_CXX11),true)
 CXXFLAGS += -std=c++11
diff --git a/templates/Makefile.template b/templates/Makefile.template
index caac503..0413f19 100644
--- a/templates/Makefile.template
+++ b/templates/Makefile.template
@@ -195,6 +195,10 @@
 DEFINES += $(DEFINES_$(CONFIG)) INSTALL_PREFIX=\"$(prefix)\"
 LDFLAGS += $(LDFLAGS_$(CONFIG))
 
+ifdef EXTRA_DEFINES
+DEFINES += EXTRA_DEFINES
+endif
+
 CFLAGS += -std=c89 -pedantic
 ifeq ($(HAS_CXX11),true)
 CXXFLAGS += -std=c++11
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index fddd8eb..4e0ff85 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -201,7 +201,7 @@
 languages = set(_LANGUAGES[l] for l in args.language)
 build_steps = [jobset.JobSpec(['make',
                                '-j', '%d' % (multiprocessing.cpu_count() + 1),
-                               'DEFINES=GRPC_TEST_SLOWDOWN_MACHINE_FACTOR=%f' % args.slowdown,
+                               'EXTRA_DEFINES=GRPC_TEST_SLOWDOWN_MACHINE_FACTOR=%f' % args.slowdown,
                                'CONFIG=%s' % cfg] + list(set(
                                    itertools.chain.from_iterable(
                                        l.make_targets() for l in languages))))