1819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn#
2819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# Copyright (C) 2013-2014 The Android Open Source Project
3819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn#
4819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# Licensed under the Apache License, Version 2.0 (the "License");
5819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# you may not use this file except in compliance with the License.
6819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# You may obtain a copy of the License at
7819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn#
8819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn#      http://www.apache.org/licenses/LICENSE-2.0
9819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn#
10819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# Unless required by applicable law or agreed to in writing, software
11819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# distributed under the License is distributed on an "AS IS" BASIS,
12819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# See the License for the specific language governing permissions and
14819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# limitations under the License.
15819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn#
16819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
17819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_PATH := $(call my-dir)
18819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
19819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# -----------------------------------------------------------------------------
20819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# Benchmarks.
21819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# -----------------------------------------------------------------------------
22819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
23819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyntest_module_prefix := liblog-
24819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyntest_tags := tests
25819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
26819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzynbenchmark_c_flags := \
27819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -Ibionic/tests \
28819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -Wall -Wextra \
29819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -Werror \
30819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -fno-builtin \
31819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -std=gnu++11
32819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
33819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzynbenchmark_src_files := \
34819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    benchmark_main.cpp \
35d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyn    liblog_benchmark.cpp
36819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
37819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# Build benchmarks for the device. Run with:
38819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn#   adb shell liblog-benchmarks
39819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyninclude $(CLEAR_VARS)
40819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_MODULE := $(test_module_prefix)benchmarks
41819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_MODULE_TAGS := $(test_tags)
42819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
43819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_CFLAGS += $(benchmark_c_flags)
44819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_SHARED_LIBRARIES += liblog libm
45819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_SRC_FILES := $(benchmark_src_files)
46819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzynifndef LOCAL_SDK_VERSION
47819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_C_INCLUDES += bionic bionic/libstdc++/include external/stlport/stlport
48819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_SHARED_LIBRARIES += libstlport
49819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzynendif
50819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_MODULE_PATH := $(TARGET_OUT_DATA_NATIVE_TESTS)/$(LOCAL_MODULE)
51819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyninclude $(BUILD_EXECUTABLE)
52819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
53819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# -----------------------------------------------------------------------------
54819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# Unit tests.
55819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# -----------------------------------------------------------------------------
56819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
57819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyntest_c_flags := \
58819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -fstack-protector-all \
59819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -g \
60819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -Wall -Wextra \
61819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn    -Werror \
628386725771893bb7dd618abbf6d8ebd556a98486Dmitriy Ivanov    -fno-builtin \
638386725771893bb7dd618abbf6d8ebd556a98486Dmitriy Ivanov    -std=gnu++11
64819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
65819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyntest_src_files := \
66d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyn    liblog_test.cpp
67d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyn
68d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyn# to prevent breaking the build if bionic not relatively visible to us
69d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzynifneq ($(wildcard $(LOCAL_PATH)/../../../../bionic/libc/bionic/libc_logging.cpp),)
70d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyn
71d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyntest_src_files += \
72d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyn    libc_test.cpp
73d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyn
74d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzynifndef ($(TARGET_USES_LOGD),false)
75d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyntest_c_flags += -DTARGET_USES_LOGD
76d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzynendif
77d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzyn
78d2e3747e70a79406cd74aa3633d52530fb486a99Mark Salyzynendif
79819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn
80819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn# Build tests for the device (with .so). Run with:
81819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyn#   adb shell /data/nativetest/liblog-unit-tests/liblog-unit-tests
82819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyninclude $(CLEAR_VARS)
83819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_MODULE := $(test_module_prefix)unit-tests
84819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_MODULE_TAGS := $(test_tags)
85819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
86819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_CFLAGS += $(test_c_flags)
87819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_SHARED_LIBRARIES := liblog
88819c58a8ca20f94700085b8967f371f5854a5216Mark SalyzynLOCAL_SRC_FILES := $(test_src_files)
89819c58a8ca20f94700085b8967f371f5854a5216Mark Salyzyninclude $(BUILD_NATIVE_TEST)
90