blob: fb086258d69d9818b3ba50fe7556e93b9f7a9e8e [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 -070050LOCAL_BUILT_MODULE :=
51LOCAL_INSTALLED_MODULE :=
Ying Wang34d5f1b2014-05-16 10:38:43 -070052LOCAL_INTERMEDIATE_TARGETS :=
Colin Crosse18cb932014-02-13 15:04:18 -080053include $(BUILD_SYSTEM)/prebuilt_internal.mk
Ying Wang34d5f1b2014-05-16 10:38:43 -070054endif # $(my_module_arch_supported)
55endif # $($(my_prefix)2ND_ARCH)
56endif # $(my_skip_non_preferred_arch) not true
Colin Cross0b70c432014-01-24 13:34:51 -080057
58LOCAL_2ND_ARCH_VAR_PREFIX :=
Colin Crosse18cb932014-02-13 15:04:18 -080059
Dan Willemsen057aaea2015-08-14 12:59:50 -070060ifdef LOCAL_IS_HOST_MODULE
61ifdef HOST_CROSS_OS
Dan Willemsen7fe992c2016-03-02 13:54:51 -080062ifneq (,$(filter EXECUTABLES STATIC_LIBRARIES SHARED_LIBRARIES NATIVE_TESTS,$(LOCAL_MODULE_CLASS)))
Dan Willemsen057aaea2015-08-14 12:59:50 -070063my_prefix := HOST_CROSS_
64LOCAL_HOST_PREFIX := $(my_prefix)
65include $(BUILD_SYSTEM)/module_arch_supported.mk
66ifeq ($(my_module_arch_supported),true)
67# host cross compilation is supported
Dan Willemsen057aaea2015-08-14 12:59:50 -070068LOCAL_BUILT_MODULE :=
69LOCAL_INSTALLED_MODULE :=
Dan Willemsen057aaea2015-08-14 12:59:50 -070070LOCAL_INTERMEDIATE_TARGETS :=
71include $(BUILD_SYSTEM)/prebuilt_internal.mk
72endif
73LOCAL_HOST_PREFIX :=
74endif
Dan Willemsend6e3b842016-02-09 14:55:13 -080075
76ifdef HOST_CROSS_2ND_ARCH
77my_prefix := HOST_CROSS_
78LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX)
79LOCAL_HOST_PREFIX := $(my_prefix)
80include $(BUILD_SYSTEM)/module_arch_supported.mk
81ifeq ($(my_module_arch_supported),true)
Dan Willemsend6e3b842016-02-09 14:55:13 -080082LOCAL_BUILT_MODULE :=
83LOCAL_INSTALLED_MODULE :=
Dan Willemsend6e3b842016-02-09 14:55:13 -080084LOCAL_INTERMEDIATE_TARGETS :=
85include $(BUILD_SYSTEM)/prebuilt_internal.mk
86endif
87LOCAL_HOST_PREFIX :=
88LOCAL_2ND_ARCH_VAR_PREFIX :=
89endif
Dan Willemsen057aaea2015-08-14 12:59:50 -070090endif
91endif
92
Colin Crosse18cb932014-02-13 15:04:18 -080093my_module_arch_supported :=