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.
15 LOCAL_PATH := $(call my-dir)
17 vhal_v2_0 = android.hardware.automotive.vehicle@2.0
19 ###############################################################################
20 # Vehicle reference implementation lib
21 ###############################################################################
22 include $(CLEAR_VARS)
23 LOCAL_MODULE := $(vhal_v2_0)-manager-lib
24 LOCAL_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 \
31 LOCAL_C_INCLUDES := \
32 $(LOCAL_PATH)/common/include/vhal_v2_0
34 LOCAL_EXPORT_C_INCLUDE_DIRS := \
35 $(LOCAL_PATH)/common/include
37 LOCAL_SHARED_LIBRARIES := \
38 libhidlbase \
39 libhidltransport \
40 liblog \
41 libutils \
42 $(vhal_v2_0) \
44 include $(BUILD_STATIC_LIBRARY)
47 include $(CLEAR_VARS)
48 LOCAL_MODULE := $(vhal_v2_0)-manager-lib-shared
49 LOCAL_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 \
56 LOCAL_C_INCLUDES := \
57 $(LOCAL_PATH)/common/include/vhal_v2_0
59 LOCAL_EXPORT_C_INCLUDE_DIRS := \
60 $(LOCAL_PATH)/common/include
62 LOCAL_SHARED_LIBRARIES := \
63 libhidlbase \
64 libhidltransport \
65 liblog \
66 libutils \
67 $(vhal_v2_0) \
69 include $(BUILD_SHARED_LIBRARY)
71 ###############################################################################
72 # Vehicle HAL Protobuf library
73 ###############################################################################
74 include $(CLEAR_VARS)
75 LOCAL_SRC_FILES := $(call all-proto-files-under, impl/vhal_v2_0/proto)
77 LOCAL_PROTOC_OPTIMIZE_TYPE := nano
79 LOCAL_MODULE := $(vhal_v2_0)-libproto-native
80 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
82 LOCAL_MODULE_TAGS := optional
84 LOCAL_STRIP_MODULE := keep_symbols
86 generated_sources_dir := $(call local-generated-sources-dir)
87 LOCAL_EXPORT_C_INCLUDE_DIRS := \
88 $(generated_sources_dir)/proto/$(LOCAL_PATH)/impl/vhal_v2_0/proto
90 include $(BUILD_STATIC_LIBRARY)
93 ###############################################################################
94 # Vehicle default VehicleHAL implementation
95 ###############################################################################
96 include $(CLEAR_VARS)
98 LOCAL_MODULE:= $(vhal_v2_0)-default-impl-lib
99 LOCAL_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 \
105 LOCAL_C_INCLUDES := \
106 $(LOCAL_PATH)/impl/vhal_v2_0
108 LOCAL_EXPORT_C_INCLUDE_DIRS := \
109 $(LOCAL_PATH)/impl
111 LOCAL_WHOLE_STATIC_LIBRARIES := \
112 $(vhal_v2_0)-manager-lib \
114 LOCAL_SHARED_LIBRARIES := \
115 libbase \
116 libhidlbase \
117 libhidltransport \
118 liblog \
119 libprotobuf-cpp-lite \
120 libutils \
121 $(vhal_v2_0) \
123 LOCAL_STATIC_LIBRARIES := \
124 libqemu_pipe \
125 $(vhal_v2_0)-libproto-native \
127 LOCAL_CFLAGS += -Wall -Wextra -Werror
129 include $(BUILD_STATIC_LIBRARY)
132 ###############################################################################
133 # Vehicle reference implementation unit tests
134 ###############################################################################
135 include $(CLEAR_VARS)
137 LOCAL_MODULE:= $(vhal_v2_0)-manager-unit-tests
139 LOCAL_WHOLE_STATIC_LIBRARIES := \
140 $(vhal_v2_0)-manager-lib \
142 LOCAL_SRC_FILES:= \
143 tests/RecurrentTimer_test.cpp \
144 tests/SubscriptionManager_test.cpp \
145 tests/VehicleHalManager_test.cpp \
146 tests/VehicleObjectPool_test.cpp \
147 tests/VehiclePropConfigIndex_test.cpp \
149 LOCAL_HEADER_LIBRARIES := \
150 libbase_headers
152 LOCAL_SHARED_LIBRARIES := \
153 libhidlbase \
154 libhidltransport \
155 liblog \
156 libutils \
157 $(vhal_v2_0) \
159 LOCAL_CFLAGS += -Wall -Wextra -Werror
160 LOCAL_MODULE_TAGS := tests
162 include $(BUILD_NATIVE_TEST)
165 ###############################################################################
166 # Vehicle HAL service
167 ###############################################################################
168 include $(CLEAR_VARS)
169 LOCAL_MODULE := $(vhal_v2_0)-service
170 LOCAL_INIT_RC := $(vhal_v2_0)-service.rc
171 LOCAL_PROPRIETARY_MODULE := true
172 LOCAL_MODULE_RELATIVE_PATH := hw
174 LOCAL_SRC_FILES := \
175 VehicleService.cpp
177 LOCAL_SHARED_LIBRARIES := \
178 libbase \
179 libhidlbase \
180 libhidltransport \
181 liblog \
182 libprotobuf-cpp-lite \
183 libutils \
184 $(vhal_v2_0) \
186 LOCAL_STATIC_LIBRARIES := \
187 $(vhal_v2_0)-manager-lib \
188 $(vhal_v2_0)-default-impl-lib \
189 $(vhal_v2_0)-libproto-native \
190 libqemu_pipe \
192 LOCAL_CFLAGS += -Wall -Wextra -Werror
194 include $(BUILD_EXECUTABLE)