1# Helper makefile for building Broadcom wl device driver
2# This file maps wl driver feature flags (import) to WLFLAGS and WLFILES (export).
3#
4# Copyright 2007, Broadcom Corporation
5# All Rights Reserved.
6# 
7# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
8# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
9# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
10# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
11# $Id: wl.mk,v 1.1.1.1 2008/10/15 03:31:36 james26_jang Exp $
12
13# os-independent config flag -> WLFLAGS and WLFILES mapping
14
15# debug/internal
16ifeq ($(DEBUG),1)
17	WLFLAGS += -DBCMDBG -DWLTEST
18else
19	# This is true for mfgtest builds.
20	ifeq ($(WLTEST),1)
21	WLFLAGS += -DWLTEST -DBCMNVRAMW
22	BCMNVRAMW=1
23	endif
24endif
25
26
27ifeq ($(BCMDBG_MEM),1)
28	WLFLAGS += -DBCMDBG_MEM
29endif
30
31ifeq ($(BCMDBG_PKT),1)
32	WLFLAGS += -DBCMDBG_PKT
33endif
34
35## wl driver common 
36#w/wpa
37ifeq ($(WL),1)
38	WLFILES += wlc.c d11ucode.c wlc_phy.c wlc_rate.c wlc_security.c
39	WLFILES += wlc_key.c wlc_event.c wlc_scb.c wlc_rate_sel.c wlc_channel.c
40	WLFILES += wlc_bsscfg.c mimophytbls.c lpphytbls.c wlc_scan.c
41	ifneq ($(BCMROMOFFLOAD),1)
42		WLFILES += bcmwpa.c rc4.c tkhash.c tkmic.c wep.c
43	endif
44endif
45
46## wl OSL
47ifeq ($(WLVX),1)
48	WLFILES += wl_vx.c
49	WLFILES += bcmstdlib.c
50	WLFLAGS += -DWSEC_TXC_ENABLED
51endif
52
53ifeq ($(WLBSD),1)
54	WLFILES += wl_bsd.c
55endif
56
57ifeq ($(WLLX),1)
58	WLFILES += wl_linux.c
59endif
60
61ifeq ($(WLLXIW),1)
62	WLFILES += wl_iw.c
63endif
64
65ifeq ($(WLNDIS),1)
66	WLFILES += wl_ndis.c
67	WLFILES += wl_ndconfig.c
68	WLFILES += bcmstdlib.c
69	WLFILES += bcmwifi.c
70endif
71
72ifeq ($(WLCFE),1)
73	WLFILES += wl_cfe.c
74endif
75
76ifeq ($(WLRTE),1)
77	WLFILES += wl_rte.c
78endif
79
80
81## wl special
82# oids
83
84#ifdef BINOSL
85	ifeq ($(BINOSL),1)
86		WLFLAGS += -DBINOSL
87	endif
88#endif
89
90## wl features
91# ap
92ifeq ($(AP),1)
93	WLFILES += wlc_ap.c
94	WLFILES += wlc_apps.c
95	WLFILES += wlc_apcs.c
96	WLFLAGS += -DAP
97	WLFLAGS += -DMBSS
98	WLFLAGS += -DWME_PER_AC_TX_PARAMS -DWME_PER_AC_TUNING
99endif
100
101# sta
102ifeq ($(STA),1)
103	WLFLAGS += -DSTA
104endif
105
106# apsta
107ifeq ($(APSTA),1)
108	WLFLAGS += -DAPSTA
109endif
110# apsta
111
112# wet
113ifeq ($(WET),1)
114	WLFLAGS += -DWET
115	WLFILES += wlc_wet.c
116endif
117
118# mac spoof
119ifeq ($(MAC_SPOOF),1)
120	WLFLAGS += -DMAC_SPOOF
121endif
122
123# IBSS Security Support
124ifeq ($(IBSS_WPA2_SUPPORT),1)
125	WLFLAGS += -DIBSS_PEER_GROUP_KEY
126	WLFLAGS += -DIBSS_WPA2_PSK
127	WLFLAGS += -DIBSS_PEER_DISCOVERY_EVENT
128endif
129
130# led
131ifeq ($(WLLED),1)
132	WLFLAGS += -DWLLED
133	WLFILES += wlc_led.c
134endif
135
136# WME
137ifeq ($(WME),1)
138	WLFLAGS += -DWME
139endif
140
141# WLBA
142ifeq ($(WLBA),1)
143	WLFLAGS += -DWLBA
144	WLFILES += wlc_ba.c
145endif
146
147# WLPIO 
148ifeq ($(WLPIO),1)
149	WLFLAGS += -DWLPIO
150	WLFILES += wlc_pio.c
151endif
152
153# CRAM
154ifeq ($(CRAM),1)
155	WLFLAGS += -DCRAM
156	WLFILES += wlc_cram.c
157endif
158
159# 11H 
160ifeq ($(WL11H),1)
161	WLFLAGS += -DWL11H
162endif
163
164# 11D 
165ifeq ($(WL11D),1)
166	WLFLAGS += -DWL11D
167endif
168
169# DBAND
170ifeq ($(DBAND),1)
171	WLFLAGS += -DDBAND
172endif
173
174# WLRM
175ifeq ($(WLRM),1)
176	WLFLAGS += -DWLRM
177endif
178
179# WLCQ
180ifeq ($(WLCQ),1)
181	WLFLAGS += -DWLCQ
182endif
183
184# WLCNT
185ifeq ($(WLCNT),1)
186	WLFLAGS += -DWLCNT
187endif
188
189# WLCNTSCB
190ifeq ($(WLCNTSCB),1)
191	WLFLAGS += -DWLCNTSCB
192endif
193
194## wl security
195# in-driver supplicant
196ifeq ($(BCMSUP_PSK),1)
197	WLFLAGS += -DBCMSUP_PSK
198	WLFILES += wlc_sup.c
199	ifneq ($(BCMROMOFFLOAD),1)
200		WLFILES += aes.c aeskeywrap.c hmac.c prf.c sha1.c
201		##NetBSD 2.0 has MD5 and AES built in
202		ifneq ($(OSLBSD),1)
203			WLFILES += md5.c rijndael-alg-fst.c
204		endif
205	endif
206	WLFILES += passhash.c
207endif
208
209# bcmccx
210
211# BCMWPA2
212ifeq ($(BCMWPA2),1)
213	WLFLAGS += -DBCMWPA2
214endif
215
216# Soft AES CCMP
217ifeq ($(BCMCCMP),1)
218	WLFLAGS += -DBCMCCMP
219	ifneq ($(BCMROMOFFLOAD),1)
220		WLFILES += aes.c
221		##BSD has  AES built in
222		ifneq ($(BSD),1)
223			WLFILES +=rijndael-alg-fst.c
224		endif
225	endif
226endif
227
228# FIPS
229ifeq ($(WLFIPS),1)
230	WLFLAGS += -DWLFIPS
231	WLFILES += wl_ndfips.c
232	ifneq ($(BCMROMOFFLOAD),1)
233		WLFILES += aes.c
234	endif
235endif
236
237# BCMDMA64
238ifeq ($(BCMDMA64),1)
239	WLFLAGS += -DBCMDMA64
240endif
241
242## wl over jtag
243#ifdef BCMJTAG
244	ifeq ($(BCMJTAG),1)
245		WLFLAGS += -DBCMJTAG -DBCMSLTGT
246		WLFILES += bcmjtag.c bcmjtag_linux.c ejtag.c jtagm.c
247	endif
248#endif
249
250ifeq ($(WLAMSDU),1)
251	WLFLAGS += -DWLAMSDU
252	WLFILES += wlc_amsdu.c
253endif
254
255ifeq ($(WLAMSDU_SWDEAGG),1)
256	WLFLAGS += -DWLAMSDU_SWDEAGG
257endif
258
259ifeq ($(WLAMPDU),1)
260	WLFLAGS += -DWLAMPDU
261	WLFILES += wlc_ampdu.c
262endif
263
264ifeq ($(WOWL),1)
265	WLFLAGS += -DWOWL
266	WLFILES += d11wakeucode.c wlc_wowl.c
267endif
268
269ifeq ($(WLDPT),1)
270	WLFLAGS += -DWLDPT
271	WLFILES += wlc_dpt.c
272endif
273
274
275## --- which buses
276
277# silicon backplane
278
279ifeq ($(BCMSBBUS),1)
280	WLFLAGS += -DBCMBUSTYPE=SB_BUS
281endif
282
283
284# sdio
285
286
287# AP with SDSTD
288ifeq ($(WLAPSDSTD),1)
289	WLFILES += sbutils.c nvramstubs.c bcmsrom.c
290endif
291
292## --- basic shared files
293
294ifeq ($(HNDDMA),1)
295	WLFILES += hnddma.c
296endif
297
298ifeq ($(BCMUTILS),1)
299	WLFILES += bcmutils.c
300endif
301
302ifeq ($(BCMSROM),1)
303	WLFILES += bcmsrom.c bcmotp.c
304endif
305
306ifeq ($(SBUTILS),1)
307	WLFILES += sbutils.c hndpmu.c
308endif
309
310ifeq ($(SBMIPS),1)
311	WLFILES += hndmips.c hndchipc.c
312endif
313
314ifeq ($(SBSDRAM),1)
315	WLFILES += sbsdram.c
316endif
317
318ifeq ($(SBPCI),1)
319	WLFILES += hndpci.c
320endif
321
322ifeq ($(SFLASH),1)
323	WLFILES += sflash.c
324endif
325
326ifeq ($(FLASHUTL),1)
327	WLFILES += flashutl.c
328endif
329
330
331## --- shared OSL
332# linux osl
333ifeq ($(OSLLX),1)
334	WLFILES += linux_osl.c
335endif
336
337ifeq ($(OSLLXPCI),1)
338	WLFILES += linux_pci.c
339endif
340
341# vx osl
342ifeq ($(OSLVX),1)
343	WLFILES += vx_osl.c
344	WLFILES += bcmallocache.c
345endif
346
347# bsd osl
348ifeq ($(OSLBSD),1)
349	WLFILES += bsd_osl.c nvramstubs.c
350endif
351
352ifeq ($(OSLCFE),1)
353	WLFILES += cfe_osl.c
354endif
355
356ifeq ($(OSLRTE),1)
357	WLFILES += hndrte_osl.c
358endif
359
360ifeq ($(OSLNDIS),1)
361	WLFILES += ndshared.c ndis_osl.c
362endif
363
364ifeq ($(CONFIG_USBRNDIS_RETAIL),1)
365	WLFLAGS += -DCONFIG_USBRNDIS_RETAIL
366	WLFILES += wl_ndconfig.c
367	WLFILES += bcmwifi.c
368endif
369
370ifeq ($(NVRAM),1)
371	WLFILES += nvram.c
372endif
373
374ifeq ($(NVRAMVX),1)
375	WLFILES += nvram_rw.c
376endif
377
378ifeq ($(BCMNVRAMR),1)
379	WLFILES += nvram_ro.c sflash.c bcmotp.c
380	WLFLAGS += -DBCMNVRAMR
381else
382	ifeq ($(BCMNVRAMW),1)
383		WLFILES += bcmotp.c
384	endif
385endif
386
387## --- DSLCPE
388ifeq ($(DSLCPE),1)
389	WLFILES += wl_linux_dslcpe.c
390	WLFLAGS += -DDSLCPE
391	WLFLAGS += -DDSLCPE_DELAY
392endif
393
394ifeq ($(WLDIAG),1)
395	WLFLAGS += -DWLDIAG
396	WLFILES += wlc_diag.c
397endif
398
399ifeq ($(WLTIMER),1)
400	WLFLAGS += -DWLTIMER
401endif
402
403ifneq ($(BCMDBG),1)
404	ifeq ($(WLTINYDUMP),1)
405		WLFLAGS += -DWLTINYDUMP
406	endif
407endif
408
409ifeq ($(BCMQT),1)
410  # Set flag to indicate emulated chip
411  WLFLAGS += -DBCMSLTGT -DBCMQT
412  ifeq ($(WLRTE),1)
413    # Use of RTE implies embedded (CPU emulated)
414    WLFLAGS += -DBCMQT_CPU
415  endif
416endif
417
418ifeq ($(BCM4312),1)
419  WLFLAGS += -DBCM4312
420endif
421
422ifeq ($(WLPFN),1)
423	WLFLAGS += -DWLPFN
424	WLFILES += wl_pfn.c
425	ifeq ($(WLPFN_AUTO_CONNECT),1)
426		WLFLAGS += -DWLPFN_AUTO_CONNECT
427	endif
428endif
429
430ifeq ($(TOE),1)
431	WLFLAGS += -DTOE
432	WLFILES += wl_toe.c
433endif
434
435ifeq ($(ARPOE),1)
436	WLFLAGS += -DARPOE
437	WLFILES += wl_arpoe.c
438endif
439
440#wlinfo:
441#	@echo "WLFLAGS=\"$(WLFLAGS)\""
442#	@echo "WLFILES=\"$(WLFILES)\""
443