1# We don't automatically set up rules to build packages for both 2# TARGET_ARCH and TARGET_2ND_ARCH. 3# To build it for TARGET_2ND_ARCH in a 64bit product, use "LOCAL_MULTILIB := 32". 4 5my_prefix := TARGET_ 6include $(BUILD_SYSTEM)/multilib.mk 7 8ifeq ($(TARGET_SUPPORTS_32_BIT_APPS)|$(TARGET_SUPPORTS_64_BIT_APPS),true|true) 9 # packages default to building for either architecture, 10 # the preferred if its supported, otherwise the non-preferred. 11else ifeq ($(TARGET_SUPPORTS_64_BIT_APPS),true) 12 # only 64-bit apps supported 13 ifeq ($(filter $(my_module_multilib),64 both first),$(my_module_multilib)) 14 # if my_module_multilib was 64, both, first, or unset, build for 64-bit 15 my_module_multilib := 64 16 else 17 # otherwise don't build this app 18 my_module_multilib := none 19 endif 20else 21 # only 32-bit apps supported 22 ifeq ($(filter $(my_module_multilib),32 both),$(my_module_multilib)) 23 # if my_module_multilib was 32, both, or unset, build for 32-bit 24 my_module_multilib := 32 25 else ifeq ($(my_module_multilib),first) 26 ifndef TARGET_IS_64_BIT 27 # if my_module_multilib was first and this is a 32-bit build, build for 28 # 32-bit 29 my_module_multilib := 32 30 else 31 # if my_module_multilib was first and this is a 64-bit build, don't build 32 # this app 33 my_module_multilib := none 34 endif 35 else 36 # my_module_mulitlib was 64 or none, don't build this app 37 my_module_multilib := none 38 endif 39endif 40 41LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true 42 43# if TARGET_PREFER_32_BIT_APPS is set, try to build 32-bit first 44ifdef TARGET_2ND_ARCH 45ifeq ($(TARGET_PREFER_32_BIT_APPS),true) 46LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) 47else 48LOCAL_2ND_ARCH_VAR_PREFIX := 49endif 50endif 51 52# check if preferred arch is supported 53include $(BUILD_SYSTEM)/module_arch_supported.mk 54ifeq ($(my_module_arch_supported),true) 55# first arch is supported 56include $(BUILD_SYSTEM)/package_internal.mk 57else ifneq (,$(TARGET_2ND_ARCH)) 58# check if the non-preferred arch is the primary or secondary 59ifeq ($(TARGET_PREFER_32_BIT_APPS),true) 60LOCAL_2ND_ARCH_VAR_PREFIX := 61else 62LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) 63endif 64 65# check if non-preferred arch is supported 66include $(BUILD_SYSTEM)/module_arch_supported.mk 67ifeq ($(my_module_arch_supported),true) 68# secondary arch is supported 69include $(BUILD_SYSTEM)/package_internal.mk 70endif 71endif # TARGET_2ND_ARCH 72 73LOCAL_2ND_ARCH_VAR_PREFIX := 74LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := 75 76my_module_arch_supported := 77