1# 2# Copyright (C) 2011 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17ifndef ANDROID_COMMON_MK 18ANDROID_COMMON_MK = true 19 20ART_TARGET_SUPPORTED_ARCH := arm arm64 mips x86 x86_64 21ART_HOST_SUPPORTED_ARCH := x86 x86_64 22 23ifeq (,$(filter $(TARGET_ARCH),$(ART_TARGET_SUPPORTED_ARCH))) 24$(warning unsupported TARGET_ARCH=$(TARGET_ARCH)) 25endif 26ifeq (,$(filter $(HOST_ARCH),$(ART_HOST_SUPPORTED_ARCH))) 27$(warning unsupported HOST_ARCH=$(HOST_ARCH)) 28endif 29 30# Primary vs. secondary 312ND_TARGET_ARCH := $(TARGET_2ND_ARCH) 32TARGET_INSTRUCTION_SET_FEATURES := $(DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES) 332ND_TARGET_INSTRUCTION_SET_FEATURES := $($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES) 34ifdef TARGET_2ND_ARCH 35 ifneq ($(filter %64,$(TARGET_ARCH)),) 36 ART_PHONY_TEST_TARGET_SUFFIX := 64 37 2ND_ART_PHONY_TEST_TARGET_SUFFIX := 32 38 ART_TARGET_ARCH_32 := $(TARGET_2ND_ARCH) 39 ART_TARGET_ARCH_64 := $(TARGET_ARCH) 40 else 41 # TODO: ??? 42 $(error Do not know what to do with this multi-target configuration!) 43 endif 44else 45 ART_PHONY_TEST_TARGET_SUFFIX := 32 46 2ND_ART_PHONY_TEST_TARGET_SUFFIX := 47 ART_TARGET_ARCH_32 := $(TARGET_ARCH) 48 ART_TARGET_ARCH_64 := 49endif 50 51ART_HOST_SHLIB_EXTENSION := $(HOST_SHLIB_SUFFIX) 52ART_HOST_SHLIB_EXTENSION ?= .so 53ifeq ($(HOST_PREFER_32_BIT),true) 54 ART_PHONY_TEST_HOST_SUFFIX := 32 55 2ND_ART_PHONY_TEST_HOST_SUFFIX := 56 ART_HOST_ARCH_32 := x86 57 ART_HOST_ARCH_64 := 58 ART_HOST_ARCH := x86 59 2ND_ART_HOST_ARCH := 60 2ND_HOST_ARCH := 61 ART_HOST_LIBRARY_PATH := $(HOST_LIBRARY_PATH) 62 ART_HOST_OUT_SHARED_LIBRARIES := $(2ND_HOST_OUT_SHARED_LIBRARIES) 63 2ND_ART_HOST_OUT_SHARED_LIBRARIES := 64else 65 ART_PHONY_TEST_HOST_SUFFIX := 64 66 2ND_ART_PHONY_TEST_HOST_SUFFIX := 32 67 ART_HOST_ARCH_32 := x86 68 ART_HOST_ARCH_64 := x86_64 69 ART_HOST_ARCH := x86_64 70 2ND_ART_HOST_ARCH := x86 71 2ND_HOST_ARCH := x86 72 ART_HOST_LIBRARY_PATH := $(HOST_LIBRARY_PATH) 73 ART_HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT_SHARED_LIBRARIES) 74 2ND_ART_HOST_OUT_SHARED_LIBRARIES := $(2ND_HOST_OUT_SHARED_LIBRARIES) 75endif 76 77endif # ANDROID_COMMON_MK 78