blob: 839e14fa1987568f50e3c9cd2d16e89ff827b530 [file] [log] [blame]
The Android Open Source Project88b60792009-03-03 19:28:42 -08001###########################################################
2## Standard rules for copying files that are prebuilt
3##
4## Additional inputs from base_rules.make:
5## None.
Doug Zongker1046d202009-08-06 13:02:19 -07006##
The Android Open Source Project88b60792009-03-03 19:28:42 -08007###########################################################
Dan Willemsen3bf15e72016-07-25 16:03:53 -07008$(call record-module-type,PREBUILT)
The Android Open Source Project88b60792009-03-03 19:28:42 -08009
Ying Wangc36b4502011-09-15 12:00:52 -070010ifdef LOCAL_IS_HOST_MODULE
Ying Wang6feb6d52014-04-17 10:03:35 -070011 my_prefix := HOST_
Dan Willemsen057aaea2015-08-14 12:59:50 -070012 LOCAL_HOST_PREFIX :=
Ying Wang6feb6d52014-04-17 10:03:35 -070013else
14 my_prefix := TARGET_
Ying Wang87538e42016-03-16 19:53:19 -070015
16 ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
Dan Willemsenb40d9ec2016-05-31 13:59:38 -070017 # Only support prebuilt shared and static libraries for translated arch
Dan Willemsend79dde62017-01-17 14:19:50 -080018 ifeq ($(filter SHARED_LIBRARIES STATIC_LIBRARIES NATIVE_TESTS,$(LOCAL_MODULE_CLASS)),)
Dan Willemsenb40d9ec2016-05-31 13:59:38 -070019 LOCAL_MULTILIB := first
20 endif
Ying Wang87538e42016-03-16 19:53:19 -070021 endif
Ying Wang6feb6d52014-04-17 10:03:35 -070022endif
Colin Crosse6e48f62014-03-21 12:29:32 -070023
24include $(BUILD_SYSTEM)/multilib.mk
25
Ying Wang34d5f1b2014-05-16 10:38:43 -070026my_skip_non_preferred_arch :=
Colin Crosse6e48f62014-03-21 12:29:32 -070027
28# check if first arch is supported
Ying Wang85f24a42014-10-21 18:34:30 -070029LOCAL_2ND_ARCH_VAR_PREFIX :=
Colin Crosse18cb932014-02-13 15:04:18 -080030include $(BUILD_SYSTEM)/module_arch_supported.mk
31ifeq ($(my_module_arch_supported),true)
Colin Crosse6e48f62014-03-21 12:29:32 -070032# first arch is supported
Colin Crosse18cb932014-02-13 15:04:18 -080033include $(BUILD_SYSTEM)/prebuilt_internal.mk
Ying Wang34d5f1b2014-05-16 10:38:43 -070034ifneq ($(my_module_multilib),both)
35my_skip_non_preferred_arch := true
36endif # $(my_module_multilib)
Ying Wanga11cf4d2014-12-01 15:56:19 -080037# For apps, we don't want to set up the prebuilt apk rule twice even if "LOCAL_MULTILIB := both".
38ifeq (APPS,$(LOCAL_MODULE_CLASS))
39my_skip_non_preferred_arch := true
40endif
Ying Wang34d5f1b2014-05-16 10:38:43 -070041endif # $(my_module_arch_supported)
42
43ifndef my_skip_non_preferred_arch
44ifneq (,$($(my_prefix)2ND_ARCH))
Colin Crosse18cb932014-02-13 15:04:18 -080045# check if secondary arch is supported
Ying Wang6feb6d52014-04-17 10:03:35 -070046LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX)
Colin Crosse18cb932014-02-13 15:04:18 -080047include $(BUILD_SYSTEM)/module_arch_supported.mk
48ifeq ($(my_module_arch_supported),true)
49# secondary arch is supported
Ying Wang34d5f1b2014-05-16 10:38:43 -070050OVERRIDE_BUILT_MODULE_PATH :=
51LOCAL_BUILT_MODULE :=
52LOCAL_INSTALLED_MODULE :=
Ying Wang34d5f1b2014-05-16 10:38:43 -070053LOCAL_INTERMEDIATE_TARGETS :=
Colin Crosse18cb932014-02-13 15:04:18 -080054include $(BUILD_SYSTEM)/prebuilt_internal.mk
Ying Wang34d5f1b2014-05-16 10:38:43 -070055endif # $(my_module_arch_supported)
56endif # $($(my_prefix)2ND_ARCH)
57endif # $(my_skip_non_preferred_arch) not true
Colin Cross0b70c432014-01-24 13:34:51 -080058
59LOCAL_2ND_ARCH_VAR_PREFIX :=
Colin Crosse18cb932014-02-13 15:04:18 -080060
Dan Willemsen057aaea2015-08-14 12:59:50 -070061ifdef LOCAL_IS_HOST_MODULE
62ifdef HOST_CROSS_OS
Dan Willemsen7fe992c2016-03-02 13:54:51 -080063ifneq (,$(filter EXECUTABLES STATIC_LIBRARIES SHARED_LIBRARIES NATIVE_TESTS,$(LOCAL_MODULE_CLASS)))
Dan Willemsen057aaea2015-08-14 12:59:50 -070064my_prefix := HOST_CROSS_
65LOCAL_HOST_PREFIX := $(my_prefix)
66include $(BUILD_SYSTEM)/module_arch_supported.mk
67ifeq ($(my_module_arch_supported),true)
68# host cross compilation is supported
69OVERRIDE_BUILT_MODULE_PATH :=
70LOCAL_BUILT_MODULE :=
71LOCAL_INSTALLED_MODULE :=
Dan Willemsen057aaea2015-08-14 12:59:50 -070072LOCAL_INTERMEDIATE_TARGETS :=
73include $(BUILD_SYSTEM)/prebuilt_internal.mk
74endif
75LOCAL_HOST_PREFIX :=
76endif
Dan Willemsend6e3b842016-02-09 14:55:13 -080077
78ifdef HOST_CROSS_2ND_ARCH
79my_prefix := HOST_CROSS_
80LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX)
81LOCAL_HOST_PREFIX := $(my_prefix)
82include $(BUILD_SYSTEM)/module_arch_supported.mk
83ifeq ($(my_module_arch_supported),true)
Dan Willemsend6e3b842016-02-09 14:55:13 -080084OVERRIDE_BUILT_MODULE_PATH :=
85LOCAL_BUILT_MODULE :=
86LOCAL_INSTALLED_MODULE :=
Dan Willemsend6e3b842016-02-09 14:55:13 -080087LOCAL_INTERMEDIATE_TARGETS :=
88include $(BUILD_SYSTEM)/prebuilt_internal.mk
89endif
90LOCAL_HOST_PREFIX :=
91LOCAL_2ND_ARCH_VAR_PREFIX :=
92endif
Dan Willemsen057aaea2015-08-14 12:59:50 -070093endif
94endif
95
Colin Crosse18cb932014-02-13 15:04:18 -080096my_module_arch_supported :=