1563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# 2563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# Copyright (C) 2015 The Android Open Source Project 3563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# 4563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# Licensed under the Apache License, Version 2.0 (the "License"); 5563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# you may not use this file except in compliance with the License. 6563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# You may obtain a copy of the License at 7563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# 8563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# http://www.apache.org/licenses/LICENSE-2.0 9563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# 10563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# Unless required by applicable law or agreed to in writing, software 11563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# distributed under the License is distributed on an "AS IS" BASIS, 12563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# See the License for the specific language governing permissions and 14563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# limitations under the License. 15563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# 16563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 17563e9846711aa1830bc7a34499204091032349fbMathieu ChartierLOCAL_PATH := $(call my-dir) 18563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 19563e9846711aa1830bc7a34499204091032349fbMathieu Chartierinclude art/build/Android.common_build.mk 20563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 21563e9846711aa1830bc7a34499204091032349fbMathieu ChartierLIBARTBENCHMARK_COMMON_SRC_FILES := \ 2214f8b13d2593770b7f5387a33f6a8400c20aaa8eMathieu Chartier jobject-benchmark/jobject_benchmark.cc \ 23563e9846711aa1830bc7a34499204091032349fbMathieu Chartier jni-perf/perf_jni.cc \ 24563e9846711aa1830bc7a34499204091032349fbMathieu Chartier scoped-primitive-array/scoped_primitive_array.cc 25563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 26563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# $(1): target or host 27563e9846711aa1830bc7a34499204091032349fbMathieu Chartierdefine build-libartbenchmark 28563e9846711aa1830bc7a34499204091032349fbMathieu Chartier ifneq ($(1),target) 29563e9846711aa1830bc7a34499204091032349fbMathieu Chartier ifneq ($(1),host) 30563e9846711aa1830bc7a34499204091032349fbMathieu Chartier $$(error expected target or host for argument 1, received $(1)) 31563e9846711aa1830bc7a34499204091032349fbMathieu Chartier endif 32563e9846711aa1830bc7a34499204091032349fbMathieu Chartier endif 33563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 34563e9846711aa1830bc7a34499204091032349fbMathieu Chartier art_target_or_host := $(1) 35563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 36563e9846711aa1830bc7a34499204091032349fbMathieu Chartier include $(CLEAR_VARS) 37563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION) 38563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_MODULE := libartbenchmark 39563e9846711aa1830bc7a34499204091032349fbMathieu Chartier ifeq ($$(art_target_or_host),target) 40563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_MODULE_TAGS := tests 41563e9846711aa1830bc7a34499204091032349fbMathieu Chartier endif 42563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_SRC_FILES := $(LIBARTBENCHMARK_COMMON_SRC_FILES) 43563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_SHARED_LIBRARIES += libart libbacktrace libnativehelper 44563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime 45563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk 46563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk 47563e9846711aa1830bc7a34499204091032349fbMathieu Chartier ifeq ($$(art_target_or_host),target) 48563e9846711aa1830bc7a34499204091032349fbMathieu Chartier $(call set-target-local-clang-vars) 49563e9846711aa1830bc7a34499204091032349fbMathieu Chartier $(call set-target-local-cflags-vars,debug) 50563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_SHARED_LIBRARIES += libdl 51563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_MULTILIB := both 52563e9846711aa1830bc7a34499204091032349fbMathieu Chartier # LOCAL_MODULE_PATH_32 := $(ART_TARGET_OUT)/$(ART_TARGET_ARCH_32) 53563e9846711aa1830bc7a34499204091032349fbMathieu Chartier # LOCAL_MODULE_PATH_64 := $(ART_TARGET_OUT)/$(ART_TARGET_ARCH_64) 54563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH) 55563e9846711aa1830bc7a34499204091032349fbMathieu Chartier include $(BUILD_SHARED_LIBRARY) 56563e9846711aa1830bc7a34499204091032349fbMathieu Chartier else # host 57563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_CLANG := $(ART_HOST_CLANG) 58563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS) 59563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) 60563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -ldl -lpthread 61563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_IS_HOST_MODULE := true 62563e9846711aa1830bc7a34499204091032349fbMathieu Chartier LOCAL_MULTILIB := both 63563e9846711aa1830bc7a34499204091032349fbMathieu Chartier include $(BUILD_HOST_SHARED_LIBRARY) 64563e9846711aa1830bc7a34499204091032349fbMathieu Chartier endif 65563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 66563e9846711aa1830bc7a34499204091032349fbMathieu Chartier # Clear locally used variables. 67563e9846711aa1830bc7a34499204091032349fbMathieu Chartier art_target_or_host := 68563e9846711aa1830bc7a34499204091032349fbMathieu Chartierendef 69563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 70563e9846711aa1830bc7a34499204091032349fbMathieu Chartierifeq ($(ART_BUILD_TARGET),true) 71563e9846711aa1830bc7a34499204091032349fbMathieu Chartier $(eval $(call build-libartbenchmark,target)) 72563e9846711aa1830bc7a34499204091032349fbMathieu Chartierendif 73563e9846711aa1830bc7a34499204091032349fbMathieu Chartierifeq ($(ART_BUILD_HOST),true) 74563e9846711aa1830bc7a34499204091032349fbMathieu Chartier $(eval $(call build-libartbenchmark,host)) 75563e9846711aa1830bc7a34499204091032349fbMathieu Chartierendif 76563e9846711aa1830bc7a34499204091032349fbMathieu Chartier 77563e9846711aa1830bc7a34499204091032349fbMathieu Chartier# Clear locally used variables. 78563e9846711aa1830bc7a34499204091032349fbMathieu ChartierLOCAL_PATH := 79563e9846711aa1830bc7a34499204091032349fbMathieu ChartierLIBARTBENCHMARK_COMMON_SRC_FILES := 80