1# Copyright (C) 2016 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH := $(call my-dir) 16 17vhal_v2_0 = android.hardware.automotive.vehicle@2.0 18 19############################################################################### 20# Vehicle reference implementation lib 21############################################################################### 22include $(CLEAR_VARS) 23LOCAL_MODULE := $(vhal_v2_0)-manager-lib 24LOCAL_SRC_FILES := \ 25 common/src/SubscriptionManager.cpp \ 26 common/src/VehicleHalManager.cpp \ 27 common/src/VehicleObjectPool.cpp \ 28 common/src/VehiclePropertyStore.cpp \ 29 common/src/VehicleUtils.cpp \ 30 31LOCAL_C_INCLUDES := \ 32 $(LOCAL_PATH)/common/include/vhal_v2_0 33 34LOCAL_EXPORT_C_INCLUDE_DIRS := \ 35 $(LOCAL_PATH)/common/include 36 37LOCAL_SHARED_LIBRARIES := \ 38 libhidlbase \ 39 libhidltransport \ 40 liblog \ 41 libutils \ 42 $(vhal_v2_0) \ 43 44include $(BUILD_STATIC_LIBRARY) 45 46 47include $(CLEAR_VARS) 48LOCAL_MODULE := $(vhal_v2_0)-manager-lib-shared 49LOCAL_SRC_FILES := \ 50 common/src/SubscriptionManager.cpp \ 51 common/src/VehicleHalManager.cpp \ 52 common/src/VehicleObjectPool.cpp \ 53 common/src/VehiclePropertyStore.cpp \ 54 common/src/VehicleUtils.cpp \ 55 56LOCAL_C_INCLUDES := \ 57 $(LOCAL_PATH)/common/include/vhal_v2_0 58 59LOCAL_EXPORT_C_INCLUDE_DIRS := \ 60 $(LOCAL_PATH)/common/include 61 62LOCAL_SHARED_LIBRARIES := \ 63 libhidlbase \ 64 libhidltransport \ 65 liblog \ 66 libutils \ 67 $(vhal_v2_0) \ 68 69include $(BUILD_SHARED_LIBRARY) 70 71############################################################################### 72# Vehicle HAL Protobuf library 73############################################################################### 74include $(CLEAR_VARS) 75LOCAL_SRC_FILES := $(call all-proto-files-under, impl/vhal_v2_0/proto) 76 77LOCAL_PROTOC_OPTIMIZE_TYPE := nano 78 79LOCAL_MODULE := $(vhal_v2_0)-libproto-native 80LOCAL_MODULE_CLASS := STATIC_LIBRARIES 81 82LOCAL_MODULE_TAGS := optional 83 84LOCAL_STRIP_MODULE := keep_symbols 85 86generated_sources_dir := $(call local-generated-sources-dir) 87LOCAL_EXPORT_C_INCLUDE_DIRS := \ 88 $(generated_sources_dir)/proto/$(LOCAL_PATH)/impl/vhal_v2_0/proto 89 90include $(BUILD_STATIC_LIBRARY) 91 92 93############################################################################### 94# Vehicle default VehicleHAL implementation 95############################################################################### 96include $(CLEAR_VARS) 97 98LOCAL_MODULE:= $(vhal_v2_0)-default-impl-lib 99LOCAL_SRC_FILES:= \ 100 impl/vhal_v2_0/EmulatedVehicleHal.cpp \ 101 impl/vhal_v2_0/VehicleEmulator.cpp \ 102 impl/vhal_v2_0/PipeComm.cpp \ 103 impl/vhal_v2_0/SocketComm.cpp \ 104 105LOCAL_C_INCLUDES := \ 106 $(LOCAL_PATH)/impl/vhal_v2_0 107 108LOCAL_EXPORT_C_INCLUDE_DIRS := \ 109 $(LOCAL_PATH)/impl 110 111LOCAL_WHOLE_STATIC_LIBRARIES := \ 112 $(vhal_v2_0)-manager-lib \ 113 114LOCAL_SHARED_LIBRARIES := \ 115 libbase \ 116 libhidlbase \ 117 libhidltransport \ 118 liblog \ 119 libprotobuf-cpp-lite \ 120 libutils \ 121 $(vhal_v2_0) \ 122 123LOCAL_STATIC_LIBRARIES := \ 124 $(vhal_v2_0)-libproto-native \ 125 126LOCAL_CFLAGS += -Wall -Wextra -Werror 127 128include $(BUILD_STATIC_LIBRARY) 129 130 131############################################################################### 132# Vehicle reference implementation unit tests 133############################################################################### 134include $(CLEAR_VARS) 135 136LOCAL_MODULE:= $(vhal_v2_0)-manager-unit-tests 137 138LOCAL_WHOLE_STATIC_LIBRARIES := \ 139 $(vhal_v2_0)-manager-lib \ 140 141LOCAL_SRC_FILES:= \ 142 tests/RecurrentTimer_test.cpp \ 143 tests/SubscriptionManager_test.cpp \ 144 tests/VehicleHalManager_test.cpp \ 145 tests/VehicleObjectPool_test.cpp \ 146 tests/VehiclePropConfigIndex_test.cpp \ 147 148LOCAL_SHARED_LIBRARIES := \ 149 libhidlbase \ 150 libhidltransport \ 151 liblog \ 152 libutils \ 153 $(vhal_v2_0) \ 154 155LOCAL_CFLAGS += -Wall -Wextra -Werror 156LOCAL_MODULE_TAGS := tests 157 158include $(BUILD_NATIVE_TEST) 159 160 161############################################################################### 162# Vehicle HAL service 163############################################################################### 164include $(CLEAR_VARS) 165LOCAL_MODULE := $(vhal_v2_0)-service 166LOCAL_INIT_RC := $(vhal_v2_0)-service.rc 167LOCAL_PROPRIETARY_MODULE := true 168LOCAL_MODULE_RELATIVE_PATH := hw 169 170LOCAL_SRC_FILES := \ 171 VehicleService.cpp 172 173LOCAL_SHARED_LIBRARIES := \ 174 libbase \ 175 libhidlbase \ 176 libhidltransport \ 177 liblog \ 178 libprotobuf-cpp-lite \ 179 libutils \ 180 $(vhal_v2_0) \ 181 182LOCAL_STATIC_LIBRARIES := \ 183 $(vhal_v2_0)-manager-lib \ 184 $(vhal_v2_0)-default-impl-lib \ 185 $(vhal_v2_0)-libproto-native \ 186 187LOCAL_CFLAGS += -Wall -Wextra -Werror 188 189include $(BUILD_EXECUTABLE) 190