• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1###########################################################
2## Standard rules for copying files that are prebuilt
3##
4## Additional inputs from base_rules.make:
5## None.
6##
7###########################################################
8
9include $(BUILD_SYSTEM)/use_lld_setup.mk
10
11ifneq ($(LOCAL_PREBUILT_LIBS),)
12$(call pretty-error,dont use LOCAL_PREBUILT_LIBS anymore)
13endif
14ifneq ($(LOCAL_PREBUILT_EXECUTABLES),)
15$(call pretty-error,dont use LOCAL_PREBUILT_EXECUTABLES anymore)
16endif
17ifneq ($(LOCAL_PREBUILT_JAVA_LIBRARIES),)
18$(call pretty-error,dont use LOCAL_PREBUILT_JAVA_LIBRARIES anymore)
19endif
20
21my_32_64_bit_suffix := $(if $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT),64,32)
22
23ifdef LOCAL_PREBUILT_MODULE_FILE
24  my_prebuilt_src_file := $(LOCAL_PREBUILT_MODULE_FILE)
25else ifdef LOCAL_SRC_FILES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)
26  my_prebuilt_src_file := $(call clean-path,$(LOCAL_PATH)/$(LOCAL_SRC_FILES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)))
27  LOCAL_SRC_FILES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) :=
28else ifdef LOCAL_SRC_FILES_$(my_32_64_bit_suffix)
29  my_prebuilt_src_file := $(call clean-path,$(LOCAL_PATH)/$(LOCAL_SRC_FILES_$(my_32_64_bit_suffix)))
30  LOCAL_SRC_FILES_$(my_32_64_bit_suffix) :=
31else ifdef LOCAL_SRC_FILES
32  my_prebuilt_src_file := $(call clean-path,$(LOCAL_PATH)/$(LOCAL_SRC_FILES))
33  LOCAL_SRC_FILES :=
34else ifdef LOCAL_REPLACE_PREBUILT_APK_INSTALLED
35  # This is handled specially in app_prebuilt_internal.mk
36else
37  $(call pretty-error,No source files specified)
38endif
39
40LOCAL_CHECKED_MODULE := $(my_prebuilt_src_file)
41
42ifneq (,$(LOCAL_APKCERTS_FILE))
43  PACKAGES := $(PACKAGES) $(LOCAL_MODULE)
44  PACKAGES.$(LOCAL_MODULE).APKCERTS_FILE := $(LOCAL_APKCERTS_FILE)
45endif
46
47ifneq (APPS,$(LOCAL_MODULE_CLASS))
48ifdef LOCAL_COMPRESSED_MODULE
49$(error $(LOCAL_MODULE) : LOCAL_COMPRESSED_MODULE can only be defined for module class APPS)
50endif  # LOCAL_COMPRESSED_MODULE
51endif  # APPS
52
53ifeq (APPS,$(LOCAL_MODULE_CLASS))
54  include $(BUILD_SYSTEM)/app_prebuilt_internal.mk
55else ifeq (JAVA_LIBRARIES,$(LOCAL_MODULE_CLASS))
56  include $(BUILD_SYSTEM)/java_prebuilt_internal.mk
57else ifneq ($(filter STATIC_LIBRARIES SHARED_LIBRARIES EXECUTABLES NATIVE_TESTS,$(LOCAL_MODULE_CLASS)),)
58  include $(BUILD_SYSTEM)/cc_prebuilt_internal.mk
59else ifneq ($(filter SCRIPT ETC DATA RENDERSCRIPT_BITCODE,$(LOCAL_MODULE_CLASS)),)
60  include $(BUILD_SYSTEM)/misc_prebuilt_internal.mk
61else
62  $(error $(LOCAL_MODULE) : unexpected LOCAL_MODULE_CLASS for prebuilts: $(LOCAL_MODULE_CLASS))
63endif
64
65$(if $(filter-out $(SOONG_ANDROID_MK),$(LOCAL_MODULE_MAKEFILE)), \
66  $(eval ALL_MODULES.$(my_register_name).IS_PREBUILT_MAKE_MODULE := Y))
67
68$(built_module) : $(LOCAL_ADDITIONAL_DEPENDENCIES)
69
70my_prebuilt_src_file :=
71
72$(if $(my_register_name),$(eval ALL_MODULES.$(my_register_name).MAKE_MODULE_TYPE:=PREBUILT))