13a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton ############################################################################## 23a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # 33a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # Copyright (C) 2014 Google, Inc. 43a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # 53a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # Licensed under the Apache License, Version 2.0 (the "License"); 63a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # you may not use this file except in compliance with the License. 73a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # You may obtain a copy of the License at: 83a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # 93a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # http://www.apache.org/licenses/LICENSE-2.0 103a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # 113a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # Unless required by applicable law or agreed to in writing, software 123a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # distributed under the License is distributed on an "AS IS" BASIS, 133a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 143a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # See the License for the specific language governing permissions and 153a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # limitations under the License. 163a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton # 173a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton ############################################################################## 183a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton 19cef7695cb3c0e1a5d462deac6508ade2726918cfSharvil NanavatiLOCAL_PATH := $(call my-dir) 20cef7695cb3c0e1a5d462deac6508ade2726918cfSharvil Nanavati 21145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# Common variables 22145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# ======================================================== 23cef7695cb3c0e1a5d462deac6508ade2726918cfSharvil Nanavati 24109691281c0135fd4298debcdec37fdc5855261eMiao Chou# TODO(mcchou): Remove socket_utils sources after platform specific 25109691281c0135fd4298debcdec37fdc5855261eMiao Chou# dependencies are abstracted. 26145cf576b55bc1eba7818d28e580a7729c94deeaArman UguraybtosiCommonSrc := \ 27f0e7c8b895c61104ce962b7c5e3705a32943d711Sharvil Nanavati ./src/alarm.c \ 283b72a14c2515c1169d5501ada5499cf232fc643bZach Johnson ./src/allocation_tracker.c \ 29dcbfea8f812315c93568ef1fccf429fbaa03ce82Zach Johnson ./src/allocator.c \ 30badeb92ca9a17f6bbc9e69ccaf5943aeec09fc4eSharvil Nanavati ./src/array.c \ 311878c42ef822ef66df7f9bc69bb613efc37156ecSharvil Nanavati ./src/buffer.c \ 32145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray ./src/compat.c \ 33f886773891f1cfe37f8824ed8e63230954e5c2d8Sharvil Nanavati ./src/config.c \ 343605c802486424c2fe22b3474c941f224cd56419Zach Johnson ./src/data_dispatcher.c \ 35d18cfd09c96740f57c5645b18d9582aa8afffcedZach Johnson ./src/eager_reader.c \ 36c11b407e78d96e05b0991bbe6dfde0d7eb5349b5Sharvil Nanavati ./src/fixed_queue.c \ 372e241dbe76facf02450c86d9fb4bf3d76d6dde21Zach Johnson ./src/future.c \ 38b88b2bbce4cfa78e37f303e55c66fd43719cbc4cZach Johnson ./src/hash_functions.c \ 393a2ee939c61a1c3f57fa3eb99899ba908c41e7d5Chris Manton ./src/hash_map.c \ 4098a9641e77a247e5ba9a7f263066058d17e2b0a0Miao Chou ./src/hash_map_utils.c \ 41c11b407e78d96e05b0991bbe6dfde0d7eb5349b5Sharvil Nanavati ./src/list.c \ 42aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Janssen ./src/metrics.cpp \ 431eb1ea0cf2da992a3193506806e571dcbe3ec947Pavlin Radoslavov ./src/mutex.c \ 448d0a6a408ff57cb221e67963a95822f080911f20Marie Janssen ./src/osi.c \ 452998946db9b820806d4a3e6decf1d01f090a8031Jakub Pawlowski ./src/properties.c \ 4619084c6242d8ddb366a52eba5084c974280cce0fSharvil Nanavati ./src/reactor.c \ 4789f5e411d9ef31436741288a2267e46dd744e273Andre Eisenbach ./src/ringbuffer.c \ 48118bdd58389c77dd69b37e377b4e98ea89d2b14eSharvil Nanavati ./src/semaphore.c \ 49c2031c4fbab9ed2d2e51a0b287a3fab805932ca4Sharvil Nanavati ./src/socket.c \ 50109691281c0135fd4298debcdec37fdc5855261eMiao Chou ./src/socket_utils/socket_local_client.c \ 51109691281c0135fd4298debcdec37fdc5855261eMiao Chou ./src/socket_utils/socket_local_server.c \ 52c196f214c5ae349ec2022f8d3cbaf56910b3b9f8Pavlin Radoslavov ./src/thread.c \ 53d2e250824fca5c42b87b3b6f5fa19646ffa2d321Pavlin Radoslavov ./src/time.c \ 54d2e250824fca5c42b87b3b6f5fa19646ffa2d321Pavlin Radoslavov ./src/wakelock.c 55cef7695cb3c0e1a5d462deac6508ade2726918cfSharvil Nanavati 56145cf576b55bc1eba7818d28e580a7729c94deeaArman UguraybtosiCommonTestSrc := \ 572bbb33c648fd27233421a721e067d8c0e9012a7eZach Johnson ./test/AlarmTestHarness.cpp \ 583b72a14c2515c1169d5501ada5499cf232fc643bZach Johnson ./test/AllocationTestHarness.cpp \ 59badeb92ca9a17f6bbc9e69ccaf5943aeec09fc4eSharvil Nanavati ./test/alarm_test.cpp \ 603b72a14c2515c1169d5501ada5499cf232fc643bZach Johnson ./test/allocation_tracker_test.cpp \ 6198a9641e77a247e5ba9a7f263066058d17e2b0a0Miao Chou ./test/allocator_test.cpp \ 62badeb92ca9a17f6bbc9e69ccaf5943aeec09fc4eSharvil Nanavati ./test/array_test.cpp \ 63f886773891f1cfe37f8824ed8e63230954e5c2d8Sharvil Nanavati ./test/config_test.cpp \ 643605c802486424c2fe22b3474c941f224cd56419Zach Johnson ./test/data_dispatcher_test.cpp \ 65d18cfd09c96740f57c5645b18d9582aa8afffcedZach Johnson ./test/eager_reader_test.cpp \ 66153bdfb9784b21e235676508c75bf2f4ee2b937fPavlin Radoslavov ./test/fixed_queue_test.cpp \ 672e241dbe76facf02450c86d9fb4bf3d76d6dde21Zach Johnson ./test/future_test.cpp \ 687359477fe6ecb65d8d8fb7574fbb841e6f8da904Chris Manton ./test/hash_map_test.cpp \ 6998a9641e77a247e5ba9a7f263066058d17e2b0a0Miao Chou ./test/hash_map_utils_test.cpp \ 7019084c6242d8ddb366a52eba5084c974280cce0fSharvil Nanavati ./test/list_test.cpp \ 712998946db9b820806d4a3e6decf1d01f090a8031Jakub Pawlowski ./test/properties_test.cpp \ 728d0a6a408ff57cb221e67963a95822f080911f20Marie Janssen ./test/rand_test.cpp \ 73118bdd58389c77dd69b37e377b4e98ea89d2b14eSharvil Nanavati ./test/reactor_test.cpp \ 7489f5e411d9ef31436741288a2267e46dd744e273Andre Eisenbach ./test/ringbuffer_test.cpp \ 7548df46b8398cf224a5209002cce3d534c4480d99Andre Eisenbach ./test/semaphore_test.cpp \ 76c196f214c5ae349ec2022f8d3cbaf56910b3b9f8Pavlin Radoslavov ./test/thread_test.cpp \ 77c196f214c5ae349ec2022f8d3cbaf56910b3b9f8Pavlin Radoslavov ./test/time_test.cpp 78cef7695cb3c0e1a5d462deac6508ade2726918cfSharvil Nanavati 79145cf576b55bc1eba7818d28e580a7729c94deeaArman UguraybtosiCommonIncludes := \ 80145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray $(LOCAL_PATH)/.. \ 8110978011f286d20f10eb949e3557ad00a62c8424Pavlin Radoslavov $(LOCAL_PATH)/../utils/include \ 820b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov $(LOCAL_PATH)/../stack/include \ 830b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov $(bluetooth_C_INCLUDES) 84145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray 850b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov# Bluetooth Protobuf static library for target 86aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Janssen# ======================================================== 87aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Jansseninclude $(CLEAR_VARS) 88aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_MODULE := libbt-protos 89aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_MODULE_CLASS := STATIC_LIBRARIES 90aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Janssengenerated_sources_dir := $(call local-generated-sources-dir) 91aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_EXPORT_C_INCLUDE_DIRS += \ 92aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Janssen $(generated_sources_dir)/proto/system/bt 93aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_SRC_FILES := $(call all-proto-files-under,src/protos/) 940b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 950b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CFLAGS += $(bluetooth_CFLAGS) 960b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 970b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 980b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 99aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Jansseninclude $(BUILD_STATIC_LIBRARY) 100aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Janssen 1010b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov# Bluetooth Protobuf static library for host 1020b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov# ======================================================== 103aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Jansseninclude $(CLEAR_VARS) 104aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_MODULE := libbt-protos 105aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_MODULE_CLASS := STATIC_LIBRARIES 10606b3a5741afa443966ec1268241c98b8549f8c44Ying WangLOCAL_IS_HOST_MODULE := true 107aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Janssengenerated_sources_dir := $(call local-generated-sources-dir) 108aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_EXPORT_C_INCLUDE_DIRS += \ 109aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Janssen $(generated_sources_dir)/proto/system/bt 110aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_SRC_FILES := $(call all-proto-files-under,src/protos/) 1110b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 1120b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CFLAGS += $(bluetooth_CFLAGS) 1130b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 1140b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 1150b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 116aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Jansseninclude $(BUILD_HOST_STATIC_LIBRARY) 117aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie Janssen 118145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# libosi static library for target 119145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# ======================================================== 120145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayinclude $(CLEAR_VARS) 121145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_C_INCLUDES := $(btosiCommonIncludes) 122145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_SRC_FILES := $(btosiCommonSrc) 123145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_MODULE := libosi 124145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_MODULE_TAGS := optional 125e064f0846d382180a7955b7e45fcb73fa13ff992Ajay PanickerLOCAL_SHARED_LIBRARIES := libc liblog libchrome 126aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_STATIC_LIBRARIES := libbt-protos 127145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_MODULE_CLASS := STATIC_LIBRARIES 1280b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 1290b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CFLAGS += $(bluetooth_CFLAGS) 1300b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 1310b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 1320b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 133145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayinclude $(BUILD_STATIC_LIBRARY) 134145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray 135145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# libosi static library for host 136145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# ======================================================== 137145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayifeq ($(HOST_OS),linux) 138145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayinclude $(CLEAR_VARS) 139145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_C_INCLUDES := $(btosiCommonIncludes) 140145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_SRC_FILES := $(btosiCommonSrc) 141145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_MODULE := libosi-host 142145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_MODULE_TAGS := optional 143e064f0846d382180a7955b7e45fcb73fa13ff992Ajay PanickerLOCAL_SHARED_LIBRARIES := liblog libchrome 144aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_STATIC_LIBRARIES := libbt-protos 145145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_MODULE_CLASS := STATIC_LIBRARIES 1460b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 1470b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov# TODO(armansito): Setting _GNU_SOURCE isn't very platform-independent but 1480b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov# should be compatible for a Linux host OS. We should figure out what to do for 1490b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov# a non-Linux host OS. 1502998946db9b820806d4a3e6decf1d01f090a8031Jakub PawlowskiLOCAL_CFLAGS += $(bluetooth_CFLAGS) -D_GNU_SOURCE -DOS_GENERIC 1510b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 1520b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 1530b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 154145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayinclude $(BUILD_HOST_STATIC_LIBRARY) 155145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayendif 156145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray 1570b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov# 158145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# Note: It's good to get the tests compiled both for the host and the target so 159145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# we get to test with both Bionic libc and glibc 1600b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov# 161145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# libosi unit tests for target 162145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# ======================================================== 163145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayinclude $(CLEAR_VARS) 164145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_C_INCLUDES := $(btosiCommonIncludes) 165145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_SRC_FILES := $(btosiCommonTestSrc) 16661683578a90c46aea254b22bda4ceda0e1207600Sharvil NanavatiLOCAL_MODULE := net_test_osi 167cef7695cb3c0e1a5d462deac6508ade2726918cfSharvil NanavatiLOCAL_MODULE_TAGS := tests 1682998946db9b820806d4a3e6decf1d01f090a8031Jakub PawlowskiLOCAL_SHARED_LIBRARIES := libc liblog libprotobuf-cpp-full libchrome libcutils 169aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_STATIC_LIBRARIES := libosi libbt-protos 1700b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 1710b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CFLAGS += $(bluetooth_CFLAGS) 1720b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 1730b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 1740b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 175cef7695cb3c0e1a5d462deac6508ade2726918cfSharvil Nanavatiinclude $(BUILD_NATIVE_TEST) 176145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray 177145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# libosi unit tests for host 178145cf576b55bc1eba7818d28e580a7729c94deeaArman Uguray# ======================================================== 179145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayifeq ($(HOST_OS),linux) 180145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayinclude $(CLEAR_VARS) 181145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_C_INCLUDES := $(btosiCommonIncludes) 182145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_SRC_FILES := $(btosiCommonTestSrc) 183145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_LDLIBS := -lrt -lpthread 184145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_MODULE := net_test_osi 185145cf576b55bc1eba7818d28e580a7729c94deeaArman UgurayLOCAL_MODULE_TAGS := tests 186e064f0846d382180a7955b7e45fcb73fa13ff992Ajay PanickerLOCAL_SHARED_LIBRARIES := liblog libprotobuf-cpp-full libchrome 187aa11644f763b1d33123b3f71d1a6c3977e7d69cfMarie JanssenLOCAL_STATIC_LIBRARIES := libosi-host libbt-protos 1880b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 1892998946db9b820806d4a3e6decf1d01f090a8031Jakub PawlowskiLOCAL_CFLAGS += $(bluetooth_CFLAGS) -DOS_GENERIC 1900b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CONLYFLAGS += $(bluetooth_CONLYFLAGS) 1910b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin RadoslavovLOCAL_CPPFLAGS += $(bluetooth_CPPFLAGS) 1920b60bb04b966030fd1dfdffe68099da8f280ade0Pavlin Radoslavov 193145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayinclude $(BUILD_HOST_NATIVE_TEST) 194145cf576b55bc1eba7818d28e580a7729c94deeaArman Ugurayendif 195