1 ############################################################################## 2 # 3 # Copyright (C) 2014 Google, Inc. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at: 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 # 17 ############################################################################## 18 19 LOCAL_PATH := $(call my-dir) 20 21 # Common variables 22 # ======================================================== 23 btcoreCommonSrc := \ 24 src/bdaddr.c \ 25 src/device_class.c \ 26 src/hal_util.c \ 27 src/module.c \ 28 src/osi_module.c \ 29 src/property.c \ 30 src/uuid.c 31 32 btcoreCommonTestSrc := \ 33 ./test/bdaddr_test.cpp \ 34 ./test/device_class_test.cpp \ 35 ./test/property_test.cpp \ 36 ./test/uuid_test.cpp \ 37 ../osi/test/AllocationTestHarness.cpp 38 39 btcoreCommonIncludes := \ 40 $(LOCAL_PATH)/include \ 41 $(LOCAL_PATH)/.. 42 43 # libbtcore static library for target 44 # ======================================================== 45 include $(CLEAR_VARS) 46 LOCAL_C_INCLUDES := $(btcoreCommonIncludes) 47 LOCAL_SRC_FILES := $(btcoreCommonSrc) 48 LOCAL_MODULE := libbtcore 49 LOCAL_MODULE_TAGS := optional 50 LOCAL_SHARED_LIBRARIES := libc liblog 51 LOCAL_MODULE_CLASS := STATIC_LIBRARIES 52 53 LOCAL_CFLAGS += $(bluetooth_CFLAGS) 54 LOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 55 LOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 56 57 include $(BUILD_STATIC_LIBRARY) 58 59 # libbtcore static library for host 60 # ======================================================== 61 ifeq ($(HOST_OS),linux) 62 include $(CLEAR_VARS) 63 LOCAL_C_INCLUDES := $(btcoreCommonIncludes) 64 LOCAL_SRC_FILES := $(btcoreCommonSrc) 65 LOCAL_MODULE := libbtcore-host 66 LOCAL_MODULE_TAGS := optional 67 LOCAL_SHARED_LIBRARIES := liblog 68 LOCAL_MODULE_CLASS := STATIC_LIBRARIES 69 70 # TODO(armansito): Setting _GNU_SOURCE isn't very platform-independent but 71 # should be compatible for a Linux host OS. We should figure out what to do for 72 # a non-Linux host OS. 73 LOCAL_CFLAGS += $(bluetooth_CFLAGS) -D_GNU_SOURCE 74 LOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 75 LOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 76 77 include $(BUILD_HOST_STATIC_LIBRARY) 78 endif 79 80 # Note: It's good to get the tests compiled both for the host and the target so 81 # we get to test with both Bionic libc and glibc 82 83 # libbtcore unit tests for target 84 # ======================================================== 85 include $(CLEAR_VARS) 86 LOCAL_C_INCLUDES := $(btcoreCommonIncludes) 87 LOCAL_SRC_FILES := $(btcoreCommonTestSrc) 88 LOCAL_MODULE := net_test_btcore 89 LOCAL_MODULE_TAGS := tests 90 LOCAL_SHARED_LIBRARIES := liblog 91 LOCAL_STATIC_LIBRARIES := libbtcore libosi 92 93 LOCAL_CFLAGS += $(bluetooth_CFLAGS) 94 LOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 95 LOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 96 97 include $(BUILD_NATIVE_TEST) 98 99 # libbtcore unit tests for host 100 # ======================================================== 101 ifeq ($(HOST_OS),linux) 102 include $(CLEAR_VARS) 103 LOCAL_C_INCLUDES := $(btcoreCommonIncludes) 104 LOCAL_SRC_FILES := $(btcoreCommonTestSrc) 105 LOCAL_MODULE := net_test_btcore 106 LOCAL_MODULE_TAGS := tests 107 LOCAL_SHARED_LIBRARIES := liblog 108 LOCAL_STATIC_LIBRARIES := libbtcore-host libosi-host 109 110 LOCAL_CFLAGS += $(bluetooth_CFLAGS) 111 LOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 112 LOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 113 114 include $(BUILD_HOST_NATIVE_TEST) 115 endif 116