]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/platform-bionic.git/blobdiff - benchmarks/Android.mk
Extract bionic-prepare-run-on-host to inc file.
[android-sdk/platform-bionic.git] / benchmarks / Android.mk
index 00250a5c8bc4bed2c198a99998476210dfc52cdb..5ce854241e7552c3c8121d336d57115fd8d4ad7d 100644 (file)
@@ -32,7 +32,6 @@ benchmark_c_flags = \
 benchmark_src_files = \
     benchmark_main.cpp \
     math_benchmark.cpp \
-    property_benchmark.cpp \
     pthread_benchmark.cpp \
     semaphore_benchmark.cpp \
     stdio_benchmark.cpp \
@@ -41,7 +40,8 @@ benchmark_src_files = \
     unistd_benchmark.cpp \
 
 # Build benchmarks for the device (with bionic's .so). Run with:
-#   adb shell bionic-benchmarks
+#   adb shell bionic-benchmarks32
+#   adb shell bionic-benchmarks64
 include $(CLEAR_VARS)
 LOCAL_MODULE := bionic-benchmarks
 LOCAL_MODULE_STEM_32 := bionic-benchmarks32
@@ -49,31 +49,46 @@ LOCAL_MODULE_STEM_64 := bionic-benchmarks64
 LOCAL_MULTILIB := both
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
 LOCAL_CFLAGS += $(benchmark_c_flags)
-LOCAL_SRC_FILES := $(benchmark_src_files)
+LOCAL_SRC_FILES := $(benchmark_src_files) property_benchmark.cpp
 LOCAL_CXX_STL := libc++
 include $(BUILD_EXECUTABLE)
 
+# We don't build a static benchmark executable because it's not usually
+# useful. If you're trying to run the current benchmarks on an older
+# release, it's (so far at least) always because you want to measure the
+# performance of the old release's libc, and a static benchmark isn't
+# going to let you do that.
+
+# Build benchmarks for the host (against glibc!). Run with:
+include $(CLEAR_VARS)
+LOCAL_MODULE := bionic-benchmarks-glibc
+LOCAL_MODULE_STEM_32 := bionic-benchmarks-glibc32
+LOCAL_MODULE_STEM_64 := bionic-benchmarks-glibc64
+LOCAL_MULTILIB := both
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+LOCAL_CFLAGS += $(benchmark_c_flags)
+LOCAL_LDFLAGS += -lrt
+LOCAL_SRC_FILES := $(benchmark_src_files)
+LOCAL_CXX_STL := libc++
+include $(BUILD_HOST_EXECUTABLE)
+
 ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
-ifeq ($(TARGET_ARCH),x86)
-LINKER = linker
-NATIVE_SUFFIX=32
-else
-LINKER = linker64
-NATIVE_SUFFIX=64
+include $(LOCAL_PATH)/../build/run-on-host.mk
+
+ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
+bionic-benchmarks-run-on-host32: bionic-benchmarks bionic-prepare-run-on-host
+       ANDROID_DATA=$(TARGET_OUT_DATA) \
+       ANDROID_ROOT=$(TARGET_OUT) \
+               $(TARGET_OUT_EXECUTABLES)/bionic-benchmarks32 $(BIONIC_BENCHMARKS_FLAGS)
 endif
 
-bionic-benchmarks-run-on-host: bionic-benchmarks $(TARGET_OUT_EXECUTABLES)/$(LINKER) $(TARGET_OUT_EXECUTABLES)/sh
-       if [ ! -d /system -o ! -d /system/bin ]; then \
-         echo "Attempting to create /system/bin"; \
-         sudo mkdir -p -m 0777 /system/bin; \
-       fi
-       mkdir -p $(TARGET_OUT_DATA)/local/tmp
-       cp $(TARGET_OUT_EXECUTABLES)/$(LINKER) /system/bin
-       cp $(TARGET_OUT_EXECUTABLES)/sh /system/bin
+ifeq ($(TARGET_IS_64_BIT),true)
+bionic-benchmarks-run-on-host64: bionic-benchmarks bionic-prepare-run-on-host
        ANDROID_DATA=$(TARGET_OUT_DATA) \
        ANDROID_ROOT=$(TARGET_OUT) \
-       LD_LIBRARY_PATH=$(TARGET_OUT_SHARED_LIBRARIES) \
-               $(TARGET_OUT_EXECUTABLES)/bionic-benchmarks$(NATIVE_SUFFIX) $(BIONIC_BENCHMARKS_FLAGS)
-endif # linux-x86
+               $(TARGET_OUT_EXECUTABLES)/bionic-benchmarks64 $(BIONIC_BENCHMARKS_FLAGS)
+endif
+
+endif
 
 endif # !BUILD_TINY_ANDROID