Revert "Support per-module MakeVars"

This reverts commit 2019658b86efa7c3ff1ad3853e408cafb32c2953.

Reason for revert: broke builds where makefiles were using M4 without depending upon it

Change-Id: I18304246e7a8a8f8c2620dd2c65ed77acd256be2
diff --git a/android/filegroup.go b/android/filegroup.go
index 68311e3..ec522fc 100644
--- a/android/filegroup.go
+++ b/android/filegroup.go
@@ -15,7 +15,9 @@
 package android
 
 import (
+	"io"
 	"strings"
+	"text/template"
 )
 
 func init() {
@@ -69,8 +71,23 @@
 	return append(Paths{}, fg.srcs...)
 }
 
-func (fg *fileGroup) MakeVars(ctx MakeVarsModuleContext) {
-	if makeVar := String(fg.properties.Export_to_make_var); makeVar != "" {
-		ctx.StrictRaw(makeVar, strings.Join(fg.srcs.Strings(), " "))
+var androidMkTemplate = template.Must(template.New("filegroup").Parse(`
+ifdef {{.makeVar}}
+  $(error variable {{.makeVar}} set by soong module is already set in make)
+endif
+{{.makeVar}} := {{.value}}
+.KATI_READONLY := {{.makeVar}}
+`))
+
+func (fg *fileGroup) AndroidMk() AndroidMkData {
+	return AndroidMkData{
+		Custom: func(w io.Writer, name, prefix, moduleDir string, data AndroidMkData) {
+			if makeVar := String(fg.properties.Export_to_make_var); makeVar != "" {
+				androidMkTemplate.Execute(w, map[string]string{
+					"makeVar": makeVar,
+					"value":   strings.Join(fg.srcs.Strings(), " "),
+				})
+			}
+		},
 	}
 }