107d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# 207d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# Copyright (C) 2011 The Android Open Source Project 307d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# 407d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# Licensed under the Apache License, Version 2.0 (the "License"); 507d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# you may not use this file except in compliance with the License. 607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# You may obtain a copy of the License at 707d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# 807d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# http://www.apache.org/licenses/LICENSE-2.0 907d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# 1007d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# Unless required by applicable law or agreed to in writing, software 1107d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# distributed under the License is distributed on an "AS IS" BASIS, 1207d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1307d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# See the License for the specific language governing permissions and 1407d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# limitations under the License. 1507d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# 1607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom 17afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian RogersLOCAL_PATH := $(call my-dir) 18afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers 19afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogersinclude art/build/Android.common_build.mk 20afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers 2151c2467e8771b56e25ae4f17f66522f979f57a7eBrian CarlstromLIBARTTEST_COMMON_SRC_FILES := \ 221c83cbc4a817acbd7f9abb5b29a2d418a958e6a1Andreas Gampe 004-JniTest/jni_test.cc \ 231c83cbc4a817acbd7f9abb5b29a2d418a958e6a1Andreas Gampe 004-SignalTest/signaltest.cc \ 241c83cbc4a817acbd7f9abb5b29a2d418a958e6a1Andreas Gampe 004-ReferenceMap/stack_walk_refmap_jni.cc \ 251c83cbc4a817acbd7f9abb5b29a2d418a958e6a1Andreas Gampe 004-StackWalk/stack_walk_jni.cc \ 269c290012b7f505ae1943ab87236f775b97a46e2dNicolas Geoffray 004-UnsafeTest/unsafe_test.cc \ 270a112bbbcd761c749c346bfec0ec39c1ef37a590Alex Light 116-nodex2oat/nodex2oat.cc \ 28507e6180ad271eb719c67ce7394852c731d975a5Alex Light 117-nopatchoat/nopatchoat.cc \ 29507e6180ad271eb719c67ce7394852c731d975a5Alex Light 118-noimage-dex2oat/noimage-dex2oat.cc 3051c2467e8771b56e25ae4f17f66522f979f57a7eBrian Carlstrom 31afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian RogersART_TARGET_LIBARTTEST_$(ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttest.so 320e12bdc49744eb6d5c29b9611a8dbe10bac4cd53Brian Carlstromifdef TARGET_2ND_ARCH 33afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers ART_TARGET_LIBARTTEST_$(2ND_ART_PHONY_TEST_TARGET_SUFFIX) += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttest.so 340e12bdc49744eb6d5c29b9611a8dbe10bac4cd53Brian Carlstromendif 350e12bdc49744eb6d5c29b9611a8dbe10bac4cd53Brian Carlstrom 3607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom# $(1): target or host 3707d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstromdefine build-libarttest 380796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom ifneq ($(1),target) 390796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom ifneq ($(1),host) 400796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom $$(error expected target or host for argument 1, received $(1)) 410796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom endif 420796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom endif 430796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom 440796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom art_target_or_host := $(1) 450796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom 4607d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom include $(CLEAR_VARS) 4707d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION) 4807d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom LOCAL_MODULE := libarttest 49871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom ifeq ($$(art_target_or_host),target) 50871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom LOCAL_MODULE_TAGS := tests 51871599a0289b6b81f83caafae7ba755718186205Brian Carlstrom endif 5207d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom LOCAL_SRC_FILES := $(LIBARTTEST_COMMON_SRC_FILES) 53025218c7e4330a4942b14f9a8f1f68bd3390261cElliott Hughes LOCAL_SHARED_LIBRARIES += libartd 547940e44f4517de5e2634a7e07d58d0fb26160513Brian Carlstrom LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime 55afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk 56afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.libarttest.mk 572a0e954ecf7c60e6ec62d64b9382cc4ee447e224Dan Albert include external/libcxx/libcxx.mk 580796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom ifeq ($$(art_target_or_host),target) 59afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers $(call set-target-local-clang-vars) 60afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers $(call set-target-local-cflags-vars,debug) 61b3733086ab415088b97fac20b3eea24433a7d2c5Hiroshi Yamauchi LOCAL_SHARED_LIBRARIES += libdl libcutils 629407c60800c95902fba0b3c3265520d47c1e7052Shih-wei Liao LOCAL_STATIC_LIBRARIES := libgtest 63afbaa1aab02cfe519d00336870b1bcd24b61378dAndreas Gampe LOCAL_MULTILIB := both 64afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers LOCAL_MODULE_PATH_32 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_32) 65afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers LOCAL_MODULE_PATH_64 := $(ART_TARGET_TEST_OUT)/$(ART_TARGET_ARCH_64) 66dc781a13ddb4dabf646bb45d0c53b65cab948e5bColin Cross LOCAL_MODULE_TARGET_ARCH := $(ART_SUPPORTED_ARCH) 670796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom include $(BUILD_SHARED_LIBRARY) 680796af03edc06d92bb8d631f1c0c23befdae2315Brian Carlstrom else # host 69cd5d0422ac07b03220970a3606f8b402a3636528Ian Rogers LOCAL_CLANG := $(ART_HOST_CLANG) 708692721dd8a3679ca874c3d1be0cecb62ff148f6Brian Carlstrom LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS) 71b3733086ab415088b97fac20b3eea24433a7d2c5Hiroshi Yamauchi LOCAL_STATIC_LIBRARIES := libcutils 722a0e954ecf7c60e6ec62d64b9382cc4ee447e224Dan Albert LOCAL_LDLIBS += -ldl -lpthread 73ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes ifeq ($(HOST_OS),linux) 74ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes LOCAL_LDLIBS += -lrt 75ad6c9c3dbf7541340f22ccbb333f08556ad7e000Elliott Hughes endif 76bd5ea6a2f7c61c4cd7b66fead1bedd96e938369dIan Rogers LOCAL_IS_HOST_MODULE := true 77afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers LOCAL_MULTILIB := both 7807d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom include $(BUILD_HOST_SHARED_LIBRARY) 7907d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom endif 80afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers 81afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers # Clear locally used variables. 82afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers art_target_or_host := 8307d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstromendef 8407d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstrom 854b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromifeq ($(ART_BUILD_TARGET),true) 864b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstrom $(eval $(call build-libarttest,target)) 874b620ffb1b4d0c96a94bb3afe314f35d53990ec6Brian Carlstromendif 88c5f17732d8144491c642776b6b48c85dfadf4b52Ian Rogersifeq ($(ART_BUILD_HOST),true) 89c5f17732d8144491c642776b6b48c85dfadf4b52Ian Rogers $(eval $(call build-libarttest,host)) 9007d579faa0abc835e8db970ff48b6f79cdc67f8fBrian Carlstromendif 91afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers 92afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian Rogers# Clear locally used variables. 93afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian RogersLOCAL_PATH := 94afd9acc30bdd11cdd12d8209eb994cb371c65e33Ian RogersLIBARTTEST_COMMON_SRC_FILES := 95