Home | History | Annotate | Download | only in btcore
      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