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 17 ifndef ANDROID_COMMON_MK 18 ANDROID_COMMON_MK = true 19 20 ART_TARGET_SUPPORTED_ARCH := arm arm64 mips x86 x86_64 21 ART_HOST_SUPPORTED_ARCH := x86 x86_64 22 23 ifeq (,$(filter $(TARGET_ARCH),$(ART_TARGET_SUPPORTED_ARCH))) 24 $(warning unsupported TARGET_ARCH=$(TARGET_ARCH)) 25 endif 26 ifeq (,$(filter $(HOST_ARCH),$(ART_HOST_SUPPORTED_ARCH))) 27 $(warning unsupported HOST_ARCH=$(HOST_ARCH)) 28 endif 29 30 # Primary vs. secondary 31 2ND_TARGET_ARCH := $(TARGET_2ND_ARCH) 32 TARGET_INSTRUCTION_SET_FEATURES := $(DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES) 33 2ND_TARGET_INSTRUCTION_SET_FEATURES := $($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES) 34 ifdef 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 44 else 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 := 49 endif 50 51 ART_HOST_SHLIB_EXTENSION := $(HOST_SHLIB_SUFFIX) 52 ART_HOST_SHLIB_EXTENSION ?= .so 53 ifeq ($(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 := 64 else 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) 75 endif 76 77 endif # ANDROID_COMMON_MK 78