Android.mk revision e8981d1a842397174f786c510ffd6482b3723e84
18ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# Copyright (C) 2009 The Android Open Source Project 28ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# 38ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# Licensed under the Apache License, Version 2.0 (the "License"); 48ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# you may not use this file except in compliance with the License. 58ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# You may obtain a copy of the License at 68ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# 78ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# http://www.apache.org/licenses/LICENSE-2.0 88ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# 98ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# Unless required by applicable law or agreed to in writing, software 108ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# distributed under the License is distributed on an "AS IS" BASIS, 118ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 128ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# See the License for the specific language governing permissions and 138ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# limitations under the License. 148ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# 158ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# 168ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 178ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# Gtest builds 2 libraries: libgtest and libgtest_main. libgtest 188ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# contains most of the code (assertions...) and libgtest_main just 198ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# provide a common main to run the test (ie if you link against 208ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# libgtest_main you won't/should not provide a main() entry point. 218ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# 228ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# We build these 2 libraries for the target device and for the host if 238ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# it is running linux and using ASTL. 248ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# 258ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 268ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# TODO: The targets below have some redundancy. Check if we cannot 278ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# condense them using function(s) for the common code. 288ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 298ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_PATH := $(call my-dir) 308ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 318ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectlibgtest_target_includes := \ 328ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project $(LOCAL_PATH)/.. \ 338ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project $(LOCAL_PATH)/../include \ 348ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 358ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectlibgtest_host_includes := \ 368ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project $(LOCAL_PATH)/.. \ 378ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project $(LOCAL_PATH)/../include \ 388ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 398ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectlibgtest_cflags := \ 408ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project -Wno-missing-field-initializers \ 418ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 428ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project####################################################################### 438ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# gtest lib host 448ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 458ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectinclude $(CLEAR_VARS) 468ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 478ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_CPP_EXTENSION := .cc 488ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_SRC_FILES := gtest-all.cc 498ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_C_INCLUDES := $(libgtest_host_includes) 508ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_CFLAGS += $(libgtest_cflags) 518ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_MODULE := libgtest_host 528ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_MULTILIB := both 538ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 548ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectinclude $(BUILD_HOST_STATIC_LIBRARY) 558ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 568ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project####################################################################### 578ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# gtest_main lib host 588ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 598ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectinclude $(CLEAR_VARS) 608ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 618ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_CPP_EXTENSION := .cc 628ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_SRC_FILES := gtest_main.cc 638ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_C_INCLUDES := $(libgtest_host_includes) 648ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_CFLAGS += $(libgtest_cflags) 658ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_MODULE := libgtest_main_host 668ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_MULTILIB := both 678ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 688ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectinclude $(BUILD_HOST_STATIC_LIBRARY) 698ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 708ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project####################################################################### 718ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project# gtest lib target 728ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 738ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectinclude $(CLEAR_VARS) 748ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 758ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_SDK_VERSION := 9 768ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_NDK_STL_VARIANT := stlport_static 778ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 788ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_CPP_EXTENSION := .cc 798ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_SRC_FILES := gtest-all.cc 808ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_C_INCLUDES := $(libgtest_target_includes) 818ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_CFLAGS += $(libgtest_cflags) 828ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source ProjectLOCAL_MODULE := libgtest 83 84include $(BUILD_STATIC_LIBRARY) 85 86####################################################################### 87# gtest_main lib target 88 89include $(CLEAR_VARS) 90 91LOCAL_SDK_VERSION := 9 92LOCAL_NDK_STL_VARIANT := stlport_static 93 94LOCAL_CPP_EXTENSION := .cc 95LOCAL_SRC_FILES := gtest_main.cc 96LOCAL_C_INCLUDES := $(libgtest_target_includes) 97LOCAL_CFLAGS += $(libgtest_cflags) 98LOCAL_MODULE := libgtest_main 99 100include $(BUILD_STATIC_LIBRARY) 101 102# Don't build for unbundled branches 103ifeq (,$(TARGET_BUILD_APPS)) 104####################################################################### 105# libc++ 106 107####################################################################### 108# gtest lib host 109 110include $(CLEAR_VARS) 111 112LOCAL_CLANG := true 113LOCAL_CPP_EXTENSION := .cc 114LOCAL_SRC_FILES := gtest-all.cc 115LOCAL_C_INCLUDES := $(libgtest_host_includes) 116LOCAL_CFLAGS += $(libgtest_cflags) 117LOCAL_MODULE := libgtest_libc++_host 118LOCAL_MULTILIB := both 119 120include external/libcxx/libcxx.mk 121include $(BUILD_HOST_STATIC_LIBRARY) 122 123####################################################################### 124# gtest_main lib host 125 126include $(CLEAR_VARS) 127 128LOCAL_CLANG := true 129LOCAL_CPP_EXTENSION := .cc 130LOCAL_SRC_FILES := gtest_main.cc 131LOCAL_C_INCLUDES := $(libgtest_host_includes) 132LOCAL_CFLAGS += $(libgtest_cflags) 133LOCAL_MODULE := libgtest_main_libc++_host 134LOCAL_MULTILIB := both 135 136include external/libcxx/libcxx.mk 137include $(BUILD_HOST_STATIC_LIBRARY) 138 139####################################################################### 140# gtest lib target 141 142include $(CLEAR_VARS) 143 144LOCAL_CLANG := true 145LOCAL_CPP_EXTENSION := .cc 146LOCAL_SRC_FILES := gtest-all.cc 147LOCAL_C_INCLUDES := $(libgtest_target_includes) 148LOCAL_CFLAGS += $(libgtest_cflags) 149LOCAL_MODULE := libgtest_libc++ 150 151include external/libcxx/libcxx.mk 152include $(BUILD_STATIC_LIBRARY) 153 154####################################################################### 155# gtest_main lib target 156 157include $(CLEAR_VARS) 158 159LOCAL_CLANG := true 160LOCAL_CPP_EXTENSION := .cc 161LOCAL_SRC_FILES := gtest_main.cc 162LOCAL_C_INCLUDES := $(libgtest_target_includes) 163LOCAL_CFLAGS += $(libgtest_cflags) 164LOCAL_MODULE := libgtest_main_libc++ 165 166include external/libcxx/libcxx.mk 167include $(BUILD_STATIC_LIBRARY) 168endif 169