Factor out common variables in toolchain template.

Change-Id: If83ff0262574747071720aa512038eb4b47eaf84
diff --git a/build/toolchain/embedded.gni b/build/toolchain/embedded.gni
index 12dcd30..e74fb6f 100644
--- a/build/toolchain/embedded.gni
+++ b/build/toolchain/embedded.gni
@@ -225,73 +225,40 @@
   assert(defined(invoker.platform_name),
          "\"platform_name\" must be defined for ${target_name}.")
 
-  defines = ""
-  cflags = "-fno-builtin -ffreestanding -fpic"
-  ldflags = "--defsym=ORIGIN_ADDRESS=${invoker.origin_address}"
+  extra_defines = ""
+  extra_cflags = "-fno-builtin -ffreestanding -fpic"
+  extra_ldflags = "--defsym=ORIGIN_ADDRESS=${invoker.origin_address}"
   if (defined(invoker.extra_defines)) {
-    defines += " ${invoker.extra_defines}"
+    extra_defines += " ${invoker.extra_defines}"
   }
   if (defined(invoker.extra_cflags)) {
-    cflags += " ${invoker.extra_cflags}"
+    extra_cflags += " ${invoker.extra_cflags}"
   }
   if (defined(invoker.extra_ldflags)) {
-    ldflags += " ${invoker.extra_ldflags}"
+    extra_ldflags += " ${invoker.extra_ldflags}"
   }
+  toolchain_args = {
+    use_platform = true
+    plat_name = invoker.platform_name
+    plat_arch = invoker.arch
+    plat_heap_pages = invoker.heap_pages
+    plat_max_cpus = invoker.max_cpus
+    plat_max_vms = invoker.max_vms
+    if (defined(invoker.toolchain_args)) {
+      forward_variables_from(invoker.toolchain_args, "*")
+    }
+  }
+  tool_prefix = invoker.tool_prefix
 
   embedded_clang_toolchain("${target_name}_clang") {
     target = invoker.target
-    tool_prefix = invoker.tool_prefix
-    extra_defines = defines
-    extra_cflags = cflags
-    extra_ldflags = ldflags
-    toolchain_args = {
-      use_platform = true
-      plat_name = invoker.platform_name
-      plat_arch = invoker.arch
-      plat_heap_pages = invoker.heap_pages
-      plat_max_cpus = invoker.max_cpus
-      plat_max_vms = invoker.max_vms
-      if (defined(invoker.toolchain_args)) {
-        forward_variables_from(invoker.toolchain_args, "*")
-      }
-    }
   }
 
   embedded_clang_bfd_toolchain("${target_name}_clang_bfd") {
     target = invoker.target
-    tool_prefix = invoker.tool_prefix
-    extra_defines = defines
-    extra_cflags = cflags
-    extra_ldflags = ldflags
-    toolchain_args = {
-      use_platform = true
-      plat_name = invoker.platform_name
-      plat_arch = invoker.arch
-      plat_heap_pages = invoker.heap_pages
-      plat_max_cpus = invoker.max_cpus
-      plat_max_vms = invoker.max_vms
-      if (defined(invoker.toolchain_args)) {
-        forward_variables_from(invoker.toolchain_args, "*")
-      }
-    }
   }
 
   embedded_gcc_toolchain("${target_name}_gcc") {
-    tool_prefix = invoker.tool_prefix
-    extra_defines = defines
-    extra_cflags = cflags
-    extra_ldflags = ldflags
-    toolchain_args = {
-      use_platform = true
-      plat_name = invoker.platform_name
-      plat_arch = invoker.arch
-      plat_heap_pages = invoker.heap_pages
-      plat_max_cpus = invoker.max_cpus
-      plat_max_vms = invoker.max_vms
-      if (defined(invoker.toolchain_args)) {
-        forward_variables_from(invoker.toolchain_args, "*")
-      }
-    }
   }
 }