The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 1 | ########################################################### |
| 2 | ## Track NOTICE files |
| 3 | ########################################################### |
Dan Willemsen | 3bf15e7 | 2016-07-25 16:03:53 -0700 | [diff] [blame] | 4 | $(call record-module-type,NOTICE_FILE) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 5 | |
Narayan Kamath | 76c7d68 | 2015-12-22 14:34:09 +0000 | [diff] [blame] | 6 | ifneq ($(LOCAL_NOTICE_FILE),) |
| 7 | notice_file:=$(strip $(LOCAL_NOTICE_FILE)) |
| 8 | else |
Bob Badour | 9da828c | 2020-02-13 12:37:33 -0800 | [diff] [blame] | 9 | notice_file:=$(strip $(wildcard $(LOCAL_PATH)/LICENSE $(LOCAL_PATH)/LICENCE $(LOCAL_PATH)/NOTICE)) |
Narayan Kamath | 76c7d68 | 2015-12-22 14:34:09 +0000 | [diff] [blame] | 10 | endif |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 11 | |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 12 | ifneq (,$(strip $(LOCAL_LICENSE_PACKAGE_NAME))) |
| 13 | license_package_name:=$(strip $(LOCAL_LICENSE_PACKAGE_NAME)) |
| 14 | else ifdef my_register_name |
| 15 | license_package_name:=$(my_register_name) |
| 16 | else |
| 17 | license_package_name:=$(strip $(LOCAL_MODULE)) |
| 18 | endif |
| 19 | |
| 20 | ifneq (,$(strip $(LOCAL_LICENSE_INSTALL_MAP))) |
| 21 | install_map:=$(strip $(LOCAL_LICENSE_INSTALL_MAP)) |
| 22 | else |
| 23 | install_map:= |
| 24 | endif |
| 25 | |
| 26 | ifneq (,$(strip $(LOCAL_LICENSE_KINDS))) |
| 27 | license_kinds:=$(strip $(LOCAL_LICENSE_KINDS)) |
| 28 | else |
| 29 | license_kinds:=legacy_by_exception_only |
| 30 | endif |
| 31 | |
| 32 | ifneq (,$(strip $(LOCAL_LICENSE_CONDITIONS))) |
| 33 | license_conditions:=$(strip $(LOCAL_LICENSE_CONDITIONS)) |
| 34 | else |
| 35 | license_conditions:=by_exception_only |
| 36 | endif |
| 37 | |
Torne (Richard Coles) | 63afdc1 | 2012-10-25 15:49:39 +0100 | [diff] [blame] | 38 | ifeq ($(LOCAL_MODULE_CLASS),GYP) |
| 39 | # We ignore NOTICE files for modules of type GYP. |
Steve Block | f55aeb0 | 2012-06-27 01:07:19 +0100 | [diff] [blame] | 40 | notice_file := |
| 41 | endif |
| 42 | |
John Muir | 58d96b1 | 2018-04-11 11:42:26 -0700 | [diff] [blame] | 43 | ifeq ($(LOCAL_MODULE_CLASS),FAKE) |
| 44 | # We ignore NOTICE files for modules of type FAKE. |
| 45 | notice_file := |
| 46 | endif |
| 47 | |
Dan Willemsen | 2be5594 | 2017-04-03 16:06:00 -0700 | [diff] [blame] | 48 | # Soong generates stub libraries that don't need NOTICE files |
| 49 | ifdef LOCAL_NO_NOTICE_FILE |
| 50 | ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK)) |
| 51 | $(call pretty-error,LOCAL_NO_NOTICE_FILE should not be used by Android.mk files) |
| 52 | endif |
| 53 | notice_file := |
| 54 | endif |
| 55 | |
Ying Wang | 13d6950 | 2012-11-01 17:22:33 -0700 | [diff] [blame] | 56 | ifeq ($(LOCAL_MODULE_CLASS),NOTICE_FILES) |
| 57 | # If this is a NOTICE-only module, we don't include base_rule.mk, |
| 58 | # so my_prefix is not set at this point. |
| 59 | ifeq ($(LOCAL_IS_HOST_MODULE),true) |
| 60 | my_prefix := HOST_ |
Dan Willemsen | 057aaea | 2015-08-14 12:59:50 -0700 | [diff] [blame] | 61 | LOCAL_HOST_PREFIX := |
Ying Wang | 13d6950 | 2012-11-01 17:22:33 -0700 | [diff] [blame] | 62 | else |
| 63 | my_prefix := TARGET_ |
| 64 | endif |
| 65 | endif |
| 66 | |
Jaewoong Jung | dca3186 | 2019-04-03 08:59:49 -0700 | [diff] [blame] | 67 | installed_notice_file := |
| 68 | |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 69 | is_container:=$(strip $(LOCAL_MODULE_IS_CONTAINER)) |
| 70 | ifeq (,$(is_container)) |
| 71 | ifneq (,$(strip $(filter %.zip %.tar %.tgz %.tar.gz %.apk %.img %.srcszip %.apex, $(LOCAL_BUILT_MODULE)))) |
| 72 | is_container:=true |
| 73 | else |
| 74 | is_container:=false |
| 75 | endif |
| 76 | else ifneq (,$(strip $(filter-out true false,$(is_container)))) |
| 77 | $(error Unrecognized value '$(is_container)' for LOCAL_MODULE_IS_CONTAINER) |
| 78 | endif |
| 79 | |
| 80 | ifeq (true,$(is_container)) |
| 81 | # Include shared libraries' notices for "container" types, but not for binaries etc. |
| 82 | notice_deps := \ |
Bob Badour | 3412a07 | 2021-02-18 17:17:49 -0800 | [diff] [blame] | 83 | $(strip \ |
Bob Badour | 879cfa8 | 2021-04-15 10:41:38 -0700 | [diff] [blame] | 84 | $(foreach d, \ |
| 85 | $(LOCAL_REQUIRED_MODULES) \ |
| 86 | $(LOCAL_STATIC_LIBRARIES) \ |
| 87 | $(LOCAL_WHOLE_STATIC_LIBRARIES) \ |
| 88 | $(LOCAL_SHARED_LIBRARIES) \ |
| 89 | $(LOCAL_DYLIB_LIBRARIES) \ |
| 90 | $(LOCAL_RLIB_LIBRARIES) \ |
| 91 | $(LOCAL_PROC_MACRO_LIBRARIES) \ |
| 92 | $(LOCAL_HEADER_LIBRARIES) \ |
| 93 | $(LOCAL_STATIC_JAVA_LIBRARIES) \ |
| 94 | $(LOCAL_JAVA_LIBRARIES) \ |
| 95 | $(LOCAL_JNI_SHARED_LIBRARIES) \ |
| 96 | ,$(subst :,_,$(d)):static \ |
| 97 | ) \ |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 98 | ) |
| 99 | else |
| 100 | notice_deps := \ |
Bob Badour | 3412a07 | 2021-02-18 17:17:49 -0800 | [diff] [blame] | 101 | $(strip \ |
Bob Badour | 879cfa8 | 2021-04-15 10:41:38 -0700 | [diff] [blame] | 102 | $(foreach d, \ |
| 103 | $(LOCAL_REQUIRED_MODULES) \ |
| 104 | $(LOCAL_STATIC_LIBRARIES) \ |
| 105 | $(LOCAL_WHOLE_STATIC_LIBRARIES) \ |
| 106 | $(LOCAL_RLIB_LIBRARIES) \ |
| 107 | $(LOCAL_PROC_MACRO_LIBRARIES) \ |
| 108 | $(LOCAL_HEADER_LIBRARIES) \ |
| 109 | $(LOCAL_STATIC_JAVA_LIBRARIES) \ |
| 110 | ,$(subst :,_,$(d)):static \ |
| 111 | )$(foreach d, \ |
| 112 | $(LOCAL_SHARED_LIBRARIES) \ |
| 113 | $(LOCAL_DYLIB_LIBRARIES) \ |
| 114 | $(LOCAL_JAVA_LIBRARIES) \ |
| 115 | $(LOCAL_JNI_SHARED_LIBRARIES) \ |
| 116 | ,$(subst :,_,$(d)):dynamic \ |
| 117 | ) \ |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 118 | ) |
| 119 | endif |
| 120 | ifeq ($(LOCAL_IS_HOST_MODULE),true) |
Bob Badour | 879cfa8 | 2021-04-15 10:41:38 -0700 | [diff] [blame] | 121 | notice_deps := $(strip $(notice_deps) $(foreach d,$(LOCAL_HOST_REQUIRED_MODULES),$(subst :,_,$(d)):static)) |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 122 | else |
Bob Badour | 879cfa8 | 2021-04-15 10:41:38 -0700 | [diff] [blame] | 123 | notice_deps := $(strip $(notice_deps) $(foreach d,$(LOCAL_TARGET_REQUIRED_MODULES),$(subst :,_,$(d)):static)) |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 124 | endif |
| 125 | |
Bob Badour | 879cfa8 | 2021-04-15 10:41:38 -0700 | [diff] [blame] | 126 | local_path := $(LOCAL_PATH) |
| 127 | |
Colin Cross | 52a0c97 | 2021-12-03 22:46:20 +0000 | [diff] [blame] | 128 | |
| 129 | module_license_metadata := |
| 130 | |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 131 | ifdef my_register_name |
Colin Cross | 52a0c97 | 2021-12-03 22:46:20 +0000 | [diff] [blame] | 132 | module_license_metadata := $(call local-intermediates-dir)/$(my_register_name).meta_lic |
| 133 | |
| 134 | $(foreach target,$(ALL_MODULES.$(my_register_name).BUILT) $(ALL_MODULES.$(my_register_name).INSTALLED),\ |
| 135 | $(eval ALL_TARGETS.$(target).META_LIC := $(module_license_metadata))) |
| 136 | |
| 137 | ALL_MODULES.$(my_register_name).META_LIC := $(strip $(ALL_MODULES.$(my_register_name).META_LIC) $(module_license_metadata)) |
| 138 | |
Colin Cross | 71d9919 | 2021-12-10 23:05:02 +0000 | [diff] [blame^] | 139 | ifdef LOCAL_SOONG_LICENSE_METADATA |
| 140 | # Soong modules have already produced a license metadata file, copy it to where Make expects it. |
| 141 | $(eval $(call copy-one-file, $(LOCAL_SOONG_LICENSE_METADATA), $(module_license_metadata))) |
| 142 | else |
| 143 | # Make modules don't have enough information to produce a license metadata rule until after fix-notice-deps |
| 144 | # has been called, store the necessary information until later. |
| 145 | ALL_MODULES.$(my_register_name).DELAYED_META_LIC := $(strip $(ALL_MODULES.$(my_register_name).DELAYED_META_LIC) $(module_license_metadata)) |
| 146 | ALL_MODULES.$(my_register_name).LICENSE_PACKAGE_NAME := $(strip $(license_package_name)) |
| 147 | ALL_MODULES.$(my_register_name).MODULE_TYPE := $(strip $(ALL_MODULES.$(my_register_name).MODULE_TYPE) $(LOCAL_MODULE_TYPE)) |
| 148 | ALL_MODULES.$(my_register_name).MODULE_CLASS := $(strip $(ALL_MODULES.$(my_register_name).MODULE_CLASS) $(LOCAL_MODULE_CLASS)) |
| 149 | ALL_MODULES.$(my_register_name).LICENSE_KINDS := $(ALL_MODULES.$(my_register_name).LICENSE_KINDS) $(license_kinds) |
| 150 | ALL_MODULES.$(my_register_name).LICENSE_CONDITIONS := $(ALL_MODULES.$(my_register_name).LICENSE_CONDITIONS) $(license_conditions) |
| 151 | ALL_MODULES.$(my_register_name).LICENSE_INSTALL_MAP := $(ALL_MODULES.$(my_register_name).LICENSE_INSTALL_MAP) $(install_map) |
| 152 | ALL_MODULES.$(my_register_name).NOTICE_DEPS := $(ALL_MODULES.$(my_register_name).NOTICE_DEPS) $(notice_deps) |
| 153 | ALL_MODULES.$(my_register_name).IS_CONTAINER := $(strip $(filter-out false,$(ALL_MODULES.$(my_register_name).IS_CONTAINER) $(is_container))) |
| 154 | ALL_MODULES.$(my_register_name).PATH := $(strip $(ALL_MODULES.$(my_register_name).PATH) $(local_path)) |
| 155 | endif |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 156 | endif |
| 157 | |
David 'Digit' Turner | 3e0e611 | 2011-03-29 14:27:27 +0200 | [diff] [blame] | 158 | ifdef notice_file |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 159 | |
Dan Willemsen | 6493118 | 2018-06-17 21:47:18 -0700 | [diff] [blame] | 160 | ifdef my_register_name |
Bob Badour | 3412a07 | 2021-02-18 17:17:49 -0800 | [diff] [blame] | 161 | ALL_MODULES.$(my_register_name).NOTICES := $(ALL_MODULES.$(my_register_name).NOTICES) $(notice_file) |
Dan Willemsen | 6493118 | 2018-06-17 21:47:18 -0700 | [diff] [blame] | 162 | endif |
| 163 | |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 164 | # This relies on the name of the directory in PRODUCT_OUT matching where |
| 165 | # it's installed on the target - i.e. system, data, etc. This does |
| 166 | # not work for root and isn't exact, but it's probably good enough for |
| 167 | # compliance. |
| 168 | # Includes the leading slash |
| 169 | ifdef LOCAL_INSTALLED_MODULE |
Dan Willemsen | e0bba6f | 2016-12-09 21:15:41 -0800 | [diff] [blame] | 170 | module_installed_filename := $(patsubst $(PRODUCT_OUT)/%,%,$(LOCAL_INSTALLED_MODULE)) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 171 | else |
| 172 | # This module isn't installable |
Ivan Lozano | d62e712 | 2019-08-27 11:23:35 -0700 | [diff] [blame] | 173 | ifneq ($(filter STATIC_LIBRARIES RLIB_LIBRARIES PROC_MACRO_LIBRARIES HEADER_LIBRARIES,$(LOCAL_MODULE_CLASS)),) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 174 | # Stick the static libraries with the dynamic libraries. |
| 175 | # We can't use xxx_OUT_STATIC_LIBRARIES because it points into |
| 176 | # device-obj or host-obj. |
| 177 | module_installed_filename := \ |
Dan Willemsen | e0bba6f | 2016-12-09 21:15:41 -0800 | [diff] [blame] | 178 | $(patsubst $(PRODUCT_OUT)/%,%,$($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_SHARED_LIBRARIES))/$(notdir $(LOCAL_BUILT_MODULE)) |
Jooyung Han | 9340a67 | 2019-05-14 16:44:52 +0900 | [diff] [blame] | 179 | else ifeq ($(LOCAL_MODULE_CLASS),SHARED_LIBRARIES) |
| 180 | # Shared modules may be uninstallable(e.g. TARGET_SKIP_CURRENT_VNDK=true) |
| 181 | module_installed_filename := |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 182 | else |
| 183 | ifeq ($(LOCAL_MODULE_CLASS),JAVA_LIBRARIES) |
| 184 | # Stick the static java libraries with the regular java libraries. |
Joe Onorato | 6819256 | 2009-04-13 12:51:43 -0400 | [diff] [blame] | 185 | module_leaf := $(notdir $(LOCAL_BUILT_MODULE)) |
| 186 | # javalib.jar is the default name for the build module (and isn't meaningful) |
| 187 | # If that's what we have, substitute the module name instead. These files |
| 188 | # aren't included on the device, so this name is synthetic anyway. |
Jiyong Park | e12c862 | 2019-10-29 18:25:22 +0900 | [diff] [blame] | 189 | # Extra path "static" is added to try to avoid name conflict between the notice file of |
| 190 | # this 'uninstallable' Java module and the notice file for another 'installable' Java module |
| 191 | # whose stem is the same as this module's name. |
Colin Cross | a6bc3a8 | 2017-09-27 14:28:41 -0700 | [diff] [blame] | 192 | ifneq ($(filter javalib.jar,$(module_leaf)),) |
Jiyong Park | e12c862 | 2019-10-29 18:25:22 +0900 | [diff] [blame] | 193 | module_leaf := static/$(LOCAL_MODULE).jar |
Joe Onorato | 6819256 | 2009-04-13 12:51:43 -0400 | [diff] [blame] | 194 | endif |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 195 | module_installed_filename := \ |
Dan Willemsen | e0bba6f | 2016-12-09 21:15:41 -0800 | [diff] [blame] | 196 | $(patsubst $(PRODUCT_OUT)/%,%,$($(my_prefix)OUT_JAVA_LIBRARIES))/$(module_leaf) |
Jesse Hall | a16690c | 2020-10-05 19:13:42 -0700 | [diff] [blame] | 197 | else ifneq ($(filter ETC DATA,$(LOCAL_MODULE_CLASS)),) |
| 198 | # ETC and DATA modules may be uninstallable, yet still have a NOTICE file. |
| 199 | # e.g. apex components |
Jaewoong Jung | dca3186 | 2019-04-03 08:59:49 -0700 | [diff] [blame] | 200 | module_installed_filename := |
Colin Cross | e0c5e44 | 2020-04-07 16:50:32 +0000 | [diff] [blame] | 201 | else ifneq (,$(and $(filter %.sdk,$(LOCAL_MODULE)),$(filter $(patsubst %.sdk,%,$(LOCAL_MODULE)),$(SOONG_SDK_VARIANT_MODULES)))) |
| 202 | # Soong produces uninstallable *.sdk shared libraries for embedding in APKs. |
| 203 | module_installed_filename := \ |
| 204 | $(patsubst $(PRODUCT_OUT)/%,%,$($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_SHARED_LIBRARIES))/$(notdir $(LOCAL_BUILT_MODULE)) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 205 | endif # JAVA_LIBRARIES |
| 206 | endif # STATIC_LIBRARIES |
| 207 | endif |
| 208 | |
Jaewoong Jung | dca3186 | 2019-04-03 08:59:49 -0700 | [diff] [blame] | 209 | ifdef module_installed_filename |
| 210 | |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 211 | # In case it's actually a host file |
Dan Willemsen | e0bba6f | 2016-12-09 21:15:41 -0800 | [diff] [blame] | 212 | module_installed_filename := $(patsubst $(HOST_OUT)/%,%,$(module_installed_filename)) |
| 213 | module_installed_filename := $(patsubst $(HOST_CROSS_OUT)/%,%,$(module_installed_filename)) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 214 | |
| 215 | installed_notice_file := $($(my_prefix)OUT_NOTICE_FILES)/src/$(module_installed_filename).txt |
| 216 | |
Colin Cross | 52a0c97 | 2021-12-03 22:46:20 +0000 | [diff] [blame] | 217 | $(installed_notice_file): $(module_license_metadata) |
| 218 | |
Bob Badour | 21bd34f | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 219 | ifdef my_register_name |
Bob Badour | 3412a07 | 2021-02-18 17:17:49 -0800 | [diff] [blame] | 220 | ALL_MODULES.$(my_register_name).INSTALLED_NOTICE_FILE := $(ALL_MODULES.$(my_register_name).INSTALLED_NOTICE_FILE) $(installed_notice_file) |
| 221 | ALL_MODULES.$(my_register_name).MODULE_INSTALLED_FILENAMES := $(ALL_MODULES.$(my_register_name).MODULE_INSTALLED_FILENAMES) $(module_installed_filename) |
| 222 | INSTALLED_NOTICE_FILES.$(installed_notice_file).MODULE := $(my_register_name) |
| 223 | else |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 224 | $(installed_notice_file): PRIVATE_INSTALLED_MODULE := $(module_installed_filename) |
Bob Badour | 879cfa8 | 2021-04-15 10:41:38 -0700 | [diff] [blame] | 225 | $(installed_notice_file) : PRIVATE_NOTICES := $(sort $(foreach n,$(notice_file),$(if $(filter %:%,$(n)), $(call word-colon,1,$(n)), $(n)))) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 226 | |
Bob Badour | 879cfa8 | 2021-04-15 10:41:38 -0700 | [diff] [blame] | 227 | $(installed_notice_file): $(foreach n,$(notice_file),$(if $(filter %:%,$(n)), $(call word-colon,1,$(n)), $(n))) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 228 | @echo Notice file: $< -- $@ |
| 229 | $(hide) mkdir -p $(dir $@) |
Bob Badour | 7a95820 | 2021-01-07 03:34:31 +0000 | [diff] [blame] | 230 | $(hide) awk 'FNR==1 && NR > 1 {print "\n"} {print}' $(PRIVATE_NOTICES) > $@ |
Bob Badour | 3412a07 | 2021-02-18 17:17:49 -0800 | [diff] [blame] | 231 | endif |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 232 | |
| 233 | ifdef LOCAL_INSTALLED_MODULE |
| 234 | # Make LOCAL_INSTALLED_MODULE depend on NOTICE files if they exist |
| 235 | # libraries so they get installed along with it. Make it an order-only |
| 236 | # dependency so we don't re-install a module when the NOTICE changes. |
| 237 | $(LOCAL_INSTALLED_MODULE): | $(installed_notice_file) |
| 238 | endif |
| 239 | |
Ying Wang | 62c81f8 | 2013-08-22 20:02:03 -0700 | [diff] [blame] | 240 | # To facilitate collecting NOTICE files for apps_only build, |
| 241 | # we install the NOTICE file even if a module gets built but not installed, |
| 242 | # because shared jni libraries won't be installed to the system image. |
| 243 | ifdef TARGET_BUILD_APPS |
| 244 | # for static Java libraries, we don't need to even build LOCAL_BUILT_MODULE, |
| 245 | # but just javalib.jar in the common intermediate dir. |
| 246 | ifeq ($(LOCAL_MODULE_CLASS),JAVA_LIBRARIES) |
| 247 | $(intermediates.COMMON)/javalib.jar : | $(installed_notice_file) |
| 248 | else |
| 249 | $(LOCAL_BUILT_MODULE): | $(installed_notice_file) |
| 250 | endif # JAVA_LIBRARIES |
| 251 | endif # TARGET_BUILD_APPS |
| 252 | |
Jaewoong Jung | dca3186 | 2019-04-03 08:59:49 -0700 | [diff] [blame] | 253 | endif # module_installed_filename |
| 254 | endif # notice_file |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 255 | |
| 256 | # Create a predictable, phony target to build this notice file. |
| 257 | # Define it even if the notice file doesn't exist so that other |
| 258 | # modules can depend on it. |
| 259 | notice_target := NOTICE-$(if \ |
Jaewoong Jung | e8cb195 | 2018-11-08 16:53:02 -0800 | [diff] [blame] | 260 | $(LOCAL_IS_HOST_MODULE),HOST$(if $(my_host_cross),_CROSS,),TARGET)-$(LOCAL_MODULE_CLASS)-$(LOCAL_MODULE) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 261 | .PHONY: $(notice_target) |
| 262 | $(notice_target): $(installed_notice_file) |