1 # Copyright (C) 2011 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 15 LOCAL_PATH := $(call my-dir) 16 17 ifneq ($(TARGET_BUILD_PDK), true) 18 19 # Make HAL stub library 1 20 # ============================================================ 21 22 include $(CLEAR_VARS) 23 24 LOCAL_REQUIRED_MODULES := 25 26 LOCAL_CFLAGS += -Wall -Werror -Wextra -Wno-unused-parameter -Wno-unused-function \ 27 -Wunused-variable -Winit-self -Wwrite-strings -Wshadow 28 29 LOCAL_C_INCLUDES += \ 30 external/libnl-headers \ 31 $(call include-path-for, libhardware_legacy)/hardware_legacy 32 33 LOCAL_SRC_FILES := \ 34 lib/wifi_hal.cpp 35 36 LOCAL_MODULE := libwifi-hal 37 38 include $(BUILD_STATIC_LIBRARY) 39 40 # Make HAL stub library 2 41 # ============================================================ 42 43 include $(CLEAR_VARS) 44 45 LOCAL_REQUIRED_MODULES := 46 47 LOCAL_CFLAGS += -Wall -Werror -Wextra -Wno-unused-parameter -Wno-unused-function \ 48 -Wunused-variable -Winit-self -Wwrite-strings -Wshadow 49 50 LOCAL_C_INCLUDES += \ 51 $(LOCAL_PATH)/jni \ 52 external/libnl-headers \ 53 $(call include-path-for, libhardware_legacy)/hardware_legacy 54 55 LOCAL_SRC_FILES := \ 56 lib/wifi_hal_stub.cpp 57 58 LOCAL_MODULE := libwifi-hal-stub 59 60 include $(BUILD_STATIC_LIBRARY) 61 62 # set correct hal library path 63 # ============================================================ 64 LIB_WIFI_HAL := libwifi-hal 65 66 ifeq ($(BOARD_WLAN_DEVICE), bcmdhd) 67 LIB_WIFI_HAL := libwifi-hal-bcm 68 else ifeq ($(BOARD_WLAN_DEVICE), qcwcn) 69 LIB_WIFI_HAL := libwifi-hal-qcom 70 else ifeq ($(BOARD_WLAN_DEVICE), mrvl) 71 # this is commented because none of the nexus devices 72 # that sport Marvell's wifi have support for HAL 73 # LIB_WIFI_HAL := libwifi-hal-mrvl 74 else ifeq ($(BOARD_WLAN_DEVICE), MediaTek) 75 # support MTK WIFI HAL 76 LIB_WIFI_HAL := libwifi-hal-mt66xx 77 endif 78 79 # Make the JNI part 80 # ============================================================ 81 include $(CLEAR_VARS) 82 83 LOCAL_REQUIRED_MODULES := libhardware_legacy 84 85 LOCAL_CFLAGS += -Wall -Werror -Wextra -Wno-unused-parameter -Wno-unused-function \ 86 -Wunused-variable -Winit-self -Wwrite-strings -Wshadow 87 88 LOCAL_C_INCLUDES += \ 89 $(JNI_H_INCLUDE) \ 90 $(call include-path-for, libhardware)/hardware \ 91 $(call include-path-for, libhardware_legacy)/hardware_legacy \ 92 libcore/include 93 94 LOCAL_SHARED_LIBRARIES += \ 95 libnativehelper \ 96 libcutils \ 97 libutils \ 98 libhardware \ 99 libhardware_legacy \ 100 libnl \ 101 libdl 102 103 LOCAL_STATIC_LIBRARIES += libwifi-hal-stub 104 LOCAL_STATIC_LIBRARIES += $(LIB_WIFI_HAL) 105 106 LOCAL_SRC_FILES := \ 107 jni/com_android_server_wifi_WifiNative.cpp \ 108 jni/jni_helper.cpp 109 110 ifdef INCLUDE_NAN_FEATURE 111 LOCAL_SRC_FILES += \ 112 jni/com_android_server_wifi_nan_WifiNanNative.cpp 113 endif 114 115 LOCAL_MODULE := libwifi-service 116 # b/22172328 117 LOCAL_CLANG := false 118 119 include $(BUILD_SHARED_LIBRARY) 120 121 # Build the java code 122 # ============================================================ 123 124 include $(CLEAR_VARS) 125 126 LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/java 127 LOCAL_SRC_FILES := $(call all-java-files-under, java) \ 128 $(call all-Iaidl-files-under, java) \ 129 $(call all-logtags-files-under, java) \ 130 $(call all-proto-files-under, proto) 131 132 ifndef INCLUDE_NAN_FEATURE 133 LOCAL_SRC_FILES := $(filter-out $(call all-java-files-under, \ 134 java/com/android/server/wifi/nan),$(LOCAL_SRC_FILES)) 135 endif 136 137 LOCAL_JAVA_LIBRARIES := bouncycastle conscrypt services 138 LOCAL_REQUIRED_MODULES := services 139 LOCAL_MODULE_TAGS := 140 LOCAL_MODULE := wifi-service 141 LOCAL_PROTOC_OPTIMIZE_TYPE := nano 142 143 include $(BUILD_JAVA_LIBRARY) 144 145 endif 146