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 17 ifneq ($(BUILD_TINY_ANDROID), true) 18 19 LOCAL_PATH := $(call my-dir) 20 21 # ----------------------------------------------------------------------------- 22 # Benchmarks. 23 # ----------------------------------------------------------------------------- 24 25 benchmark_c_flags = \ 26 -O2 \ 27 -Wall -Wextra -Wunused \ 28 -Werror \ 29 -fno-builtin \ 30 -std=gnu++11 \ 31 32 benchmark_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 45 include $(CLEAR_VARS) 46 LOCAL_MODULE := bionic-benchmarks 47 LOCAL_MODULE_STEM_32 := bionic-benchmarks32 48 LOCAL_MODULE_STEM_64 := bionic-benchmarks64 49 LOCAL_MULTILIB := both 50 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 51 LOCAL_CFLAGS += $(benchmark_c_flags) 52 LOCAL_C_INCLUDES += external/stlport/stlport bionic/ bionic/libstdc++/include 53 LOCAL_SHARED_LIBRARIES += libstlport 54 LOCAL_SRC_FILES := $(benchmark_src_files) 55 include $(BUILD_EXECUTABLE) 56 57 ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64)) 58 ifeq ($(TARGET_ARCH),x86) 59 LINKER = linker 60 NATIVE_SUFFIX=32 61 else 62 LINKER = linker64 63 NATIVE_SUFFIX=64 64 endif 65 66 bionic-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) 78 endif # linux-x86 79 80 endif # !BUILD_TINY_ANDROID 81