xref: /wlan-dirver/qcacld-3.0/Kbuild (revision c657ef50ea91125e170c3881d4126a267d3adbd6)
1# We can build either as part of a standalone Kernel build or as
2# an external module.  Determine which mechanism is being used
3ifeq ($(MODNAME),)
4	KERNEL_BUILD := 1
5else
6	KERNEL_BUILD := 0
7endif
8
9ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
10	CONFIG_QCA_WIFI_SDIO := 1
11endif
12
13ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
14	CONFIG_ROME_IF = sdio
15endif
16
17ifdef CONFIG_ICNSS
18	CONFIG_ROME_IF = snoc
19endif
20
21ifeq ($(CONFIG_CNSS), y)
22ifndef CONFIG_ROME_IF
23	#use pci as default interface
24	CONFIG_ROME_IF = pci
25endif
26endif
27
28ifeq ($(KERNEL_BUILD),1)
29	# These are provided in external module based builds
30	# Need to explicitly define for Kernel-based builds
31	MODNAME := wlan
32	WLAN_ROOT := drivers/staging/qcacld-3.0
33	WLAN_COMMON_ROOT := ../qca-wifi-host-cmn
34	WLAN_COMMON_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
35endif
36
37# Make WLAN as open-source driver by default
38WLAN_OPEN_SOURCE := 1
39
40ifeq ($(KERNEL_BUILD), 0)
41	# These are configurable via Kconfig for kernel-based builds
42	# Need to explicitly configure for Android-based builds
43
44	ifeq ($(CONFIG_ARCH_MDM9630), y)
45	CONFIG_MOBILE_ROUTER := y
46	endif
47
48	ifeq ($(CONFIG_ARCH_MDM9640), y)
49	CONFIG_MOBILE_ROUTER := y
50	endif
51
52	# As per target team, build is done as follows:
53	# Defconfig : build with default flags
54	# Slub      : defconfig  + CONFIG_SLUB_DEBUG=y +
55	#	      CONFIG_SLUB_DEBUG_ON=y + CONFIG_PAGE_POISONING=y
56	# Perf      : Using appropriate msmXXXX-perf_defconfig
57	#
58	# Shipment builds (user variants) should not have any debug feature
59	# enabled. This is identified using 'TARGET_BUILD_VARIANT'. Slub builds
60	# are identified using the CONFIG_SLUB_DEBUG_ON configuration. Since
61	# there is no other way to identify defconfig builds, QCOMs internal
62	# representation of perf builds (identified using the string 'perf'),
63	# is used to identify if the build is a slub or defconfig one. This
64	# way no critical debug feature will be enabled for perf and shipment
65	# builds. Other OEMs are also protected using the TARGET_BUILD_VARIANT
66	# config.
67	ifneq ($(TARGET_BUILD_VARIANT),user)
68		ifeq ($(CONFIG_SLUB_DEBUG_ON),y)
69			CONFIG_FEATURE_DP_TRACE := y
70		else
71			ifeq ($(findstring perf,$(KERNEL_DEFCONFIG)),)
72				CONFIG_FEATURE_DP_TRACE := y
73			endif
74		endif
75	endif
76
77	#Flag to enable Legacy Fast Roaming2(LFR2)
78	CONFIG_QCACLD_WLAN_LFR2 := y
79	#Flag to enable Legacy Fast Roaming3(LFR3)
80	CONFIG_QCACLD_WLAN_LFR3 := y
81
82	#JB kernel has PMKSA patches, hence enabling this flag
83	CONFIG_PRIMA_WLAN_OKC := y
84
85	# JB kernel has CPU enablement patches, so enable
86	ifeq ($(CONFIG_ROME_IF),pci)
87		CONFIG_PRIMA_WLAN_11AC_HIGH_TP := y
88	endif
89	ifeq ($(CONFIG_ROME_IF),usb)
90		CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n
91	endif
92	ifeq ($(CONFIG_ROME_IF),sdio)
93		CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n
94	endif
95
96	ifneq ($(CONFIG_MOBILE_ROUTER), y)
97	#Flag to enable TDLS feature
98	CONFIG_QCOM_TDLS := y
99	endif
100
101	ifeq ($(CONFIG_MOBILE_ROUTER), y)
102	CONFIG_QCACLD_FEATURE_GREEN_AP := y
103	endif
104
105	#Flag to enable Fast Transition (11r) feature
106	CONFIG_QCOM_VOWIFI_11R := y
107
108	ifneq ($(CONFIG_QCA_CLD_WLAN),)
109		ifeq (y,$(findstring y,$(CONFIG_CNSS) $(CONFIG_ICNSS)))
110		#Flag to enable Protected Managment Frames (11w) feature
111		CONFIG_WLAN_FEATURE_11W := y
112		#Flag to enable LTE CoEx feature
113		CONFIG_QCOM_LTE_COEX := y
114			ifneq ($(CONFIG_MOBILE_ROUTER), y)
115			#Flag to enable LPSS feature
116			CONFIG_WLAN_FEATURE_LPSS := y
117			endif
118		endif
119	endif
120
121	#Flag to enable Protected Managment Frames (11w) feature
122	ifeq ($(CONFIG_ROME_IF),usb)
123		CONFIG_WLAN_FEATURE_11W := y
124	endif
125	ifeq ($(CONFIG_ROME_IF),sdio)
126		CONFIG_WLAN_FEATURE_11W := y
127	endif
128
129	ifneq ($(CONFIG_MOBILE_ROUTER), y)
130		#Flag to enable NAN
131		CONFIG_QCACLD_FEATURE_NAN := y
132	endif
133
134	ifneq ($(CONFIG_MOBILE_ROUTER), y)
135		#Flag to enable NAN Data path
136		CONFIG_WLAN_FEATURE_NAN_DATAPATH := y
137	endif
138
139	#Flag to enable Linux QCMBR feature as default feature
140	ifeq ($(CONFIG_ROME_IF),usb)
141		CONFIG_LINUX_QCMBR :=y
142	endif
143
144	CONFIG_MPC_UT_FRAMEWORK := y
145
146	#Flag to enable offload packets feature
147	CONFIG_WLAN_OFFLOAD_PACKETS := y
148
149	#enable TSF get feature
150	CONFIG_WLAN_SYNC_TSF := y
151
152ifneq ($(CONFIG_ROME_IF),sdio)
153	#Flag to enable memdump feature
154	CONFIG_WLAN_FEATURE_MEMDUMP := n
155
156	#Flag to enable Fast Path feature
157	CONFIG_WLAN_FASTPATH := y
158
159	# Flag to enable NAPI
160	CONFIG_WLAN_NAPI := y
161	CONFIG_WLAN_NAPI_DEBUG := n
162
163	# Flag to enable FW based TX Flow control
164	ifeq ($(CONFIG_CNSS_EOS),y)
165		CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
166	else
167		CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
168	endif
169
170	# Flag to enable LRO (Large Receive Offload)
171	ifeq ($(CONFIG_INET_LRO), y)
172		CONFIG_WLAN_LRO := y
173	else
174		CONFIG_WLAN_LRO := n
175	endif
176endif
177
178ifeq ($(CONFIG_ROME_IF), snoc)
179	CONFIG_WLAN_TX_FLOW_CONTROL_V2 := y
180endif
181
182	# Flag to enable LFR Subnet Detection
183	CONFIG_LFR_SUBNET_DETECTION := y
184
185	# Flag to enable MCC to SCC switch feature
186	CONFIG_MCC_TO_SCC_SWITCH := y
187endif
188
189# If not set, assume, Common driver is with in the build tree
190WLAN_COMMON_ROOT ?= qca-wifi-host-cmn
191WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
192
193ifneq ($(CONFIG_MOBILE_ROUTER), y)
194CONFIG_QCOM_ESE := y
195endif
196
197# Feature flags which are not (currently) configurable via Kconfig
198
199#Whether to build debug version
200BUILD_DEBUG_VERSION := 1
201
202#Enable this flag to build driver in diag version
203BUILD_DIAG_VERSION := 1
204
205#Do we panic on bug?  default is to warn
206PANIC_ON_BUG := 1
207
208#Enable OL debug and wmi unified functions
209CONFIG_ATH_PERF_PWR_OFFLOAD := 1
210
211#Disable packet log
212CONFIG_REMOVE_PKT_LOG := 0
213
214#Enable 11AC TX
215ifeq ($(CONFIG_ROME_IF),pci)
216	CONFIG_ATH_11AC_TXCOMPACT := 1
217endif
218ifeq ($(CONFIG_ROME_IF),usb)
219	CONFIG_ATH_11AC_TXCOMPACT := 0
220endif
221
222#Enable OS specific IRQ abstraction
223CONFIG_ATH_SUPPORT_SHARED_IRQ := 1
224
225#Enable message based HIF instead of RAW access in BMI
226ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
227CONFIG_HIF_MESSAGE_BASED := 0
228else
229CONFIG_HIF_MESSAGE_BASED := 1
230endif
231
232#Enable PCI specific APIS (dma, etc)
233ifeq ($(CONFIG_ROME_IF),pci)
234	CONFIG_HIF_PCI := 1
235endif
236
237#Enable pci read/write config functions
238ifeq ($(CONFIG_ROME_IF),pci)
239	CONFIG_ATH_PCI := 1
240endif
241
242ifeq ($(CONFIG_ROME_IF),snoc)
243	CONFIG_HIF_SNOC:= 1
244endif
245
246ifeq ($(CONFIG_ROME_IF),usb)
247#CONFIG_ATH_PCI := 1
248endif
249
250ifneq ($(CONFIG_MOBILE_ROUTER), y)
251#Enable IBSS support on CLD
252CONFIG_QCA_IBSS_SUPPORT := 1
253endif
254
255#Enable power management suspend/resume functionality to PCI
256CONFIG_ATH_BUS_PM := 1
257
258#Enable FLOWMAC module support
259CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := 0
260
261#Enable spectral support
262CONFIG_ATH_SUPPORT_SPECTRAL := 0
263
264#Enable HOST statistics support
265CONFIG_SUPPORT_HOST_STATISTICS := 0
266
267#Enable WDI Event support
268CONFIG_WDI_EVENT_ENABLE := 1
269
270#Endianess selection
271CONFIG_LITTLE_ENDIAN := 1
272
273#Enable TX reclaim support
274CONFIG_TX_CREDIT_RECLAIM_SUPPORT := 0
275
276#Enable FTM support
277CONFIG_QCA_WIFI_FTM := 1
278
279#Enable Checksum Offload
280CONFIG_CHECKSUM_OFFLOAD := 1
281
282#Enable GTK offload
283CONFIG_GTK_OFFLOAD := 1
284
285#Enable EXT WOW
286ifeq ($(CONFIG_ROME_IF),pci)
287	CONFIG_EXT_WOW := 1
288endif
289
290#Set this to 1 to catch erroneous Target accesses during debug.
291CONFIG_ATH_PCIE_ACCESS_DEBUG := 0
292
293#Enable IPA offload
294ifeq ($(CONFIG_IPA), y)
295CONFIG_IPA_OFFLOAD := 1
296endif
297
298#Enable Signed firmware support for split binary format
299CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := 0
300
301#Enable single firmware binary format
302CONFIG_QCA_SINGLE_BINARY_SUPPORT := 0
303
304#Enable collecting target RAM dump after kernel panic
305CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := 1
306
307#Flag to enable/disable secure firmware feature
308CONFIG_FEATURE_SECURE_FIRMWARE := 0
309
310#Flag to enable Stats Ext implementation
311CONFIG_FEATURE_STATS_EXT := 1
312
313ifeq ($(CONFIG_CFG80211),y)
314HAVE_CFG80211 := 1
315else
316ifeq ($(CONFIG_CFG80211),m)
317HAVE_CFG80211 := 1
318else
319HAVE_CFG80211 := 0
320endif
321endif
322
323############ UAPI ############
324UAPI_DIR :=	uapi
325UAPI_INC :=	-I$(WLAN_ROOT)/$(UAPI_DIR)/linux
326
327############ COMMON ############
328COMMON_DIR :=	core/common
329COMMON_INC :=	-I$(WLAN_ROOT)/$(COMMON_DIR)
330
331############ HDD ############
332HDD_DIR :=	core/hdd
333HDD_INC_DIR :=	$(HDD_DIR)/inc
334HDD_SRC_DIR :=	$(HDD_DIR)/src
335
336HDD_INC := 	-I$(WLAN_ROOT)/$(HDD_INC_DIR) \
337		-I$(WLAN_ROOT)/$(HDD_SRC_DIR)
338
339HDD_OBJS := 	$(HDD_SRC_DIR)/wlan_hdd_assoc.o \
340		$(HDD_SRC_DIR)/wlan_hdd_cfg.o \
341		$(HDD_SRC_DIR)/wlan_hdd_debugfs.o \
342		$(HDD_SRC_DIR)/wlan_hdd_driver_ops.o \
343		$(HDD_SRC_DIR)/wlan_hdd_ftm.o \
344		$(HDD_SRC_DIR)/wlan_hdd_hostapd.o \
345		$(HDD_SRC_DIR)/wlan_hdd_ioctl.o \
346		$(HDD_SRC_DIR)/wlan_hdd_main.o \
347		$(HDD_SRC_DIR)/wlan_hdd_ocb.o \
348		$(HDD_SRC_DIR)/wlan_hdd_oemdata.o \
349		$(HDD_SRC_DIR)/wlan_hdd_power.o \
350		$(HDD_SRC_DIR)/wlan_hdd_regulatory.o \
351		$(HDD_SRC_DIR)/wlan_hdd_scan.o \
352		$(HDD_SRC_DIR)/wlan_hdd_softap_tx_rx.o \
353		$(HDD_SRC_DIR)/wlan_hdd_tx_rx.o \
354		$(HDD_SRC_DIR)/wlan_hdd_trace.o \
355		$(HDD_SRC_DIR)/wlan_hdd_wext.o \
356		$(HDD_SRC_DIR)/wlan_hdd_wmm.o \
357		$(HDD_SRC_DIR)/wlan_hdd_wowl.o
358
359
360ifeq ($(CONFIG_WLAN_FEATURE_LPSS),y)
361HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_lpass.o
362endif
363
364ifeq ($(CONFIG_WLAN_LRO), y)
365HDD_OBJS +=     $(HDD_SRC_DIR)/wlan_hdd_lro.o
366endif
367
368ifeq ($(CONFIG_WLAN_NAPI), y)
369HDD_OBJS +=     $(HDD_SRC_DIR)/wlan_hdd_napi.o
370endif
371
372ifeq ($(CONFIG_IPA_OFFLOAD), 1)
373HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_ipa.o
374endif
375
376ifeq ($(HAVE_CFG80211),1)
377HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_cfg80211.o \
378		$(HDD_SRC_DIR)/wlan_hdd_ext_scan.o \
379		$(HDD_SRC_DIR)/wlan_hdd_stats.o \
380		$(HDD_SRC_DIR)/wlan_hdd_p2p.o
381endif
382
383ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y)
384HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_green_ap.o
385endif
386
387ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
388HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_nan.o
389endif
390
391ifeq ($(CONFIG_QCOM_TDLS),y)
392HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_tdls.o
393endif
394
395ifeq ($(CONFIG_WLAN_SYNC_TSF),y)
396HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_tsf.o
397endif
398
399ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y)
400HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_conc_ut.o
401endif
402
403ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
404HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_memdump.o
405endif
406
407ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y)
408HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_subnet_detect.o
409endif
410
411ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y)
412HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nan_datapath.o
413endif
414
415########### HOST DIAG LOG ###########
416HOST_DIAG_LOG_DIR :=	core/utils/host_diag_log
417
418HOST_DIAG_LOG_INC_DIR :=	$(HOST_DIAG_LOG_DIR)/inc
419HOST_DIAG_LOG_SRC_DIR :=	$(HOST_DIAG_LOG_DIR)/src
420
421HOST_DIAG_LOG_INC :=	-I$(WLAN_ROOT)/$(HOST_DIAG_LOG_INC_DIR) \
422			-I$(WLAN_ROOT)/$(HOST_DIAG_LOG_SRC_DIR)
423
424HOST_DIAG_LOG_OBJS +=	$(HOST_DIAG_LOG_SRC_DIR)/host_diag_log.o
425
426############ EPPING ############
427EPPING_DIR :=	core/utils/epping
428EPPING_INC_DIR :=	$(EPPING_DIR)/inc
429EPPING_SRC_DIR :=	$(EPPING_DIR)/src
430
431EPPING_INC := 	-I$(WLAN_ROOT)/$(EPPING_INC_DIR)
432
433EPPING_OBJS := $(EPPING_SRC_DIR)/epping_main.o \
434		$(EPPING_SRC_DIR)/epping_txrx.o \
435		$(EPPING_SRC_DIR)/epping_tx.o \
436		$(EPPING_SRC_DIR)/epping_rx.o \
437		$(EPPING_SRC_DIR)/epping_helper.o \
438
439
440############ MAC ############
441MAC_DIR :=	core/mac
442MAC_INC_DIR :=	$(MAC_DIR)/inc
443MAC_SRC_DIR :=	$(MAC_DIR)/src
444
445MAC_INC := 	-I$(WLAN_ROOT)/$(MAC_INC_DIR) \
446		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/dph \
447		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/include \
448		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/include \
449		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/lim \
450		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/nan
451
452MAC_CFG_OBJS := $(MAC_SRC_DIR)/cfg/cfg_api.o \
453		$(MAC_SRC_DIR)/cfg/cfg_debug.o \
454		$(MAC_SRC_DIR)/cfg/cfg_param_name.o \
455		$(MAC_SRC_DIR)/cfg/cfg_proc_msg.o \
456		$(MAC_SRC_DIR)/cfg/cfg_send_msg.o
457
458MAC_DPH_OBJS :=	$(MAC_SRC_DIR)/dph/dph_hash_table.o
459
460MAC_LIM_OBJS := $(MAC_SRC_DIR)/pe/lim/lim_aid_mgmt.o \
461		$(MAC_SRC_DIR)/pe/lim/lim_admit_control.o \
462		$(MAC_SRC_DIR)/pe/lim/lim_api.o \
463		$(MAC_SRC_DIR)/pe/lim/lim_assoc_utils.o \
464		$(MAC_SRC_DIR)/pe/lim/lim_debug.o \
465		$(MAC_SRC_DIR)/pe/lim/lim_ft.o \
466		$(MAC_SRC_DIR)/pe/lim/lim_ibss_peer_mgmt.o \
467		$(MAC_SRC_DIR)/pe/lim/lim_link_monitoring_algo.o \
468		$(MAC_SRC_DIR)/pe/lim/lim_p2p.o \
469		$(MAC_SRC_DIR)/pe/lim/lim_process_action_frame.o \
470		$(MAC_SRC_DIR)/pe/lim/lim_process_assoc_req_frame.o \
471		$(MAC_SRC_DIR)/pe/lim/lim_process_assoc_rsp_frame.o \
472		$(MAC_SRC_DIR)/pe/lim/lim_process_auth_frame.o \
473		$(MAC_SRC_DIR)/pe/lim/lim_process_beacon_frame.o \
474		$(MAC_SRC_DIR)/pe/lim/lim_process_cfg_updates.o \
475		$(MAC_SRC_DIR)/pe/lim/lim_process_deauth_frame.o \
476		$(MAC_SRC_DIR)/pe/lim/lim_process_disassoc_frame.o \
477		$(MAC_SRC_DIR)/pe/lim/lim_process_message_queue.o \
478		$(MAC_SRC_DIR)/pe/lim/lim_process_mlm_req_messages.o \
479		$(MAC_SRC_DIR)/pe/lim/lim_process_mlm_rsp_messages.o \
480		$(MAC_SRC_DIR)/pe/lim/lim_process_probe_req_frame.o \
481		$(MAC_SRC_DIR)/pe/lim/lim_process_probe_rsp_frame.o \
482		$(MAC_SRC_DIR)/pe/lim/lim_process_sme_req_messages.o \
483		$(MAC_SRC_DIR)/pe/lim/lim_prop_exts_utils.o \
484		$(MAC_SRC_DIR)/pe/lim/lim_scan_result_utils.o \
485		$(MAC_SRC_DIR)/pe/lim/lim_security_utils.o \
486		$(MAC_SRC_DIR)/pe/lim/lim_send_management_frames.o \
487		$(MAC_SRC_DIR)/pe/lim/lim_send_messages.o \
488		$(MAC_SRC_DIR)/pe/lim/lim_send_sme_rsp_messages.o \
489		$(MAC_SRC_DIR)/pe/lim/lim_ser_des_utils.o \
490		$(MAC_SRC_DIR)/pe/lim/lim_session.o \
491		$(MAC_SRC_DIR)/pe/lim/lim_session_utils.o \
492		$(MAC_SRC_DIR)/pe/lim/lim_sme_req_utils.o \
493		$(MAC_SRC_DIR)/pe/lim/lim_sta_hash_api.o \
494		$(MAC_SRC_DIR)/pe/lim/lim_timer_utils.o \
495		$(MAC_SRC_DIR)/pe/lim/lim_trace.o \
496		$(MAC_SRC_DIR)/pe/lim/lim_utils.o
497
498ifeq ($(CONFIG_QCOM_TDLS),y)
499MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_tdls.o
500endif
501
502ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y)
503MAC_NDP_OBJS += $(MAC_SRC_DIR)/pe/nan/nan_datapath.o
504endif
505
506ifeq ($(CONFIG_QCACLD_WLAN_LFR2),y)
507	MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_host_roam.o \
508		$(MAC_SRC_DIR)/pe/lim/lim_send_frames_host_roam.o \
509		$(MAC_SRC_DIR)/pe/lim/lim_roam_timer_utils.o \
510		$(MAC_SRC_DIR)/pe/lim/lim_ft_preauth.o \
511		$(MAC_SRC_DIR)/pe/lim/lim_reassoc_utils.o
512endif
513
514MAC_SCH_OBJS := $(MAC_SRC_DIR)/pe/sch/sch_api.o \
515		$(MAC_SRC_DIR)/pe/sch/sch_beacon_gen.o \
516		$(MAC_SRC_DIR)/pe/sch/sch_beacon_process.o \
517		$(MAC_SRC_DIR)/pe/sch/sch_debug.o \
518		$(MAC_SRC_DIR)/pe/sch/sch_message.o
519
520MAC_RRM_OBJS :=	$(MAC_SRC_DIR)/pe/rrm/rrm_api.o
521
522MAC_OBJS := 	$(MAC_CFG_OBJS) \
523		$(MAC_DPH_OBJS) \
524		$(MAC_LIM_OBJS) \
525		$(MAC_SCH_OBJS) \
526		$(MAC_RRM_OBJS) \
527		$(MAC_NDP_OBJS)
528
529############ SAP ############
530SAP_DIR :=	core/sap
531SAP_INC_DIR :=	$(SAP_DIR)/inc
532SAP_SRC_DIR :=	$(SAP_DIR)/src
533
534SAP_INC := 	-I$(WLAN_ROOT)/$(SAP_INC_DIR) \
535		-I$(WLAN_ROOT)/$(SAP_SRC_DIR)
536
537SAP_OBJS :=	$(SAP_SRC_DIR)/sap_api_link_cntl.o \
538		$(SAP_SRC_DIR)/sap_ch_select.o \
539		$(SAP_SRC_DIR)/sap_fsm.o \
540		$(SAP_SRC_DIR)/sap_module.o
541
542############ DFS ############ 350
543DFS_DIR :=	$(SAP_DIR)/dfs
544DFS_INC_DIR :=	$(DFS_DIR)/inc
545DFS_SRC_DIR :=	$(DFS_DIR)/src
546
547DFS_INC :=	-I$(WLAN_ROOT)/$(DFS_INC_DIR) \
548		-I$(WLAN_ROOT)/$(DFS_SRC_DIR)
549
550DFS_OBJS :=	$(DFS_SRC_DIR)/dfs_bindetects.o \
551		$(DFS_SRC_DIR)/dfs.o \
552		$(DFS_SRC_DIR)/dfs_debug.o\
553		$(DFS_SRC_DIR)/dfs_fcc_bin5.o\
554		$(DFS_SRC_DIR)/dfs_init.o\
555		$(DFS_SRC_DIR)/dfs_misc.o\
556		$(DFS_SRC_DIR)/dfs_nol.o\
557		$(DFS_SRC_DIR)/dfs_phyerr_tlv.o\
558		$(DFS_SRC_DIR)/dfs_process_phyerr.o\
559		$(DFS_SRC_DIR)/dfs_process_radarevent.o\
560		$(DFS_SRC_DIR)/dfs_staggered.o
561
562############ SME ############
563SME_DIR :=	core/sme
564SME_INC_DIR :=	$(SME_DIR)/inc
565SME_SRC_DIR :=	$(SME_DIR)/src
566
567SME_INC := 	-I$(WLAN_ROOT)/$(SME_INC_DIR) \
568		-I$(WLAN_ROOT)/$(SME_SRC_DIR)/csr
569
570SME_CSR_OBJS := $(SME_SRC_DIR)/csr/csr_api_roam.o \
571		$(SME_SRC_DIR)/csr/csr_api_scan.o \
572		$(SME_SRC_DIR)/csr/csr_cmd_process.o \
573		$(SME_SRC_DIR)/csr/csr_link_list.o \
574		$(SME_SRC_DIR)/csr/csr_neighbor_roam.o \
575		$(SME_SRC_DIR)/csr/csr_util.o \
576
577
578ifeq ($(CONFIG_QCACLD_WLAN_LFR2),y)
579SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csr_roam_preauth.o \
580		$(SME_SRC_DIR)/csr/csr_host_scan_roam.o
581endif
582
583
584ifeq ($(CONFIG_QCOM_TDLS),y)
585SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csr_tdls_process.o
586endif
587
588SME_QOS_OBJS := $(SME_SRC_DIR)/qos/sme_qos.o
589
590SME_CMN_OBJS := $(SME_SRC_DIR)/common/sme_api.o \
591		$(SME_SRC_DIR)/common/sme_ft_api.o \
592		$(SME_SRC_DIR)/common/sme_power_save.o \
593		$(SME_SRC_DIR)/common/sme_trace.o
594
595SME_P2P_OBJS = $(SME_SRC_DIR)/p2p/p2p_api.o
596
597SME_RRM_OBJS := $(SME_SRC_DIR)/rrm/sme_rrm.o
598
599ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
600SME_NAN_OBJS = $(SME_SRC_DIR)/nan/nan_api.o
601endif
602
603ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y)
604SME_NDP_OBJS += $(SME_SRC_DIR)/nan/nan_datapath_api.o
605endif
606
607SME_OBJS :=	$(SME_CMN_OBJS) \
608		$(SME_CSR_OBJS) \
609		$(SME_P2P_OBJS) \
610		$(SME_QOS_OBJS) \
611		$(SME_RRM_OBJS) \
612		$(SME_NAN_OBJS) \
613		$(SME_NDP_OBJS)
614
615############ NLINK ############
616NLINK_DIR     :=	core/utils/nlink
617NLINK_INC_DIR :=	$(NLINK_DIR)/inc
618NLINK_SRC_DIR :=	$(NLINK_DIR)/src
619
620NLINK_INC     := 	-I$(WLAN_ROOT)/$(NLINK_INC_DIR)
621NLINK_OBJS    :=	$(NLINK_SRC_DIR)/wlan_nlink_srv.o
622
623############ PTT ############
624PTT_DIR     :=	core/utils/ptt
625PTT_INC_DIR :=	$(PTT_DIR)/inc
626PTT_SRC_DIR :=	$(PTT_DIR)/src
627
628PTT_INC     := 	-I$(WLAN_ROOT)/$(PTT_INC_DIR)
629PTT_OBJS    :=	$(PTT_SRC_DIR)/wlan_ptt_sock_svc.o
630
631############ WLAN_LOGGING ############
632WLAN_LOGGING_DIR     :=	core/utils/logging
633WLAN_LOGGING_INC_DIR :=	$(WLAN_LOGGING_DIR)/inc
634WLAN_LOGGING_SRC_DIR :=	$(WLAN_LOGGING_DIR)/src
635
636WLAN_LOGGING_INC     := -I$(WLAN_ROOT)/$(WLAN_LOGGING_INC_DIR)
637WLAN_LOGGING_OBJS    := $(WLAN_LOGGING_SRC_DIR)/wlan_logging_sock_svc.o
638
639############ SYS ############
640SYS_DIR :=	core/mac/src/sys
641
642SYS_INC := 	-I$(WLAN_ROOT)/$(SYS_DIR)/common/inc \
643		-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/platform/inc \
644		-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/system/inc \
645		-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/utils/inc
646
647SYS_COMMON_SRC_DIR := $(SYS_DIR)/common/src
648SYS_LEGACY_SRC_DIR := $(SYS_DIR)/legacy/src
649SYS_OBJS :=	$(SYS_COMMON_SRC_DIR)/wlan_qct_sys.o \
650		$(SYS_LEGACY_SRC_DIR)/platform/src/sys_wrapper.o \
651		$(SYS_LEGACY_SRC_DIR)/system/src/mac_init_api.o \
652		$(SYS_LEGACY_SRC_DIR)/system/src/sys_entry_func.o \
653		$(SYS_LEGACY_SRC_DIR)/utils/src/dot11f.o \
654		$(SYS_LEGACY_SRC_DIR)/utils/src/log_api.o \
655		$(SYS_LEGACY_SRC_DIR)/utils/src/mac_trace.o \
656		$(SYS_LEGACY_SRC_DIR)/utils/src/parser_api.o \
657		$(SYS_LEGACY_SRC_DIR)/utils/src/utils_api.o \
658		$(SYS_LEGACY_SRC_DIR)/utils/src/utils_parser.o
659
660############ Qca-wifi-host-cmn ############
661QDF_OS_DIR :=	qdf
662QDF_OS_INC_DIR := $(QDF_OS_DIR)/inc
663QDF_OS_SRC_DIR := $(QDF_OS_DIR)/linux/src
664QDF_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_SRC_DIR)
665
666QDF_INC :=	-I$(WLAN_COMMON_INC)/$(QDF_OS_INC_DIR) \
667		-I$(WLAN_COMMON_INC)/$(QDF_OS_SRC_DIR)
668
669QDF_OBJS := 	$(QDF_OBJ_DIR)/qdf_defer.o \
670		$(QDF_OBJ_DIR)/qdf_event.o \
671		$(QDF_OBJ_DIR)/qdf_list.o \
672		$(QDF_OBJ_DIR)/qdf_lock.o \
673		$(QDF_OBJ_DIR)/qdf_mc_timer.o \
674		$(QDF_OBJ_DIR)/qdf_mem.o \
675		$(QDF_OBJ_DIR)/qdf_nbuf.o \
676		$(QDF_OBJ_DIR)/qdf_threads.o \
677		$(QDF_OBJ_DIR)/qdf_trace.o
678
679############ CDS (Connectivity driver services) ############
680CDS_DIR :=	core/cds
681CDS_INC_DIR :=	$(CDS_DIR)/inc
682CDS_SRC_DIR :=	$(CDS_DIR)/src
683
684CDS_INC := 	-I$(WLAN_ROOT)/$(CDS_INC_DIR) \
685		-I$(WLAN_ROOT)/$(CDS_SRC_DIR)
686
687CDS_OBJS :=	$(CDS_SRC_DIR)/cds_api.o \
688		$(CDS_SRC_DIR)/cds_reg_service.o \
689		$(CDS_SRC_DIR)/cds_mq.o \
690		$(CDS_SRC_DIR)/cds_packet.o \
691		$(CDS_SRC_DIR)/cds_regdomain.o \
692		$(CDS_SRC_DIR)/cds_sched.o \
693		$(CDS_SRC_DIR)/cds_concurrency.o \
694		$(CDS_SRC_DIR)/cds_utils.o \
695		$(CDS_SRC_DIR)/cds_mc_timer.o
696
697
698########### BMI ###########
699BMI_DIR := core/bmi
700
701BMI_INC := -I$(WLAN_ROOT)/$(BMI_DIR)/inc
702
703BMI_OBJS := $(BMI_DIR)/src/bmi.o \
704            $(BMI_DIR)/src/ol_fw.o \
705            $(BMI_DIR)/src/ol_fw_common.o
706BMI_OBJS += $(BMI_DIR)/src/bmi_1.o
707
708########### WMI ###########
709WMI_ROOT_DIR := wmi
710
711WMI_SRC_DIR := $(WMI_ROOT_DIR)/src
712WMI_INC_DIR := $(WMI_ROOT_DIR)/inc
713WMI_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(WMI_SRC_DIR)
714
715WMI_INC := -I$(WLAN_COMMON_INC)/$(WMI_INC_DIR)
716
717WMI_OBJS := $(WMI_OBJ_DIR)/wmi_unified.o \
718	    $(WMI_OBJ_DIR)/wmi_tlv_helper.o \
719	    $(WMI_OBJ_DIR)/wmi_unified_tlv.o \
720	    $(WMI_OBJ_DIR)/wmi_unified_api.o \
721	    $(WMI_OBJ_DIR)/wmi_unified_non_tlv.o
722
723########### FWLOG ###########
724FWLOG_DIR := core/utils/fwlog
725
726FWLOG_INC := -I$(WLAN_ROOT)/$(FWLOG_DIR)
727
728FWLOG_OBJS := $(FWLOG_DIR)/dbglog_host.o
729
730############ TXRX ############
731TXRX_DIR :=     core/dp/txrx
732TXRX_INC :=     -I$(WLAN_ROOT)/$(TXRX_DIR)
733
734TXRX_OBJS := $(TXRX_DIR)/ol_txrx.o \
735                $(TXRX_DIR)/ol_cfg.o \
736                $(TXRX_DIR)/ol_rx.o \
737                $(TXRX_DIR)/ol_rx_fwd.o \
738                $(TXRX_DIR)/ol_txrx.o \
739                $(TXRX_DIR)/ol_rx_defrag.o \
740                $(TXRX_DIR)/ol_tx_desc.o \
741                $(TXRX_DIR)/ol_tx.o \
742                $(TXRX_DIR)/ol_rx_reorder_timeout.o \
743                $(TXRX_DIR)/ol_rx_reorder.o \
744                $(TXRX_DIR)/ol_rx_pn.o \
745                $(TXRX_DIR)/ol_tx_queue.o \
746                $(TXRX_DIR)/ol_txrx_peer_find.o \
747                $(TXRX_DIR)/ol_txrx_event.o \
748                $(TXRX_DIR)/ol_txrx_encap.o \
749                $(TXRX_DIR)/ol_tx_send.o \
750                $(TXRX_DIR)/ol_tx_sched.o \
751                $(TXRX_DIR)/ol_tx_classify.o
752
753ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
754TXRX_OBJS +=     $(TXRX_DIR)/ol_txrx_flow_control.o
755endif
756
757############ OL ############
758OL_DIR :=     core/dp/ol
759OL_INC :=     -I$(WLAN_ROOT)/$(OL_DIR)/inc
760
761############ CDP ############
762CDP_ROOT_DIR := dp
763CDP_INC_DIR := $(CDP_ROOT_DIR)/inc
764CDP_INC := -I$(WLAN_COMMON_INC)/$(CDP_INC_DIR)
765
766############ PKTLOG ############
767PKTLOG_DIR :=      core/utils/pktlog
768PKTLOG_INC :=      -I$(WLAN_ROOT)/$(PKTLOG_DIR)/include
769
770PKTLOG_OBJS :=	$(PKTLOG_DIR)/pktlog_ac.o \
771		$(PKTLOG_DIR)/pktlog_internal.o \
772		$(PKTLOG_DIR)/linux_ac.o
773
774############ HTT ############
775HTT_DIR :=      core/dp/htt
776HTT_INC :=      -I$(WLAN_ROOT)/$(HTT_DIR)
777
778HTT_OBJS := $(HTT_DIR)/htt_tx.o \
779            $(HTT_DIR)/htt.o \
780            $(HTT_DIR)/htt_t2h.o \
781            $(HTT_DIR)/htt_h2t.o \
782            $(HTT_DIR)/htt_fw_stats.o \
783            $(HTT_DIR)/htt_rx.o
784
785############## HTC ##########
786HTC_DIR := htc
787HTC_INC := -I$(WLAN_COMMON_INC)/$(HTC_DIR)
788
789HTC_OBJS := $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc.o \
790            $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_send.o \
791            $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_recv.o \
792            $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_services.o
793
794########### HIF ###########
795HIF_DIR := hif
796HIF_CE_DIR := $(HIF_DIR)/src/ce
797HIF_CNSS_STUB_DIR := $(HIF_DIR)/src/icnss_stub
798
799
800HIF_DISPATCHER_DIR := $(HIF_DIR)/src/dispatcher
801
802HIF_PCIE_DIR := $(HIF_DIR)/src/pcie
803HIF_SNOC_DIR := $(HIF_DIR)/src/snoc
804HIF_SDIO_DIR := $(HIF_DIR)/src/sdio
805
806HIF_SDIO_NATIVE_DIR := $(HIF_SDIO_DIR)/native_sdio
807HIF_SDIO_NATIVE_INC_DIR := $(HIF_SDIO_NATIVE_DIR)/include
808HIF_SDIO_NATIVE_SRC_DIR := $(HIF_SDIO_NATIVE_DIR)/src
809
810HIF_INC := -I$(WLAN_COMMON_INC)/$(HIF_DIR)/inc \
811	   -I$(WLAN_COMMON_INC)/$(HIF_DIR)/src \
812	   -I$(WLAN_COMMON_INC)/$(HIF_CE_DIR) \
813	   -I$(WLAN_COMMON_INC)/$(HIF_CNSS_STUB_DIR)
814
815
816ifeq ($(CONFIG_HIF_PCI), 1)
817HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
818HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_PCIE_DIR)
819endif
820
821ifeq ($(CONFIG_HIF_SNOC), 1)
822HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
823HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SNOC_DIR)
824endif
825
826ifeq ($(CONFIG_HIF_SDIO), 1)
827HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
828HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SDIO_DIR)
829HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SDIO_NATIVE_INC_DIR)
830endif
831
832HIF_COMMON_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/ath_procfs.o \
833                $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_main.o \
834                $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/mp_dev.o
835
836HIF_CE_OBJS :=  $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_bmi.o \
837                $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_diag.o \
838                $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_main.o \
839                $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service.o \
840                $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_tasklet.o \
841                $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/regtable.o
842
843HIF_SDIO_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_send.o \
844                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_bmi_reg_access.o \
845                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_diag_reg_access.o \
846                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_dev.o \
847                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio.o \
848                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_recv.o \
849                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/regtable_sdio.o
850
851HIF_SDIO_NATIVE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif.o \
852                        $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif_scatter.o
853
854ifneq ($(CONFIG_ICNSS), y)
855HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_CNSS_STUB_DIR)/icnss_stub.o
856endif
857
858ifeq ($(CONFIG_WLAN_NAPI), y)
859HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_napi.o
860endif
861
862HIF_PCIE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_PCIE_DIR)/if_pci.o
863HIF_SNOC_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SNOC_DIR)/if_snoc.o
864HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/if_sdio.o
865
866HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus.o
867HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/dummy.o
868
869ifeq ($(CONFIG_HIF_PCI), 1)
870HIF_OBJS += $(HIF_PCIE_OBJS)
871HIF_OBJS += $(HIF_COMMON_OBJS)
872HIF_OBJS += $(HIF_CE_OBJS)
873HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_pci.o
874endif
875
876ifeq ($(CONFIG_HIF_SNOC), 1)
877HIF_OBJS += $(HIF_SNOC_OBJS)
878HIF_OBJS += $(HIF_COMMON_OBJS)
879HIF_OBJS += $(HIF_CE_OBJS)
880HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_snoc.o
881endif
882
883ifeq ($(CONFIG_HIF_SDIO), 1)
884HIF_OBJS += $(HIF_SDIO_OBJS)
885HIF_OBJS += $(HIF_SDIO_NATIVE_OBJS)
886HIF_OBJS += $(HIF_COMMON_OBJS)
887HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_sdio.o
888endif
889
890############ WMA ############
891WMA_DIR :=	core/wma
892
893WMA_INC_DIR :=  $(WMA_DIR)/inc
894WMA_SRC_DIR :=  $(WMA_DIR)/src
895
896WMA_INC :=	-I$(WLAN_ROOT)/$(WMA_INC_DIR) \
897		-I$(WLAN_ROOT)/$(WMA_SRC_DIR)
898
899ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y)
900WMA_NDP_OBJS += $(WMA_SRC_DIR)/wma_nan_datapath.o
901endif
902
903WMA_OBJS :=	$(WMA_SRC_DIR)/wma_main.o \
904		$(WMA_SRC_DIR)/wma_scan_roam.o \
905		$(WMA_SRC_DIR)/wma_dev_if.o \
906		$(WMA_SRC_DIR)/wma_mgmt.o \
907		$(WMA_SRC_DIR)/wma_power.o \
908		$(WMA_SRC_DIR)/wma_data.o \
909		$(WMA_SRC_DIR)/wma_utils.o \
910		$(WMA_SRC_DIR)/wma_features.o \
911		$(WMA_SRC_DIR)/wma_dfs_interface.o \
912		$(WMA_SRC_DIR)/wma_ocb.o \
913		$(WMA_SRC_DIR)/wlan_qct_wma_legacy.o\
914		$(WMA_NDP_OBJS)
915
916ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y)
917WMA_OBJS +=	$(WMA_SRC_DIR)/wma_utils_ut.o
918endif
919
920############## PLD ##########
921PLD_DIR := core/pld
922PLD_INC_DIR := $(PLD_DIR)/inc
923PLD_SRC_DIR := $(PLD_DIR)/src
924
925PLD_INC :=	-I$(WLAN_ROOT)/$(PLD_INC_DIR) \
926		-I$(WLAN_ROOT)/$(PLD_SRC_DIR)
927
928PLD_OBJS :=	$(PLD_SRC_DIR)/pld_common.o
929
930ifeq ($(CONFIG_PCI), y)
931PLD_OBJS +=	$(PLD_SRC_DIR)/pld_pcie.o
932endif
933ifeq ($(CONFIG_ICNSS),y)
934PLD_OBJS +=	$(PLD_SRC_DIR)/pld_snoc.o
935endif
936ifeq ($(CONFIG_CNSS_SDIO),y)
937PLD_OBJS +=	$(PLD_SRC_DIR)/pld_sdio.o
938endif
939
940TARGET_INC :=	-I$(WLAN_ROOT)/target/inc
941
942LINUX_INC :=	-Iinclude/linux
943
944INCS :=		$(HDD_INC) \
945		$(EPPING_INC) \
946		$(LINUX_INC) \
947		$(MAC_INC) \
948		$(SAP_INC) \
949		$(SME_INC) \
950		$(SYS_INC) \
951		$(QDF_INC) \
952		$(CDS_INC) \
953		$(DFS_INC)
954
955INCS +=		$(WMA_INC) \
956		$(UAPI_INC) \
957		$(COMMON_INC) \
958		$(WMI_INC) \
959		$(FWLOG_INC) \
960		$(TXRX_INC) \
961		$(OL_INC) \
962		$(CDP_INC) \
963		$(PKTLOG_INC) \
964		$(HTT_INC) \
965		$(HTC_INC) \
966		$(DFS_INC)
967
968INCS +=		$(HIF_INC) \
969		$(BMI_INC)
970
971INCS +=		$(TARGET_INC)
972
973INCS +=		$(NLINK_INC) \
974		$(PTT_INC) \
975		$(WLAN_LOGGING_INC)
976
977INCS +=		$(PLD_INC)
978
979ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
980INCS +=		$(PKTLOG_INC)
981endif
982
983ifeq ($(BUILD_DIAG_VERSION), 1)
984INCS +=		$(HOST_DIAG_LOG_INC)
985endif
986
987OBJS :=		$(HDD_OBJS) \
988		$(EPPING_OBJS) \
989		$(MAC_OBJS) \
990		$(SAP_OBJS) \
991		$(SME_OBJS) \
992		$(SYS_OBJS) \
993		$(QDF_OBJS) \
994		$(CDS_OBJS) \
995		$(DFS_OBJS)
996
997OBJS +=		$(WMA_OBJS) \
998		$(TXRX_OBJS) \
999		$(WMI_OBJS) \
1000		$(FWLOG_OBJS) \
1001		$(HTC_OBJS) \
1002		$(DFS_OBJS)
1003
1004OBJS +=		$(HIF_OBJS) \
1005		$(BMI_OBJS) \
1006		$(HTT_OBJS)
1007
1008OBJS +=		$(WLAN_LOGGING_OBJS)
1009OBJS +=		$(NLINK_OBJS)
1010OBJS +=		$(PTT_OBJS)
1011
1012OBJS +=		$(PLD_OBJS)
1013
1014ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
1015OBJS +=		$(PKTLOG_OBJS)
1016endif
1017
1018ifeq ($(BUILD_DIAG_VERSION), 1)
1019OBJS +=		$(HOST_DIAG_LOG_OBJS)
1020endif
1021
1022
1023EXTRA_CFLAGS += $(INCS)
1024
1025CDEFINES :=	-DANI_LITTLE_BYTE_ENDIAN \
1026		-DANI_LITTLE_BIT_ENDIAN \
1027		-DDOT11F_LITTLE_ENDIAN_HOST \
1028		-DANI_COMPILER_TYPE_GCC \
1029		-DANI_OS_TYPE_ANDROID=6 \
1030		-DPTT_SOCK_SVC_ENABLE \
1031		-Wall\
1032		-Werror\
1033		-D__linux__ \
1034		-DHAL_SELF_STA_PER_BSS=1 \
1035		-DFEATURE_WLAN_WAPI \
1036		-DFEATURE_OEM_DATA_SUPPORT\
1037		-DSOFTAP_CHANNEL_RANGE \
1038		-DWLAN_AP_STA_CONCURRENCY \
1039		-DFEATURE_WLAN_SCAN_PNO \
1040		-DWLAN_FEATURE_PACKET_FILTERING \
1041		-DWLAN_FEATURE_P2P_DEBUG \
1042		-DWLAN_ENABLE_AGEIE_ON_SCAN_RESULTS \
1043		-DWLANTL_DEBUG\
1044		-DWLAN_NS_OFFLOAD \
1045		-DWLAN_SOFTAP_VSTA_FEATURE \
1046		-DWLAN_FEATURE_GTK_OFFLOAD \
1047		-DWLAN_WAKEUP_EVENTS \
1048		-DFEATURE_WLAN_RA_FILTERING\
1049		-DWLAN_NL80211_TESTMODE \
1050		-DFEATURE_WLAN_LPHB \
1051		-DQCA_SUPPORT_TX_THROTTLE \
1052		-DWMI_INTERFACE_EVENT_LOGGING \
1053		-DATH_SUPPORT_WAPI \
1054		-DWLAN_FEATURE_LINK_LAYER_STATS \
1055		-DWLAN_LOGGING_SOCK_SVC_ENABLE \
1056		-DFEATURE_WLAN_EXTSCAN \
1057		-DWLAN_FEATURE_MBSSID \
1058		-DCONFIG_160MHZ_SUPPORT \
1059		-DCONFIG_MCL
1060
1061ifeq ($(CONFIG_CNSS), y)
1062ifeq ($(CONFIG_CNSS_SDIO), y)
1063CDEFINES += -DCONFIG_PLD_SDIO_CNSS
1064else
1065CDEFINES += -DCONFIG_PLD_PCIE_CNSS
1066endif
1067endif
1068
1069ifeq ($(CONFIG_ICNSS), y)
1070CDEFINES += -DCONFIG_PLD_SNOC_ICNSS
1071endif
1072
1073ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
1074CDEFINES += -DQCA_WIFI_3_0
1075CDEFINES += -DQCA_WIFI_3_0_EMU
1076endif
1077
1078ifeq (y,$(filter y,$(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
1079CDEFINES += -DQCA_WIFI_3_0_ADRASTEA
1080CDEFINES += -DADRASTEA_SHADOW_REGISTERS
1081CDEFINES += -DADRASTEA_RRI_ON_DDR
1082endif
1083
1084ifeq ($(CONFIG_WLAN_FASTPATH), y)
1085CDEFINES +=	-DWLAN_FEATURE_FASTPATH
1086endif
1087
1088ifeq ($(CONFIG_FEATURE_DP_TRACE), y)
1089CDEFINES +=	-DFEATURE_DP_TRACE
1090endif
1091
1092ifeq ($(CONFIG_WLAN_NAPI), y)
1093CDEFINES += -DFEATURE_NAPI
1094ifeq ($(CONFIG_WLAN_NAPI_DEBUG), y)
1095CDEFINES += -DFEATURE_NAPI_DEBUG
1096endif
1097endif
1098
1099ifeq (y,$(findstring y,$(CONFIG_ARCH_MSM) $(CONFIG_ARCH_QCOM)))
1100CDEFINES += -DMSM_PLATFORM
1101endif
1102
1103CDEFINES +=	-DQCA_SUPPORT_TXRX_LOCAL_PEER_ID
1104
1105ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
1106CDEFINES +=	-DQCA_LL_TX_FLOW_CONTROL_V2
1107CDEFINES +=	-DQCA_LL_TX_FLOW_GLOBAL_MGMT_POOL
1108else
1109ifeq ($(CONFIG_ROME_IF),pci)
1110CDEFINES +=	-DQCA_LL_LEGACY_TX_FLOW_CONTROL
1111endif
1112endif
1113
1114ifneq ($(CONFIG_QCA_CLD_WLAN),)
1115CDEFINES += -DWCN_PRONTO
1116CDEFINES += -DWCN_PRONTO_V1
1117endif
1118
1119ifeq ($(BUILD_DEBUG_VERSION),1)
1120CDEFINES +=	-DWLAN_DEBUG \
1121		-DTRACE_RECORD \
1122		-DLIM_TRACE_RECORD \
1123		-DSME_TRACE_RECORD \
1124		-DHDD_TRACE_RECORD \
1125		-DPE_DEBUG_LOGW \
1126		-DPE_DEBUG_LOGE \
1127		-DDEBUG
1128endif
1129
1130ifeq ($(CONFIG_SLUB_DEBUG_ON),y)
1131CDEFINES += -DTIMER_MANAGER
1132CDEFINES += -DMEMORY_DEBUG
1133endif
1134
1135ifeq ($(HAVE_CFG80211),1)
1136CDEFINES += -DWLAN_FEATURE_P2P
1137CDEFINES += -DWLAN_FEATURE_WFD
1138ifeq ($(CONFIG_QCOM_VOWIFI_11R),y)
1139CDEFINES += -DKERNEL_SUPPORT_11R_CFG80211
1140CDEFINES += -DUSE_80211_WMMTSPEC_FOR_RIC
1141endif
1142endif
1143
1144ifeq ($(CONFIG_QCOM_ESE),y)
1145CDEFINES += -DFEATURE_WLAN_ESE
1146CDEFINES += -DQCA_COMPUTE_TX_DELAY
1147CDEFINES += -DQCA_COMPUTE_TX_DELAY_PER_TID
1148endif
1149
1150#normally, TDLS negative behavior is not needed
1151ifeq ($(CONFIG_QCOM_TDLS),y)
1152CDEFINES += -DFEATURE_WLAN_TDLS
1153endif
1154
1155ifeq ($(CONFIG_QCACLD_WLAN_LFR3),y)
1156CDEFINES += -DWLAN_FEATURE_ROAM_OFFLOAD
1157endif
1158
1159ifeq ($(CONFIG_QCACLD_WLAN_LFR2),y)
1160CDEFINES += -DWLAN_FEATURE_HOST_ROAM
1161endif
1162
1163ifeq ($(CONFIG_PRIMA_WLAN_OKC),y)
1164CDEFINES += -DFEATURE_WLAN_OKC
1165endif
1166
1167ifeq ($(BUILD_DIAG_VERSION),1)
1168CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT
1169CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_CSR
1170CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_LIM
1171ifeq ($(CONFIG_HIF_PCI), 1)
1172CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
1173endif
1174endif
1175
1176ifeq ($(CONFIG_HIF_USB), 1)
1177CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
1178CDEFINES += -DQCA_SUPPORT_OL_RX_REORDER_TIMEOUT
1179CDEFINES += -DCONFIG_ATH_PCIE_MAX_PERF=0 -DCONFIG_ATH_PCIE_AWAKE_WHILE_DRIVER_LOAD=0 -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0
1180CDEFINES += -DQCA_TX_HTT2_SUPPORT
1181endif
1182
1183ifeq ($(CONFIG_WLAN_FEATURE_11W),y)
1184CDEFINES += -DWLAN_FEATURE_11W
1185endif
1186
1187ifeq ($(CONFIG_QCOM_LTE_COEX),y)
1188CDEFINES += -DFEATURE_WLAN_CH_AVOID
1189endif
1190
1191ifeq ($(CONFIG_WLAN_FEATURE_LPSS),y)
1192CDEFINES += -DWLAN_FEATURE_LPSS
1193endif
1194
1195ifneq ($(TARGET_BUILD_VARIANT),user)
1196CDEFINES += -DDESC_DUP_DETECT_DEBUG
1197CDEFINES += -DDEBUG_RX_RING_BUFFER
1198endif
1199
1200ifeq ($(PANIC_ON_BUG),1)
1201CDEFINES += -DPANIC_ON_BUG
1202endif
1203
1204ifeq ($(WLAN_OPEN_SOURCE), 1)
1205CDEFINES += -DWLAN_OPEN_SOURCE
1206endif
1207
1208ifeq ($(CONFIG_FEATURE_STATS_EXT), 1)
1209CDEFINES += -DWLAN_FEATURE_STATS_EXT
1210endif
1211
1212ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
1213CDEFINES += -DWLAN_FEATURE_NAN
1214endif
1215
1216ifeq ($(CONFIG_QCA_IBSS_SUPPORT), 1)
1217CDEFINES += -DQCA_IBSS_SUPPORT
1218endif
1219
1220#Enable OL debug and wmi unified functions
1221ifeq ($(CONFIG_ATH_PERF_PWR_OFFLOAD), 1)
1222CDEFINES += -DATH_PERF_PWR_OFFLOAD
1223endif
1224
1225#Disable packet log
1226ifeq ($(CONFIG_REMOVE_PKT_LOG), 1)
1227CDEFINES += -DREMOVE_PKT_LOG
1228endif
1229
1230#Enable 11AC TX
1231ifeq ($(CONFIG_ATH_11AC_TXCOMPACT), 1)
1232CDEFINES += -DATH_11AC_TXCOMPACT
1233endif
1234
1235#Enable OS specific IRQ abstraction
1236ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1)
1237CDEFINES += -DATH_SUPPORT_SHARED_IRQ
1238endif
1239
1240#Enable message based HIF instead of RAW access in BMI
1241ifeq ($(CONFIG_HIF_MESSAGE_BASED), 1)
1242CDEFINES += -DHIF_MESSAGE_BASED
1243endif
1244
1245#Enable PCI specific APIS (dma, etc)
1246ifeq ($(CONFIG_HIF_PCI), 1)
1247CDEFINES += -DHIF_PCI
1248endif
1249
1250ifeq ($(CONFIG_HIF_SNOC), 1)
1251CDEFINES += -DHIF_SNOC
1252endif
1253
1254#Enable High Latency related Flags
1255ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
1256CDEFINES += -DCONFIG_HL_SUPPORT \
1257            -DCONFIG_AR6320_SUPPORT \
1258            -DSDIO_3_0 \
1259            -DHIF_SDIO \
1260            -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0 \
1261            -DCONFIG_ATH_PROCFS_DIAG_SUPPORT \
1262            -DFEATURE_HL_GROUP_CREDIT_FLOW_CONTROL \
1263            -DHIF_MBOX_SLEEP_WAR \
1264            -DDEBUG_HL_LOGGING \
1265            -DQCA_BAD_PEER_TX_FLOW_CL \
1266            -DCONFIG_TX_DESC_HI_PRIO_RESERVE \
1267            -DCONFIG_PER_VDEV_TX_DESC_POOL \
1268            -DCONFIG_SDIO \
1269            -DFEATURE_WLAN_FORCE_SAP_SCC
1270endif
1271
1272#Enable USB specific APIS
1273ifeq ($(CONFIG_HIF_USB), 1)
1274CDEFINES += -DHIF_USB
1275CDEFINES += -DCONFIG_HL_SUPPORT
1276endif
1277
1278#Enable FW logs through ini
1279CDEFINES += -DCONFIG_FW_LOGS_BASED_ON_INI
1280
1281#Enable pci read/write config functions
1282ifeq ($(CONFIG_ATH_PCI), 1)
1283CDEFINES += -DATH_PCI
1284endif
1285
1286#Enable power management suspend/resume functionality
1287ifeq ($(CONFIG_ATH_BUS_PM), 1)
1288CDEFINES += -DATH_BUS_PM
1289endif
1290
1291#Enable FLOWMAC module support
1292ifeq ($(CONFIG_ATH_SUPPORT_FLOWMAC_MODULE), 1)
1293CDEFINES += -DATH_SUPPORT_FLOWMAC_MODULE
1294endif
1295
1296#Enable spectral support
1297ifeq ($(CONFIG_ATH_SUPPORT_SPECTRAL), 1)
1298CDEFINES += -DATH_SUPPORT_SPECTRAL
1299endif
1300
1301#Enable WDI Event support
1302ifeq ($(CONFIG_WDI_EVENT_ENABLE), 1)
1303CDEFINES += -DWDI_EVENT_ENABLE
1304endif
1305
1306#Endianess selection
1307ifeq ($(CONFIG_LITTLE_ENDIAN), 1)
1308AH_LITTLE_ENDIAN=1234
1309CDEFINES += -DAH_BYTE_ORDER=$(AH_LITTLE_ENDIAN)
1310else
1311AH_BIG_ENDIAN=4321
1312CDEFINES += -DAH_BYTE_ORDER=$(AH_BIG_ENDIAN)
1313CDEFINES += -DBIG_ENDIAN_HOST
1314endif
1315
1316#Enable TX reclaim support
1317ifeq ($(CONFIG_TX_CREDIT_RECLAIM_SUPPORT), 1)
1318CDEFINES += -DTX_CREDIT_RECLAIM_SUPPORT
1319endif
1320
1321#Enable FTM support
1322ifeq ($(CONFIG_QCA_WIFI_FTM), 1)
1323CDEFINES += -DQCA_WIFI_FTM
1324endif
1325
1326#Enable Checksum Offload support
1327ifeq ($(CONFIG_CHECKSUM_OFFLOAD), 1)
1328CDEFINES += -DCHECKSUM_OFFLOAD
1329endif
1330
1331#Enable Checksum Offload support
1332ifeq ($(CONFIG_IPA_OFFLOAD), 1)
1333CDEFINES += -DIPA_OFFLOAD
1334endif
1335
1336ifneq ($(CONFIG_ARCH_MDM9630), y)
1337ifeq ($(CONFIG_ARCH_MDM9640), y)
1338CDEFINES += -DQCA_CONFIG_SMP
1339endif
1340endif
1341
1342#Enable GTK Offload
1343ifeq ($(CONFIG_GTK_OFFLOAD), 1)
1344CDEFINES += -DWLAN_FEATURE_GTK_OFFLOAD
1345CDEFINES += -DIGTK_OFFLOAD
1346endif
1347
1348#Enable GTK Offload
1349ifeq ($(CONFIG_EXT_WOW), 1)
1350CDEFINES += -DWLAN_FEATURE_EXTWOW_SUPPORT
1351endif
1352
1353#Mark it as SMP Kernel
1354ifeq ($(CONFIG_SMP),y)
1355CDEFINES += -DQCA_CONFIG_SMP
1356endif
1357
1358ifeq ($(CONFIG_WLAN_FEATURE_RX_WAKELOCK), y)
1359CDEFINES += -DWLAN_FEATURE_HOLD_RX_WAKELOCK
1360endif
1361
1362#Enable Channel Matrix restriction for all Rome only targets
1363ifneq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
1364CDEFINES += -DWLAN_ENABLE_CHNL_MATRIX_RESTRICTION
1365endif
1366
1367#features specific to mobile router use case
1368ifeq ($(CONFIG_MOBILE_ROUTER), y)
1369
1370#enable MCC TO SCC switch
1371CDEFINES += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH
1372
1373#enable wlan auto shutdown feature
1374CDEFINES += -DFEATURE_WLAN_AUTO_SHUTDOWN
1375
1376#enable for MBSSID
1377CDEFINES += -DWLAN_FEATURE_MBSSID
1378
1379#enable AP-AP ACS Optimization
1380CDEFINES += -DFEATURE_WLAN_AP_AP_ACS_OPTIMIZE
1381
1382#Enable 4address scheme
1383CDEFINES += -DFEATURE_WLAN_STA_4ADDR_SCHEME
1384
1385#Disable STA-AP Mode DFS support
1386CDEFINES += -DFEATURE_WLAN_STA_AP_MODE_DFS_DISABLE
1387
1388#Enable OBSS feature
1389CDEFINES += -DQCA_HT_2040_COEX
1390
1391else #CONFIG_MOBILE_ROUTER
1392
1393#Open P2P device interface only for non-Mobile router use cases
1394CDEFINES += -DWLAN_OPEN_P2P_INTERFACE
1395
1396#Enable 2.4 GHz social channels in 5 GHz only mode for p2p usage
1397CDEFINES += -DWLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY
1398
1399endif #CONFIG_MOBILE_ROUTER
1400
1401#Green AP feature
1402ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y)
1403CDEFINES += -DFEATURE_GREEN_AP
1404endif
1405
1406#Enable RX Full re-order OL feature only "LL and NON-MDM9630 platform"
1407ifneq ($(CONFIG_ARCH_MDM9630), y)
1408ifeq ($(CONFIG_HIF_PCI), 1)
1409CDEFINES += -DWLAN_FEATURE_RX_FULL_REORDER_OL
1410endif
1411endif
1412
1413#enable Code swap feature
1414ifeq ($(CONFIG_CNSS), y)
1415ifeq ($(CONFIG_HIF_PCI), 1)
1416CDEFINES += -DCONFIG_CODESWAP_FEATURE
1417endif
1418endif
1419
1420#Enable Signed firmware support for split binary format
1421ifeq ($(CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT), 1)
1422CDEFINES += -DQCA_SIGNED_SPLIT_BINARY_SUPPORT
1423endif
1424
1425#Enable single firmware binary format
1426ifeq ($(CONFIG_QCA_SINGLE_BINARY_SUPPORT), 1)
1427CDEFINES += -DQCA_SINGLE_BINARY_SUPPORT
1428endif
1429
1430#Enable collecting target RAM dump after kernel panic
1431ifeq ($(CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC), 1)
1432CDEFINES += -DTARGET_RAMDUMP_AFTER_KERNEL_PANIC
1433endif
1434
1435#Enable/disable secure firmware feature
1436ifeq ($(CONFIG_FEATURE_SECURE_FIRMWARE), 1)
1437CDEFINES += -DFEATURE_SECURE_FIRMWARE
1438endif
1439
1440ifeq ($(CONFIG_ATH_PCIE_ACCESS_DEBUG), 1)
1441CDEFINES += -DCONFIG_ATH_PCIE_ACCESS_DEBUG
1442endif
1443
1444# Enable feature support fo Linux version QCMBR
1445ifeq ($(CONFIG_LINUX_QCMBR),y)
1446CDEFINES += -DLINUX_QCMBR
1447endif
1448
1449# Enable featue sync tsf between multi devices
1450ifeq ($(CONFIG_WLAN_SYNC_TSF), y)
1451CDEFINES += -DWLAN_FEATURE_TSF
1452endif
1453
1454# Enable full rx re-order offload for adrastea
1455ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
1456CDEFINES += -DWLAN_FEATURE_RX_FULL_REORDER_OL
1457endif
1458
1459# Enable athdiag procfs debug support for adrastea
1460ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
1461CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
1462endif
1463
1464# Enable 11AC TX compact feature for adrastea
1465ifeq (y, $(filter y, $(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
1466CDEFINES += -DATH_11AC_TXCOMPACT
1467endif
1468
1469# NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
1470ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
1471CONFIG_HELIUMPLUS := y
1472CONFIG_64BIT_PADDR := y
1473CONFIG_FEATURE_TSO := y
1474CONFIG_FEATURE_TSO_DEBUG := y
1475ifeq ($(CONFIG_HELIUMPLUS),y)
1476CDEFINES += -DHELIUMPLUS_PADDR64
1477CDEFINES += -DHELIUMPLUS
1478CDEFINES += -DAR900B
1479ifeq ($(CONFIG_64BIT_PADDR),y)
1480CDEFINES += -DHTT_PADDR64
1481endif
1482endif
1483endif
1484
1485ifeq ($(CONFIG_FEATURE_TSO),y)
1486CDEFINES += -DFEATURE_TSO
1487endif
1488ifeq ($(CONFIG_FEATURE_TSO_DEBUG),y)
1489CDEFINES += -DFEATURE_TSO_DEBUG
1490endif
1491
1492ifeq ($(CONFIG_WLAN_LRO), y)
1493CDEFINES += -DFEATURE_LRO
1494endif
1495
1496ifeq ($(CONFIG_MOBILE_ROUTER), y)
1497CDEFINES += -DFEATURE_AP_MCC_CH_AVOIDANCE
1498endif
1499
1500ifeq ($(CONFIG_MPC_UT_FRAMEWORK), y)
1501CDEFINES += -DMPC_UT_FRAMEWORK
1502endif
1503
1504ifeq ($(CONFIG_WLAN_OFFLOAD_PACKETS),y)
1505CDEFINES += -DWLAN_FEATURE_OFFLOAD_PACKETS
1506endif
1507
1508ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
1509CDEFINES += -DWLAN_FEATURE_MEMDUMP
1510endif
1511
1512ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y)
1513CDEFINES += -DFEATURE_LFR_SUBNET_DETECTION
1514endif
1515
1516ifeq ($(CONFIG_MCC_TO_SCC_SWITCH), y)
1517CDEFINES += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH
1518endif
1519
1520ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y)
1521CDEFINES += -DWLAN_FEATURE_NAN_DATAPATH
1522endif
1523
1524KBUILD_CPPFLAGS += $(CDEFINES)
1525
1526# Currently, for versions of gcc which support it, the kernel Makefile
1527# is disabling the maybe-uninitialized warning.  Re-enable it for the
1528# WLAN driver.  Note that we must use EXTRA_CFLAGS here so that it
1529# will override the kernel settings.
1530ifeq ($(call cc-option-yn, -Wmaybe-uninitialized),y)
1531EXTRA_CFLAGS += -Wmaybe-uninitialized
1532endif
1533
1534# Module information used by KBuild framework
1535obj-$(CONFIG_QCA_CLD_WLAN) += $(MODNAME).o
1536$(MODNAME)-y := $(OBJS)
1537
1538