xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/nxp/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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