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.
14LOCAL_PATH := $(call my-dir)
15
16###
17### android.hardware.wifi static library
18###
19include $(CLEAR_VARS)
20LOCAL_MODULE := android.hardware.wifi@1.0-service-lib
21LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
22LOCAL_LICENSE_CONDITIONS := notice
23LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
24LOCAL_MODULE_RELATIVE_PATH := hw
25LOCAL_PROPRIETARY_MODULE := true
26LOCAL_CPPFLAGS := -Wall -Werror -Wextra
27ifdef WIFI_HAL_INTERFACE_COMBINATIONS
28LOCAL_CPPFLAGS += -DWIFI_HAL_INTERFACE_COMBINATIONS="$(WIFI_HAL_INTERFACE_COMBINATIONS)"
29endif
30ifdef WIFI_HIDL_FEATURE_AWARE
31LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_AWARE
32endif
33ifdef WIFI_HIDL_FEATURE_DUAL_INTERFACE
34LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DUAL_INTERFACE
35endif
36ifdef WIFI_HIDL_FEATURE_DISABLE_AP
37LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DISABLE_AP
38endif
39ifdef WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
40LOCAL_CPPFLAGS += -DWIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
41endif
42ifdef WIFI_AVOID_IFACE_RESET_MAC_CHANGE
43LOCAL_CPPFLAGS += -DWIFI_AVOID_IFACE_RESET_MAC_CHANGE
44endif
45# Allow implicit fallthroughs in wifi_legacy_hal.cpp until they are fixed.
46LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
47LOCAL_SRC_FILES := \
48    hidl_struct_util.cpp \
49    hidl_sync_util.cpp \
50    ringbuffer.cpp \
51    wifi.cpp \
52    wifi_ap_iface.cpp \
53    wifi_chip.cpp \
54    wifi_feature_flags.cpp \
55    wifi_iface_util.cpp \
56    wifi_legacy_hal.cpp \
57    wifi_legacy_hal_factory.cpp \
58    wifi_legacy_hal_stubs.cpp \
59    wifi_mode_controller.cpp \
60    wifi_nan_iface.cpp \
61    wifi_p2p_iface.cpp \
62    wifi_rtt_controller.cpp \
63    wifi_sta_iface.cpp \
64    wifi_status_util.cpp
65LOCAL_SHARED_LIBRARIES := \
66    libbase \
67    libcutils \
68    libhidlbase \
69    liblog \
70    libnl \
71    libutils \
72    libwifi-hal \
73    libwifi-system-iface \
74    libxml2 \
75    android.hardware.wifi@1.0 \
76    android.hardware.wifi@1.1 \
77    android.hardware.wifi@1.2 \
78    android.hardware.wifi@1.3 \
79    android.hardware.wifi@1.4 \
80    android.hardware.wifi@1.5
81LOCAL_C_INCLUDES += $(TOP)/external/libxml2/include
82LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
83include $(BUILD_STATIC_LIBRARY)
84
85###
86### android.hardware.wifi daemon
87###
88include $(CLEAR_VARS)
89LOCAL_MODULE := android.hardware.wifi@1.0-service
90LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
91LOCAL_LICENSE_CONDITIONS := notice
92LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
93LOCAL_VINTF_FRAGMENTS := android.hardware.wifi@1.0-service.xml
94LOCAL_MODULE_RELATIVE_PATH := hw
95LOCAL_PROPRIETARY_MODULE := true
96LOCAL_CPPFLAGS := -Wall -Werror -Wextra
97LOCAL_SRC_FILES := \
98    service.cpp
99LOCAL_SHARED_LIBRARIES := \
100    libbase \
101    libcutils \
102    libhidlbase \
103    liblog \
104    libnl \
105    libutils \
106    libwifi-hal \
107    libwifi-system-iface \
108    libxml2 \
109    android.hardware.wifi@1.0 \
110    android.hardware.wifi@1.1 \
111    android.hardware.wifi@1.2 \
112    android.hardware.wifi@1.3 \
113    android.hardware.wifi@1.4 \
114    android.hardware.wifi@1.5
115LOCAL_STATIC_LIBRARIES := \
116    android.hardware.wifi@1.0-service-lib
117LOCAL_INIT_RC := android.hardware.wifi@1.0-service.rc
118include $(BUILD_EXECUTABLE)
119
120###
121### android.hardware.wifi daemon
122###
123include $(CLEAR_VARS)
124LOCAL_MODULE := android.hardware.wifi@1.0-service-lazy
125LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
126LOCAL_LICENSE_CONDITIONS := notice
127LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
128LOCAL_VINTF_FRAGMENTS := android.hardware.wifi@1.0-service.xml
129LOCAL_OVERRIDES_MODULES := android.hardware.wifi@1.0-service
130LOCAL_CFLAGS := -DLAZY_SERVICE
131LOCAL_MODULE_RELATIVE_PATH := hw
132LOCAL_PROPRIETARY_MODULE := true
133LOCAL_CPPFLAGS := -Wall -Werror -Wextra
134LOCAL_SRC_FILES := \
135    service.cpp
136LOCAL_SHARED_LIBRARIES := \
137    libbase \
138    libcutils \
139    libhidlbase \
140    liblog \
141    libnl \
142    libutils \
143    libwifi-hal \
144    libwifi-system-iface \
145    libxml2 \
146    android.hardware.wifi@1.0 \
147    android.hardware.wifi@1.1 \
148    android.hardware.wifi@1.2 \
149    android.hardware.wifi@1.3 \
150    android.hardware.wifi@1.4 \
151    android.hardware.wifi@1.5
152LOCAL_STATIC_LIBRARIES := \
153    android.hardware.wifi@1.0-service-lib
154LOCAL_INIT_RC := android.hardware.wifi@1.0-service-lazy.rc
155include $(BUILD_EXECUTABLE)
156
157###
158### android.hardware.wifi unit tests.
159###
160include $(CLEAR_VARS)
161LOCAL_MODULE := android.hardware.wifi@1.0-service-tests
162LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
163LOCAL_LICENSE_CONDITIONS := notice
164LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../NOTICE
165LOCAL_PROPRIETARY_MODULE := true
166LOCAL_CPPFLAGS := -Wall -Werror -Wextra
167LOCAL_SRC_FILES := \
168    tests/hidl_struct_util_unit_tests.cpp \
169    tests/main.cpp \
170    tests/mock_interface_tool.cpp \
171    tests/mock_wifi_feature_flags.cpp \
172    tests/mock_wifi_iface_util.cpp \
173    tests/mock_wifi_legacy_hal.cpp \
174    tests/mock_wifi_mode_controller.cpp \
175    tests/ringbuffer_unit_tests.cpp \
176    tests/wifi_nan_iface_unit_tests.cpp \
177    tests/wifi_chip_unit_tests.cpp \
178    tests/wifi_iface_util_unit_tests.cpp
179LOCAL_STATIC_LIBRARIES := \
180    libgmock \
181    libgtest \
182    android.hardware.wifi@1.0 \
183    android.hardware.wifi@1.1 \
184    android.hardware.wifi@1.2 \
185    android.hardware.wifi@1.3 \
186    android.hardware.wifi@1.4 \
187    android.hardware.wifi@1.5 \
188    android.hardware.wifi@1.0-service-lib
189LOCAL_SHARED_LIBRARIES := \
190    libbase \
191    libcutils \
192    libhidlbase \
193    liblog \
194    libnl \
195    libutils \
196    libwifi-hal \
197    libwifi-system-iface
198include $(BUILD_NATIVE_TEST)
199