blob: cbe2079daf25481830913f228a848a3feb4e8365 [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###########################################################
8
Ying Wangc36b4502011-09-15 12:00:52 -07009ifdef LOCAL_IS_HOST_MODULE
Ying Wang6feb6d52014-04-17 10:03:35 -070010 my_prefix := HOST_
Dan Willemsen057aaea2015-08-14 12:59:50 -070011 LOCAL_HOST_PREFIX :=
Ying Wang6feb6d52014-04-17 10:03:35 -070012else
13 my_prefix := TARGET_
Ying Wang87538e42016-03-16 19:53:19 -070014
15 ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
Dan Willemsenb40d9ec2016-05-31 13:59:38 -070016 # Only support prebuilt shared and static libraries for translated arch
17 ifeq ($(filter SHARED_LIBRARIES STATIC_LIBRARIES,$(LOCAL_MODULE_CLASS)),)
18 LOCAL_MULTILIB := first
19 endif
Ying Wang87538e42016-03-16 19:53:19 -070020 endif
Ying Wang6feb6d52014-04-17 10:03:35 -070021endif
Colin Crosse6e48f62014-03-21 12:29:32 -070022
23include $(BUILD_SYSTEM)/multilib.mk
24
Ying Wang34d5f1b2014-05-16 10:38:43 -070025my_skip_non_preferred_arch :=
Colin Crosse6e48f62014-03-21 12:29:32 -070026
27# check if first arch is supported
Ying Wang85f24a42014-10-21 18:34:30 -070028LOCAL_2ND_ARCH_VAR_PREFIX :=
Colin Crosse18cb932014-02-13 15:04:18 -080029include $(BUILD_SYSTEM)/module_arch_supported.mk
30ifeq ($(my_module_arch_supported),true)
Colin Crosse6e48f62014-03-21 12:29:32 -070031# first arch is supported
Colin Crosse18cb932014-02-13 15:04:18 -080032include $(BUILD_SYSTEM)/prebuilt_internal.mk
Ying Wang34d5f1b2014-05-16 10:38:43 -070033ifneq ($(my_module_multilib),both)
34my_skip_non_preferred_arch := true
35endif # $(my_module_multilib)
Ying Wanga11cf4d2014-12-01 15:56:19 -080036# For apps, we don't want to set up the prebuilt apk rule twice even if "LOCAL_MULTILIB := both".
37ifeq (APPS,$(LOCAL_MODULE_CLASS))
38my_skip_non_preferred_arch := true
39endif
Ying Wang34d5f1b2014-05-16 10:38:43 -070040endif # $(my_module_arch_supported)
41
42ifndef my_skip_non_preferred_arch
43ifneq (,$($(my_prefix)2ND_ARCH))
Colin Crosse18cb932014-02-13 15:04:18 -080044# check if secondary arch is supported
Ying Wang6feb6d52014-04-17 10:03:35 -070045LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX)
Colin Crosse18cb932014-02-13 15:04:18 -080046include $(BUILD_SYSTEM)/module_arch_supported.mk
47ifeq ($(my_module_arch_supported),true)
48# secondary arch is supported
Ying Wang34d5f1b2014-05-16 10:38:43 -070049OVERRIDE_BUILT_MODULE_PATH :=
50LOCAL_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
68OVERRIDE_BUILT_MODULE_PATH :=
69LOCAL_BUILT_MODULE :=
70LOCAL_INSTALLED_MODULE :=
Dan Willemsen057aaea2015-08-14 12:59:50 -070071LOCAL_INTERMEDIATE_TARGETS :=
72include $(BUILD_SYSTEM)/prebuilt_internal.mk
73endif
74LOCAL_HOST_PREFIX :=
75endif
Dan Willemsend6e3b842016-02-09 14:55:13 -080076
77ifdef HOST_CROSS_2ND_ARCH
78my_prefix := HOST_CROSS_
79LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX)
80LOCAL_HOST_PREFIX := $(my_prefix)
81include $(BUILD_SYSTEM)/module_arch_supported.mk
82ifeq ($(my_module_arch_supported),true)
Dan Willemsend6e3b842016-02-09 14:55:13 -080083OVERRIDE_BUILT_MODULE_PATH :=
84LOCAL_BUILT_MODULE :=
85LOCAL_INSTALLED_MODULE :=
Dan Willemsend6e3b842016-02-09 14:55:13 -080086LOCAL_INTERMEDIATE_TARGETS :=
87include $(BUILD_SYSTEM)/prebuilt_internal.mk
88endif
89LOCAL_HOST_PREFIX :=
90LOCAL_2ND_ARCH_VAR_PREFIX :=
91endif
Dan Willemsen057aaea2015-08-14 12:59:50 -070092endif
93endif
94
Colin Crosse18cb932014-02-13 15:04:18 -080095my_module_arch_supported :=