1# 2# Copyright (C) 2013 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 17ifneq ($(BUILD_TINY_ANDROID), true) 18 19LOCAL_PATH := $(call my-dir) 20 21# ----------------------------------------------------------------------------- 22# Benchmarks. 23# ----------------------------------------------------------------------------- 24 25benchmark_c_flags = \ 26 -O2 \ 27 -Wall -Wextra -Wunused \ 28 -Werror \ 29 -fno-builtin \ 30 -std=gnu++11 \ 31 32benchmark_src_files = \ 33 benchmark_main.cpp \ 34 math_benchmark.cpp \ 35 property_benchmark.cpp \ 36 pthread_benchmark.cpp \ 37 semaphore_benchmark.cpp \ 38 stdio_benchmark.cpp \ 39 string_benchmark.cpp \ 40 time_benchmark.cpp \ 41 unistd_benchmark.cpp \ 42 43# Build benchmarks for the device (with bionic's .so). Run with: 44# adb shell bionic-benchmarks 45include $(CLEAR_VARS) 46LOCAL_MODULE := bionic-benchmarks 47LOCAL_MODULE_STEM_32 := bionic-benchmarks32 48LOCAL_MODULE_STEM_64 := bionic-benchmarks64 49LOCAL_MULTILIB := both 50LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 51LOCAL_CFLAGS += $(benchmark_c_flags) 52LOCAL_C_INCLUDES += external/stlport/stlport bionic/ bionic/libstdc++/include 53LOCAL_SHARED_LIBRARIES += libstlport 54LOCAL_SRC_FILES := $(benchmark_src_files) 55include $(BUILD_EXECUTABLE) 56 57ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64)) 58ifeq ($(TARGET_ARCH),x86) 59LINKER = linker 60NATIVE_SUFFIX=32 61else 62LINKER = linker64 63NATIVE_SUFFIX=64 64endif 65 66bionic-benchmarks-run-on-host: bionic-benchmarks $(TARGET_OUT_EXECUTABLES)/$(LINKER) $(TARGET_OUT_EXECUTABLES)/sh 67 if [ ! -d /system -o ! -d /system/bin ]; then \ 68 echo "Attempting to create /system/bin"; \ 69 sudo mkdir -p -m 0777 /system/bin; \ 70 fi 71 mkdir -p $(TARGET_OUT_DATA)/local/tmp 72 cp $(TARGET_OUT_EXECUTABLES)/$(LINKER) /system/bin 73 cp $(TARGET_OUT_EXECUTABLES)/sh /system/bin 74 ANDROID_DATA=$(TARGET_OUT_DATA) \ 75 ANDROID_ROOT=$(TARGET_OUT) \ 76 LD_LIBRARY_PATH=$(TARGET_OUT_SHARED_LIBRARIES) \ 77 $(TARGET_OUT_EXECUTABLES)/bionic-benchmarks$(NATIVE_SUFFIX) $(BIONIC_BENCHMARKS_FLAGS) 78endif # linux-x86 79 80endif # !BUILD_TINY_ANDROID 81