NOTICE file only module

To pick up a NOTICE file in LOCAL_PATH and attach it to
/system/lib/libfoo.so, use the following syntax:

include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := NOTICE_FILES
LOCAL_INSTALLED_MODULE := $(PRODUCT_OUT)/system/lib/libfoo.so
include $(BUILD_NOTICE_FILE)

Bug: 7460213
Change-Id: Ie692be72deab37be04d1b578578c131a0885a090
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 8de582e..76c059b 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -34,11 +34,11 @@
   ifneq ($(LOCAL_IS_HOST_MODULE),true)
     $(error $(LOCAL_PATH): LOCAL_IS_HOST_MODULE must be "true" or empty, not "$(LOCAL_IS_HOST_MODULE)")
   endif
-  my_prefix:=HOST_
-  my_host:=host-
+  my_prefix := HOST_
+  my_host := host-
 else
-  my_prefix:=TARGET_
-  my_host:=
+  my_prefix := TARGET_
+  my_host :=
 endif
 
 ###########################################################
@@ -582,6 +582,6 @@
 ## NOTICE files
 ###########################################################
 
-include $(BUILD_SYSTEM)/notice_files.mk
+include $(BUILD_NOTICE_FILE)
 
 #:vi noexpandtab
diff --git a/core/config.mk b/core/config.mk
index 0b505f5..61f72d2 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -79,6 +79,7 @@
 BUILD_COPY_HEADERS := $(BUILD_SYSTEM)/copy_headers.mk
 BUILD_NATIVE_TEST := $(BUILD_SYSTEM)/native_test.mk
 BUILD_HOST_NATIVE_TEST := $(BUILD_SYSTEM)/host_native_test.mk
+BUILD_NOTICE_FILE := $(BUILD_SYSTEM)/notice_files.mk
 
 -include cts/build/config.mk
 
diff --git a/core/droiddoc.mk b/core/droiddoc.mk
index 9f42933..88031ba 100644
--- a/core/droiddoc.mk
+++ b/core/droiddoc.mk
@@ -22,9 +22,9 @@
 
 LOCAL_IS_HOST_MODULE := $(call true-or-empty,$(LOCAL_IS_HOST_MODULE))
 ifeq ($(LOCAL_IS_HOST_MODULE),true)
-my_prefix:=HOST_
+my_prefix := HOST_
 else
-my_prefix:=TARGET_
+my_prefix := TARGET_
 endif
 
 LOCAL_MODULE_CLASS := $(strip $(LOCAL_MODULE_CLASS))
diff --git a/core/notice_files.mk b/core/notice_files.mk
index 2840e60..2c0a3d3 100644
--- a/core/notice_files.mk
+++ b/core/notice_files.mk
@@ -9,6 +9,16 @@
   notice_file :=
 endif
 
+ifeq ($(LOCAL_MODULE_CLASS),NOTICE_FILES)
+# If this is a NOTICE-only module, we don't include base_rule.mk,
+# so my_prefix is not set at this point.
+ifeq ($(LOCAL_IS_HOST_MODULE),true)
+  my_prefix := HOST_
+else
+  my_prefix := TARGET_
+endif
+endif
+
 ifdef notice_file
 
 # This relies on the name of the directory in PRODUCT_OUT matching where
diff --git a/core/prebuilt.mk b/core/prebuilt.mk
index f59a17b..05fe758 100644
--- a/core/prebuilt.mk
+++ b/core/prebuilt.mk
@@ -17,9 +17,9 @@
 endif
 
 ifdef LOCAL_IS_HOST_MODULE
-  my_prefix:=HOST_
+  my_prefix := HOST_
 else
-  my_prefix:=TARGET_
+  my_prefix := TARGET_
 endif
 ifeq (SHARED_LIBRARIES,$(LOCAL_MODULE_CLASS))
   # Put the built targets of all shared libraries in a common directory