1*4882a593Smuzhiyun# File: Makefile 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Copyright 2008-2022 NXP 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# This software file (the File) is distributed by NXP 6*4882a593Smuzhiyun# under the terms of the GNU General Public License Version 2, June 1991 7*4882a593Smuzhiyun# (the License). You may use, redistribute and/or modify the File in 8*4882a593Smuzhiyun# accordance with the terms and conditions of the License, a copy of which 9*4882a593Smuzhiyun# is available by writing to the Free Software Foundation, Inc., 10*4882a593Smuzhiyun# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the 11*4882a593Smuzhiyun# worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. 12*4882a593Smuzhiyun# 13*4882a593Smuzhiyun# THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE 14*4882a593Smuzhiyun# IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE 15*4882a593Smuzhiyun# ARE EXPRESSLY DISCLAIMED. The License provides additional details about 16*4882a593Smuzhiyun# this warranty disclaimer. 17*4882a593Smuzhiyun# 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun############################################################################# 20*4882a593Smuzhiyun# Configuration Options 21*4882a593Smuzhiyun############################################################################# 22*4882a593Smuzhiyun# Multi-chipsets 23*4882a593SmuzhiyunCONFIG_SD8887=n 24*4882a593SmuzhiyunCONFIG_SD8897=n 25*4882a593SmuzhiyunCONFIG_USB8897=n 26*4882a593SmuzhiyunCONFIG_PCIE8897=n 27*4882a593SmuzhiyunCONFIG_SD8977=n 28*4882a593SmuzhiyunCONFIG_SD8978=n 29*4882a593SmuzhiyunCONFIG_USB8978=n 30*4882a593SmuzhiyunCONFIG_SD8997=n 31*4882a593SmuzhiyunCONFIG_USB8997=n 32*4882a593SmuzhiyunCONFIG_PCIE8997=n 33*4882a593SmuzhiyunCONFIG_SD8987=y 34*4882a593SmuzhiyunCONFIG_SD9097=n 35*4882a593SmuzhiyunCONFIG_SD9177=n 36*4882a593SmuzhiyunCONFIG_SD8801=n 37*4882a593SmuzhiyunCONFIG_USB8801=n 38*4882a593SmuzhiyunCONFIG_USB9097=n 39*4882a593SmuzhiyunCONFIG_PCIE9097=n 40*4882a593SmuzhiyunCONFIG_SD9098=n 41*4882a593SmuzhiyunCONFIG_USB9098=n 42*4882a593SmuzhiyunCONFIG_PCIE9098=n 43*4882a593SmuzhiyunCONFIG_SDNW62X=n 44*4882a593SmuzhiyunCONFIG_PCIENW62X=n 45*4882a593SmuzhiyunCONFIG_USBNW62X=n 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun# Debug Option 49*4882a593Smuzhiyun# DEBUG LEVEL n/1/2: 50*4882a593Smuzhiyun# n: NO DEBUG 51*4882a593Smuzhiyun# 1: Only PRINTM(MMSG,...), PRINTM(MFATAL,...), ... 52*4882a593Smuzhiyun# 2: All PRINTM() 53*4882a593SmuzhiyunCONFIG_DEBUG=1 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun# Enable STA mode support 56*4882a593SmuzhiyunCONFIG_STA_SUPPORT=y 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun# Enable uAP mode support 59*4882a593SmuzhiyunCONFIG_UAP_SUPPORT=y 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun# Enable WIFIDIRECT support 62*4882a593SmuzhiyunCONFIG_WIFI_DIRECT_SUPPORT=y 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun# Re-association in driver 66*4882a593SmuzhiyunCONFIG_REASSOCIATION=y 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun# Manufacturing firmware support 70*4882a593SmuzhiyunCONFIG_MFG_CMD_SUPPORT=y 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun# OpenWrt support 73*4882a593SmuzhiyunCONFIG_OPENWRT_SUPPORT=n 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun# Big-endian platform 76*4882a593SmuzhiyunCONFIG_BIG_ENDIAN=n 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunifeq ($(CONFIG_DRV_EMBEDDED_SUPPLICANT), y) 81*4882a593SmuzhiyunCONFIG_EMBEDDED_SUPP_AUTH=y 82*4882a593Smuzhiyunelse 83*4882a593Smuzhiyunifeq ($(CONFIG_DRV_EMBEDDED_AUTHENTICATOR), y) 84*4882a593SmuzhiyunCONFIG_EMBEDDED_SUPP_AUTH=y 85*4882a593Smuzhiyunendif 86*4882a593Smuzhiyunendif 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun#ifdef SDIO_MMC 89*4882a593Smuzhiyun# SDIO suspend/resume 90*4882a593SmuzhiyunCONFIG_SDIO_SUSPEND_RESUME=y 91*4882a593Smuzhiyun#endif 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun# DFS testing support 94*4882a593SmuzhiyunCONFIG_DFS_TESTING_SUPPORT=y 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun 99*4882a593SmuzhiyunCONFIG_ANDROID_KERNEL=n 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun#32bit app over 64bit kernel support 102*4882a593SmuzhiyunCONFIG_USERSPACE_32BIT_OVER_KERNEL_64BIT=n 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun############################################################################# 106*4882a593Smuzhiyun# Select Platform Tools 107*4882a593Smuzhiyun############################################################################# 108*4882a593Smuzhiyun 109*4882a593SmuzhiyunMODEXT = ko 110*4882a593Smuzhiyunccflags-y += -I$(M)/mlan 111*4882a593Smuzhiyunccflags-y += -DLINUX 112*4882a593Smuzhiyun 113*4882a593SmuzhiyunLD += -S 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun############################################################################# 116*4882a593Smuzhiyun# Compiler Flags 117*4882a593Smuzhiyun############################################################################# 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun ccflags-y += -DFPNUM='"92"' 120*4882a593Smuzhiyun 121*4882a593Smuzhiyunifeq ($(CONFIG_DEBUG),1) 122*4882a593Smuzhiyun ccflags-y += -DDEBUG_LEVEL1 123*4882a593Smuzhiyunendif 124*4882a593Smuzhiyun 125*4882a593Smuzhiyunifeq ($(CONFIG_DEBUG),2) 126*4882a593Smuzhiyun ccflags-y += -DDEBUG_LEVEL1 127*4882a593Smuzhiyun ccflags-y += -DDEBUG_LEVEL2 128*4882a593Smuzhiyun DBG= -dbg 129*4882a593Smuzhiyunendif 130*4882a593Smuzhiyun 131*4882a593Smuzhiyunifeq ($(CONFIG_64BIT), y) 132*4882a593Smuzhiyun ccflags-y += -DMLAN_64BIT 133*4882a593Smuzhiyunendif 134*4882a593Smuzhiyun 135*4882a593Smuzhiyunifeq ($(CONFIG_STA_SUPPORT),y) 136*4882a593Smuzhiyun ccflags-y += -DSTA_SUPPORT 137*4882a593Smuzhiyunifeq ($(CONFIG_REASSOCIATION),y) 138*4882a593Smuzhiyun ccflags-y += -DREASSOCIATION 139*4882a593Smuzhiyunendif 140*4882a593Smuzhiyunelse 141*4882a593SmuzhiyunCONFIG_WIFI_DIRECT_SUPPORT=n 142*4882a593SmuzhiyunCONFIG_STA_WEXT=n 143*4882a593SmuzhiyunCONFIG_STA_CFG80211=n 144*4882a593Smuzhiyunendif 145*4882a593Smuzhiyun 146*4882a593Smuzhiyunifeq ($(CONFIG_UAP_SUPPORT),y) 147*4882a593Smuzhiyun ccflags-y += -DUAP_SUPPORT 148*4882a593Smuzhiyunelse 149*4882a593SmuzhiyunCONFIG_WIFI_DIRECT_SUPPORT=n 150*4882a593SmuzhiyunCONFIG_UAP_WEXT=n 151*4882a593SmuzhiyunCONFIG_UAP_CFG80211=n 152*4882a593Smuzhiyunendif 153*4882a593Smuzhiyun 154*4882a593Smuzhiyunifeq ($(CONFIG_WIFI_DIRECT_SUPPORT),y) 155*4882a593Smuzhiyun ccflags-y += -DWIFI_DIRECT_SUPPORT 156*4882a593Smuzhiyunendif 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunifeq ($(CONFIG_MFG_CMD_SUPPORT),y) 159*4882a593Smuzhiyun ccflags-y += -DMFG_CMD_SUPPORT 160*4882a593Smuzhiyunendif 161*4882a593Smuzhiyun 162*4882a593Smuzhiyunifeq ($(CONFIG_BIG_ENDIAN),y) 163*4882a593Smuzhiyun ccflags-y += -DBIG_ENDIAN_SUPPORT 164*4882a593Smuzhiyunendif 165*4882a593Smuzhiyun 166*4882a593Smuzhiyunifeq ($(CONFIG_USERSPACE_32BIT_OVER_KERNEL_64BIT),y) 167*4882a593Smuzhiyun ccflags-y += -DUSERSPACE_32BIT_OVER_KERNEL_64BIT 168*4882a593Smuzhiyunendif 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun#ifdef SDIO_MMC 171*4882a593Smuzhiyunifeq ($(CONFIG_SDIO_SUSPEND_RESUME),y) 172*4882a593Smuzhiyun ccflags-y += -DSDIO_SUSPEND_RESUME 173*4882a593Smuzhiyunendif 174*4882a593Smuzhiyun#endif 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun 177*4882a593Smuzhiyunifeq ($(CONFIG_DFS_TESTING_SUPPORT),y) 178*4882a593Smuzhiyun ccflags-y += -DDFS_TESTING_SUPPORT 179*4882a593Smuzhiyunendif 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun 182*4882a593Smuzhiyunifeq ($(CONFIG_ANDROID_KERNEL), y) 183*4882a593Smuzhiyun ccflags-y += -DANDROID_KERNEL 184*4882a593Smuzhiyunendif 185*4882a593Smuzhiyun 186*4882a593Smuzhiyunifeq ($(CONFIG_OPENWRT_SUPPORT), y) 187*4882a593Smuzhiyun ccflags-y += -DOPENWRT 188*4882a593Smuzhiyunendif 189*4882a593Smuzhiyun 190*4882a593Smuzhiyunifeq ($(CONFIG_T50), y) 191*4882a593Smuzhiyun ccflags-y += -DT50 192*4882a593Smuzhiyun ccflags-y += -DT40 193*4882a593Smuzhiyun ccflags-y += -DT3T 194*4882a593Smuzhiyunendif 195*4882a593Smuzhiyun 196*4882a593Smuzhiyunifeq ($(CONFIG_SD8887),y) 197*4882a593Smuzhiyun CONFIG_SDIO=y 198*4882a593Smuzhiyun ccflags-y += -DSD8887 199*4882a593Smuzhiyunendif 200*4882a593Smuzhiyunifeq ($(CONFIG_SD8897),y) 201*4882a593Smuzhiyun CONFIG_SDIO=y 202*4882a593Smuzhiyun ccflags-y += -DSD8897 203*4882a593Smuzhiyunendif 204*4882a593Smuzhiyunifeq ($(CONFIG_SD8977),y) 205*4882a593Smuzhiyun CONFIG_SDIO=y 206*4882a593Smuzhiyun ccflags-y += -DSD8977 207*4882a593Smuzhiyunendif 208*4882a593Smuzhiyunifeq ($(CONFIG_SD8978),y) 209*4882a593Smuzhiyun CONFIG_SDIO=y 210*4882a593Smuzhiyun ccflags-y += -DSD8978 211*4882a593Smuzhiyunendif 212*4882a593Smuzhiyunifeq ($(CONFIG_SD8997),y) 213*4882a593Smuzhiyun CONFIG_SDIO=y 214*4882a593Smuzhiyun ccflags-y += -DSD8997 215*4882a593Smuzhiyunendif 216*4882a593Smuzhiyunifeq ($(CONFIG_SD8987),y) 217*4882a593Smuzhiyun CONFIG_SDIO=y 218*4882a593Smuzhiyun ccflags-y += -DSD8987 219*4882a593Smuzhiyunendif 220*4882a593Smuzhiyunifeq ($(CONFIG_SD9097),y) 221*4882a593Smuzhiyun CONFIG_SDIO=y 222*4882a593Smuzhiyun ccflags-y += -DSD9097 223*4882a593Smuzhiyunendif 224*4882a593Smuzhiyunifeq ($(CONFIG_SDNW62X),y) 225*4882a593Smuzhiyun CONFIG_SDIO=y 226*4882a593Smuzhiyun ccflags-y += -DSDNW62X 227*4882a593Smuzhiyunendif 228*4882a593Smuzhiyunifeq ($(CONFIG_SD9177),y) 229*4882a593Smuzhiyun CONFIG_SDIO=y 230*4882a593Smuzhiyun ccflags-y += -DSD9177 231*4882a593Smuzhiyunendif 232*4882a593Smuzhiyunifeq ($(CONFIG_SD8801),y) 233*4882a593Smuzhiyun CONFIG_SDIO=y 234*4882a593Smuzhiyun ccflags-y += -DSD8801 235*4882a593Smuzhiyunendif 236*4882a593Smuzhiyunifeq ($(CONFIG_SD9098),y) 237*4882a593Smuzhiyun CONFIG_SDIO=y 238*4882a593Smuzhiyun ccflags-y += -DSD9098 239*4882a593Smuzhiyunendif 240*4882a593Smuzhiyunifeq ($(CONFIG_USB8801),y) 241*4882a593Smuzhiyun CONFIG_MUSB=y 242*4882a593Smuzhiyun ccflags-y += -DUSB8801 243*4882a593Smuzhiyunendif 244*4882a593Smuzhiyunifeq ($(CONFIG_USB8897),y) 245*4882a593Smuzhiyun CONFIG_MUSB=y 246*4882a593Smuzhiyun ccflags-y += -DUSB8897 247*4882a593Smuzhiyunendif 248*4882a593Smuzhiyunifeq ($(CONFIG_USB8997),y) 249*4882a593Smuzhiyun CONFIG_MUSB=y 250*4882a593Smuzhiyun ccflags-y += -DUSB8997 251*4882a593Smuzhiyunendif 252*4882a593Smuzhiyunifeq ($(CONFIG_USB8978),y) 253*4882a593Smuzhiyun CONFIG_MUSB=y 254*4882a593Smuzhiyun ccflags-y += -DUSB8978 255*4882a593Smuzhiyunendif 256*4882a593Smuzhiyunifeq ($(CONFIG_USB9097),y) 257*4882a593Smuzhiyun CONFIG_MUSB=y 258*4882a593Smuzhiyun ccflags-y += -DUSB9097 259*4882a593Smuzhiyunendif 260*4882a593Smuzhiyunifeq ($(CONFIG_USBNW62X),y) 261*4882a593Smuzhiyun CONFIG_MUSB=y 262*4882a593Smuzhiyun ccflags-y += -DUSBNW62X 263*4882a593Smuzhiyunendif 264*4882a593Smuzhiyunifeq ($(CONFIG_USB9098),y) 265*4882a593Smuzhiyun CONFIG_MUSB=y 266*4882a593Smuzhiyun ccflags-y += -DUSB9098 267*4882a593Smuzhiyunendif 268*4882a593Smuzhiyunifeq ($(CONFIG_PCIE8897),y) 269*4882a593Smuzhiyun CONFIG_PCIE=y 270*4882a593Smuzhiyun ccflags-y += -DPCIE8897 271*4882a593Smuzhiyunendif 272*4882a593Smuzhiyunifeq ($(CONFIG_PCIE8997),y) 273*4882a593Smuzhiyun CONFIG_PCIE=y 274*4882a593Smuzhiyun ccflags-y += -DPCIE8997 275*4882a593Smuzhiyunendif 276*4882a593Smuzhiyunifeq ($(CONFIG_PCIE9097),y) 277*4882a593Smuzhiyun CONFIG_PCIE=y 278*4882a593Smuzhiyun ccflags-y += -DPCIE9097 279*4882a593Smuzhiyunendif 280*4882a593Smuzhiyunifeq ($(CONFIG_PCIE9098),y) 281*4882a593Smuzhiyun CONFIG_PCIE=y 282*4882a593Smuzhiyun ccflags-y += -DPCIE9098 283*4882a593Smuzhiyunendif 284*4882a593Smuzhiyunifeq ($(CONFIG_PCIENW62X),y) 285*4882a593Smuzhiyun CONFIG_PCIE=y 286*4882a593Smuzhiyun ccflags-y += -DPCIENW62X 287*4882a593Smuzhiyunendif 288*4882a593Smuzhiyunifeq ($(CONFIG_SDIO),y) 289*4882a593Smuzhiyun ccflags-y += -DSDIO 290*4882a593Smuzhiyun ccflags-y += -DSDIO_MMC 291*4882a593Smuzhiyunendif 292*4882a593Smuzhiyunifeq ($(CONFIG_MUSB),y) 293*4882a593Smuzhiyun ccflags-y += -DUSB 294*4882a593Smuzhiyunendif 295*4882a593Smuzhiyunifeq ($(CONFIG_PCIE),y) 296*4882a593Smuzhiyun ccflags-y += -DPCIE 297*4882a593Smuzhiyunendif 298*4882a593Smuzhiyun 299*4882a593Smuzhiyunifeq ($(CONFIG_MAC80211_SUPPORT),y) 300*4882a593Smuzhiyun ccflags-y += -DMAC80211_SUPPORT 301*4882a593Smuzhiyunendif 302*4882a593Smuzhiyunifeq ($(CONFIG_MAC80211_SUPPORT_UAP),y) 303*4882a593Smuzhiyun ccflags-y += -DMAC80211_SUPPORT_UAP 304*4882a593Smuzhiyunendif 305*4882a593Smuzhiyunifeq ($(CONFIG_MAC80211_SUPPORT_MESH),y) 306*4882a593Smuzhiyun ccflags-y += -DMAC80211_SUPPORT_MESH 307*4882a593Smuzhiyunendif 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun# add -Wno-packed-bitfield-compat when GCC version greater than 4.4 310*4882a593SmuzhiyunGCC_VERSION := $(shell echo `gcc -dumpversion | cut -f1-2 -d.` \>= 4.4 | sed -e 's/\./*100+/g' | bc ) 311*4882a593Smuzhiyunifeq ($(GCC_VERSION),1) 312*4882a593Smuzhiyun ccflags-y += -Wno-packed-bitfield-compat 313*4882a593Smuzhiyunendif 314*4882a593Smuzhiyunccflags-y += -Wno-stringop-overflow 315*4882a593Smuzhiyunccflags-y += -Wno-tautological-compare 316*4882a593Smuzhiyunccflags-y += -Wno-packed-bitfield-compat 317*4882a593Smuzhiyunccflags-y += -Wno-stringop-truncation 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun#ccflags-y += -Wunused-but-set-variable 320*4882a593Smuzhiyun#ccflags-y += -Wmissing-prototypes 321*4882a593Smuzhiyun#ccflags-y += -Wold-style-definition 322*4882a593Smuzhiyun#ccflags-y += -Wtype-limits 323*4882a593Smuzhiyun#ccflags-y += -Wsuggest-attribute=format 324*4882a593Smuzhiyun#ccflags-y += -Wmissing-include-dirs 325*4882a593Smuzhiyun#ccflags-y += -Wshadow 326*4882a593Smuzhiyun#ccflags-y += -Wsign-compare 327*4882a593Smuzhiyun#ccflags-y += -Wunused-macros 328*4882a593Smuzhiyun#ccflags-y += -Wmissing-field-initializers 329*4882a593Smuzhiyun#ccflags-y += -Wstringop-truncation 330*4882a593Smuzhiyun#ccflags-y += -Wmisleading-indentation 331*4882a593Smuzhiyun#ccflags-y += -Wunused-const-variable 332*4882a593Smuzhiyun#ccflags-y += -Wno-array-bounds 333*4882a593Smuzhiyun############################################################################# 334*4882a593Smuzhiyun# Make Targets 335*4882a593Smuzhiyun############################################################################# 336*4882a593Smuzhiyun 337*4882a593Smuzhiyunifeq ($(CONFIG_WIRELESS_EXT),y) 338*4882a593Smuzhiyunifeq ($(CONFIG_WEXT_PRIV),y) 339*4882a593Smuzhiyun # Enable WEXT for STA 340*4882a593Smuzhiyun CONFIG_STA_WEXT=y 341*4882a593Smuzhiyun # Enable WEXT for uAP 342*4882a593Smuzhiyun CONFIG_UAP_WEXT=y 343*4882a593Smuzhiyunelse 344*4882a593Smuzhiyun# Disable WEXT for STA 345*4882a593Smuzhiyun CONFIG_STA_WEXT=n 346*4882a593Smuzhiyun# Disable WEXT for uAP 347*4882a593Smuzhiyun CONFIG_UAP_WEXT=n 348*4882a593Smuzhiyunendif 349*4882a593Smuzhiyunendif 350*4882a593Smuzhiyun 351*4882a593Smuzhiyun# Enable CFG80211 for STA 352*4882a593Smuzhiyunifeq ($(CONFIG_CFG80211),y) 353*4882a593Smuzhiyun CONFIG_STA_CFG80211=y 354*4882a593Smuzhiyunelse 355*4882a593Smuzhiyunifeq ($(CONFIG_CFG80211),m) 356*4882a593Smuzhiyun CONFIG_STA_CFG80211=y 357*4882a593Smuzhiyunelse 358*4882a593Smuzhiyun CONFIG_STA_CFG80211=n 359*4882a593Smuzhiyunendif 360*4882a593Smuzhiyunendif 361*4882a593Smuzhiyun 362*4882a593Smuzhiyun# OpenWrt 363*4882a593Smuzhiyunifeq ($(CONFIG_OPENWRT_SUPPORT), y) 364*4882a593Smuzhiyunifeq ($(CPTCFG_CFG80211),y) 365*4882a593Smuzhiyun CONFIG_STA_CFG80211=y 366*4882a593Smuzhiyunelse 367*4882a593Smuzhiyunifeq ($(CPTCFG_CFG80211),m) 368*4882a593Smuzhiyun CONFIG_STA_CFG80211=y 369*4882a593Smuzhiyunelse 370*4882a593Smuzhiyun CONFIG_STA_CFG80211=n 371*4882a593Smuzhiyunendif 372*4882a593Smuzhiyunendif 373*4882a593Smuzhiyunendif 374*4882a593Smuzhiyun 375*4882a593Smuzhiyun# Enable CFG80211 for uAP 376*4882a593Smuzhiyunifeq ($(CONFIG_CFG80211),y) 377*4882a593Smuzhiyun CONFIG_UAP_CFG80211=y 378*4882a593Smuzhiyunelse 379*4882a593Smuzhiyunifeq ($(CONFIG_CFG80211),m) 380*4882a593Smuzhiyun CONFIG_UAP_CFG80211=y 381*4882a593Smuzhiyunelse 382*4882a593Smuzhiyun CONFIG_UAP_CFG80211=n 383*4882a593Smuzhiyunendif 384*4882a593Smuzhiyunendif 385*4882a593Smuzhiyun 386*4882a593Smuzhiyun# OpenWrt 387*4882a593Smuzhiyunifeq ($(CONFIG_OPENWRT_SUPPORT), y) 388*4882a593Smuzhiyunifeq ($(CPTCFG_CFG80211),y) 389*4882a593Smuzhiyun CONFIG_STA_CFG80211=y 390*4882a593Smuzhiyunelse 391*4882a593Smuzhiyunifeq ($(CPTCFG_CFG80211),m) 392*4882a593Smuzhiyun CONFIG_STA_CFG80211=y 393*4882a593Smuzhiyunelse 394*4882a593Smuzhiyun CONFIG_STA_CFG80211=n 395*4882a593Smuzhiyunendif 396*4882a593Smuzhiyunendif 397*4882a593Smuzhiyunendif 398*4882a593Smuzhiyun 399*4882a593Smuzhiyunifneq ($(CONFIG_STA_SUPPORT),y) 400*4882a593Smuzhiyun CONFIG_WIFI_DIRECT_SUPPORT=n 401*4882a593Smuzhiyun CONFIG_STA_WEXT=n 402*4882a593Smuzhiyun CONFIG_STA_CFG80211=n 403*4882a593Smuzhiyunendif 404*4882a593Smuzhiyun 405*4882a593Smuzhiyunifneq ($(CONFIG_UAP_SUPPORT),y) 406*4882a593Smuzhiyun CONFIG_WIFI_DIRECT_SUPPORT=n 407*4882a593Smuzhiyun CONFIG_UAP_WEXT=n 408*4882a593Smuzhiyun CONFIG_UAP_CFG80211=n 409*4882a593Smuzhiyunendif 410*4882a593Smuzhiyun 411*4882a593Smuzhiyunifeq ($(CONFIG_STA_SUPPORT),y) 412*4882a593Smuzhiyunifeq ($(CONFIG_STA_WEXT),y) 413*4882a593Smuzhiyun ccflags-y += -DSTA_WEXT 414*4882a593Smuzhiyunendif 415*4882a593Smuzhiyunifeq ($(CONFIG_STA_CFG80211),y) 416*4882a593Smuzhiyun ccflags-y += -DSTA_CFG80211 417*4882a593Smuzhiyunendif 418*4882a593Smuzhiyunendif 419*4882a593Smuzhiyunifeq ($(CONFIG_UAP_SUPPORT),y) 420*4882a593Smuzhiyunifeq ($(CONFIG_UAP_WEXT),y) 421*4882a593Smuzhiyun ccflags-y += -DUAP_WEXT 422*4882a593Smuzhiyunendif 423*4882a593Smuzhiyunifeq ($(CONFIG_UAP_CFG80211),y) 424*4882a593Smuzhiyun ccflags-y += -DUAP_CFG80211 425*4882a593Smuzhiyunendif 426*4882a593Smuzhiyunendif 427*4882a593Smuzhiyun 428*4882a593Smuzhiyunprint: 429*4882a593Smuzhiyunifeq ($(CONFIG_STA_SUPPORT),y) 430*4882a593Smuzhiyunifeq ($(CONFIG_STA_WEXT),n) 431*4882a593Smuzhiyunifeq ($(CONFIG_STA_CFG80211),n) 432*4882a593Smuzhiyun @echo "Can not build STA without WEXT or CFG80211" 433*4882a593Smuzhiyun exit 2 434*4882a593Smuzhiyunendif 435*4882a593Smuzhiyunendif 436*4882a593Smuzhiyunendif 437*4882a593Smuzhiyunifeq ($(CONFIG_UAP_SUPPORT),y) 438*4882a593Smuzhiyunifeq ($(CONFIG_UAP_WEXT),n) 439*4882a593Smuzhiyunifeq ($(CONFIG_UAP_CFG80211),n) 440*4882a593Smuzhiyun @echo "Can not build UAP without WEXT or CFG80211" 441*4882a593Smuzhiyun exit 2 442*4882a593Smuzhiyunendif 443*4882a593Smuzhiyunendif 444*4882a593Smuzhiyunendif 445*4882a593Smuzhiyun 446*4882a593SmuzhiyunMOALOBJS = mlinux/moal_main.o \ 447*4882a593Smuzhiyun mlinux/moal_ioctl.o \ 448*4882a593Smuzhiyun mlinux/moal_shim.o \ 449*4882a593Smuzhiyun mlinux/moal_eth_ioctl.o \ 450*4882a593Smuzhiyun mlinux/moal_init.o 451*4882a593Smuzhiyun 452*4882a593SmuzhiyunMLANOBJS = mlan/mlan_shim.o mlan/mlan_init.o \ 453*4882a593Smuzhiyun mlan/mlan_txrx.o \ 454*4882a593Smuzhiyun mlan/mlan_cmdevt.o mlan/mlan_misc.o \ 455*4882a593Smuzhiyun mlan/mlan_cfp.o \ 456*4882a593Smuzhiyun mlan/mlan_module.o 457*4882a593Smuzhiyun 458*4882a593SmuzhiyunMLANOBJS += mlan/mlan_wmm.o 459*4882a593Smuzhiyunifeq ($(CONFIG_MUSB),y) 460*4882a593SmuzhiyunMLANOBJS += mlan/mlan_usb.o 461*4882a593Smuzhiyunendif 462*4882a593Smuzhiyunifeq ($(CONFIG_SDIO),y) 463*4882a593SmuzhiyunMLANOBJS += mlan/mlan_sdio.o 464*4882a593Smuzhiyunendif 465*4882a593Smuzhiyunifeq ($(CONFIG_PCIE),y) 466*4882a593SmuzhiyunMLANOBJS += mlan/mlan_pcie.o 467*4882a593Smuzhiyunendif 468*4882a593SmuzhiyunMLANOBJS += mlan/mlan_11n_aggr.o 469*4882a593SmuzhiyunMLANOBJS += mlan/mlan_11n_rxreorder.o 470*4882a593SmuzhiyunMLANOBJS += mlan/mlan_11n.o 471*4882a593SmuzhiyunMLANOBJS += mlan/mlan_11ac.o 472*4882a593SmuzhiyunMLANOBJS += mlan/mlan_11ax.o 473*4882a593SmuzhiyunMLANOBJS += mlan/mlan_11d.o 474*4882a593SmuzhiyunMLANOBJS += mlan/mlan_11h.o 475*4882a593Smuzhiyunifeq ($(CONFIG_STA_SUPPORT),y) 476*4882a593SmuzhiyunMLANOBJS += mlan/mlan_meas.o 477*4882a593SmuzhiyunMLANOBJS += mlan/mlan_scan.o \ 478*4882a593Smuzhiyun mlan/mlan_sta_ioctl.o \ 479*4882a593Smuzhiyun mlan/mlan_sta_rx.o \ 480*4882a593Smuzhiyun mlan/mlan_sta_tx.o \ 481*4882a593Smuzhiyun mlan/mlan_sta_event.o \ 482*4882a593Smuzhiyun mlan/mlan_sta_cmd.o \ 483*4882a593Smuzhiyun mlan/mlan_sta_cmdresp.o \ 484*4882a593Smuzhiyun mlan/mlan_join.o 485*4882a593Smuzhiyunifeq ($(CONFIG_STA_WEXT),y) 486*4882a593SmuzhiyunMOALOBJS += mlinux/moal_priv.o \ 487*4882a593Smuzhiyun mlinux/moal_wext.o 488*4882a593Smuzhiyunendif 489*4882a593Smuzhiyunendif 490*4882a593Smuzhiyunifeq ($(CONFIG_UAP_SUPPORT),y) 491*4882a593SmuzhiyunMLANOBJS += mlan/mlan_uap_ioctl.o 492*4882a593SmuzhiyunMLANOBJS += mlan/mlan_uap_cmdevent.o 493*4882a593SmuzhiyunMLANOBJS += mlan/mlan_uap_txrx.o 494*4882a593SmuzhiyunMOALOBJS += mlinux/moal_uap.o 495*4882a593Smuzhiyunifeq ($(CONFIG_UAP_WEXT),y) 496*4882a593SmuzhiyunMOALOBJS += mlinux/moal_uap_priv.o 497*4882a593SmuzhiyunMOALOBJS += mlinux/moal_uap_wext.o 498*4882a593Smuzhiyunendif 499*4882a593Smuzhiyunendif 500*4882a593Smuzhiyunifeq ($(CONFIG_STA_CFG80211),y) 501*4882a593SmuzhiyunMOALOBJS += mlinux/moal_cfg80211.o 502*4882a593SmuzhiyunMOALOBJS += mlinux/moal_cfg80211_util.o 503*4882a593SmuzhiyunMOALOBJS += mlinux/moal_sta_cfg80211.o 504*4882a593Smuzhiyunendif 505*4882a593Smuzhiyunifeq ($(CONFIG_UAP_CFG80211),y) 506*4882a593SmuzhiyunMOALOBJS += mlinux/moal_cfg80211.o 507*4882a593SmuzhiyunMOALOBJS += mlinux/moal_cfg80211_util.o 508*4882a593SmuzhiyunMOALOBJS += mlinux/moal_uap_cfg80211.o 509*4882a593Smuzhiyunendif 510*4882a593Smuzhiyun 511*4882a593Smuzhiyunifdef CONFIG_PROC_FS 512*4882a593SmuzhiyunMOALOBJS += mlinux/moal_proc.o 513*4882a593SmuzhiyunMOALOBJS += mlinux/moal_debug.o 514*4882a593Smuzhiyunendif 515*4882a593Smuzhiyun 516*4882a593Smuzhiyunifeq ($(CONFIG_MAC80211_SUPPORT),y) 517*4882a593SmuzhiyunMOALOBJS += mlinux/moal_mac80211.o 518*4882a593SmuzhiyunMLANOBJS += mlan/mlan_mac80211.o 519*4882a593Smuzhiyunendif 520*4882a593Smuzhiyun 521*4882a593Smuzhiyun 522*4882a593Smuzhiyun 523*4882a593Smuzhiyun 524*4882a593Smuzhiyun 525*4882a593Smuzhiyun 526*4882a593Smuzhiyun 527*4882a593Smuzhiyunobj-$(CONFIG_MXMWIFIEX) := mlan.o 528*4882a593Smuzhiyunmlan-objs := $(MLANOBJS) 529*4882a593Smuzhiyun 530*4882a593Smuzhiyunifeq ($(CONFIG_MUSB),y) 531*4882a593SmuzhiyunMOALOBJS += mlinux/moal_usb.o 532*4882a593Smuzhiyunendif 533*4882a593Smuzhiyunifeq ($(CONFIG_SDIO),y) 534*4882a593SmuzhiyunMOALOBJS += mlinux/moal_sdio_mmc.o 535*4882a593Smuzhiyunendif 536*4882a593Smuzhiyunifeq ($(CONFIG_PCIE),y) 537*4882a593SmuzhiyunMOALOBJS += mlinux/moal_pcie.o 538*4882a593Smuzhiyunendif 539*4882a593Smuzhiyunobj-$(CONFIG_MXMWIFIEX) += moal.o 540*4882a593Smuzhiyunmoal-objs := $(MOALOBJS) 541*4882a593Smuzhiyun 542*4882a593Smuzhiyunclean: 543*4882a593Smuzhiyun -find . -name "*.o" -exec rm {} \; 544*4882a593Smuzhiyun -find . -name "*.ko" -exec rm {} \; 545*4882a593Smuzhiyun -find . -name ".*.cmd" -exec rm {} \; 546*4882a593Smuzhiyun -find . -name "*.mod.c" -exec rm {} \; 547*4882a593Smuzhiyun -find . -name "*.mod" -exec rm {} \; 548*4882a593Smuzhiyun -find . -name "Module.symvers" -exec rm {} \; 549*4882a593Smuzhiyun -find . -name "Module.markers" -exec rm {} \; 550*4882a593Smuzhiyun -find . -name "modules.order" -exec rm {} \; 551*4882a593Smuzhiyun -find . -name ".*.dwo" -exec rm {} \; 552*4882a593Smuzhiyun -find . -name "*dwo" -exec rm {} \; 553*4882a593Smuzhiyun -rm -rf .tmp_versions 554*4882a593Smuzhiyun 555*4882a593Smuzhiyundistclean: 556*4882a593Smuzhiyun -find . -name "*.o" -exec rm {} \; 557*4882a593Smuzhiyun -find . -name "*.orig" -exec rm {} \; 558*4882a593Smuzhiyun -find . -name "*.swp" -exec rm {} \; 559*4882a593Smuzhiyun -find . -name "*.*~" -exec rm {} \; 560*4882a593Smuzhiyun -find . -name "*~" -exec rm {} \; 561*4882a593Smuzhiyun -find . -name "*.d" -exec rm {} \; 562*4882a593Smuzhiyun -find . -name "*.a" -exec rm {} \; 563*4882a593Smuzhiyun -find . -name "tags" -exec rm {} \; 564*4882a593Smuzhiyun -find . -name ".*" -exec rm -rf 2> /dev/null \; 565*4882a593Smuzhiyun -find . -name "*.ko" -exec rm {} \; 566*4882a593Smuzhiyun -find . -name ".*.cmd" -exec rm {} \; 567*4882a593Smuzhiyun -find . -name "*.mod.c" -exec rm {} \; 568*4882a593Smuzhiyun -find . -name ".*.dwo" -exec rm {} \; 569*4882a593Smuzhiyun -find . -name "*dwo" -exec rm {} \; 570*4882a593Smuzhiyun -rm -rf .tmp_versions 571