Change clang extra flags behavior

Move the clang extra flags into the *ClangGlobal*flags variables,
instead of adding them to every clang-based module. This means that
they're only applied when !no_default_compiler_flags, like make.

Change-Id: I43b1378d1d932d9aecfd8724a492d0d7716f7631
diff --git a/cc/cc.go b/cc/cc.go
index ce3a464..c8341d4 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -115,13 +115,13 @@
 	pctx.StaticVariable("commonGlobalCppflags", strings.Join(commonGlobalCppflags, " "))
 
 	pctx.StaticVariable("commonClangGlobalCflags",
-		strings.Join(clangFilterUnknownCflags(commonGlobalCflags), " "))
+		strings.Join(append(clangFilterUnknownCflags(commonGlobalCflags), "${clangExtraCflags}"), " "))
 	pctx.StaticVariable("deviceClangGlobalCflags",
-		strings.Join(clangFilterUnknownCflags(deviceGlobalCflags), " "))
+		strings.Join(append(clangFilterUnknownCflags(deviceGlobalCflags), "${clangExtraTargetCflags}"), " "))
 	pctx.StaticVariable("hostClangGlobalCflags",
 		strings.Join(clangFilterUnknownCflags(hostGlobalCflags), " "))
 	pctx.StaticVariable("commonClangGlobalCppflags",
-		strings.Join(clangFilterUnknownCflags(commonGlobalCppflags), " "))
+		strings.Join(append(clangFilterUnknownCflags(commonGlobalCppflags), "${clangExtraCppflags}"), " "))
 
 	// Everything in this list is a crime against abstraction and dependency tracking.
 	// Do not add anything to this list.
@@ -550,12 +550,6 @@
 		flags.ConlyFlags = clangFilterUnknownCflags(flags.ConlyFlags)
 		flags.LdFlags = clangFilterUnknownCflags(flags.LdFlags)
 
-		flags.CFlags = append(flags.CFlags, "${clangExtraCflags}")
-		flags.ConlyFlags = append(flags.ConlyFlags, "${clangExtraConlyflags}")
-		if ctx.Device() {
-			flags.CFlags = append(flags.CFlags, "${clangExtraTargetCflags}")
-		}
-
 		target := "-target " + toolchain.ClangTriple()
 		gccPrefix := "-B" + filepath.Join(toolchain.GccRoot(), toolchain.GccTriple(), "bin")
 
@@ -577,6 +571,8 @@
 				toolchain.ClangCflags(),
 				"${commonClangGlobalCflags}",
 				fmt.Sprintf("${%sClangGlobalCflags}", ctx.HostOrDevice()))
+
+			flags.ConlyFlags = append(flags.ConlyFlags, "${clangExtraConlyflags}")
 		} else {
 			flags.CppFlags = append(flags.CppFlags, "${commonGlobalCppflags}")
 			flags.GlobalFlags = append(flags.GlobalFlags,