Implement `host_required` and `target_required` properties.

They are counterparts of LOCAL_HOST_REQUIRED_MODULES and
LOCAL_TARGET_REQUIRED_MODULES respectively.

Fixes: 128693436
Test: treehugger, convert cts/hostsidetests/devicepolicy/Android.bp
Change-Id: Id66ffca6edffe18993ac51e8930f1d0e78178249
diff --git a/android/prebuilt_etc_test.go b/android/prebuilt_etc_test.go
index e0ade7e..fbdbc97 100644
--- a/android/prebuilt_etc_test.go
+++ b/android/prebuilt_etc_test.go
@@ -150,13 +150,17 @@
 
 	data := AndroidMkData{}
 	data.Required = append(data.Required, "modA", "moduleB")
+	data.Host_required = append(data.Host_required, "hostModA", "hostModB")
+	data.Target_required = append(data.Target_required, "targetModA")
 
 	expected := map[string]string{
-		"LOCAL_MODULE":                "foo",
-		"LOCAL_MODULE_CLASS":          "ETC",
-		"LOCAL_MODULE_OWNER":          "abc",
-		"LOCAL_INSTALLED_MODULE_STEM": "foo.conf",
-		"LOCAL_REQUIRED_MODULES":      "modA moduleB",
+		"LOCAL_MODULE":                  "foo",
+		"LOCAL_MODULE_CLASS":            "ETC",
+		"LOCAL_MODULE_OWNER":            "abc",
+		"LOCAL_INSTALLED_MODULE_STEM":   "foo.conf",
+		"LOCAL_REQUIRED_MODULES":        "modA moduleB",
+		"LOCAL_HOST_REQUIRED_MODULES":   "hostModA hostModB",
+		"LOCAL_TARGET_REQUIRED_MODULES": "targetModA",
 	}
 
 	mod := ctx.ModuleForTests("foo", "android_arm64_armv8-a_core").Module().(*PrebuiltEtc)