xref: /wlan-dirver/qcacld-3.0/Kbuild (revision 97e365d9e5ce32a345184c7cfde6c8a546251918)
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 := y
5else
6	KERNEL_BUILD := n
7endif
8
9ifeq ($(KERNEL_BUILD), y)
10	# These are provided in external module based builds
11	# Need to explicitly define for Kernel-based builds
12	MODNAME := wlan
13	WLAN_ROOT := drivers/staging/qcacld-3.0
14	WLAN_COMMON_ROOT := ../qca-wifi-host-cmn
15	WLAN_COMMON_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
16	WLAN_FW_API := $(WLAN_ROOT)/../fw-api/
17	WLAN_PROFILE := default
18endif
19
20WLAN_COMMON_ROOT ?= ../qca-wifi-host-cmn
21WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
22WLAN_FW_API ?= $(WLAN_ROOT)/../fw-api/
23WLAN_PROFILE ?= default
24CONFIG_QCA_CLD_WLAN_PROFILE ?= $(WLAN_PROFILE)
25
26ifeq ($(KERNEL_BUILD), n)
27ifneq ($(ANDROID_BUILD_TOP),)
28      override WLAN_ROOT := $(ANDROID_BUILD_TOP)/$(WLAN_ROOT)
29      override WLAN_COMMON_INC := $(ANDROID_BUILD_TOP)/$(WLAN_COMMON_INC)
30      override WLAN_FW_API := $(ANDROID_BUILD_TOP)/$(WLAN_FW_API)
31endif
32endif
33
34include $(WLAN_ROOT)/configs/$(CONFIG_QCA_CLD_WLAN_PROFILE)_defconfig
35
36# add configurations in WLAN_CFG_OVERRIDE
37ifneq ($(WLAN_CFG_OVERRIDE),)
38WLAN_CFG_OVERRIDE_FILE := $(WLAN_ROOT)/.wlan_cfg_override
39$(shell echo > $(WLAN_CFG_OVERRIDE_FILE))
40
41$(foreach cfg, $(WLAN_CFG_OVERRIDE), \
42	$(shell echo $(cfg) >> $(WLAN_CFG_OVERRIDE_FILE)))
43
44include $(WLAN_CFG_OVERRIDE_FILE)
45$(warning "Overriding WLAN config with: $(shell cat $(WLAN_CFG_OVERRIDE_FILE))")
46endif
47
48############ UAPI ############
49UAPI_DIR :=	uapi
50UAPI_INC :=	-I$(WLAN_ROOT)/$(UAPI_DIR)/linux
51
52############ COMMON ############
53COMMON_DIR :=	core/common
54COMMON_INC :=	-I$(WLAN_ROOT)/$(COMMON_DIR)
55
56############ HDD ############
57HDD_DIR :=	core/hdd
58HDD_INC_DIR :=	$(HDD_DIR)/inc
59HDD_SRC_DIR :=	$(HDD_DIR)/src
60
61HDD_INC := 	-I$(WLAN_ROOT)/$(HDD_INC_DIR) \
62		-I$(WLAN_ROOT)/$(HDD_SRC_DIR)
63
64HDD_OBJS := 	$(HDD_SRC_DIR)/wlan_hdd_assoc.o \
65		$(HDD_SRC_DIR)/wlan_hdd_cfg.o \
66		$(HDD_SRC_DIR)/wlan_hdd_cfg80211.o \
67		$(HDD_SRC_DIR)/wlan_hdd_data_stall_detection.o \
68		$(HDD_SRC_DIR)/wlan_hdd_driver_ops.o \
69		$(HDD_SRC_DIR)/wlan_hdd_ftm.o \
70		$(HDD_SRC_DIR)/wlan_hdd_hostapd.o \
71		$(HDD_SRC_DIR)/wlan_hdd_ioctl.o \
72		$(HDD_SRC_DIR)/wlan_hdd_main.o \
73		$(HDD_SRC_DIR)/wlan_hdd_object_manager.o \
74		$(HDD_SRC_DIR)/wlan_hdd_oemdata.o \
75		$(HDD_SRC_DIR)/wlan_hdd_p2p.o \
76		$(HDD_SRC_DIR)/wlan_hdd_power.o \
77		$(HDD_SRC_DIR)/wlan_hdd_regulatory.o \
78		$(HDD_SRC_DIR)/wlan_hdd_scan.o \
79		$(HDD_SRC_DIR)/wlan_hdd_softap_tx_rx.o \
80		$(HDD_SRC_DIR)/wlan_hdd_stats.o \
81		$(HDD_SRC_DIR)/wlan_hdd_trace.o \
82		$(HDD_SRC_DIR)/wlan_hdd_tx_rx.o \
83		$(HDD_SRC_DIR)/wlan_hdd_wmm.o \
84		$(HDD_SRC_DIR)/wlan_hdd_wowl.o
85
86ifeq ($(CONFIG_WLAN_WEXT_SUPPORT_ENABLE), y)
87HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_wext.o \
88	    $(HDD_SRC_DIR)/wlan_hdd_hostapd_wext.o
89endif
90
91ifeq ($(CONFIG_FEATURE_WLAN_EXTSCAN), y)
92HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_ext_scan.o
93endif
94
95ifeq ($(CONFIG_WLAN_DEBUGFS), y)
96HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_debugfs.o
97ifeq ($(CONFIG_WLAN_FEATURE_LINK_LAYER_STATS), y)
98HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_debugfs_llstat.o
99endif
100HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_debugfs_csr.o
101HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_debugfs_connect.o
102HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_debugfs_offload.o
103HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_debugfs_roam.o
104ifeq ($(CONFIG_WLAN_MWS_INFO_DEBUGFS), y)
105HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_debugfs_coex.o
106endif
107endif
108
109ifeq ($(CONFIG_WLAN_CONV_SPECTRAL_ENABLE),y)
110HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_spectralscan.o
111endif
112
113ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
114HDD_OBJS+=	$(HDD_SRC_DIR)/wlan_hdd_ocb.o
115endif
116
117ifeq ($(CONFIG_FEATURE_MEMDUMP_ENABLE), y)
118HDD_OBJS+=	$(HDD_SRC_DIR)/wlan_hdd_memdump.o
119endif
120
121ifeq ($(CONFIG_WLAN_FEATURE_FIPS), y)
122HDD_OBJS+=	$(HDD_SRC_DIR)/wlan_hdd_fips.o
123endif
124
125ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP), y)
126HDD_OBJS+=	$(HDD_SRC_DIR)/wlan_hdd_green_ap.o
127endif
128
129ifeq ($(CONFIG_QCACLD_FEATURE_APF), y)
130HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_apf.o
131endif
132
133ifeq ($(CONFIG_WLAN_FEATURE_LPSS), y)
134HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_lpass.o
135endif
136
137ifeq ($(CONFIG_WLAN_LRO), y)
138HDD_OBJS +=     $(HDD_SRC_DIR)/wlan_hdd_lro.o
139endif
140
141ifeq ($(CONFIG_WLAN_NAPI), y)
142HDD_OBJS +=     $(HDD_SRC_DIR)/wlan_hdd_napi.o
143endif
144
145ifeq ($(CONFIG_IPA_OFFLOAD), y)
146HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_ipa.o
147endif
148
149ifeq ($(CONFIG_QCACLD_FEATURE_NAN), y)
150HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_nan.o
151HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_nan_datapath.o
152endif
153
154ifeq ($(CONFIG_QCOM_TDLS), y)
155HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_tdls.o
156endif
157
158ifeq ($(CONFIG_WLAN_SYNC_TSF_PLUS), y)
159CONFIG_WLAN_SYNC_TSF := y
160endif
161
162ifeq ($(CONFIG_WLAN_SYNC_TSF), y)
163HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_tsf.o
164endif
165
166ifeq ($(CONFIG_MPC_UT_FRAMEWORK), y)
167HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_conc_ut.o
168endif
169
170ifeq ($(CONFIG_WLAN_FEATURE_DISA), y)
171HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_disa.o
172endif
173
174ifeq ($(CONFIG_LFR_SUBNET_DETECTION), y)
175HDD_OBJS +=	$(HDD_SRC_DIR)/wlan_hdd_subnet_detect.o
176endif
177
178ifeq ($(CONFIG_WLAN_FEATURE_11AX), y)
179HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_he.o
180endif
181
182ifeq ($(CONFIG_WLAN_FEATURE_TWT), y)
183HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_twt.o
184endif
185
186ifeq ($(CONFIG_LITHIUM), y)
187HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_rx_monitor.o
188endif
189
190ifeq ($(CONFIG_LITHIUM), y)
191CONFIG_WLAN_FEATURE_DP_RX_THREADS := y
192CONFIG_WLAN_FEATURE_RX_SOFTIRQ_TIME_LIMIT := y
193endif
194
195ifeq ($(CONFIG_HELIUMPLUS), y)
196CONFIG_WLAN_RECORD_RX_PADDR := y
197endif
198
199ifeq ($(CONFIG_WLAN_NUD_TRACKING), y)
200HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nud_tracking.o
201endif
202
203ifeq ($(CONFIG_WLAN_FEATURE_PACKET_FILTERING), y)
204HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_packet_filter.o
205endif
206
207ifeq ($(CONFIG_FEATURE_RSSI_MONITOR), y)
208HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_rssi_monitor.o
209endif
210
211ifeq ($(CONFIG_FEATURE_BSS_TRANSITION), y)
212HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_bss_transition.o
213endif
214
215ifeq ($(CONFIG_FEATURE_STATION_INFO), y)
216HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_station_info.o
217endif
218
219ifeq ($(CONFIG_FEATURE_TX_POWER), y)
220HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_tx_power.o
221endif
222
223ifeq ($(CONFIG_FEATURE_OTA_TEST), y)
224HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_ota_test.o
225endif
226
227ifeq ($(CONFIG_FEATURE_ACTIVE_TOS), y)
228HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_active_tos.o
229endif
230
231ifeq ($(CONFIG_FEATURE_SAR_LIMITS), y)
232HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_sar_limits.o
233endif
234
235ifeq ($(CONFIG_FEATURE_CONCURRENCY_MATRIX), y)
236HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_concurrency_matrix.o
237endif
238
239ifeq ($(CONFIG_FEATURE_SAP_COND_CHAN_SWITCH), y)
240HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_sap_cond_chan_switch.o
241endif
242
243ifeq ($(CONFIG_FEATURE_P2P_LISTEN_OFFLOAD), y)
244HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_p2p_listen_offload.o
245endif
246
247ifeq ($(CONFIG_WLAN_SYSFS), y)
248HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_sysfs.o
249endif
250
251ifeq ($(CONFIG_QCACLD_FEATURE_FW_STATE), y)
252HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_fw_state.o
253endif
254
255ifeq ($(CONFIG_QCACLD_FEATURE_COEX_CONFIG), y)
256HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_coex_config.o
257endif
258
259ifeq ($(CONFIG_QCACLD_FEATURE_MPTA_HELPER), y)
260HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_mpta_helper.o
261endif
262
263ifeq ($(CONFIG_WLAN_BCN_RECV_FEATURE), y)
264HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_bcn_recv.o
265endif
266
267ifeq ($(CONFIG_QCACLD_FEATURE_HW_CAPABILITY), y)
268HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_hw_capability.o
269endif
270
271###### OSIF_SYNC ########
272SYNC_DIR := os_if/sync
273SYNC_INC_DIR := $(SYNC_DIR)/inc
274SYNC_SRC_DIR := $(SYNC_DIR)/src
275
276SYNC_INC := \
277	-I$(WLAN_ROOT)/$(SYNC_INC_DIR) \
278	-I$(WLAN_ROOT)/$(SYNC_SRC_DIR) \
279
280SYNC_OBJS := \
281	$(SYNC_SRC_DIR)/osif_sync.o \
282	$(SYNC_SRC_DIR)/osif_driver_sync.o \
283	$(SYNC_SRC_DIR)/osif_psoc_sync.o \
284	$(SYNC_SRC_DIR)/osif_vdev_sync.o \
285
286########### Driver Synchronization Core (DSC) ###########
287DSC_DIR := components/dsc
288DSC_INC_DIR := $(DSC_DIR)/inc
289DSC_SRC_DIR := $(DSC_DIR)/src
290DSC_TEST_DIR := $(DSC_DIR)/test
291
292DSC_INC := \
293	-I$(WLAN_ROOT)/$(DSC_INC_DIR) \
294	-I$(WLAN_ROOT)/$(DSC_SRC_DIR) \
295	-I$(WLAN_ROOT)/$(DSC_TEST_DIR)
296
297DSC_OBJS := \
298	$(DSC_SRC_DIR)/__wlan_dsc.o \
299	$(DSC_SRC_DIR)/wlan_dsc_driver.o \
300	$(DSC_SRC_DIR)/wlan_dsc_psoc.o \
301	$(DSC_SRC_DIR)/wlan_dsc_vdev.o
302
303ifeq ($(CONFIG_DSC_TEST), y)
304	DSC_OBJS += $(DSC_TEST_DIR)/wlan_dsc_test.o
305endif
306
307cppflags-$(CONFIG_DSC_DEBUG) += -DWLAN_DSC_DEBUG
308cppflags-$(CONFIG_DSC_TEST) += -DWLAN_DSC_TEST
309
310########### HOST DIAG LOG ###########
311HOST_DIAG_LOG_DIR :=	$(WLAN_COMMON_ROOT)/utils/host_diag_log
312
313HOST_DIAG_LOG_INC_DIR :=	$(HOST_DIAG_LOG_DIR)/inc
314HOST_DIAG_LOG_SRC_DIR :=	$(HOST_DIAG_LOG_DIR)/src
315
316HOST_DIAG_LOG_INC :=	-I$(WLAN_ROOT)/$(HOST_DIAG_LOG_INC_DIR) \
317			-I$(WLAN_ROOT)/$(HOST_DIAG_LOG_SRC_DIR)
318
319HOST_DIAG_LOG_OBJS +=	$(HOST_DIAG_LOG_SRC_DIR)/host_diag_log.o
320
321############ EPPING ############
322EPPING_DIR :=	$(WLAN_COMMON_ROOT)/utils/epping
323EPPING_INC_DIR :=	$(EPPING_DIR)/inc
324EPPING_SRC_DIR :=	$(EPPING_DIR)/src
325
326EPPING_INC := 	-I$(WLAN_ROOT)/$(EPPING_INC_DIR)
327
328EPPING_OBJS := $(EPPING_SRC_DIR)/epping_main.o \
329		$(EPPING_SRC_DIR)/epping_txrx.o \
330		$(EPPING_SRC_DIR)/epping_tx.o \
331		$(EPPING_SRC_DIR)/epping_rx.o \
332		$(EPPING_SRC_DIR)/epping_helper.o
333
334############ MAC ############
335MAC_DIR :=	core/mac
336MAC_INC_DIR :=	$(MAC_DIR)/inc
337MAC_SRC_DIR :=	$(MAC_DIR)/src
338
339MAC_INC := 	-I$(WLAN_ROOT)/$(MAC_INC_DIR) \
340		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/dph \
341		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/include \
342		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/include \
343		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/lim \
344		-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/nan
345
346MAC_DPH_OBJS :=	$(MAC_SRC_DIR)/dph/dph_hash_table.o
347
348MAC_LIM_OBJS := $(MAC_SRC_DIR)/pe/lim/lim_aid_mgmt.o \
349		$(MAC_SRC_DIR)/pe/lim/lim_admit_control.o \
350		$(MAC_SRC_DIR)/pe/lim/lim_api.o \
351		$(MAC_SRC_DIR)/pe/lim/lim_assoc_utils.o \
352		$(MAC_SRC_DIR)/pe/lim/lim_ft.o \
353		$(MAC_SRC_DIR)/pe/lim/lim_link_monitoring_algo.o \
354		$(MAC_SRC_DIR)/pe/lim/lim_process_action_frame.o \
355		$(MAC_SRC_DIR)/pe/lim/lim_process_assoc_req_frame.o \
356		$(MAC_SRC_DIR)/pe/lim/lim_process_assoc_rsp_frame.o \
357		$(MAC_SRC_DIR)/pe/lim/lim_process_auth_frame.o \
358		$(MAC_SRC_DIR)/pe/lim/lim_process_beacon_frame.o \
359		$(MAC_SRC_DIR)/pe/lim/lim_process_cfg_updates.o \
360		$(MAC_SRC_DIR)/pe/lim/lim_process_deauth_frame.o \
361		$(MAC_SRC_DIR)/pe/lim/lim_process_disassoc_frame.o \
362		$(MAC_SRC_DIR)/pe/lim/lim_process_message_queue.o \
363		$(MAC_SRC_DIR)/pe/lim/lim_process_mlm_req_messages.o \
364		$(MAC_SRC_DIR)/pe/lim/lim_process_mlm_rsp_messages.o \
365		$(MAC_SRC_DIR)/pe/lim/lim_process_probe_req_frame.o \
366		$(MAC_SRC_DIR)/pe/lim/lim_process_probe_rsp_frame.o \
367		$(MAC_SRC_DIR)/pe/lim/lim_process_sme_req_messages.o \
368		$(MAC_SRC_DIR)/pe/lim/lim_prop_exts_utils.o \
369		$(MAC_SRC_DIR)/pe/lim/lim_scan_result_utils.o \
370		$(MAC_SRC_DIR)/pe/lim/lim_security_utils.o \
371		$(MAC_SRC_DIR)/pe/lim/lim_send_management_frames.o \
372		$(MAC_SRC_DIR)/pe/lim/lim_send_messages.o \
373		$(MAC_SRC_DIR)/pe/lim/lim_send_sme_rsp_messages.o \
374		$(MAC_SRC_DIR)/pe/lim/lim_session.o \
375		$(MAC_SRC_DIR)/pe/lim/lim_session_utils.o \
376		$(MAC_SRC_DIR)/pe/lim/lim_sme_req_utils.o \
377		$(MAC_SRC_DIR)/pe/lim/lim_timer_utils.o \
378		$(MAC_SRC_DIR)/pe/lim/lim_trace.o \
379		$(MAC_SRC_DIR)/pe/lim/lim_utils.o
380
381ifeq ($(CONFIG_QCA_IBSS_SUPPORT), y)
382MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_ibss_peer_mgmt.o
383endif
384
385ifeq ($(CONFIG_QCOM_TDLS), y)
386MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_tdls.o
387endif
388
389ifeq ($(CONFIG_WLAN_FEATURE_FILS), y)
390MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_fils.o
391endif
392
393ifeq ($(CONFIG_QCACLD_FEATURE_NAN), y)
394MAC_NDP_OBJS += $(MAC_SRC_DIR)/pe/nan/nan_datapath.o
395endif
396
397ifeq ($(CONFIG_QCACLD_WLAN_LFR2), y)
398	MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/lim_process_mlm_host_roam.o \
399		$(MAC_SRC_DIR)/pe/lim/lim_send_frames_host_roam.o \
400		$(MAC_SRC_DIR)/pe/lim/lim_roam_timer_utils.o \
401		$(MAC_SRC_DIR)/pe/lim/lim_ft_preauth.o \
402		$(MAC_SRC_DIR)/pe/lim/lim_reassoc_utils.o
403endif
404
405MAC_SCH_OBJS := $(MAC_SRC_DIR)/pe/sch/sch_api.o \
406		$(MAC_SRC_DIR)/pe/sch/sch_beacon_gen.o \
407		$(MAC_SRC_DIR)/pe/sch/sch_beacon_process.o \
408		$(MAC_SRC_DIR)/pe/sch/sch_message.o
409
410MAC_RRM_OBJS :=	$(MAC_SRC_DIR)/pe/rrm/rrm_api.o
411
412MAC_OBJS := 	$(MAC_CFG_OBJS) \
413		$(MAC_DPH_OBJS) \
414		$(MAC_LIM_OBJS) \
415		$(MAC_SCH_OBJS) \
416		$(MAC_RRM_OBJS) \
417		$(MAC_NDP_OBJS)
418
419############ SAP ############
420SAP_DIR :=	core/sap
421SAP_INC_DIR :=	$(SAP_DIR)/inc
422SAP_SRC_DIR :=	$(SAP_DIR)/src
423
424SAP_INC := 	-I$(WLAN_ROOT)/$(SAP_INC_DIR) \
425		-I$(WLAN_ROOT)/$(SAP_SRC_DIR)
426
427SAP_OBJS :=	$(SAP_SRC_DIR)/sap_api_link_cntl.o \
428		$(SAP_SRC_DIR)/sap_ch_select.o \
429		$(SAP_SRC_DIR)/sap_fsm.o \
430		$(SAP_SRC_DIR)/sap_module.o
431
432############ CFG ############
433CFG_REL_DIR := $(WLAN_COMMON_ROOT)/cfg
434CFG_DIR := $(WLAN_ROOT)/$(CFG_REL_DIR)
435CFG_INC := \
436	-I$(CFG_DIR)/inc \
437	-I$(CFG_DIR)/dispatcher/inc \
438	-I$(WLAN_ROOT)/components/cfg
439CFG_OBJS := \
440	$(CFG_REL_DIR)/src/cfg.o
441
442############ DFS ############
443DFS_DIR :=     $(WLAN_COMMON_ROOT)/umac/dfs
444DFS_CORE_INC_DIR := $(DFS_DIR)/core/inc
445DFS_CORE_SRC_DIR := $(DFS_DIR)/core/src
446
447DFS_DISP_INC_DIR := $(DFS_DIR)/dispatcher/inc
448DFS_DISP_SRC_DIR := $(DFS_DIR)/dispatcher/src
449DFS_TARGET_INC_DIR := $(WLAN_COMMON_ROOT)/target_if/dfs/inc
450DFS_CMN_SERVICES_INC_DIR := $(WLAN_COMMON_ROOT)/umac/cmn_services/dfs/inc
451
452DFS_INC :=	-I$(WLAN_ROOT)/$(DFS_DISP_INC_DIR) \
453		-I$(WLAN_ROOT)/$(DFS_TARGET_INC_DIR) \
454		-I$(WLAN_ROOT)/$(DFS_CMN_SERVICES_INC_DIR)
455
456DFS_OBJS :=	$(DFS_CORE_SRC_DIR)/misc/dfs.o \
457		$(DFS_CORE_SRC_DIR)/misc/dfs_cac.o \
458		$(DFS_CORE_SRC_DIR)/misc/dfs_nol.o \
459		$(DFS_CORE_SRC_DIR)/misc/dfs_random_chan_sel.o \
460		$(DFS_CORE_SRC_DIR)/misc/dfs_process_radar_found_ind.o \
461		$(DFS_DISP_SRC_DIR)/wlan_dfs_init_deinit_api.o \
462		$(DFS_DISP_SRC_DIR)/wlan_dfs_lmac_api.o \
463		$(DFS_DISP_SRC_DIR)/wlan_dfs_mlme_api.o \
464		$(DFS_DISP_SRC_DIR)/wlan_dfs_tgt_api.o \
465		$(DFS_DISP_SRC_DIR)/wlan_dfs_ucfg_api.o \
466		$(DFS_DISP_SRC_DIR)/wlan_dfs_tgt_api.o \
467		$(DFS_DISP_SRC_DIR)/wlan_dfs_utils_api.o \
468		$(WLAN_COMMON_ROOT)/target_if/dfs/src/target_if_dfs.o
469
470ifeq ($(CONFIG_WLAN_FEATURE_DFS_OFFLOAD), y)
471DFS_OBJS +=	$(WLAN_COMMON_ROOT)/target_if/dfs/src/target_if_dfs_full_offload.o \
472		$(DFS_CORE_SRC_DIR)/misc/dfs_full_offload.o
473else
474DFS_OBJS +=	$(WLAN_COMMON_ROOT)/target_if/dfs/src/target_if_dfs_partial_offload.o \
475		$(DFS_CORE_SRC_DIR)/filtering/dfs_fcc_bin5.o \
476		$(DFS_CORE_SRC_DIR)/filtering/dfs_bindetects.o \
477		$(DFS_CORE_SRC_DIR)/filtering/dfs_debug.o \
478		$(DFS_CORE_SRC_DIR)/filtering/dfs_init.o \
479		$(DFS_CORE_SRC_DIR)/filtering/dfs_misc.o \
480		$(DFS_CORE_SRC_DIR)/filtering/dfs_phyerr_tlv.o \
481		$(DFS_CORE_SRC_DIR)/filtering/dfs_process_phyerr.o \
482		$(DFS_CORE_SRC_DIR)/filtering/dfs_process_radarevent.o \
483		$(DFS_CORE_SRC_DIR)/filtering/dfs_staggered.o \
484		$(DFS_CORE_SRC_DIR)/filtering/dfs_radar.o \
485		$(DFS_CORE_SRC_DIR)/filtering/dfs_partial_offload_radar.o \
486		$(DFS_CORE_SRC_DIR)/misc/dfs_filter_init.o
487endif
488
489############ SME ############
490SME_DIR :=	core/sme
491SME_INC_DIR :=	$(SME_DIR)/inc
492SME_SRC_DIR :=	$(SME_DIR)/src
493
494SME_INC := 	-I$(WLAN_ROOT)/$(SME_INC_DIR) \
495		-I$(WLAN_ROOT)/$(SME_SRC_DIR)/csr
496
497SME_CSR_OBJS := $(SME_SRC_DIR)/csr/csr_api_roam.o \
498		$(SME_SRC_DIR)/csr/csr_api_scan.o \
499		$(SME_SRC_DIR)/csr/csr_cmd_process.o \
500		$(SME_SRC_DIR)/csr/csr_link_list.o \
501		$(SME_SRC_DIR)/csr/csr_neighbor_roam.o \
502		$(SME_SRC_DIR)/csr/csr_util.o \
503
504
505ifeq ($(CONFIG_QCACLD_WLAN_LFR2), y)
506SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csr_roam_preauth.o \
507		$(SME_SRC_DIR)/csr/csr_host_scan_roam.o
508endif
509
510SME_QOS_OBJS := $(SME_SRC_DIR)/qos/sme_qos.o
511
512SME_CMN_OBJS := $(SME_SRC_DIR)/common/sme_api.o \
513		$(SME_SRC_DIR)/common/sme_ft_api.o \
514		$(SME_SRC_DIR)/common/sme_power_save.o \
515		$(SME_SRC_DIR)/common/sme_trace.o
516
517SME_RRM_OBJS := $(SME_SRC_DIR)/rrm/sme_rrm.o
518
519ifeq ($(CONFIG_QCACLD_FEATURE_NAN), y)
520SME_NDP_OBJS += $(SME_SRC_DIR)/nan/nan_datapath_api.o
521endif
522
523SME_OBJS :=	$(SME_CMN_OBJS) \
524		$(SME_CSR_OBJS) \
525		$(SME_QOS_OBJS) \
526		$(SME_RRM_OBJS) \
527		$(SME_NAN_OBJS) \
528		$(SME_NDP_OBJS)
529
530############ NLINK ############
531NLINK_DIR     :=	$(WLAN_COMMON_ROOT)/utils/nlink
532NLINK_INC_DIR :=	$(NLINK_DIR)/inc
533NLINK_SRC_DIR :=	$(NLINK_DIR)/src
534
535NLINK_INC     := 	-I$(WLAN_ROOT)/$(NLINK_INC_DIR)
536NLINK_OBJS    :=	$(NLINK_SRC_DIR)/wlan_nlink_srv.o
537
538############ PTT ############
539PTT_DIR     :=	$(WLAN_COMMON_ROOT)/utils/ptt
540PTT_INC_DIR :=	$(PTT_DIR)/inc
541PTT_SRC_DIR :=	$(PTT_DIR)/src
542
543PTT_INC     := 	-I$(WLAN_ROOT)/$(PTT_INC_DIR)
544PTT_OBJS    :=	$(PTT_SRC_DIR)/wlan_ptt_sock_svc.o
545
546############ WLAN_LOGGING ############
547WLAN_LOGGING_DIR     :=	$(WLAN_COMMON_ROOT)/utils/logging
548WLAN_LOGGING_INC_DIR :=	$(WLAN_LOGGING_DIR)/inc
549WLAN_LOGGING_SRC_DIR :=	$(WLAN_LOGGING_DIR)/src
550
551WLAN_LOGGING_INC     := -I$(WLAN_ROOT)/$(WLAN_LOGGING_INC_DIR)
552WLAN_LOGGING_OBJS    := $(WLAN_LOGGING_SRC_DIR)/wlan_logging_sock_svc.o \
553		$(WLAN_LOGGING_SRC_DIR)/wlan_roam_debug.o
554
555############ SYS ############
556SYS_DIR :=	core/mac/src/sys
557
558SYS_INC := 	-I$(WLAN_ROOT)/$(SYS_DIR)/common/inc \
559		-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/platform/inc \
560		-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/system/inc \
561		-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/utils/inc
562
563SYS_COMMON_SRC_DIR := $(SYS_DIR)/common/src
564SYS_LEGACY_SRC_DIR := $(SYS_DIR)/legacy/src
565SYS_OBJS :=	$(SYS_COMMON_SRC_DIR)/wlan_qct_sys.o \
566		$(SYS_LEGACY_SRC_DIR)/platform/src/sys_wrapper.o \
567		$(SYS_LEGACY_SRC_DIR)/system/src/mac_init_api.o \
568		$(SYS_LEGACY_SRC_DIR)/system/src/sys_entry_func.o \
569		$(SYS_LEGACY_SRC_DIR)/utils/src/dot11f.o \
570		$(SYS_LEGACY_SRC_DIR)/utils/src/mac_trace.o \
571		$(SYS_LEGACY_SRC_DIR)/utils/src/parser_api.o \
572		$(SYS_LEGACY_SRC_DIR)/utils/src/utils_parser.o
573
574############ Qca-wifi-host-cmn ############
575QDF_OS_DIR :=	qdf
576QDF_OS_INC_DIR := $(QDF_OS_DIR)/inc
577QDF_OS_SRC_DIR := $(QDF_OS_DIR)/src
578QDF_OS_LINUX_SRC_DIR := $(QDF_OS_DIR)/linux/src
579QDF_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_SRC_DIR)
580QDF_LINUX_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_LINUX_SRC_DIR)
581QDF_TEST_DIR := $(QDF_OS_DIR)/test
582QDF_TEST_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_TEST_DIR)
583
584QDF_INC := \
585	-I$(WLAN_COMMON_INC)/$(QDF_OS_INC_DIR) \
586	-I$(WLAN_COMMON_INC)/$(QDF_OS_LINUX_SRC_DIR) \
587	-I$(WLAN_COMMON_INC)/$(QDF_TEST_DIR)
588
589QDF_OBJS := \
590	$(QDF_LINUX_OBJ_DIR)/qdf_crypto.o \
591	$(QDF_LINUX_OBJ_DIR)/qdf_defer.o \
592	$(QDF_LINUX_OBJ_DIR)/qdf_delayed_work.o \
593	$(QDF_LINUX_OBJ_DIR)/qdf_event.o \
594	$(QDF_LINUX_OBJ_DIR)/qdf_file.o \
595	$(QDF_LINUX_OBJ_DIR)/qdf_idr.o \
596	$(QDF_LINUX_OBJ_DIR)/qdf_list.o \
597	$(QDF_LINUX_OBJ_DIR)/qdf_lock.o \
598	$(QDF_LINUX_OBJ_DIR)/qdf_mc_timer.o \
599	$(QDF_LINUX_OBJ_DIR)/qdf_mem.o \
600	$(QDF_LINUX_OBJ_DIR)/qdf_nbuf.o \
601	$(QDF_LINUX_OBJ_DIR)/qdf_periodic_work.o \
602	$(QDF_LINUX_OBJ_DIR)/qdf_status.o \
603	$(QDF_LINUX_OBJ_DIR)/qdf_threads.o \
604	$(QDF_LINUX_OBJ_DIR)/qdf_trace.o \
605	$(QDF_OBJ_DIR)/qdf_flex_mem.o \
606	$(QDF_OBJ_DIR)/qdf_parse.o \
607	$(QDF_OBJ_DIR)/qdf_platform.o \
608	$(QDF_OBJ_DIR)/qdf_str.o \
609	$(QDF_OBJ_DIR)/qdf_talloc.o \
610	$(QDF_OBJ_DIR)/qdf_types.o \
611
612ifeq ($(CONFIG_WLAN_DEBUGFS), y)
613QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_debugfs.o
614endif
615
616ifeq ($(CONFIG_IPA_OFFLOAD), y)
617QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_ipa.o
618endif
619
620# enable CPU hotplug support if SMP is enabled
621ifeq ($(CONFIG_SMP), y)
622	QDF_OBJS += $(QDF_OBJ_DIR)/qdf_cpuhp.o
623	QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_cpuhp.o
624endif
625
626ifeq ($(CONFIG_LEAK_DETECTION), y)
627	QDF_OBJS += $(QDF_OBJ_DIR)/qdf_debug_domain.o
628	QDF_OBJS += $(QDF_OBJ_DIR)/qdf_tracker.o
629endif
630
631ifeq ($(CONFIG_QDF_TEST), y)
632	QDF_OBJS += $(QDF_TEST_OBJ_DIR)/qdf_delayed_work_test.o
633	QDF_OBJS += $(QDF_TEST_OBJ_DIR)/qdf_hashtable_test.o
634	QDF_OBJS += $(QDF_TEST_OBJ_DIR)/qdf_periodic_work_test.o
635	QDF_OBJS += $(QDF_TEST_OBJ_DIR)/qdf_ptr_hash_test.o
636	QDF_OBJS += $(QDF_TEST_OBJ_DIR)/qdf_slist_test.o
637	QDF_OBJS += $(QDF_TEST_OBJ_DIR)/qdf_talloc_test.o
638	QDF_OBJS += $(QDF_TEST_OBJ_DIR)/qdf_tracker_test.o
639	QDF_OBJS += $(QDF_TEST_OBJ_DIR)/qdf_types_test.o
640endif
641
642cppflags-$(CONFIG_TALLOC_DEBUG) += -DWLAN_TALLOC_DEBUG
643cppflags-$(CONFIG_QDF_TEST) += -DWLAN_DELAYED_WORK_TEST
644cppflags-$(CONFIG_QDF_TEST) += -DWLAN_HASHTABLE_TEST
645cppflags-$(CONFIG_QDF_TEST) += -DWLAN_PERIODIC_WORK_TEST
646cppflags-$(CONFIG_QDF_TEST) += -DWLAN_PTR_HASH_TEST
647cppflags-$(CONFIG_QDF_TEST) += -DWLAN_SLIST_TEST
648cppflags-$(CONFIG_QDF_TEST) += -DWLAN_TALLOC_TEST
649cppflags-$(CONFIG_QDF_TEST) += -DWLAN_TRACKER_TEST
650cppflags-$(CONFIG_QDF_TEST) += -DWLAN_TYPES_TEST
651
652############ WBUFF ############
653WBUFF_OS_DIR :=	wbuff
654WBUFF_OS_INC_DIR := $(WBUFF_OS_DIR)/inc
655WBUFF_OS_SRC_DIR := $(WBUFF_OS_DIR)/src
656WBUFF_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(WBUFF_OS_SRC_DIR)
657
658WBUFF_INC :=	-I$(WLAN_COMMON_INC)/$(WBUFF_OS_INC_DIR) \
659
660ifeq ($(CONFIG_WLAN_WBUFF), y)
661WBUFF_OBJS += 	$(WBUFF_OBJ_DIR)/wbuff.o
662endif
663
664##########QAL #######
665QAL_OS_DIR :=	qal
666QAL_OS_INC_DIR := $(QAL_OS_DIR)/inc
667QAL_OS_LINUX_SRC_DIR := $(QAL_OS_DIR)/linux/src
668
669QAL_INC :=	-I$(WLAN_COMMON_INC)/$(QAL_OS_INC_DIR) \
670		-I$(WLAN_COMMON_INC)/$(QAL_OS_LINUX_SRC_DIR)
671
672
673##########OS_IF #######
674OS_IF_DIR := $(WLAN_COMMON_ROOT)/os_if
675
676OS_IF_INC += -I$(WLAN_COMMON_INC)/os_if/linux \
677            -I$(WLAN_COMMON_INC)/os_if/linux/scan/inc \
678            -I$(WLAN_COMMON_INC)/os_if/linux/spectral/inc \
679            -I$(WLAN_COMMON_INC)/os_if/linux/crypto/inc
680
681OS_IF_OBJ += $(OS_IF_DIR)/linux/wlan_osif_request_manager.o \
682	     $(OS_IF_DIR)/linux/crypto/src/wlan_nl_to_crypto_params.o
683
684############ UMAC_DISP ############
685UMAC_DISP_DIR := umac/global_umac_dispatcher/lmac_if
686UMAC_DISP_INC_DIR := $(UMAC_DISP_DIR)/inc
687UMAC_DISP_SRC_DIR := $(UMAC_DISP_DIR)/src
688UMAC_DISP_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_DISP_SRC_DIR)
689
690UMAC_DISP_INC := -I$(WLAN_COMMON_INC)/$(UMAC_DISP_INC_DIR)
691
692UMAC_DISP_OBJS := $(UMAC_DISP_OBJ_DIR)/wlan_lmac_if.o
693
694############# UMAC_SCAN ############
695UMAC_SCAN_DIR := umac/scan
696UMAC_SCAN_DISP_INC_DIR := $(UMAC_SCAN_DIR)/dispatcher/inc
697UMAC_SCAN_CORE_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_SCAN_DIR)/core/src
698UMAC_SCAN_DISP_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_SCAN_DIR)/dispatcher/src
699UMAC_TARGET_SCAN_INC := -I$(WLAN_COMMON_INC)/target_if/scan/inc
700
701UMAC_SCAN_INC := -I$(WLAN_COMMON_INC)/$(UMAC_SCAN_DISP_INC_DIR)
702UMAC_SCAN_OBJS := $(UMAC_SCAN_CORE_DIR)/wlan_scan_cache_db.o \
703		$(UMAC_SCAN_CORE_DIR)/wlan_scan_11d.o \
704		$(UMAC_SCAN_CORE_DIR)/wlan_scan_bss_score.o \
705		$(UMAC_SCAN_CORE_DIR)/wlan_scan_filter.o \
706		$(UMAC_SCAN_CORE_DIR)/wlan_scan_main.o \
707		$(UMAC_SCAN_CORE_DIR)/wlan_scan_manager.o \
708		$(UMAC_SCAN_DISP_DIR)/wlan_scan_tgt_api.o \
709		$(UMAC_SCAN_DISP_DIR)/wlan_scan_ucfg_api.o \
710		$(UMAC_SCAN_DISP_DIR)/wlan_scan_api.o \
711		$(UMAC_SCAN_DISP_DIR)/wlan_scan_utils_api.o \
712		$(WLAN_COMMON_ROOT)/os_if/linux/scan/src/wlan_cfg80211_scan.o \
713		$(WLAN_COMMON_ROOT)/os_if/linux/wlan_cfg80211.o \
714		$(WLAN_COMMON_ROOT)/target_if/scan/src/target_if_scan.o
715
716ifeq ($(CONFIG_FEATURE_WLAN_EXTSCAN), y)
717UMAC_SCAN_OBJS += $(UMAC_SCAN_DISP_DIR)/wlan_extscan_api.o
718endif
719
720############# UMAC_SPECTRAL_SCAN ############
721UMAC_SPECTRAL_DIR := spectral
722UMAC_SPECTRAL_DISP_INC_DIR := $(UMAC_SPECTRAL_DIR)/dispatcher/inc
723UMAC_SPECTRAL_CORE_INC_DIR := $(UMAC_SPECTRAL_DIR)/core
724UMAC_SPECTRAL_CORE_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_SPECTRAL_DIR)/core
725UMAC_SPECTRAL_DISP_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_SPECTRAL_DIR)/dispatcher/src
726UMAC_TARGET_SPECTRAL_INC := -I$(WLAN_COMMON_INC)/target_if/spectral
727
728UMAC_SPECTRAL_INC := -I$(WLAN_COMMON_INC)/$(UMAC_SPECTRAL_DISP_INC_DIR) \
729			-I$(WLAN_COMMON_INC)/$(UMAC_SPECTRAL_CORE_INC_DIR) \
730			-I$(WLAN_COMMON_INC)/target_if/direct_buf_rx/inc
731ifeq ($(CONFIG_WLAN_CONV_SPECTRAL_ENABLE),y)
732UMAC_SPECTRAL_OBJS := $(UMAC_SPECTRAL_CORE_DIR)/spectral_offload.o \
733		$(UMAC_SPECTRAL_CORE_DIR)/spectral_common.o \
734		$(UMAC_SPECTRAL_DISP_DIR)/wlan_spectral_ucfg_api.o \
735		$(UMAC_SPECTRAL_DISP_DIR)/wlan_spectral_utils_api.o \
736		$(UMAC_SPECTRAL_DISP_DIR)/wlan_spectral_tgt_api.o \
737		$(WLAN_COMMON_ROOT)/os_if/linux/spectral/src/wlan_cfg80211_spectral.o \
738		$(WLAN_COMMON_ROOT)/os_if/linux/spectral/src/os_if_spectral_netlink.o \
739		$(WLAN_COMMON_ROOT)/target_if/spectral/target_if_spectral_netlink.o \
740		$(WLAN_COMMON_ROOT)/target_if/spectral/target_if_spectral_phyerr.o \
741		$(WLAN_COMMON_ROOT)/target_if/spectral/target_if_spectral.o \
742		$(WLAN_COMMON_ROOT)/target_if/spectral/target_if_spectral_sim.o
743endif
744############# UMAC_GREEN_AP ############
745UMAC_GREEN_AP_DIR := umac/green_ap
746UMAC_GREEN_AP_DISP_INC_DIR := $(UMAC_GREEN_AP_DIR)/dispatcher/inc
747UMAC_GREEN_AP_CORE_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_GREEN_AP_DIR)/core/src
748UMAC_GREEN_AP_DISP_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_GREEN_AP_DIR)/dispatcher/src
749UMAC_TARGET_GREEN_AP_INC := -I$(WLAN_COMMON_INC)/target_if/green_ap/inc
750
751UMAC_GREEN_AP_INC := -I$(WLAN_COMMON_INC)/$(UMAC_GREEN_AP_DISP_INC_DIR)
752UMAC_GREEN_AP_OBJS := $(UMAC_GREEN_AP_CORE_DIR)/wlan_green_ap_main.o \
753		$(UMAC_GREEN_AP_DISP_DIR)/wlan_green_ap_api.o \
754                $(UMAC_GREEN_AP_DISP_DIR)/wlan_green_ap_ucfg_api.o \
755                $(WLAN_COMMON_ROOT)/target_if/green_ap/src/target_if_green_ap.o
756
757############# WLAN_CONV_CRYPTO_SUPPORTED ############
758UMAC_CRYPTO_DIR := umac/cmn_services/crypto
759UMAC_CRYPTO_CORE_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_CRYPTO_DIR)/src
760UMAC_CRYPTO_INC := -I$(WLAN_COMMON_INC)/$(UMAC_CRYPTO_DIR)/inc \
761		-I$(WLAN_COMMON_INC)/$(UMAC_CRYPTO_DIR)/src
762UMAC_CRYPTO_OBJS := $(UMAC_CRYPTO_CORE_DIR)/wlan_crypto_global_api.o \
763		$(UMAC_CRYPTO_CORE_DIR)/wlan_crypto_main.o \
764		$(UMAC_CRYPTO_CORE_DIR)/wlan_crypto_obj_mgr.o \
765		$(UMAC_CRYPTO_CORE_DIR)/wlan_crypto_param_handling.o
766
767############# FTM CORE ############
768FTM_CORE_DIR := ftm
769TARGET_IF_FTM_DIR := target_if/ftm
770OS_IF_LINUX_FTM_DIR := os_if/linux/ftm
771
772FTM_CORE_SRC := $(WLAN_COMMON_ROOT)/$(FTM_CORE_DIR)/core/src
773FTM_DISP_SRC := $(WLAN_COMMON_ROOT)/$(FTM_CORE_DIR)/dispatcher/src
774TARGET_IF_FTM_SRC := $(WLAN_COMMON_ROOT)/$(TARGET_IF_FTM_DIR)/src
775OS_IF_FTM_SRC := $(WLAN_COMMON_ROOT)/$(OS_IF_LINUX_FTM_DIR)/src
776
777FTM_CORE_INC := $(WLAN_COMMON_INC)/$(FTM_CORE_DIR)/core/src
778FTM_DISP_INC := $(WLAN_COMMON_INC)/$(FTM_CORE_DIR)/dispatcher/inc
779TARGET_IF_FTM_INC := $(WLAN_COMMON_INC)/$(TARGET_IF_FTM_DIR)/inc
780OS_IF_FTM_INC := $(WLAN_COMMON_INC)/$(OS_IF_LINUX_FTM_DIR)/inc
781
782FTM_INC := -I$(FTM_DISP_INC)	\
783	   -I$(FTM_CORE_INC)	\
784	   -I$(OS_IF_FTM_INC)	\
785	   -I$(TARGET_IF_FTM_INC)
786
787ifeq ($(CONFIG_QCA_WIFI_FTM), y)
788FTM_OBJS := $(FTM_DISP_SRC)/wlan_ftm_init_deinit.o \
789	    $(FTM_DISP_SRC)/wlan_ftm_ucfg_api.o \
790	    $(FTM_CORE_SRC)/wlan_ftm_svc.o \
791	    $(TARGET_IF_FTM_SRC)/target_if_ftm.o
792
793ifeq ($(QCA_WIFI_FTM_NL80211), y)
794FTM_OBJS += $(OS_IF_FTM_SRC)/wlan_cfg80211_ftm.o
795endif
796
797ifeq ($(CONFIG_LINUX_QCMBR), y)
798FTM_OBJS += $(OS_IF_FTM_SRC)/wlan_ioctl_ftm.o
799endif
800
801endif
802
803############# UMAC_CMN_SERVICES ############
804UMAC_COMMON_INC := -I$(WLAN_COMMON_INC)/umac/cmn_services/cmn_defs/inc \
805		-I$(WLAN_COMMON_INC)/umac/cmn_services/utils/inc
806UMAC_COMMON_OBJS := $(WLAN_COMMON_ROOT)/umac/cmn_services/utils/src/wlan_utility.o
807
808ifeq ($(CONFIG_WLAN_LRO), y)
809QDF_OBJS +=     $(QDF_LINUX_OBJ_DIR)/qdf_lro.o
810endif
811
812############ CDS (Connectivity driver services) ############
813CDS_DIR :=	core/cds
814CDS_INC_DIR :=	$(CDS_DIR)/inc
815CDS_SRC_DIR :=	$(CDS_DIR)/src
816
817CDS_INC := 	-I$(WLAN_ROOT)/$(CDS_INC_DIR) \
818		-I$(WLAN_ROOT)/$(CDS_SRC_DIR)
819
820CDS_OBJS :=	$(CDS_SRC_DIR)/cds_api.o \
821		$(CDS_SRC_DIR)/cds_reg_service.o \
822		$(CDS_SRC_DIR)/cds_packet.o \
823		$(CDS_SRC_DIR)/cds_regdomain.o \
824		$(CDS_SRC_DIR)/cds_sched.o \
825		$(CDS_SRC_DIR)/cds_utils.o
826
827
828###### UMAC OBJMGR ########
829UMAC_OBJMGR_DIR := $(WLAN_COMMON_ROOT)/umac/cmn_services/obj_mgr
830
831UMAC_OBJMGR_INC := -I$(WLAN_COMMON_INC)/umac/cmn_services/obj_mgr/inc \
832		-I$(WLAN_COMMON_INC)/umac/cmn_services/obj_mgr/src \
833		-I$(WLAN_COMMON_INC)/umac/cmn_services/inc \
834		-I$(WLAN_COMMON_INC)/umac/global_umac_dispatcher/lmac_if/inc
835
836UMAC_OBJMGR_OBJS := $(UMAC_OBJMGR_DIR)/src/wlan_objmgr_global_obj.o \
837		$(UMAC_OBJMGR_DIR)/src/wlan_objmgr_pdev_obj.o \
838		$(UMAC_OBJMGR_DIR)/src/wlan_objmgr_peer_obj.o \
839		$(UMAC_OBJMGR_DIR)/src/wlan_objmgr_psoc_obj.o \
840		$(UMAC_OBJMGR_DIR)/src/wlan_objmgr_vdev_obj.o
841
842ifeq ($(CONFIG_WLAN_OBJMGR_DEBUG), y)
843UMAC_OBJMGR_OBJS += $(UMAC_OBJMGR_DIR)/src/wlan_objmgr_debug.o
844endif
845
846###########  UMAC MGMT TXRX ##########
847UMAC_MGMT_TXRX_DIR := $(WLAN_COMMON_ROOT)/umac/cmn_services/mgmt_txrx
848
849UMAC_MGMT_TXRX_INC := -I$(WLAN_COMMON_INC)/umac/cmn_services/mgmt_txrx/dispatcher/inc \
850
851UMAC_MGMT_TXRX_OBJS := $(UMAC_MGMT_TXRX_DIR)/core/src/wlan_mgmt_txrx_main.o \
852	$(UMAC_MGMT_TXRX_DIR)/dispatcher/src/wlan_mgmt_txrx_utils_api.o \
853	$(UMAC_MGMT_TXRX_DIR)/dispatcher/src/wlan_mgmt_txrx_tgt_api.o
854
855########## POWER MANAGEMENT OFFLOADS (PMO) ##########
856PMO_DIR :=	components/pmo
857PMO_INC :=	-I$(WLAN_ROOT)/$(PMO_DIR)/core/inc \
858			-I$(WLAN_ROOT)/$(PMO_DIR)/core/src \
859			-I$(WLAN_ROOT)/$(PMO_DIR)/dispatcher/inc \
860			-I$(WLAN_ROOT)/$(PMO_DIR)/dispatcher/src \
861
862ifeq ($(CONFIG_POWER_MANAGEMENT_OFFLOAD), y)
863PMO_OBJS :=     $(PMO_DIR)/core/src/wlan_pmo_main.o \
864		$(PMO_DIR)/core/src/wlan_pmo_apf.o \
865		$(PMO_DIR)/core/src/wlan_pmo_arp.o \
866		$(PMO_DIR)/core/src/wlan_pmo_gtk.o \
867		$(PMO_DIR)/core/src/wlan_pmo_mc_addr_filtering.o \
868		$(PMO_DIR)/core/src/wlan_pmo_static_config.o \
869		$(PMO_DIR)/core/src/wlan_pmo_wow.o \
870		$(PMO_DIR)/core/src/wlan_pmo_lphb.o \
871		$(PMO_DIR)/core/src/wlan_pmo_suspend_resume.o \
872		$(PMO_DIR)/core/src/wlan_pmo_hw_filter.o \
873		$(PMO_DIR)/dispatcher/src/wlan_pmo_obj_mgmt_api.o \
874		$(PMO_DIR)/dispatcher/src/wlan_pmo_ucfg_api.o \
875		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_arp.o \
876		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_gtk.o \
877		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_wow.o \
878		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_static_config.o \
879		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_mc_addr_filtering.o \
880		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_lphb.o \
881		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_suspend_resume.o \
882		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_hw_filter.o \
883
884ifeq ($(CONFIG_WLAN_FEATURE_PACKET_FILTERING), y)
885PMO_OBJS +=	$(PMO_DIR)/core/src/wlan_pmo_pkt_filter.o \
886		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_pkt_filter.o
887endif
888endif
889
890ifeq ($(CONFIG_WLAN_NS_OFFLOAD), y)
891PMO_OBJS +=     $(PMO_DIR)/core/src/wlan_pmo_ns.o \
892		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_ns.o
893endif
894
895########## DISA (ENCRYPTION TEST) ##########
896
897DISA_DIR :=	components/disa
898DISA_INC :=	-I$(WLAN_ROOT)/$(DISA_DIR)/core/inc \
899		-I$(WLAN_ROOT)/$(DISA_DIR)/dispatcher/inc
900
901ifeq ($(CONFIG_WLAN_FEATURE_DISA), y)
902DISA_OBJS :=	$(DISA_DIR)/core/src/wlan_disa_main.o \
903		$(DISA_DIR)/dispatcher/src/wlan_disa_obj_mgmt_api.o \
904		$(DISA_DIR)/dispatcher/src/wlan_disa_tgt_api.o \
905		$(DISA_DIR)/dispatcher/src/wlan_disa_ucfg_api.o
906endif
907
908######## OCB ##############
909OCB_DIR := components/ocb
910OCB_INC := -I$(WLAN_ROOT)/$(OCB_DIR)/core/inc \
911		-I$(WLAN_ROOT)/$(OCB_DIR)/dispatcher/inc
912
913ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
914OCB_OBJS :=	$(OCB_DIR)/dispatcher/src/wlan_ocb_ucfg_api.o \
915		$(OCB_DIR)/dispatcher/src/wlan_ocb_tgt_api.o \
916		$(OCB_DIR)/core/src/wlan_ocb_main.o
917endif
918
919######## IPA ##############
920IPA_DIR := components/ipa
921IPA_INC := -I$(WLAN_ROOT)/$(IPA_DIR)/core/inc \
922		-I$(WLAN_ROOT)/$(IPA_DIR)/dispatcher/inc
923
924ifeq ($(CONFIG_IPA_OFFLOAD), y)
925IPA_OBJS :=	$(IPA_DIR)/dispatcher/src/wlan_ipa_ucfg_api.o \
926		$(IPA_DIR)/dispatcher/src/wlan_ipa_obj_mgmt_api.o \
927		$(IPA_DIR)/dispatcher/src/wlan_ipa_tgt_api.o \
928		$(IPA_DIR)/core/src/wlan_ipa_main.o \
929		$(IPA_DIR)/core/src/wlan_ipa_core.o \
930		$(IPA_DIR)/core/src/wlan_ipa_stats.o \
931		$(IPA_DIR)/core/src/wlan_ipa_rm.o
932endif
933
934######## FWOL ##########
935FWOL_CORE_INC := components/fw_offload/core/inc
936FWOL_CORE_SRC := components/fw_offload/core/src
937FWOL_DISPATCHER_INC := components/fw_offload/dispatcher/inc
938FWOL_DISPATCHER_SRC := components/fw_offload/dispatcher/src
939FWOL_TARGET_IF_INC := components/target_if/fw_offload/inc
940FWOL_TARGET_IF_SRC := components/target_if/fw_offload/src
941FWOL_OS_IF_INC := os_if/fw_offload/inc
942FWOL_OS_IF_SRC := os_if/fw_offload/src
943
944FWOL_INC := -I$(WLAN_ROOT)/$(FWOL_CORE_INC) \
945	    -I$(WLAN_ROOT)/$(FWOL_DISPATCHER_INC) \
946	    -I$(WLAN_ROOT)/$(FWOL_TARGET_IF_INC) \
947	    -I$(WLAN_ROOT)/$(FWOL_OS_IF_INC)
948
949FWOL_OBJS :=	$(FWOL_CORE_SRC)/wlan_fw_offload_main.o \
950		$(FWOL_DISPATCHER_SRC)/wlan_fwol_ucfg_api.o \
951		$(FWOL_DISPATCHER_SRC)/wlan_fwol_tgt_api.o \
952		$(FWOL_TARGET_IF_SRC)/target_if_fwol.o \
953		$(FWOL_OS_IF_SRC)/os_if_fwol.o
954
955######## SM FRAMEWORK  ##############
956UMAC_SM_DIR := umac/cmn_services/sm_engine
957UMAC_SM_INC := -I$(WLAN_COMMON_INC)/$(UMAC_SM_DIR)/inc
958
959UMAC_SM_OBJS := $(WLAN_COMMON_ROOT)/$(UMAC_SM_DIR)/src/wlan_sm_engine.o
960
961ifeq ($(CONFIG_SM_ENG_HIST), y)
962UMAC_SM_OBJS +=	$(WLAN_COMMON_ROOT)/$(UMAC_SM_DIR)/src/wlan_sm_engine_dbg.o
963endif
964
965######## COMMON MLME ##############
966UMAC_MLME_INC := -I$(WLAN_COMMON_INC)/umac/mlme \
967		-I$(WLAN_COMMON_INC)/umac/mlme/mlme_objmgr/dispatcher/inc \
968		-I$(WLAN_COMMON_INC)/umac/mlme/vdev_mgr/dispatcher/inc \
969		-I$(WLAN_COMMON_INC)/umac/mlme/pdev_mgr/dispatcher/inc
970
971UMAC_MLME_OBJS := $(WLAN_COMMON_ROOT)/umac/mlme/mlme_objmgr/dispatcher/src/wlan_vdev_mlme_main.o \
972		$(WLAN_COMMON_ROOT)/umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.o \
973		$(WLAN_COMMON_ROOT)/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mlme_api.o \
974		$(WLAN_COMMON_ROOT)/umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.o \
975		$(WLAN_COMMON_ROOT)/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_rx_api.o \
976		$(WLAN_COMMON_ROOT)/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_tx_api.o \
977		$(WLAN_COMMON_ROOT)/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_ucfg_api.o \
978		$(WLAN_COMMON_ROOT)/umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_utils_api.o \
979		$(WLAN_COMMON_ROOT)/umac/mlme/mlme_objmgr/dispatcher/src/wlan_cmn_mlme_main.o \
980		$(WLAN_COMMON_ROOT)/umac/mlme/mlme_objmgr/dispatcher/src/wlan_pdev_mlme_main.o \
981		$(WLAN_COMMON_ROOT)/umac/mlme/pdev_mgr/dispatcher/src/wlan_pdev_mlme_api.o
982
983######## MLME ##############
984MLME_DIR := components/mlme
985MLME_INC := -I$(WLAN_ROOT)/$(MLME_DIR)/core/inc \
986		-I$(WLAN_ROOT)/$(MLME_DIR)/dispatcher/inc
987
988MLME_OBJS :=	$(MLME_DIR)/core/src/wlan_mlme_main.o \
989		$(MLME_DIR)/dispatcher/src/wlan_mlme_api.o \
990		$(MLME_DIR)/dispatcher/src/wlan_mlme_ucfg_api.o
991
992MLME_OBJS += $(MLME_DIR)/core/src/wlan_mlme_vdev_mgr_interface.o
993
994
995####### BLACKLIST_MGR ########
996
997BLM_DIR := components/blacklist_mgr
998BLM_INC := -I$(WLAN_ROOT)/$(BLM_DIR)/core/inc \
999                -I$(WLAN_ROOT)/$(BLM_DIR)/dispatcher/inc
1000ifeq ($(CONFIG_FEATURE_BLACKLIST_MGR), y)
1001BLM_OBJS :=    $(BLM_DIR)/core/src/wlan_blm_main.o \
1002                $(BLM_DIR)/core/src/wlan_blm_core.o \
1003                $(BLM_DIR)/dispatcher/src/wlan_blm_ucfg_api.o \
1004                $(BLM_DIR)/dispatcher/src/wlan_blm_tgt_api.o
1005endif
1006########## ACTION OUI ##########
1007
1008ACTION_OUI_DIR := components/action_oui
1009ACTION_OUI_INC := -I$(WLAN_ROOT)/$(ACTION_OUI_DIR)/core/inc \
1010		  -I$(WLAN_ROOT)/$(ACTION_OUI_DIR)/dispatcher/inc
1011
1012ifeq ($(CONFIG_WLAN_FEATURE_ACTION_OUI), y)
1013ACTION_OUI_OBJS := $(ACTION_OUI_DIR)/core/src/wlan_action_oui_main.o \
1014		$(ACTION_OUI_DIR)/core/src/wlan_action_oui_parse.o \
1015		$(ACTION_OUI_DIR)/dispatcher/src/wlan_action_oui_tgt_api.o \
1016		$(ACTION_OUI_DIR)/dispatcher/src/wlan_action_oui_ucfg_api.o
1017endif
1018
1019########## CLD TARGET_IF #######
1020CLD_TARGET_IF_DIR := components/target_if
1021
1022CLD_TARGET_IF_INC := -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/pmo/inc \
1023	 -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/pmo/src
1024
1025ifeq ($(CONFIG_POWER_MANAGEMENT_OFFLOAD), y)
1026CLD_TARGET_IF_OBJ := $(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_arp.o \
1027		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_gtk.o \
1028		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_hw_filter.o \
1029		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_lphb.o \
1030		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_main.o \
1031		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_mc_addr_filtering.o \
1032		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_static_config.o \
1033		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_suspend_resume.o \
1034		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_wow.o
1035ifeq ($(CONFIG_WLAN_NS_OFFLOAD), y)
1036CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_ns.o
1037endif
1038ifeq ($(CONFIG_WLAN_FEATURE_PACKET_FILTERING), y)
1039CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_pkt_filter.o
1040endif
1041endif
1042
1043ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
1044CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/ocb/inc
1045CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/ocb/src/target_if_ocb.o
1046endif
1047
1048ifeq ($(CONFIG_WLAN_FEATURE_DISA), y)
1049CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/disa/inc
1050CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/disa/src/target_if_disa.o
1051endif
1052
1053ifeq ($(CONFIG_FEATURE_BLACKLIST_MGR), y)
1054CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/blacklist_mgr/inc
1055CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/blacklist_mgr/src/target_if_blm.o
1056endif
1057
1058ifeq ($(CONFIG_IPA_OFFLOAD), y)
1059CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/ipa/inc
1060CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/ipa/src/target_if_ipa.o
1061endif
1062
1063ifeq ($(CONFIG_WLAN_FEATURE_ACTION_OUI), y)
1064CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/action_oui/inc
1065CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/action_oui/src/target_if_action_oui.o
1066endif
1067
1068############## UMAC P2P ###########
1069P2P_DIR := components/p2p
1070P2P_CORE_OBJ_DIR := $(P2P_DIR)/core/src
1071P2P_DISPATCHER_DIR := $(P2P_DIR)/dispatcher
1072P2P_DISPATCHER_INC_DIR := $(P2P_DISPATCHER_DIR)/inc
1073P2P_DISPATCHER_OBJ_DIR := $(P2P_DISPATCHER_DIR)/src
1074P2P_OS_IF_INC := os_if/p2p/inc
1075P2P_OS_IF_SRC := os_if/p2p/src
1076P2P_TARGET_IF_INC := components/target_if/p2p/inc
1077P2P_TARGET_IF_SRC := components/target_if/p2p/src
1078P2P_INC := -I$(WLAN_ROOT)/$(P2P_DISPATCHER_INC_DIR) \
1079	   -I$(WLAN_ROOT)/$(P2P_OS_IF_INC) \
1080	   -I$(WLAN_ROOT)/$(P2P_TARGET_IF_INC)
1081P2P_OBJS := $(P2P_DISPATCHER_OBJ_DIR)/wlan_p2p_ucfg_api.o \
1082	    $(P2P_DISPATCHER_OBJ_DIR)/wlan_p2p_tgt_api.o \
1083	    $(P2P_DISPATCHER_OBJ_DIR)/wlan_p2p_cfg.o \
1084	    $(P2P_DISPATCHER_OBJ_DIR)/wlan_p2p_api.o \
1085	    $(P2P_CORE_OBJ_DIR)/wlan_p2p_main.o \
1086	    $(P2P_CORE_OBJ_DIR)/wlan_p2p_roc.o \
1087	    $(P2P_CORE_OBJ_DIR)/wlan_p2p_off_chan_tx.o \
1088	    $(P2P_OS_IF_SRC)/wlan_cfg80211_p2p.o \
1089	    $(P2P_TARGET_IF_SRC)/target_if_p2p.o
1090
1091###### UMAC POLICY MGR ########
1092POLICY_MGR_DIR := components/cmn_services/policy_mgr
1093
1094POLICY_MGR_INC := -I$(WLAN_ROOT)/$(POLICY_MGR_DIR)/inc \
1095		  -I$(WLAN_ROOT)/$(POLICY_MGR_DIR)/src
1096
1097POLICY_MGR_OBJS := $(POLICY_MGR_DIR)/src/wlan_policy_mgr_action.o \
1098	$(POLICY_MGR_DIR)/src/wlan_policy_mgr_core.o \
1099	$(POLICY_MGR_DIR)/src/wlan_policy_mgr_get_set_utils.o \
1100	$(POLICY_MGR_DIR)/src/wlan_policy_mgr_init_deinit.o \
1101	$(POLICY_MGR_DIR)/src/wlan_policy_mgr_ucfg.o \
1102	$(POLICY_MGR_DIR)/src/wlan_policy_mgr_pcl.o \
1103
1104###### UMAC TDLS ########
1105TDLS_DIR := components/tdls
1106
1107TDLS_OS_IF_INC := os_if/tdls/inc
1108TDLS_OS_IF_SRC := os_if/tdls/src
1109TDLS_TARGET_IF_INC := components/target_if/tdls/inc
1110TDLS_TARGET_IF_SRC := components/target_if/tdls/src
1111TDLS_INC := -I$(WLAN_ROOT)/$(TDLS_DIR)/dispatcher/inc \
1112	    -I$(WLAN_ROOT)/$(TDLS_OS_IF_INC) \
1113	    -I$(WLAN_ROOT)/$(TDLS_TARGET_IF_INC)
1114
1115ifeq ($(CONFIG_QCOM_TDLS), y)
1116TDLS_OBJS := $(TDLS_DIR)/core/src/wlan_tdls_main.o \
1117       $(TDLS_DIR)/core/src/wlan_tdls_cmds_process.o \
1118       $(TDLS_DIR)/core/src/wlan_tdls_peer.o \
1119       $(TDLS_DIR)/core/src/wlan_tdls_mgmt.o \
1120       $(TDLS_DIR)/core/src/wlan_tdls_ct.o \
1121       $(TDLS_DIR)/dispatcher/src/wlan_tdls_tgt_api.o \
1122       $(TDLS_DIR)/dispatcher/src/wlan_tdls_ucfg_api.o \
1123       $(TDLS_DIR)/dispatcher/src/wlan_tdls_utils_api.o \
1124       $(TDLS_DIR)/dispatcher/src/wlan_tdls_cfg.o \
1125       $(TDLS_OS_IF_SRC)/wlan_cfg80211_tdls.o \
1126       $(TDLS_TARGET_IF_SRC)/target_if_tdls.o
1127endif
1128
1129########### BMI ###########
1130BMI_DIR := core/bmi
1131
1132BMI_INC := -I$(WLAN_ROOT)/$(BMI_DIR)/inc
1133
1134ifeq ($(CONFIG_WLAN_FEATURE_BMI), y)
1135BMI_OBJS := $(BMI_DIR)/src/bmi.o \
1136            $(BMI_DIR)/src/bmi_1.o \
1137            $(BMI_DIR)/src/ol_fw.o \
1138            $(BMI_DIR)/src/ol_fw_common.o
1139endif
1140
1141##########  TARGET_IF #######
1142TARGET_IF_DIR := $(WLAN_COMMON_ROOT)/target_if
1143
1144TARGET_IF_INC := -I$(WLAN_COMMON_INC)/target_if/core/inc \
1145		 -I$(WLAN_COMMON_INC)/target_if/core/src \
1146		 -I$(WLAN_COMMON_INC)/target_if/init_deinit/inc \
1147		 -I$(WLAN_COMMON_INC)/target_if/regulatory/inc \
1148		 -I$(WLAN_COMMON_INC)/target_if/mlme/vdev_mgr/inc \
1149		 -I$(WLAN_COMMON_INC)/target_if/dispatcher/inc
1150
1151TARGET_IF_OBJ := $(TARGET_IF_DIR)/core/src/target_if_main.o \
1152		$(TARGET_IF_DIR)/regulatory/src/target_if_reg.o \
1153		$(TARGET_IF_DIR)/regulatory/src/target_if_reg_lte.o \
1154		$(TARGET_IF_DIR)/regulatory/src/target_if_reg_11d.o \
1155		$(TARGET_IF_DIR)/init_deinit/src/init_cmd_api.o \
1156		$(TARGET_IF_DIR)/init_deinit/src/init_deinit_lmac.o \
1157		$(TARGET_IF_DIR)/init_deinit/src/init_event_handler.o \
1158		$(TARGET_IF_DIR)/init_deinit/src/service_ready_util.o \
1159		$(TARGET_IF_DIR)/mlme/vdev_mgr/src/target_if_vdev_mgr_tx_ops.o \
1160		$(TARGET_IF_DIR)/mlme/vdev_mgr/src/target_if_vdev_mgr_rx_ops.o
1161
1162ifeq ($(CONFIG_FEATURE_VDEV_RSP_WAKELOCK), y)
1163TARGET_IF_OBJ += $(TARGET_IF_DIR)/mlme/vdev_mgr/src/target_if_vdev_mgr_wake_lock.o
1164endif
1165
1166########### GLOBAL_LMAC_IF ##########
1167GLOBAL_LMAC_IF_DIR := $(WLAN_COMMON_ROOT)/global_lmac_if
1168
1169GLOBAL_LMAC_IF_INC := -I$(WLAN_COMMON_INC)/global_lmac_if/inc \
1170                      -I$(WLAN_COMMON_INC)/global_lmac_if/src
1171
1172GLOBAL_LMAC_IF_OBJ := $(GLOBAL_LMAC_IF_DIR)/src/wlan_global_lmac_if.o
1173
1174########### WMI ###########
1175WMI_ROOT_DIR := wmi
1176
1177WMI_SRC_DIR := $(WMI_ROOT_DIR)/src
1178WMI_INC_DIR := $(WMI_ROOT_DIR)/inc
1179WMI_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(WMI_SRC_DIR)
1180
1181WMI_INC := -I$(WLAN_COMMON_INC)/$(WMI_INC_DIR)
1182
1183WMI_OBJS := $(WMI_OBJ_DIR)/wmi_unified.o \
1184	    $(WMI_OBJ_DIR)/wmi_tlv_helper.o \
1185	    $(WMI_OBJ_DIR)/wmi_unified_tlv.o \
1186	    $(WMI_OBJ_DIR)/wmi_unified_api.o \
1187	    $(WMI_OBJ_DIR)/wmi_unified_reg_api.o \
1188	    $(WMI_OBJ_DIR)/wmi_unified_vdev_api.o \
1189	    $(WMI_OBJ_DIR)/wmi_unified_vdev_tlv.o
1190
1191ifeq ($(CONFIG_POWER_MANAGEMENT_OFFLOAD), y)
1192WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_pmo_api.o
1193WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_pmo_tlv.o
1194endif
1195
1196ifeq ($(CONFIG_QCACLD_FEATURE_APF), y)
1197WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_apf_tlv.o
1198endif
1199
1200ifeq ($(CONFIG_WLAN_FEATURE_ACTION_OUI), y)
1201WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_action_oui_tlv.o
1202endif
1203
1204ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
1205ifeq ($(CONFIG_OCB_UT_FRAMEWORK), y)
1206WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_ocb_ut.o
1207endif
1208endif
1209
1210ifeq ($(CONFIG_WLAN_DFS_MASTER_ENABLE), y)
1211WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_dfs_api.o
1212endif
1213
1214ifeq ($(CONFIG_WLAN_FEATURE_TWT), y)
1215WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_twt_api.o
1216WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_twt_tlv.o
1217endif
1218
1219ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
1220WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_ocb_api.o
1221WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_ocb_tlv.o
1222endif
1223
1224ifeq ($(CONFIG_FEATURE_WLAN_EXTSCAN), y)
1225WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_extscan_api.o
1226WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_extscan_tlv.o
1227endif
1228
1229ifeq ($(CONFIG_FEATURE_INTEROP_ISSUES_AP), y)
1230WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_interop_issues_ap_api.o
1231WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_interop_issues_ap_tlv.o
1232endif
1233
1234ifeq ($(CONFIG_QCACLD_FEATURE_NAN), y)
1235WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_nan_api.o
1236WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_nan_tlv.o
1237endif
1238
1239ifeq ($(CONFIG_CONVERGED_P2P_ENABLE), y)
1240WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_p2p_api.o
1241WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_p2p_tlv.o
1242endif
1243
1244ifeq ($(CONFIG_WMI_ROAM_SUPPORT), y)
1245WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_roam_api.o
1246WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_roam_tlv.o
1247endif
1248
1249ifeq ($(CONFIG_WMI_CONCURRENCY_SUPPORT), y)
1250WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_concurrency_api.o
1251WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_concurrency_tlv.o
1252endif
1253
1254ifeq ($(CONFIG_WMI_STA_SUPPORT), y)
1255WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_sta_api.o
1256WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_sta_tlv.o
1257endif
1258
1259ifeq ($(CONFIG_WMI_BCN_OFFLOAD), y)
1260WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_bcn_api.o
1261WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_bcn_tlv.o
1262endif
1263
1264ifeq ($(CONFIG_WLAN_FW_OFFLOAD), y)
1265WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_fwol_api.o
1266WMI_OBJS += $(WMI_OBJ_DIR)/wmi_unified_fwol_tlv.o
1267endif
1268
1269########### FWLOG ###########
1270FWLOG_DIR := $(WLAN_COMMON_ROOT)/utils/fwlog
1271
1272FWLOG_INC := -I$(WLAN_ROOT)/$(FWLOG_DIR)
1273
1274FWLOG_OBJS := $(FWLOG_DIR)/dbglog_host.o
1275
1276############ TXRX ############
1277TXRX_DIR :=     core/dp/txrx
1278TXRX_INC :=     -I$(WLAN_ROOT)/$(TXRX_DIR)
1279
1280ifneq ($(CONFIG_LITHIUM), y)
1281TXRX_OBJS := $(TXRX_DIR)/ol_txrx.o \
1282		$(TXRX_DIR)/ol_cfg.o \
1283                $(TXRX_DIR)/ol_rx.o \
1284                $(TXRX_DIR)/ol_rx_fwd.o \
1285                $(TXRX_DIR)/ol_txrx.o \
1286                $(TXRX_DIR)/ol_rx_defrag.o \
1287                $(TXRX_DIR)/ol_tx_desc.o \
1288                $(TXRX_DIR)/ol_tx.o \
1289                $(TXRX_DIR)/ol_rx_pn.o \
1290                $(TXRX_DIR)/ol_txrx_peer_find.o \
1291                $(TXRX_DIR)/ol_txrx_encap.o \
1292                $(TXRX_DIR)/ol_tx_send.o
1293
1294ifeq ($(CONFIG_HL_DP_SUPPORT), y)
1295TXRX_OBJS += $(TXRX_DIR)/ol_rx_reorder_timeout.o
1296TXRX_OBJS += $(TXRX_DIR)/ol_rx_reorder.o
1297endif
1298
1299ifeq ($(CONFIG_WDI_EVENT_ENABLE), y)
1300TXRX_OBJS +=	$(TXRX_DIR)/ol_txrx_event.o
1301endif
1302
1303ifeq ($(CONFIG_LL_DP_SUPPORT), y)
1304
1305TXRX_OBJS +=     $(TXRX_DIR)/ol_tx_ll.o
1306
1307ifeq ($(CONFIG_WLAN_FASTPATH), y)
1308TXRX_OBJS +=     $(TXRX_DIR)/ol_tx_ll_fastpath.o
1309else
1310TXRX_OBJS +=     $(TXRX_DIR)/ol_tx_ll_legacy.o
1311endif
1312
1313ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
1314TXRX_OBJS +=     $(TXRX_DIR)/ol_txrx_flow_control.o
1315endif
1316
1317endif #CONFIG_LL_DP_SUPPORT
1318
1319ifeq ($(CONFIG_HL_DP_SUPPORT), y)
1320TXRX_OBJS +=     $(TXRX_DIR)/ol_tx_hl.o
1321TXRX_OBJS +=     $(TXRX_DIR)/ol_tx_classify.o
1322TXRX_OBJS +=     $(TXRX_DIR)/ol_tx_sched.o
1323TXRX_OBJS +=     $(TXRX_DIR)/ol_tx_queue.o
1324endif #CONFIG_HL_DP_SUPPORT
1325
1326ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY), y)
1327TXRX_OBJS +=     $(TXRX_DIR)/ol_txrx_legacy_flow_control.o
1328endif
1329
1330ifeq ($(CONFIG_IPA_OFFLOAD), y)
1331TXRX_OBJS +=     $(TXRX_DIR)/ol_txrx_ipa.o
1332endif
1333
1334ifeq ($(CONFIG_QCA_SUPPORT_TX_THROTTLE), y)
1335TXRX_OBJS +=     $(TXRX_DIR)/ol_tx_throttle.o
1336endif
1337endif #LITHIUM
1338
1339############ TXRX 3.0 ############
1340TXRX3.0_DIR :=     core/dp/txrx3.0
1341TXRX3.0_INC :=     -I$(WLAN_ROOT)/$(TXRX3.0_DIR)
1342TXRX3.0_OBJS := $(TXRX3.0_DIR)/dp_txrx.o \
1343		$(TXRX3.0_DIR)/dp_rx_thread.o
1344ifeq ($(CONFIG_LITHIUM), y)
1345############ DP 3.0 ############
1346DP_INC := -I$(WLAN_COMMON_INC)/dp/inc \
1347	-I$(WLAN_COMMON_INC)/dp/wifi3.0 \
1348	-I$(WLAN_COMMON_INC)/target_if/dp/inc
1349
1350DP_SRC := $(WLAN_COMMON_ROOT)/dp/wifi3.0
1351DP_OBJS := $(DP_SRC)/dp_main.o \
1352		$(DP_SRC)/dp_tx.o \
1353		$(DP_SRC)/dp_tx_desc.o \
1354		$(DP_SRC)/dp_rx.o \
1355		$(DP_SRC)/dp_rx_err.o \
1356		$(DP_SRC)/dp_htt.o \
1357		$(DP_SRC)/dp_peer.o \
1358		$(DP_SRC)/dp_rx_desc.o \
1359		$(DP_SRC)/dp_reo.o \
1360		$(DP_SRC)/dp_rx_mon_dest.o \
1361		$(DP_SRC)/dp_rx_mon_status.o \
1362		$(DP_SRC)/dp_rx_defrag.o \
1363		$(DP_SRC)/dp_stats.o \
1364		$(WLAN_COMMON_ROOT)/target_if/dp/src/target_if_dp.o
1365ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
1366DP_OBJS += $(DP_SRC)/dp_tx_flow_control.o
1367endif
1368endif
1369
1370ifeq ($(CONFIG_IPA_OFFLOAD), y)
1371DP_OBJS +=     $(DP_SRC)/dp_ipa.o
1372endif
1373
1374ifeq ($(CONFIG_WDI_EVENT_ENABLE), y)
1375DP_OBJS +=     $(DP_SRC)/dp_wdi_event.o
1376endif
1377
1378############ CFG ############
1379WCFG_DIR := wlan_cfg
1380WCFG_INC := -I$(WLAN_COMMON_INC)/$(WCFG_DIR)
1381WCFG_SRC := $(WLAN_COMMON_ROOT)/$(WCFG_DIR)
1382
1383ifeq ($(CONFIG_LITHIUM), y)
1384WCFG_OBJS := $(WCFG_SRC)/wlan_cfg.o
1385endif
1386
1387############ OL ############
1388OL_DIR :=     core/dp/ol
1389OL_INC :=     -I$(WLAN_ROOT)/$(OL_DIR)/inc
1390
1391############ CDP ############
1392CDP_ROOT_DIR := dp
1393CDP_INC_DIR := $(CDP_ROOT_DIR)/inc
1394CDP_INC := -I$(WLAN_COMMON_INC)/$(CDP_INC_DIR)
1395
1396############ PKTLOG ############
1397PKTLOG_DIR :=      $(WLAN_COMMON_ROOT)/utils/pktlog
1398PKTLOG_INC :=      -I$(WLAN_ROOT)/$(PKTLOG_DIR)/include
1399
1400PKTLOG_OBJS :=	$(PKTLOG_DIR)/pktlog_ac.o \
1401		$(PKTLOG_DIR)/pktlog_internal.o \
1402		$(PKTLOG_DIR)/linux_ac.o
1403
1404############ HTT ############
1405HTT_DIR :=      core/dp/htt
1406HTT_INC :=      -I$(WLAN_ROOT)/$(HTT_DIR)
1407
1408HTT_OBJS := $(HTT_DIR)/htt_tx.o \
1409            $(HTT_DIR)/htt.o \
1410            $(HTT_DIR)/htt_t2h.o \
1411            $(HTT_DIR)/htt_h2t.o \
1412            $(HTT_DIR)/htt_fw_stats.o \
1413            $(HTT_DIR)/htt_rx.o
1414
1415ifeq ($(CONFIG_FEATURE_MONITOR_MODE_SUPPORT), y)
1416HTT_OBJS += $(HTT_DIR)/htt_monitor_rx.o
1417endif
1418
1419ifeq ($(CONFIG_LL_DP_SUPPORT), y)
1420HTT_OBJS += $(HTT_DIR)/htt_rx_ll.o
1421endif
1422
1423ifeq ($(CONFIG_HL_DP_SUPPORT), y)
1424HTT_OBJS += $(HTT_DIR)/htt_rx_hl.o
1425endif
1426
1427############## INIT-DEINIT ###########
1428INIT_DEINIT_DIR := init_deinit/dispatcher
1429INIT_DEINIT_INC_DIR := $(INIT_DEINIT_DIR)/inc
1430INIT_DEINIT_SRC_DIR := $(INIT_DEINIT_DIR)/src
1431INIT_DEINIT_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(INIT_DEINIT_SRC_DIR)
1432INIT_DEINIT_INC := -I$(WLAN_COMMON_INC)/$(INIT_DEINIT_INC_DIR)
1433INIT_DEINIT_OBJS := $(INIT_DEINIT_OBJ_DIR)/dispatcher_init_deinit.o
1434
1435############## REGULATORY ###########
1436REGULATORY_DIR := umac/regulatory
1437REGULATORY_CORE_INC_DIR := $(REGULATORY_DIR)/core/inc
1438REGULATORY_CORE_SRC_DIR := $(REGULATORY_DIR)/core/src
1439REG_DISPATCHER_INC_DIR := $(REGULATORY_DIR)/dispatcher/inc
1440REG_DISPATCHER_SRC_DIR := $(REGULATORY_DIR)/dispatcher/src
1441REG_CORE_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(REGULATORY_CORE_SRC_DIR)
1442REG_DISPATCHER_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(REG_DISPATCHER_SRC_DIR)
1443REGULATORY_INC := -I$(WLAN_COMMON_INC)/$(REGULATORY_CORE_INC_DIR)
1444REGULATORY_INC += -I$(WLAN_COMMON_INC)/$(REG_DISPATCHER_INC_DIR)
1445REGULATORY_OBJS := $(REG_CORE_OBJ_DIR)/reg_build_chan_list.o \
1446		    $(REG_CORE_OBJ_DIR)/reg_callbacks.o \
1447		    $(REG_CORE_OBJ_DIR)/reg_db.o \
1448		    $(REG_CORE_OBJ_DIR)/reg_db_parser.o \
1449		    $(REG_CORE_OBJ_DIR)/reg_utils.o \
1450		    $(REG_CORE_OBJ_DIR)/reg_lte.o \
1451		    $(REG_CORE_OBJ_DIR)/reg_offload_11d_scan.o \
1452		    $(REG_CORE_OBJ_DIR)/reg_opclass.o \
1453		    $(REG_CORE_OBJ_DIR)/reg_priv_objs.o \
1454		    $(REG_DISPATCHER_OBJ_DIR)/wlan_reg_services_api.o \
1455		    $(REG_CORE_OBJ_DIR)/reg_services_common.o \
1456		    $(REG_DISPATCHER_OBJ_DIR)/wlan_reg_tgt_api.o \
1457		    $(REG_DISPATCHER_OBJ_DIR)/wlan_reg_ucfg_api.o
1458ifeq ($(CONFIG_HOST_11D_SCAN), y)
1459REGULATORY_OBJS += $(REG_CORE_OBJ_DIR)/reg_host_11d.o
1460endif
1461
1462############## Control path common scheduler ##########
1463SCHEDULER_DIR := scheduler
1464SCHEDULER_INC_DIR := $(SCHEDULER_DIR)/inc
1465SCHEDULER_SRC_DIR := $(SCHEDULER_DIR)/src
1466SCHEDULER_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(SCHEDULER_SRC_DIR)
1467SCHEDULER_INC := -I$(WLAN_COMMON_INC)/$(SCHEDULER_INC_DIR)
1468SCHEDULER_OBJS := $(SCHEDULER_OBJ_DIR)/scheduler_api.o \
1469                  $(SCHEDULER_OBJ_DIR)/scheduler_core.o
1470
1471###### UMAC SERIALIZATION ########
1472UMAC_SER_DIR := umac/cmn_services/serialization
1473UMAC_SER_INC_DIR := $(UMAC_SER_DIR)/inc
1474UMAC_SER_SRC_DIR := $(UMAC_SER_DIR)/src
1475UMAC_SER_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(UMAC_SER_SRC_DIR)
1476
1477UMAC_SER_INC := -I$(WLAN_COMMON_INC)/$(UMAC_SER_INC_DIR)
1478UMAC_SER_OBJS := $(UMAC_SER_OBJ_DIR)/wlan_serialization_main.o \
1479		 $(UMAC_SER_OBJ_DIR)/wlan_serialization_api.o \
1480		 $(UMAC_SER_OBJ_DIR)/wlan_serialization_utils.o \
1481		 $(UMAC_SER_OBJ_DIR)/wlan_serialization_legacy_api.o \
1482		 $(UMAC_SER_OBJ_DIR)/wlan_serialization_rules.o \
1483		 $(UMAC_SER_OBJ_DIR)/wlan_serialization_internal.o \
1484		 $(UMAC_SER_OBJ_DIR)/wlan_serialization_non_scan.o \
1485		 $(UMAC_SER_OBJ_DIR)/wlan_serialization_queue.o \
1486		 $(UMAC_SER_OBJ_DIR)/wlan_serialization_scan.o
1487
1488###### WIFI POS ########
1489WIFI_POS_OS_IF_DIR := $(WLAN_COMMON_ROOT)/os_if/linux/wifi_pos/src
1490WIFI_POS_OS_IF_INC := -I$(WLAN_COMMON_INC)/os_if/linux/wifi_pos/inc
1491WIFI_POS_TGT_DIR := $(WLAN_COMMON_ROOT)/target_if/wifi_pos/src
1492WIFI_POS_TGT_INC := -I$(WLAN_COMMON_INC)/target_if/wifi_pos/inc
1493WIFI_POS_CORE_DIR := $(WLAN_COMMON_ROOT)/umac/wifi_pos/src
1494WIFI_POS_API_INC := -I$(WLAN_COMMON_INC)/umac/wifi_pos/inc
1495
1496
1497ifeq ($(CONFIG_WIFI_POS_CONVERGED), y)
1498WIFI_POS_OBJS := $(WIFI_POS_CORE_DIR)/wifi_pos_api.o \
1499		 $(WIFI_POS_CORE_DIR)/wifi_pos_main.o \
1500		 $(WIFI_POS_CORE_DIR)/wifi_pos_ucfg.o \
1501		 $(WIFI_POS_CORE_DIR)/wifi_pos_utils.o \
1502		 $(WIFI_POS_OS_IF_DIR)/os_if_wifi_pos.o \
1503		 $(WIFI_POS_TGT_DIR)/target_if_wifi_pos.o
1504endif
1505
1506###### CP STATS ########
1507CP_STATS_OS_IF_SRC      := $(WLAN_COMMON_ROOT)/os_if/linux/cp_stats/src
1508CP_STATS_TGT_SRC        := $(WLAN_COMMON_ROOT)/target_if/cp_stats/src
1509CP_STATS_CORE_SRC       := $(WLAN_COMMON_ROOT)/umac/cp_stats/core/src
1510CP_STATS_DISPATCHER_SRC := $(WLAN_COMMON_ROOT)/umac/cp_stats/dispatcher/src
1511
1512CP_STATS_OS_IF_INC      := -I$(WLAN_COMMON_INC)/os_if/linux/cp_stats/inc
1513CP_STATS_TGT_INC        := -I$(WLAN_COMMON_INC)/target_if/cp_stats/inc
1514CP_STATS_DISPATCHER_INC := -I$(WLAN_COMMON_INC)/umac/cp_stats/dispatcher/inc
1515
1516ifeq ($(CONFIG_CP_STATS), y)
1517CP_STATS_OBJS := $(CP_STATS_TGT_SRC)/target_if_mc_cp_stats.o                 \
1518		 $(CP_STATS_CORE_SRC)/wlan_cp_stats_comp_handler.o           \
1519		 $(CP_STATS_CORE_SRC)/wlan_cp_stats_obj_mgr_handler.o        \
1520		 $(CP_STATS_CORE_SRC)/wlan_cp_stats_ol_api.o                 \
1521		 $(CP_STATS_OS_IF_SRC)/wlan_cfg80211_mc_cp_stats.o           \
1522		 $(CP_STATS_DISPATCHER_SRC)/wlan_cp_stats_utils_api.o        \
1523		 $(CP_STATS_DISPATCHER_SRC)/wlan_cp_stats_mc_tgt_api.o       \
1524		 $(CP_STATS_DISPATCHER_SRC)/wlan_cp_stats_mc_ucfg_api.o
1525endif
1526
1527###### COMPONENT CP STATS ########
1528COMP_CP_STATS_DISPATCHER_INC := -I$(WLAN_ROOT)/components/cp_stats/dispatcher/inc
1529
1530###### INTEROP ISSUES AP ########
1531INTEROP_ISSUES_AP_OS_IF_SRC      := os_if/interop_issues_ap/src
1532INTEROP_ISSUES_AP_TGT_SRC        := components/target_if/interop_issues_ap/src
1533INTEROP_ISSUES_AP_CORE_SRC       := components/interop_issues_ap/core/src
1534INTEROP_ISSUES_AP_DISPATCHER_SRC := components/interop_issues_ap/dispatcher/src
1535
1536INTEROP_ISSUES_AP_OS_IF_INC      := -I$(WLAN_ROOT)/os_if/interop_issues_ap/inc
1537INTEROP_ISSUES_AP_TGT_INC        := -I$(WLAN_ROOT)/components/target_if/interop_issues_ap/inc
1538INTEROP_ISSUES_AP_DISPATCHER_INC := -I$(WLAN_ROOT)/components/interop_issues_ap/dispatcher/inc
1539INTEROP_ISSUES_AP_CORE_INC       := -I$(WLAN_ROOT)/components/interop_issues_ap/core/inc
1540
1541ifeq ($(CONFIG_FEATURE_INTEROP_ISSUES_AP), y)
1542INTEROP_ISSUES_AP_OBJS := $(INTEROP_ISSUES_AP_TGT_SRC)/target_if_interop_issues_ap.o \
1543		$(INTEROP_ISSUES_AP_CORE_SRC)/wlan_interop_issues_ap_api.o \
1544		$(INTEROP_ISSUES_AP_OS_IF_SRC)/wlan_cfg80211_interop_issues_ap.o \
1545		$(INTEROP_ISSUES_AP_DISPATCHER_SRC)/wlan_interop_issues_ap_tgt_api.o \
1546		$(INTEROP_ISSUES_AP_DISPATCHER_SRC)/wlan_interop_issues_ap_ucfg_api.o
1547endif
1548
1549######################### NAN #########################
1550NAN_CORE_DIR := components/nan/core/src
1551NAN_CORE_INC := -I$(WLAN_ROOT)/components/nan/core/inc
1552NAN_UCFG_DIR := components/nan/dispatcher/src
1553NAN_UCFG_INC := -I$(WLAN_ROOT)/components/nan/dispatcher/inc
1554NAN_TGT_DIR  := components/target_if/nan/src
1555NAN_TGT_INC  := -I$(WLAN_ROOT)/components/target_if/nan/inc
1556
1557NAN_OS_IF_DIR  := os_if/nan/src
1558NAN_OS_IF_INC  := -I$(WLAN_ROOT)/os_if/nan/inc
1559
1560ifeq ($(CONFIG_QCACLD_FEATURE_NAN), y)
1561WLAN_NAN_OBJS := $(NAN_CORE_DIR)/nan_main.o \
1562		 $(NAN_CORE_DIR)/nan_api.o \
1563		 $(NAN_UCFG_DIR)/nan_ucfg_api.o \
1564		 $(NAN_UCFG_DIR)/cfg_nan.o \
1565		 $(NAN_TGT_DIR)/target_if_nan.o \
1566		 $(NAN_OS_IF_DIR)/os_if_nan.o
1567endif
1568#######################################################
1569
1570############## HTC ##########
1571HTC_DIR := htc
1572HTC_INC := -I$(WLAN_COMMON_INC)/$(HTC_DIR)
1573
1574HTC_OBJS := $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc.o \
1575            $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_send.o \
1576            $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_recv.o \
1577            $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_services.o
1578
1579ifeq ($(CONFIG_FEATURE_HTC_CREDIT_HISTORY), y)
1580HTC_OBJS += $(WLAN_COMMON_ROOT)/$(HTC_DIR)/htc_credit_history.o
1581endif
1582
1583########### HIF ###########
1584HIF_DIR := hif
1585HIF_CE_DIR := $(HIF_DIR)/src/ce
1586
1587HIF_DISPATCHER_DIR := $(HIF_DIR)/src/dispatcher
1588
1589HIF_PCIE_DIR := $(HIF_DIR)/src/pcie
1590HIF_SNOC_DIR := $(HIF_DIR)/src/snoc
1591HIF_USB_DIR := $(HIF_DIR)/src/usb
1592HIF_SDIO_DIR := $(HIF_DIR)/src/sdio
1593
1594HIF_SDIO_NATIVE_DIR := $(HIF_SDIO_DIR)/native_sdio
1595HIF_SDIO_NATIVE_INC_DIR := $(HIF_SDIO_NATIVE_DIR)/include
1596HIF_SDIO_NATIVE_SRC_DIR := $(HIF_SDIO_NATIVE_DIR)/src
1597
1598HIF_INC := -I$(WLAN_COMMON_INC)/$(HIF_DIR)/inc \
1599	   -I$(WLAN_COMMON_INC)/$(HIF_DIR)/src
1600
1601ifeq ($(CONFIG_HIF_PCI), y)
1602HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
1603HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_PCIE_DIR)
1604HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_CE_DIR)
1605endif
1606
1607ifeq ($(CONFIG_HIF_SNOC), y)
1608HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
1609HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SNOC_DIR)
1610HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_CE_DIR)
1611endif
1612
1613ifeq ($(CONFIG_HIF_USB), y)
1614HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
1615HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_USB_DIR)
1616endif
1617
1618ifeq ($(CONFIG_HIF_SDIO), y)
1619HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_DISPATCHER_DIR)
1620HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SDIO_DIR)
1621HIF_INC += -I$(WLAN_COMMON_INC)/$(HIF_SDIO_NATIVE_INC_DIR)
1622endif
1623
1624HIF_COMMON_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/ath_procfs.o \
1625		   $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_main.o
1626
1627ifneq ($(CONFIG_LITHIUM), y)
1628HIF_COMMON_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_main_legacy.o
1629endif
1630
1631ifeq ($(CONFIG_WLAN_NAPI), y)
1632HIF_COMMON_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_exec.o
1633HIF_COMMON_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_irq_affinity.o
1634endif
1635
1636HIF_CE_OBJS :=  $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_diag.o \
1637                $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_main.o \
1638                $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service.o \
1639                $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_tasklet.o \
1640                $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/mp_dev.o \
1641                $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/regtable.o
1642
1643ifeq ($(CONFIG_WLAN_FEATURE_BMI), y)
1644HIF_CE_OBJS +=  $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_bmi.o
1645endif
1646
1647ifeq ($(CONFIG_LITHIUM), y)
1648ifeq ($(CONFIG_CNSS_QCA6290), y)
1649HIF_CE_OBJS +=  $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/qca6290def.o
1650endif
1651
1652ifeq ($(CONFIG_CNSS_QCA6390), y)
1653HIF_CE_OBJS +=  $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/qca6390def.o
1654endif
1655
1656HIF_CE_OBJS +=  $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service_srng.o
1657else
1658HIF_CE_OBJS +=  $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ce_service_legacy.o
1659endif
1660
1661HIF_USB_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/usbdrv.o \
1662                $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/hif_usb.o \
1663                $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/if_usb.o \
1664                $(WLAN_COMMON_ROOT)/$(HIF_USB_DIR)/regtable_usb.o
1665
1666HIF_SDIO_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_diag_reg_access.o \
1667                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio_dev.o \
1668                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_sdio.o \
1669                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/regtable_sdio.o \
1670                 $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/transfer/transfer.o
1671
1672ifeq ($(CONFIG_WLAN_FEATURE_BMI), y)
1673HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/hif_bmi_reg_access.o
1674endif
1675
1676ifeq ($(CONFIG_SDIO_TRANSFER), adma)
1677HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/transfer/adma.o
1678else
1679HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/transfer/mailbox.o
1680endif
1681
1682HIF_SDIO_NATIVE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif.o \
1683                        $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/hif_scatter.o \
1684                        $(WLAN_COMMON_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)/dev_quirks.o
1685
1686ifeq ($(CONFIG_WLAN_NAPI), y)
1687HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_napi.o
1688endif
1689
1690ifeq ($(CONFIG_FEATURE_UNIT_TEST_SUSPEND), y)
1691	HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DIR)/src/hif_unit_test_suspend.o
1692endif
1693
1694HIF_PCIE_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_PCIE_DIR)/if_pci.o
1695HIF_SNOC_OBJS := $(WLAN_COMMON_ROOT)/$(HIF_SNOC_DIR)/if_snoc.o
1696HIF_SDIO_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/if_sdio.o
1697
1698HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus.o
1699HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/dummy.o
1700HIF_OBJS += $(HIF_COMMON_OBJS)
1701
1702ifeq ($(CONFIG_HIF_PCI), y)
1703HIF_OBJS += $(HIF_PCIE_OBJS)
1704HIF_OBJS += $(HIF_CE_OBJS)
1705HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_pci.o
1706endif
1707
1708ifeq ($(CONFIG_HIF_SNOC), y)
1709HIF_OBJS += $(HIF_SNOC_OBJS)
1710HIF_OBJS += $(HIF_CE_OBJS)
1711HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_snoc.o
1712endif
1713
1714ifeq ($(CONFIG_HIF_SDIO), y)
1715HIF_OBJS += $(HIF_SDIO_OBJS)
1716HIF_OBJS += $(HIF_SDIO_NATIVE_OBJS)
1717HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_sdio.o
1718endif
1719
1720ifeq ($(CONFIG_HIF_USB), y)
1721HIF_OBJS += $(HIF_USB_OBJS)
1722HIF_OBJS += $(WLAN_COMMON_ROOT)/$(HIF_DISPATCHER_DIR)/multibus_usb.o
1723endif
1724
1725ifeq ($(CONFIG_LITHIUM), y)
1726############ HAL ############
1727HAL_DIR :=	hal
1728HAL_INC :=	-I$(WLAN_COMMON_INC)/$(HAL_DIR)/inc \
1729		-I$(WLAN_COMMON_INC)/$(HAL_DIR)/wifi3.0
1730
1731HAL_OBJS :=	$(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/hal_srng.o \
1732		$(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/hal_reo.o
1733
1734ifeq ($(CONFIG_CNSS_QCA6290), y)
1735HAL_INC += -I$(WLAN_COMMON_INC)/$(HAL_DIR)/wifi3.0/qca6290
1736HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/qca6290/hal_6290.o
1737else ifeq ($(CONFIG_CNSS_QCA6390), y)
1738HAL_INC += -I$(WLAN_COMMON_INC)/$(HAL_DIR)/wifi3.0/qca6390
1739HAL_OBJS += $(WLAN_COMMON_ROOT)/$(HAL_DIR)/wifi3.0/qca6390/hal_6390.o
1740else
1741#error "Not 11ax"
1742endif
1743
1744endif #####CONFIG_LITHIUM####
1745
1746############ WMA ############
1747WMA_DIR :=	core/wma
1748
1749WMA_INC_DIR :=  $(WMA_DIR)/inc
1750WMA_SRC_DIR :=  $(WMA_DIR)/src
1751
1752WMA_INC :=	-I$(WLAN_ROOT)/$(WMA_INC_DIR) \
1753		-I$(WLAN_ROOT)/$(WMA_SRC_DIR)
1754
1755ifeq ($(CONFIG_QCACLD_FEATURE_NAN), y)
1756WMA_NDP_OBJS += $(WMA_SRC_DIR)/wma_nan_datapath.o
1757endif
1758
1759WMA_OBJS :=	$(WMA_SRC_DIR)/wma_main.o \
1760		$(WMA_SRC_DIR)/wma_scan_roam.o \
1761		$(WMA_SRC_DIR)/wma_dev_if.o \
1762		$(WMA_SRC_DIR)/wma_mgmt.o \
1763		$(WMA_SRC_DIR)/wma_power.o \
1764		$(WMA_SRC_DIR)/wma_data.o \
1765		$(WMA_SRC_DIR)/wma_utils.o \
1766		$(WMA_SRC_DIR)/wma_features.o \
1767		$(WMA_SRC_DIR)/wlan_qct_wma_legacy.o\
1768		$(WMA_NDP_OBJS)
1769
1770#######DIRECT_BUFFER_RX#########
1771ifeq ($(CONFIG_DIRECT_BUF_RX_ENABLE), y)
1772DBR_DIR = $(WLAN_COMMON_ROOT)/target_if/direct_buf_rx
1773UMAC_DBR_INC := -I$(WLAN_COMMON_INC)/target_if/direct_buf_tx/inc
1774UMAC_DBR_OBJS := $(DBR_DIR)/src/target_if_direct_buf_rx_api.o \
1775		 $(DBR_DIR)/src/target_if_direct_buf_rx_main.o \
1776		 $(WLAN_COMMON_ROOT)/wmi/src/wmi_unified_dbr_api.o \
1777		 $(WLAN_COMMON_ROOT)/wmi/src/wmi_unified_dbr_tlv.o
1778endif
1779
1780ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
1781WMA_OBJS+=	$(WMA_SRC_DIR)/wma_ocb.o
1782endif
1783ifeq ($(CONFIG_WLAN_FEATURE_FIPS), y)
1784WMA_OBJS+=	$(WMA_SRC_DIR)/wma_fips_api.o
1785endif
1786ifeq ($(CONFIG_MPC_UT_FRAMEWORK), y)
1787WMA_OBJS +=	$(WMA_SRC_DIR)/wma_utils_ut.o
1788endif
1789ifeq ($(CONFIG_WLAN_FEATURE_11AX), y)
1790WMA_OBJS+=	$(WMA_SRC_DIR)/wma_he.o
1791endif
1792ifeq ($(CONFIG_WLAN_FEATURE_TWT), y)
1793WMA_OBJS +=	$(WMA_SRC_DIR)/wma_twt.o
1794endif
1795ifeq ($(CONFIG_QCACLD_FEATURE_FW_STATE), y)
1796WMA_OBJS +=	$(WMA_SRC_DIR)/wma_fw_state.o
1797endif
1798ifeq ($(CONFIG_WLAN_MWS_INFO_DEBUGFS), y)
1799WMA_OBJS +=	$(WMA_SRC_DIR)/wma_coex.o
1800endif
1801############## PLD ##########
1802PLD_DIR := core/pld
1803PLD_INC_DIR := $(PLD_DIR)/inc
1804PLD_SRC_DIR := $(PLD_DIR)/src
1805
1806PLD_INC :=	-I$(WLAN_ROOT)/$(PLD_INC_DIR) \
1807		-I$(WLAN_ROOT)/$(PLD_SRC_DIR)
1808
1809PLD_OBJS :=	$(PLD_SRC_DIR)/pld_common.o
1810
1811ifeq ($(CONFIG_HIF_PCI), y)
1812PLD_OBJS +=	$(PLD_SRC_DIR)/pld_pcie.o
1813endif
1814ifeq ($(CONFIG_ICNSS), y)
1815PLD_OBJS +=	$(PLD_SRC_DIR)/pld_snoc.o
1816endif
1817ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
1818PLD_OBJS +=	$(PLD_SRC_DIR)/pld_sdio.o
1819endif
1820ifeq ($(CONFIG_HIF_USB), y)
1821PLD_OBJS +=	$(PLD_SRC_DIR)/pld_usb.o
1822endif
1823
1824TARGET_INC := 	-I$(WLAN_FW_API)/fw
1825
1826ifeq ($(CONFIG_CNSS_QCA6290), y)
1827ifeq ($(CONFIG_QCA6290_11AX), y)
1828TARGET_INC +=	-I$(WLAN_FW_API)/hw/qca6290/11ax/v2
1829else
1830TARGET_INC +=	-I$(WLAN_FW_API)/hw/qca6290/v2
1831endif
1832endif
1833
1834ifeq ($(CONFIG_CNSS_QCA6390), y)
1835TARGET_INC +=	-I$(WLAN_FW_API)/hw/qca6390/v1
1836endif
1837
1838LINUX_INC :=	-Iinclude
1839
1840INCS :=		$(HDD_INC) \
1841		$(SYNC_INC) \
1842		$(DSC_INC) \
1843		$(EPPING_INC) \
1844		$(LINUX_INC) \
1845		$(MAC_INC) \
1846		$(SAP_INC) \
1847		$(SME_INC) \
1848		$(SYS_INC) \
1849		$(QAL_INC) \
1850		$(QDF_INC) \
1851		$(WBUFF_INC) \
1852		$(CDS_INC) \
1853		$(CFG_INC) \
1854		$(DFS_INC) \
1855		$(TARGET_IF_INC) \
1856		$(CLD_TARGET_IF_INC) \
1857		$(OS_IF_INC) \
1858		$(GLOBAL_LMAC_IF_INC) \
1859		$(FTM_INC)
1860
1861INCS +=		$(WMA_INC) \
1862		$(UAPI_INC) \
1863		$(COMMON_INC) \
1864		$(WMI_INC) \
1865		$(FWLOG_INC) \
1866		$(TXRX_INC) \
1867		$(OL_INC) \
1868		$(CDP_INC) \
1869		$(PKTLOG_INC) \
1870		$(HTT_INC) \
1871		$(INIT_DEINIT_INC) \
1872		$(SCHEDULER_INC) \
1873		$(REGULATORY_INC) \
1874		$(HTC_INC) \
1875		$(DFS_INC) \
1876		$(WCFG_INC) \
1877		$(TXRX3.0_INC)
1878
1879INCS +=		$(HIF_INC) \
1880		$(BMI_INC)
1881
1882ifeq ($(CONFIG_LITHIUM), y)
1883INCS += 	$(HAL_INC) \
1884		$(DP_INC)
1885endif
1886
1887################ WIFI POS ################
1888INCS +=		$(WIFI_POS_API_INC)
1889INCS +=		$(WIFI_POS_TGT_INC)
1890INCS +=		$(WIFI_POS_OS_IF_INC)
1891################ CP STATS ################
1892INCS +=		$(CP_STATS_OS_IF_INC)
1893INCS +=		$(CP_STATS_TGT_INC)
1894INCS +=		$(CP_STATS_DISPATCHER_INC)
1895INCS += 	$(COMP_CP_STATS_DISPATCHER_INC)
1896################ INTEROP ISSUES AP ################
1897INCS +=		$(INTEROP_ISSUES_AP_OS_IF_INC)
1898INCS +=		$(INTEROP_ISSUES_AP_TGT_INC)
1899INCS +=		$(INTEROP_ISSUES_AP_DISPATCHER_INC)
1900INCS +=		$(INTEROP_ISSUES_AP_CORE_INC)
1901################ NAN POS ################
1902INCS +=		$(NAN_CORE_INC)
1903INCS +=		$(NAN_UCFG_INC)
1904INCS +=		$(NAN_TGT_INC)
1905INCS +=		$(NAN_OS_IF_INC)
1906##########################################
1907INCS +=		$(UMAC_OBJMGR_INC)
1908INCS +=		$(UMAC_MGMT_TXRX_INC)
1909INCS +=		$(PMO_INC)
1910INCS +=		$(P2P_INC)
1911INCS +=		$(POLICY_MGR_INC)
1912INCS +=		$(TARGET_INC)
1913INCS +=		$(TDLS_INC)
1914INCS +=		$(UMAC_SER_INC)
1915INCS +=		$(NLINK_INC) \
1916		$(PTT_INC) \
1917		$(WLAN_LOGGING_INC)
1918
1919INCS +=		$(PLD_INC)
1920INCS +=		$(OCB_INC)
1921
1922INCS +=		$(IPA_INC)
1923INCS +=		$(UMAC_SM_INC)
1924INCS +=		$(UMAC_MLME_INC)
1925INCS +=		$(MLME_INC)
1926INCS +=		$(FWOL_INC)
1927INCS +=		$(BLM_INC)
1928
1929ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
1930INCS +=		$(PKTLOG_INC)
1931endif
1932
1933INCS +=		$(HOST_DIAG_LOG_INC)
1934
1935INCS +=		$(DISA_INC)
1936INCS +=		$(ACTION_OUI_INC)
1937
1938INCS +=		$(UMAC_DISP_INC)
1939INCS +=		$(UMAC_SCAN_INC)
1940INCS +=		$(UMAC_TARGET_SCAN_INC)
1941INCS +=		$(UMAC_GREEN_AP_INC)
1942INCS +=		$(UMAC_TARGET_GREEN_AP_INC)
1943INCS +=		$(UMAC_COMMON_INC)
1944INCS +=		$(UMAC_SPECTRAL_INC)
1945INCS +=		$(UMAC_TARGET_SPECTRAL_INC)
1946INCS +=		$(UMAC_DBR_INC)
1947INCS +=		$(UMAC_CRYPTO_INC)
1948
1949OBJS :=		$(HDD_OBJS) \
1950		$(SYNC_OBJS) \
1951		$(DSC_OBJS) \
1952		$(MAC_OBJS) \
1953		$(SAP_OBJS) \
1954		$(SME_OBJS) \
1955		$(SYS_OBJS) \
1956		$(QDF_OBJS) \
1957		$(WBUFF_OBJS) \
1958		$(CDS_OBJS) \
1959		$(CFG_OBJS) \
1960		$(FTM_OBJS)
1961
1962OBJS +=		$(WMA_OBJS) \
1963		$(TXRX_OBJS) \
1964		$(WMI_OBJS) \
1965		$(HTC_OBJS) \
1966		$(INIT_DEINIT_OBJS) \
1967		$(SCHEDULER_OBJS) \
1968		$(REGULATORY_OBJS)
1969
1970OBJS +=		$(HIF_OBJS) \
1971		$(BMI_OBJS) \
1972		$(OS_IF_OBJ) \
1973		$(TARGET_IF_OBJ) \
1974		$(CLD_TARGET_IF_OBJ) \
1975		$(GLOBAL_LMAC_IF_OBJ)
1976
1977ifneq ($(CONFIG_LITHIUM), y)
1978OBJS += 	$(HTT_OBJS)
1979endif
1980
1981ifeq ($(CONFIG_LITHIUM), y)
1982OBJS += 	$(HAL_OBJS)
1983OBJS += 	$(TXRX_DIR)/ol_txrx_event.o
1984endif
1985
1986ifeq ($(CONFIG_FEATURE_FW_LOG_PARSING), y)
1987OBJS +=        $(FWLOG_OBJS)
1988endif
1989
1990ifeq ($(CONFIG_FEATURE_EPPING), y)
1991OBJS += 	$(EPPING_OBJS)
1992endif
1993
1994ifeq ($(CONFIG_WLAN_DFS_MASTER_ENABLE), y)
1995OBJS +=		$(DFS_OBJS)
1996endif
1997
1998OBJS +=		$(UMAC_OBJMGR_OBJS)
1999OBJS +=		$(WIFI_POS_OBJS)
2000OBJS +=		$(CP_STATS_OBJS)
2001OBJS +=		$(INTEROP_ISSUES_AP_OBJS)
2002OBJS +=		$(WLAN_NAN_OBJS)
2003OBJS +=		$(UMAC_MGMT_TXRX_OBJS)
2004OBJS +=		$(TDLS_OBJS)
2005OBJS +=		$(PMO_OBJS)
2006OBJS +=		$(P2P_OBJS)
2007OBJS +=		$(POLICY_MGR_OBJS)
2008OBJS +=		$(WLAN_LOGGING_OBJS)
2009OBJS +=		$(NLINK_OBJS)
2010OBJS +=		$(PTT_OBJS)
2011OBJS +=		$(UMAC_SER_OBJS)
2012OBJS +=		$(PLD_OBJS)
2013OBJS +=		$(UMAC_SM_OBJS)
2014OBJS +=		$(UMAC_MLME_OBJS)
2015OBJS +=		$(MLME_OBJS)
2016ifeq ($(CONFIG_WLAN_FW_OFFLOAD), y)
2017OBJS +=		$(FWOL_OBJS)
2018endif
2019OBJS +=		$(BLM_OBJS)
2020
2021ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
2022OBJS +=		$(OCB_OBJS)
2023endif
2024
2025ifeq ($(CONFIG_IPA_OFFLOAD), y)
2026OBJS +=		$(IPA_OBJS)
2027endif
2028
2029ifeq ($(CONFIG_REMOVE_PKT_LOG), n)
2030OBJS +=		$(PKTLOG_OBJS)
2031endif
2032
2033ifeq ($(BUILD_DIAG_VERSION), y)
2034OBJS +=		$(HOST_DIAG_LOG_OBJS)
2035endif
2036
2037ifeq ($(CONFIG_WLAN_FEATURE_DISA), y)
2038OBJS +=		$(DISA_OBJS)
2039endif
2040
2041ifeq ($(CONFIG_WLAN_FEATURE_ACTION_OUI), y)
2042OBJS +=		$(ACTION_OUI_OBJS)
2043endif
2044
2045OBJS +=		$(UMAC_DISP_OBJS)
2046OBJS +=		$(UMAC_SCAN_OBJS)
2047OBJS +=		$(UMAC_COMMON_OBJS)
2048OBJS +=		$(WCFG_OBJS)
2049
2050OBJS +=		$(UMAC_SPECTRAL_OBJS)
2051OBJS +=		$(UMAC_DBR_OBJS)
2052
2053ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP), y)
2054OBJS +=		$(UMAC_GREEN_AP_OBJS)
2055endif
2056
2057ifeq ($(CONFIG_CRYPTO_COMPONENT), y)
2058OBJS +=		$(UMAC_CRYPTO_OBJS)
2059endif
2060
2061ifeq ($(CONFIG_LITHIUM), y)
2062OBJS +=		$(DP_OBJS)
2063endif
2064
2065ifeq ($(CONFIG_WLAN_FEATURE_DP_RX_THREADS), y)
2066OBJS += $(TXRX3.0_OBJS)
2067endif
2068
2069ccflags-y += $(INCS)
2070
2071cppflags-y +=	-DANI_OS_TYPE_ANDROID=6 \
2072		-Wall\
2073		-Werror\
2074		-D__linux__
2075
2076cppflags-$(CONFIG_PTT_SOCK_SVC_ENABLE) += -DPTT_SOCK_SVC_ENABLE
2077cppflags-$(CONFIG_FEATURE_WLAN_WAPI) += -DFEATURE_WLAN_WAPI
2078cppflags-$(CONFIG_FEATURE_WLAN_WAPI) += -DATH_SUPPORT_WAPI
2079cppflags-$(CONFIG_AGEIE_ON_SCAN_RESULTS) += -DWLAN_ENABLE_AGEIE_ON_SCAN_RESULTS
2080cppflags-$(CONFIG_SOFTAP_CHANNEL_RANGE) += -DSOFTAP_CHANNEL_RANGE
2081cppflags-$(CONFIG_FEATURE_WLAN_SCAN_PNO) += -DFEATURE_WLAN_SCAN_PNO
2082cppflags-$(CONFIG_WLAN_FEATURE_PACKET_FILTERING) += -DWLAN_FEATURE_PACKET_FILTERING
2083cppflags-$(CONFIG_DHCP_SERVER_OFFLOAD) += -DDHCP_SERVER_OFFLOAD
2084cppflags-$(CONFIG_WLAN_NS_OFFLOAD) += -DWLAN_NS_OFFLOAD
2085cppflags-$(CONFIG_FEATURE_WLAN_RA_FILTERING) += -DFEATURE_WLAN_RA_FILTERING
2086cppflags-$(CONFIG_FEATURE_WLAN_LPHB) += -DFEATURE_WLAN_LPHB
2087cppflags-$(CONFIG_QCA_SUPPORT_TX_THROTTLE) += -DQCA_SUPPORT_TX_THROTTLE
2088cppflags-$(CONFIG_WMI_INTERFACE_EVENT_LOGGING) += -DWMI_INTERFACE_EVENT_LOGGING
2089cppflags-$(CONFIG_WLAN_FEATURE_LINK_LAYER_STATS) += -DWLAN_FEATURE_LINK_LAYER_STATS
2090cppflags-$(CONFIG_FEATURE_WLAN_EXTSCAN) += -DFEATURE_WLAN_EXTSCAN
2091cppflags-$(CONFIG_160MHZ_SUPPORT) += -DCONFIG_160MHZ_SUPPORT
2092cppflags-$(CONFIG_MCL) += -DCONFIG_MCL
2093cppflags-$(CONFIG_REG_CLIENT) += -DCONFIG_REG_CLIENT
2094cppflags-$(CONFIG_WLAN_PMO_ENABLE) += -DWLAN_PMO_ENABLE
2095cppflags-$(CONFIG_CONVERGED_P2P_ENABLE) += -DCONVERGED_P2P_ENABLE
2096cppflags-$(CONFIG_WLAN_POLICY_MGR_ENABLE) += -DWLAN_POLICY_MGR_ENABLE
2097cppflags-$(CONFIG_FEATURE_BLACKLIST_MGR) += -DFEATURE_BLACKLIST_MGR
2098cppflags-$(CONFIG_SUPPORT_11AX) += -DSUPPORT_11AX
2099cppflags-$(CONFIG_HDD_INIT_WITH_RTNL_LOCK) += -DCONFIG_HDD_INIT_WITH_RTNL_LOCK
2100cppflags-$(CONFIG_WLAN_CONV_SPECTRAL_ENABLE) += -DWLAN_CONV_SPECTRAL_ENABLE
2101cppflags-$(CONFIG_DIRECT_BUF_RX_ENABLE) += -DDIRECT_BUF_RX_ENABLE
2102cppflags-$(CONFIG_WMI_DBR_SUPPORT) += -DWMI_DBR_SUPPORT
2103cppflags-$(CONFIG_DIRECT_BUF_RX_ENABLE) += -DDBR_MULTI_SRNG_ENABLE
2104cppflags-$(CONFIG_WMI_CMD_STRINGS) += -DWMI_CMD_STRINGS
2105cppflags-$(CONFIG_WLAN_FEATURE_TWT) += -DWLAN_SUPPORT_TWT
2106
2107cppflags-$(CONFIG_WLAN_DISABLE_EXPORT_SYMBOL) += -DWLAN_DISABLE_EXPORT_SYMBOL
2108cppflags-$(CONFIG_WIFI_POS_CONVERGED) += -DWIFI_POS_CONVERGED
2109cppflags-$(CONFIG_WIFI_POS_LEGACY) += -DFEATURE_OEM_DATA_SUPPORT
2110cppflags-$(CONFIG_FEATURE_HTC_CREDIT_HISTORY) += -DFEATURE_HTC_CREDIT_HISTORY
2111cppflags-$(CONFIG_WLAN_FEATURE_P2P_DEBUG) += -DWLAN_FEATURE_P2P_DEBUG
2112cppflags-$(CONFIG_WLAN_WEXT_SUPPORT_ENABLE) += -DWLAN_WEXT_SUPPORT_ENABLE
2113cppflags-$(CONFIG_WLAN_LOGGING_SOCK_SVC) += -DWLAN_LOGGING_SOCK_SVC_ENABLE
2114cppflags-$(CONFIG_WLAN_LOGGING_BUFFERS_DYNAMICALLY) += -DWLAN_LOGGING_BUFFERS_DYNAMICALLY
2115cppflags-$(CONFIG_WLAN_FEATURE_FILS) += -DWLAN_FEATURE_FILS_SK
2116cppflags-$(CONFIG_CP_STATS) += -DQCA_SUPPORT_CP_STATS
2117cppflags-$(CONFIG_FEATURE_INTEROP_ISSUES_AP) += -DWLAN_FEATURE_INTEROP_ISSUES_AP
2118cppflags-$(CONFIG_FEATURE_MEMDUMP_ENABLE) += -DWLAN_FEATURE_MEMDUMP_ENABLE
2119cppflags-$(CONFIG_FEATURE_FW_LOG_PARSING) += -DFEATURE_FW_LOG_PARSING
2120cppflags-$(CONFIG_FEATURE_OEM_DATA) += -DFEATURE_OEM_DATA
2121cppflags-$(CONFIG_FEATURE_MOTION_DETECTION) += -DWLAN_FEATURE_MOTION_DETECTION
2122cppflags-$(CONFIG_WLAN_FW_OFFLOAD) += -DWLAN_FW_OFFLOAD
2123cppflags-$(CONFIG_WLAN_FEATURE_ELNA) += -DWLAN_FEATURE_ELNA
2124
2125cppflags-$(CONFIG_PLD_SDIO_CNSS_FLAG) += -DCONFIG_PLD_SDIO_CNSS
2126cppflags-$(CONFIG_PLD_PCIE_CNSS_FLAG) += -DCONFIG_PLD_PCIE_CNSS
2127cppflags-$(CONFIG_PLD_PCIE_INIT_FLAG) += -DCONFIG_PLD_PCIE_INIT
2128cppflags-$(CONFIG_WLAN_FEATURE_DP_RX_THREADS) += -DFEATURE_WLAN_DP_RX_THREADS
2129cppflags-$(CONFIG_WLAN_FEATURE_RX_SOFTIRQ_TIME_LIMIT) += -DWLAN_FEATURE_RX_SOFTIRQ_TIME_LIMIT
2130cppflags-$(CONFIG_PLD_USB_CNSS) += -DCONFIG_PLD_USB_CNSS
2131cppflags-$(CONFIG_PLD_SDIO_CNSS2) += -DCONFIG_PLD_SDIO_CNSS2
2132cppflags-$(CONFIG_WLAN_RECORD_RX_PADDR) += -DHIF_RECORD_RX_PADDR
2133
2134#For both legacy and lithium chip's monitor mode config
2135ifeq ($(CONFIG_FEATURE_MONITOR_MODE_SUPPORT), y)
2136cppflags-y += -DFEATURE_MONITOR_MODE_SUPPORT
2137else
2138cppflags-y += -DDISABLE_MON_CONFIG
2139endif
2140
2141#Enable NL80211 test mode
2142cppflags-$(CONFIG_NL80211_TESTMODE) += -DWLAN_NL80211_TESTMODE
2143
2144# Flag to enable bus auto suspend
2145ifeq ($(CONFIG_HIF_PCI), y)
2146ifeq ($(CONFIG_BUS_AUTO_SUSPEND), y)
2147cppflags-y += -DFEATURE_RUNTIME_PM
2148endif
2149endif
2150
2151cppflags-$(CONFIG_ICNSS) += -DCONFIG_PLD_SNOC_ICNSS
2152
2153cppflags-$(CONFIG_WIFI_3_0_ADRASTEA) += -DQCA_WIFI_3_0_ADRASTEA
2154cppflags-$(CONFIG_WIFI_3_0_ADRASTEA) += -DQCA_WIFI_3_0
2155cppflags-$(CONFIG_ADRASTEA_SHADOW_REGISTERS) += -DADRASTEA_SHADOW_REGISTERS
2156cppflags-$(CONFIG_ADRASTEA_RRI_ON_DDR) += -DADRASTEA_RRI_ON_DDR
2157
2158ifeq ($(CONFIG_QMI_SUPPORT), n)
2159cppflags-y += -DCONFIG_BYPASS_QMI
2160endif
2161
2162cppflags-$(CONFIG_WLAN_FASTPATH) +=	-DWLAN_FEATURE_FASTPATH
2163
2164cppflags-$(CONFIG_FEATURE_PKTLOG) +=     -DFEATURE_PKTLOG
2165
2166ifeq ($(CONFIG_WLAN_NAPI), y)
2167cppflags-y += -DFEATURE_NAPI
2168cppflags-y += -DHIF_IRQ_AFFINITY
2169ifeq ($(CONFIG_WLAN_NAPI_DEBUG), y)
2170cppflags-y += -DFEATURE_NAPI_DEBUG
2171endif
2172endif
2173
2174ifeq (y,$(findstring y,$(CONFIG_ARCH_MSM) $(CONFIG_ARCH_QCOM)))
2175cppflags-y += -DMSM_PLATFORM
2176endif
2177
2178cppflags-$(CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH) += -DWLAN_FEATURE_DP_BUS_BANDWIDTH
2179
2180cppflags-y +=	-DQCA_SUPPORT_TXRX_LOCAL_PEER_ID
2181
2182cppflags-$(CONFIG_WLAN_TX_FLOW_CONTROL_V2) += -DQCA_LL_TX_FLOW_CONTROL_V2
2183cppflags-$(CONFIG_WLAN_TX_FLOW_CONTROL_V2) += -DQCA_LL_TX_FLOW_GLOBAL_MGMT_POOL
2184cppflags-$(CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY) += -DQCA_LL_LEGACY_TX_FLOW_CONTROL
2185cppflags-$(CONFIG_WLAN_PDEV_TX_FLOW_CONTROL) += -DQCA_LL_PDEV_TX_FLOW_CONTROL
2186
2187ifeq ($(BUILD_DEBUG_VERSION), y)
2188cppflags-y +=	-DWLAN_DEBUG
2189ifeq ($(CONFIG_TRACE_RECORD_FEATURE), y)
2190cppflags-y +=	-DTRACE_RECORD \
2191		-DLIM_TRACE_RECORD \
2192		-DSME_TRACE_RECORD \
2193		-DHDD_TRACE_RECORD
2194endif
2195endif
2196cppflags-$(CONFIG_UNIT_TEST) += -DWLAN_UNIT_TEST
2197cppflags-$(CONFIG_WLAN_DEBUG_CRASH_INJECT) += -DCONFIG_WLAN_DEBUG_CRASH_INJECT
2198cppflags-$(CONFIG_FEATURE_UNIT_TEST_SUSPEND) += -DWLAN_SUSPEND_RESUME_TEST
2199cppflags-$(CONFIG_FEATURE_WLM_STATS) += -DFEATURE_WLM_STATS
2200
2201ifeq ($(CONFIG_LEAK_DETECTION), y)
2202cppflags-y += \
2203	-DCONFIG_HALT_KMEMLEAK \
2204	-DCONFIG_LEAK_DETECTION \
2205	-DMEMORY_DEBUG \
2206	-DNBUF_MEMORY_DEBUG \
2207	-DNBUF_MAP_UNMAP_DEBUG \
2208	-DTIMER_MANAGER \
2209	-DWLAN_DELAYED_WORK_DEBUG \
2210	-DWLAN_PERIODIC_WORK_DEBUG
2211endif
2212
2213cppflags-y += -DWLAN_FEATURE_P2P
2214cppflags-y += -DWLAN_FEATURE_WFD
2215
2216ifeq ($(CONFIG_QCOM_VOWIFI_11R), y)
2217cppflags-y += -DKERNEL_SUPPORT_11R_CFG80211
2218cppflags-y += -DUSE_80211_WMMTSPEC_FOR_RIC
2219endif
2220
2221ifeq ($(CONFIG_QCOM_ESE), y)
2222cppflags-y += -DFEATURE_WLAN_ESE
2223endif
2224
2225#normally, TDLS negative behavior is not needed
2226cppflags-$(CONFIG_QCOM_TDLS) += -DFEATURE_WLAN_TDLS
2227
2228cppflags-$(CONFIG_QCACLD_WLAN_LFR3) += -DWLAN_FEATURE_ROAM_OFFLOAD
2229
2230cppflags-$(CONFIG_WLAN_FEATURE_MBSSID) += -DWLAN_FEATURE_MBSSID
2231
2232cppflags-$(CONFIG_CNSS_GENL) += -DCNSS_GENL
2233
2234cppflags-$(CONFIG_QCACLD_WLAN_LFR2) += -DWLAN_FEATURE_HOST_ROAM
2235
2236cppflags-$(CONFIG_FEATURE_ROAM_DEBUG) += -DFEATURE_ROAM_DEBUG
2237
2238cppflags-$(CONFIG_WLAN_POWER_DEBUGFS) += -DWLAN_POWER_DEBUGFS
2239
2240cppflags-$(CONFIG_WLAN_MWS_INFO_DEBUGFS) += -DWLAN_MWS_INFO_DEBUGFS
2241
2242# Enable object manager reference count debug infrastructure
2243cppflags-$(CONFIG_WLAN_OBJMGR_DEBUG) += -DWLAN_OBJMGR_DEBUG
2244cppflags-$(CONFIG_WLAN_OBJMGR_DEBUG) += -DWLAN_OBJMGR_REF_ID_DEBUG
2245
2246cppflags-$(CONFIG_WLAN_FEATURE_SAE) += -DWLAN_FEATURE_SAE
2247
2248ifeq ($(BUILD_DIAG_VERSION), y)
2249cppflags-y += -DFEATURE_WLAN_DIAG_SUPPORT
2250cppflags-y += -DFEATURE_WLAN_DIAG_SUPPORT_CSR
2251cppflags-y += -DFEATURE_WLAN_DIAG_SUPPORT_LIM
2252ifeq ($(CONFIG_HIF_PCI), y)
2253cppflags-y += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
2254endif
2255endif
2256
2257ifeq ($(CONFIG_HIF_USB), y)
2258cppflags-y += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
2259cppflags-y += -DQCA_SUPPORT_OL_RX_REORDER_TIMEOUT
2260cppflags-y += -DCONFIG_ATH_PCIE_MAX_PERF=0 -DCONFIG_ATH_PCIE_AWAKE_WHILE_DRIVER_LOAD=0 -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0
2261endif
2262
2263cppflags-$(CONFIG_QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK) += -DQCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK
2264
2265cppflags-$(CONFIG_WLAN_FEATURE_11W) += -DWLAN_FEATURE_11W
2266
2267cppflags-$(CONFIG_QCA_TXDESC_SANITY_CHECKS) += -DQCA_SUPPORT_TXDESC_SANITY_CHECKS
2268
2269cppflags-$(CONFIG_QCOM_LTE_COEX) += -DFEATURE_WLAN_CH_AVOID
2270
2271cppflags-$(CONFIG_WLAN_FEATURE_LPSS) += -DWLAN_FEATURE_LPSS
2272
2273cppflags-$(CONFIG_DESC_DUP_DETECT_DEBUG) += -DDESC_DUP_DETECT_DEBUG
2274cppflags-$(CONFIG_DEBUG_RX_RING_BUFFER) += -DDEBUG_RX_RING_BUFFER
2275
2276cppflags-$(CONFIG_DESC_TIMESTAMP_DEBUG_INFO) += -DDESC_TIMESTAMP_DEBUG_INFO
2277
2278cppflags-$(PANIC_ON_BUG) += -DPANIC_ON_BUG
2279
2280cppflags-$(WLAN_WARN_ON_ASSERT) += -DWLAN_WARN_ON_ASSERT
2281
2282ccflags-$(CONFIG_POWER_MANAGEMENT_OFFLOAD) += -DWLAN_POWER_MANAGEMENT_OFFLOAD
2283
2284cppflags-$(CONFIG_WLAN_LOG_FATAL) += -DWLAN_LOG_FATAL
2285cppflags-$(CONFIG_WLAN_LOG_ERROR) += -DWLAN_LOG_ERROR
2286cppflags-$(CONFIG_WLAN_LOG_WARN) += -DWLAN_LOG_WARN
2287cppflags-$(CONFIG_WLAN_LOG_INFO) += -DWLAN_LOG_INFO
2288cppflags-$(CONFIG_WLAN_LOG_DEBUG) += -DWLAN_LOG_DEBUG
2289cppflags-$(CONFIG_WLAN_LOG_ENTER) += -DWLAN_LOG_ENTER
2290cppflags-$(CONFIG_WLAN_LOG_EXIT) += -DWLAN_LOG_EXIT
2291cppflags-$(WLAN_OPEN_SOURCE) += -DWLAN_OPEN_SOURCE
2292cppflags-$(CONFIG_FEATURE_STATS_EXT) += -DWLAN_FEATURE_STATS_EXT
2293cppflags-$(CONFIG_QCACLD_FEATURE_NAN) += -DWLAN_FEATURE_NAN
2294cppflags-$(CONFIG_NDP_SAP_CONCURRENCY_ENABLE) += -DNDP_SAP_CONCURRENCY_ENABLE
2295
2296ifeq ($(CONFIG_QCA_IBSS_SUPPORT), y)
2297cppflags-$(CONFIG_QCA_IBSS_SUPPORT) += -DQCA_IBSS_SUPPORT
2298endif
2299
2300cppflags-$(CONFIG_WLAN_SYSFS) += -DWLAN_SYSFS
2301cppflags-$(CONFIG_FEATURE_WLAN_RMC) += -DFEATURE_WLAN_RMC
2302cppflags-$(CONFIG_FEATURE_BECN_STATS) += -DWLAN_FEATURE_BEACON_RECEPTION_STATS
2303
2304#Set RX_PERFORMANCE
2305cppflags-$(CONFIG_RX_PERFORMANCE) += -DRX_PERFORMANCE
2306
2307#Set MULTI_IF_LOG
2308cppflags-$(CONFIG_MULTI_IF_LOG) += -DMULTI_IF_LOG
2309
2310#Set SLUB_MEM_OPTIMIZE
2311cppflags-$(CONFIG_SLUB_MEM_OPTIMIZE) += -DSLUB_MEM_OPTIMIZE
2312
2313#Set DFS_PRI_MULTIPLIER
2314cppflags-$(CONFIG_DFS_PRI_MULTIPLIER) += -DDFS_PRI_MULTIPLIER
2315
2316#Set DFS_OVERRIDE_RF_THRESHOLD
2317cppflags-$(CONFIG_DFS_OVERRIDE_RF_THRESHOLD) += -DDFS_OVERRIDE_RF_THRESHOLD
2318
2319#Enable OL debug and wmi unified functions
2320cppflags-$(CONFIG_ATH_PERF_PWR_OFFLOAD) += -DATH_PERF_PWR_OFFLOAD
2321
2322#Disable packet log
2323cppflags-$(CONFIG_REMOVE_PKT_LOG) += -DREMOVE_PKT_LOG
2324
2325#Enable 11AC TX
2326cppflags-$(CONFIG_ATH_11AC_TXCOMPACT) += -DATH_11AC_TXCOMPACT
2327
2328#Enable PCI specific APIS (dma, etc)
2329cppflags-$(CONFIG_HIF_PCI) += -DHIF_PCI
2330
2331cppflags-$(CONFIG_HIF_SNOC) += -DHIF_SNOC
2332
2333cppflags-$(CONFIG_HL_DP_SUPPORT) += -DCONFIG_HL_SUPPORT
2334cppflags-$(CONFIG_HL_DP_SUPPORT) += -DWLAN_PARTIAL_REORDER_OFFLOAD
2335cppflags-$(CONFIG_HL_DP_SUPPORT) += -DQCA_COMPUTE_TX_DELAY
2336cppflags-$(CONFIG_HL_DP_SUPPORT) += -DQCA_COMPUTE_TX_DELAY_PER_TID
2337cppflags-$(CONFIG_LL_DP_SUPPORT) += -DCONFIG_LL_DP_SUPPORT
2338cppflags-$(CONFIG_LL_DP_SUPPORT) += -DWLAN_FULL_REORDER_OFFLOAD
2339
2340# For OOB testing
2341cppflags-$(CONFIG_WLAN_FEATURE_WOW_PULSE) += -DWLAN_FEATURE_WOW_PULSE
2342
2343#Enable High Latency related Flags
2344ifeq ($(CONFIG_QCA_WIFI_SDIO), y)
2345cppflags-y += -DCONFIG_AR6320_SUPPORT \
2346            -DSDIO_3_0 \
2347            -DHIF_SDIO \
2348            -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0 \
2349            -DCONFIG_ATH_PROCFS_DIAG_SUPPORT \
2350            -DHIF_MBOX_SLEEP_WAR \
2351            -DDEBUG_HL_LOGGING \
2352            -DQCA_BAD_PEER_TX_FLOW_CL \
2353            -DCONFIG_SDIO \
2354            -DFEATURE_WLAN_FORCE_SAP_SCC
2355
2356ifeq ($(CONFIG_SDIO_TRANSFER), adma)
2357cppflags-y += -DCONFIG_SDIO_TRANSFER_ADMA
2358else
2359cppflags-y += -DCONFIG_SDIO_TRANSFER_MAILBOX
2360endif
2361endif
2362
2363ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)
2364cppflags-y += -DWLAN_FEATURE_DSRC
2365
2366ifeq ($(CONFIG_OCB_UT_FRAMEWORK), y)
2367cppflags-y += -DWLAN_OCB_UT
2368endif
2369
2370endif
2371
2372cppflags-$(CONFIG_FEATURE_SKB_PRE_ALLOC) += -DFEATURE_SKB_PRE_ALLOC
2373
2374#Enable USB specific APIS
2375ifeq ($(CONFIG_HIF_USB), y)
2376cppflags-y += -DHIF_USB \
2377            -DDEBUG_HL_LOGGING
2378endif
2379
2380#Enable Genoa specific features.
2381cppflags-$(CONFIG_QCA_HL_NETDEV_FLOW_CONTROL) += -DQCA_HL_NETDEV_FLOW_CONTROL
2382cppflags-$(CONFIG_FEATURE_HL_GROUP_CREDIT_FLOW_CONTROL) += -DFEATURE_HL_GROUP_CREDIT_FLOW_CONTROL
2383cppflags-$(CONFIG_FEATURE_HL_DBS_GROUP_CREDIT_SHARING) += -DFEATURE_HL_DBS_GROUP_CREDIT_SHARING
2384cppflags-$(CONFIG_CREDIT_REP_THROUGH_CREDIT_UPDATE) += -DCONFIG_CREDIT_REP_THROUGH_CREDIT_UPDATE
2385cppflags-$(CONFIG_RX_PN_CHECK_OFFLOAD) += -DCONFIG_RX_PN_CHECK_OFFLOAD
2386
2387cppflags-$(CONFIG_WLAN_SYNC_TSF_PTP) += -DWLAN_FEATURE_TSF_PTP
2388cppflags-$(CONFIG_WLAN_SYNC_TSF_PLUS_EXT_GPIO_IRQ) += -DWLAN_FEATURE_TSF_PLUS_EXT_GPIO_IRQ
2389cppflags-$(CONFIG_WLAN_SYNC_TSF_PLUS_EXT_GPIO_SYNC) += -DWLAN_FEATURE_TSF_PLUS_EXT_GPIO_SYNC
2390cppflags-$(CONFIG_TX_DESC_HI_PRIO_RESERVE) += -DCONFIG_TX_DESC_HI_PRIO_RESERVE
2391
2392#Enable FW logs through ini
2393cppflags-y += -DCONFIG_FW_LOGS_BASED_ON_INI
2394
2395#Enable power management suspend/resume functionality
2396cppflags-$(CONFIG_ATH_BUS_PM) += -DATH_BUS_PM
2397
2398#Enable FLOWMAC module support
2399cppflags-$(CONFIG_ATH_SUPPORT_FLOWMAC_MODULE) += -DATH_SUPPORT_FLOWMAC_MODULE
2400
2401#Enable spectral support
2402cppflags-$(CONFIG_ATH_SUPPORT_SPECTRAL) += -DATH_SUPPORT_SPECTRAL
2403
2404#Enable legacy pktlog
2405cppflags-$(CONFIG_PKTLOG_LEGACY) += -DPKTLOG_LEGACY
2406
2407#Enable WDI Event support
2408cppflags-$(CONFIG_WDI_EVENT_ENABLE) += -DWDI_EVENT_ENABLE
2409
2410#Enable the type_specific_data in the struct ath_pktlog_arg
2411cppflags-$(CONFIG_PKTLOG_HAS_SPECIFIC_DATA) += -DPKTLOG_HAS_SPECIFIC_DATA
2412
2413#Endianness selection
2414ifeq ($(CONFIG_LITTLE_ENDIAN), y)
2415cppflags-y += -DANI_LITTLE_BYTE_ENDIAN
2416cppflags-y += -DANI_LITTLE_BIT_ENDIAN
2417cppflags-y += -DDOT11F_LITTLE_ENDIAN_HOST
2418else
2419cppflags-y += -DANI_BIG_BYTE_ENDIAN
2420cppflags-y += -DBIG_ENDIAN_HOST
2421endif
2422
2423#Enable MWS COEX support for 4G quick TDM and 5G NR pwr limit
2424cppflags-y += -DMWS_COEX
2425
2426#Enable TX reclaim support
2427cppflags-$(CONFIG_TX_CREDIT_RECLAIM_SUPPORT) += -DTX_CREDIT_RECLAIM_SUPPORT
2428
2429#Enable FTM support
2430cppflags-$(CONFIG_QCA_WIFI_FTM) += -DQCA_WIFI_FTM
2431cppflags-$(CONFIG_NL80211_TESTMODE) += -DQCA_WIFI_FTM_NL80211
2432cppflags-$(CONFIG_LINUX_QCMBR) += -DLINUX_QCMBR -DQCA_WIFI_FTM_IOCTL
2433
2434#Enable Checksum Offload support
2435cppflags-$(CONFIG_CHECKSUM_OFFLOAD) += -DCHECKSUM_OFFLOAD
2436
2437#Enable IPA Offload support
2438cppflags-$(CONFIG_IPA_OFFLOAD) += -DIPA_OFFLOAD
2439
2440cppflags-$(CONFIG_WDI3_IPA_OVER_GSI) += -DIPA_WDI3_GSI
2441
2442ifeq ($(CONFIG_ARCH_SDX20), y)
2443cppflags-y += -DSYNC_IPA_READY
2444endif
2445
2446ifeq ($(CONFIG_ARCH_SDXPOORWILLS), y)
2447CONFIG_FEATURE_SG := y
2448endif
2449
2450ifeq ($(CONFIG_ARCH_MSM8996), y)
2451CONFIG_FEATURE_SG := y
2452CONFIG_RX_THREAD_PRIORITY := y
2453endif
2454
2455ifeq ($(CONFIG_FEATURE_SG), y)
2456cppflags-y += -DFEATURE_SG
2457endif
2458
2459ifeq ($(CONFIG_RX_THREAD_PRIORITY), y)
2460cppflags-y += -DRX_THREAD_PRIORITY
2461endif
2462
2463ifeq ($(CONFIG_SUPPORT_P2P_BY_ONE_INTF_WLAN), y)
2464#sta support to tx P2P action frames
2465cppflags-y += -DSUPPORT_P2P_BY_ONE_INTF_WLAN
2466else
2467#Open P2P device interface only for non-Mobile router use cases
2468cppflags-$(CONFIG_WLAN_OPEN_P2P_INTERFACE) += -DWLAN_OPEN_P2P_INTERFACE
2469endif
2470
2471cppflags-$(CONFIG_WMI_BCN_OFFLOAD) += -DWLAN_WMI_BCN
2472
2473#Enable wbuff
2474cppflags-$(CONFIG_WLAN_WBUFF) += -DWLAN_FEATURE_WBUFF
2475
2476#Enable GTK Offload
2477cppflags-$(CONFIG_GTK_OFFLOAD) += -DWLAN_FEATURE_GTK_OFFLOAD
2478
2479#Enable External WoW
2480cppflags-$(CONFIG_EXT_WOW) += -DWLAN_FEATURE_EXTWOW_SUPPORT
2481
2482#Mark it as SMP Kernel
2483cppflags-$(CONFIG_SMP) += -DQCA_CONFIG_SMP
2484
2485cppflags-$(CONFIG_CHNL_MATRIX_RESTRICTION) += -DWLAN_ENABLE_CHNL_MATRIX_RESTRICTION
2486
2487#Enable ICMP packet disable powersave feature
2488cppflags-$(CONFIG_ICMP_DISABLE_PS) += -DWLAN_ICMP_DISABLE_PS
2489
2490#Enable OBSS feature
2491cppflags-y += -DQCA_HT_2040_COEX
2492
2493#enable MCC TO SCC switch
2494cppflags-$(CONFIG_FEATURE_WLAN_MCC_TO_SCC_SWITCH) += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH
2495
2496#enable wlan auto shutdown feature
2497cppflags-$(CONFIG_FEATURE_WLAN_AUTO_SHUTDOWN) += -DFEATURE_WLAN_AUTO_SHUTDOWN
2498
2499#enable AP-AP ACS Optimization
2500cppflags-$(CONFIG_FEATURE_WLAN_AP_AP_ACS_OPTIMIZE) += -DFEATURE_WLAN_AP_AP_ACS_OPTIMIZE
2501
2502#Enable 4address scheme
2503cppflags-$(CONFIG_FEATURE_WLAN_STA_4ADDR_SCHEME) += -DFEATURE_WLAN_STA_4ADDR_SCHEME
2504
2505#enable MDM/SDX special config
2506cppflags-$(CONFIG_MDM_PLATFORM) += -DMDM_PLATFORM
2507
2508#Disable STA-AP Mode DFS support
2509cppflags-$(CONFIG_FEATURE_WLAN_STA_AP_MODE_DFS_DISABLE) += -DFEATURE_WLAN_STA_AP_MODE_DFS_DISABLE
2510
2511#Enable 2.4 GHz social channels in 5 GHz only mode for p2p usage
2512cppflags-$(CONFIG_WLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY) += -DWLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY
2513
2514#Green AP feature
2515cppflags-$(CONFIG_QCACLD_FEATURE_GREEN_AP) += -DWLAN_SUPPORT_GREEN_AP
2516
2517cppflags-$(CONFIG_QCACLD_FEATURE_APF) += -DFEATURE_WLAN_APF
2518
2519cppflags-$(CONFIG_WLAN_FEATURE_SARV1_TO_SARV2) += -DWLAN_FEATURE_SARV1_TO_SARV2
2520#CRYPTO Coverged Component
2521cppflags-$(CONFIG_CRYPTO_COMPONENT) += -DWLAN_CONV_CRYPTO_SUPPORTED \
2522                                       -DWLAN_CRYPTO_WEP_OS_DERIVATIVE \
2523                                       -DWLAN_CRYPTO_TKIP_OS_DERIVATIVE \
2524                                       -DWLAN_CRYPTO_CCMP_OS_DERIVATIVE \
2525                                       -DWLAN_CRYPTO_GCMP_OS_DERIVATIVE \
2526                                       -DWLAN_CRYPTO_WAPI_OS_DERIVATIVE \
2527                                       -DWLAN_CRYPTO_GCM_OS_DERIVATIVE \
2528                                       -DWLAN_CRYPTO_FILS_OS_DERIVATIVE \
2529                                       -DWLAN_CRYPTO_OMAC1_OS_DERIVATIVE
2530
2531cppflags-$(CONFIG_FEATURE_WLAN_FT_IEEE8021X) += -DFEATURE_WLAN_FT_IEEE8021X
2532cppflags-$(CONFIG_FEATURE_WLAN_FT_PSK) += -DFEATURE_WLAN_FT_PSK
2533
2534#Enable host 11d scan
2535cppflags-$(CONFIG_HOST_11D_SCAN) += -DHOST_11D_SCAN
2536
2537#Stats & Quota Metering feature
2538ifeq ($(CONFIG_IPA_OFFLOAD), y)
2539ifeq ($(CONFIG_QCACLD_FEATURE_METERING), y)
2540cppflags-y += -DFEATURE_METERING
2541endif
2542endif
2543
2544#Define Max IPA interface
2545ifeq ($(CONFIG_IPA_OFFLOAD), y)
2546ifdef CONFIG_NUM_IPA_IFACE
2547cppflags-y += -DMAX_IPA_IFACE=$(CONFIG_NUM_IPA_IFACE)
2548else
2549NUM_IPA_IFACE ?= 3
2550cppflags-y += -DMAX_IPA_IFACE=$(NUM_IPA_IFACE)
2551endif
2552endif
2553
2554cppflags-$(CONFIG_TUFELLO_DUAL_FW_SUPPORT) += -DCONFIG_TUFELLO_DUAL_FW_SUPPORT
2555cppflags-$(CONFIG_CHANNEL_HOPPING_ALL_BANDS) += -DCHANNEL_HOPPING_ALL_BANDS
2556
2557#Enable Signed firmware support for split binary format
2558cppflags-$(CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT) += -DQCA_SIGNED_SPLIT_BINARY_SUPPORT
2559
2560#Enable single firmware binary format
2561cppflags-$(CONFIG_QCA_SINGLE_BINARY_SUPPORT) += -DQCA_SINGLE_BINARY_SUPPORT
2562
2563#Enable collecting target RAM dump after kernel panic
2564cppflags-$(CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC) += -DTARGET_RAMDUMP_AFTER_KERNEL_PANIC
2565
2566#Enable/disable secure firmware feature
2567cppflags-$(CONFIG_FEATURE_SECURE_FIRMWARE) += -DFEATURE_SECURE_FIRMWARE
2568
2569cppflags-$(CONFIG_ATH_PCIE_ACCESS_DEBUG) += -DCONFIG_ATH_PCIE_ACCESS_DEBUG
2570
2571# Enable feature support for Linux version QCMBR
2572cppflags-$(CONFIG_LINUX_QCMBR) += -DLINUX_QCMBR
2573
2574# Enable feature sync tsf between multi devices
2575cppflags-$(CONFIG_WLAN_SYNC_TSF) += -DWLAN_FEATURE_TSF
2576cppflags-$(CONFIG_WLAN_SYNC_TSF_PLUS) += -DWLAN_FEATURE_TSF_PLUS
2577# Enable feature sync tsf for chips based on Adrastea arch
2578cppflags-$(CONFIG_WLAN_SYNC_TSF_PLUS_NOIRQ) += -DWLAN_FEATURE_TSF_PLUS_NOIRQ
2579
2580cppflags-$(CONFIG_ATH_PROCFS_DIAG_SUPPORT) += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
2581
2582cppflags-$(CONFIG_HELIUMPLUS) += -DHELIUMPLUS
2583cppflags-$(CONFIG_RX_OL) += -DRECEIVE_OFFLOAD
2584cppflags-$(CONFIG_TX_TID_OVERRIDE) += -DATH_TX_PRI_OVERRIDE
2585cppflags-$(CONFIG_AR900B) += -DAR900B
2586cppflags-$(CONFIG_HTT_PADDR64) += -DHTT_PADDR64
2587cppflags-$(CONFIG_OL_RX_INDICATION_RECORD) += -DOL_RX_INDICATION_RECORD
2588cppflags-$(CONFIG_TSOSEG_DEBUG) += -DTSOSEG_DEBUG
2589
2590cppflags-$(CONFIG_ENABLE_DEBUG_ADDRESS_MARKING) += -DENABLE_DEBUG_ADDRESS_MARKING
2591cppflags-$(CONFIG_FEATURE_TSO) += -DFEATURE_TSO
2592cppflags-$(CONFIG_FEATURE_TSO_DEBUG) += -DFEATURE_TSO_DEBUG
2593
2594cppflags-$(CONFIG_WLAN_LRO) += -DFEATURE_LRO
2595
2596cppflags-$(CONFIG_FEATURE_AP_MCC_CH_AVOIDANCE) += -DFEATURE_AP_MCC_CH_AVOIDANCE
2597
2598cppflags-$(CONFIG_MPC_UT_FRAMEWORK) += -DMPC_UT_FRAMEWORK
2599
2600cppflags-$(CONFIG_FEATURE_EPPING) += -DWLAN_FEATURE_EPPING
2601
2602cppflags-$(CONFIG_WLAN_OFFLOAD_PACKETS) += -DWLAN_FEATURE_OFFLOAD_PACKETS
2603
2604cppflags-$(CONFIG_WLAN_FEATURE_DISA) += -DWLAN_FEATURE_DISA
2605
2606cppflags-$(CONFIG_WLAN_FEATURE_ACTION_OUI) += -DWLAN_FEATURE_ACTION_OUI
2607
2608cppflags-$(CONFIG_WLAN_FEATURE_FIPS) += -DWLAN_FEATURE_FIPS
2609
2610cppflags-$(CONFIG_LFR_SUBNET_DETECTION) += -DFEATURE_LFR_SUBNET_DETECTION
2611
2612cppflags-$(CONFIG_MCC_TO_SCC_SWITCH) += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH
2613
2614cppflags-$(CONFIG_FEATURE_WLAN_D0WOW) += -DFEATURE_WLAN_D0WOW
2615
2616cppflags-$(CONFIG_QCA_WIFI_NAPIER_EMULATION) += -DQCA_WIFI_NAPIER_EMULATION
2617cppflags-$(CONFIG_SHADOW_V2) += -DCONFIG_SHADOW_V2
2618cppflags-$(CONFIG_QCA6290_HEADERS_DEF) += -DQCA6290_HEADERS_DEF
2619cppflags-$(CONFIG_QCA_WIFI_QCA6290) += -DQCA_WIFI_QCA6290
2620cppflags-$(CONFIG_QCA6390_HEADERS_DEF) += -DQCA6390_HEADERS_DEF
2621cppflags-$(CONFIG_QCA_WIFI_QCA6390) += -DQCA_WIFI_QCA6390
2622cppflags-$(CONFIG_QCA_WIFI_QCA8074) += -DQCA_WIFI_QCA8074
2623cppflags-$(CONFIG_SCALE_INCLUDES) += -DSCALE_INCLUDES
2624cppflags-$(CONFIG_QCA_WIFI_QCA8074_VP) += -DQCA_WIFI_QCA8074_VP
2625cppflags-$(CONFIG_DP_INTR_POLL_BASED) += -DDP_INTR_POLL_BASED
2626cppflags-$(CONFIG_TX_PER_PDEV_DESC_POOL) += -DTX_PER_PDEV_DESC_POOL
2627cppflags-$(CONFIG_DP_TRACE) += -DCONFIG_DP_TRACE
2628cppflags-$(CONFIG_FEATURE_TSO) += -DFEATURE_TSO
2629cppflags-$(CONFIG_TSO_DEBUG_LOG_ENABLE) += -DTSO_DEBUG_LOG_ENABLE
2630cppflags-$(CONFIG_DP_LFR) += -DDP_LFR
2631cppflags-$(CONFIG_DUP_RX_DESC_WAR) += -DDUP_RX_DESC_WAR
2632cppflags-$(CONFIG_DP_TXRX_SOC_ATTACH) += -DDP_TXRX_SOC_ATTACH
2633cppflags-$(CONFIG_HTT_PADDR64) += -DHTT_PADDR64
2634cppflags-$(CONFIG_WLAN_FEATURE_BMI) += -DWLAN_FEATURE_BMI
2635cppflags-$(CONFIG_QCA_TX_PADDING_CREDIT_SUPPORT) += -DQCA_TX_PADDING_CREDIT_SUPPORT
2636cppflags-$(CONFIG_QCN7605_SUPPORT) += -DQCN7605_SUPPORT -DPLATFORM_GENOA
2637cppflags-$(CONFIG_HIF_REG_WINDOW_SUPPORT) += -DHIF_REG_WINDOW_SUPPORT
2638cppflags-$(CONFIG_WLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY) += -DWLAN_ALLOCATE_GLOBAL_BUFFERS_DYNAMICALLY
2639cppflags-$(CONFIG_HIF_CE_DEBUG_DATA_BUF) += -DHIF_CE_DEBUG_DATA_BUF
2640ccflags-$(CONFIG_QCA_LL_TX_FLOW_CONTROL_RESIZE) += -DQCA_LL_TX_FLOW_CONTROL_RESIZE
2641ccflags-$(CONFIG_HIF_PCI) += -DCE_SVC_CMN_INIT
2642ccflags-$(CONFIG_HIF_SNOC) += -DCE_SVC_CMN_INIT
2643
2644ifeq ($(CONFIG_QCA6290_11AX), y)
2645cppflags-y += -DQCA_WIFI_QCA6290_11AX -DQCA_WIFI_QCA6290_11AX_MU_UL
2646endif
2647
2648ifeq ($(CONFIG_LITHIUM), y)
2649cppflags-$(CONFIG_WLAN_TX_FLOW_CONTROL_V2) += -DQCA_AC_BASED_FLOW_CONTROL
2650endif
2651
2652cppflags-$(CONFIG_WLAN_CLD_PM_QOS) += -DCLD_PM_QOS
2653cppflags-$(CONFIG_WLAN_FEATURE_11AX) += -DWLAN_FEATURE_11AX
2654cppflags-$(CONFIG_WLAN_FEATURE_11AX) += -DWLAN_FEATURE_11AX_BSS_COLOR
2655cppflags-$(CONFIG_WLAN_FEATURE_11AX) += -DSUPPORT_11AX_D3
2656
2657cppflags-$(CONFIG_LITHIUM) += -DFEATURE_AST
2658cppflags-$(CONFIG_LITHIUM) += -DPEER_PROTECTED_ACCESS
2659cppflags-$(CONFIG_LITHIUM) += -DSERIALIZE_QUEUE_SETUP
2660cppflags-$(CONFIG_LITHIUM) += -DDP_RX_PKT_NO_PEER_DELIVER
2661cppflags-$(CONFIG_VERBOSE_DEBUG) += -DENABLE_VERBOSE_DEBUG
2662cppflags-$(CONFIG_RX_DESC_DEBUG_CHECK) += -DRX_DESC_DEBUG_CHECK
2663#Enable STATE MACHINE HISTORY
2664cppflags-$(CONFIG_SM_ENG_HIST) += -DSM_ENG_HIST_ENABLE
2665cppflags-$(CONFIG_FEATURE_VDEV_RSP_WAKELOCK) += -DFEATURE_VDEV_RSP_WAKELOCK
2666
2667# Vendor Commands
2668cppflags-$(CONFIG_FEATURE_RSSI_MONITOR) += -DFEATURE_RSSI_MONITOR
2669cppflags-$(CONFIG_FEATURE_BSS_TRANSITION) += -DFEATURE_BSS_TRANSITION
2670cppflags-$(CONFIG_FEATURE_STATION_INFO) += -DFEATURE_STATION_INFO
2671cppflags-$(CONFIG_FEATURE_TX_POWER) += -DFEATURE_TX_POWER
2672cppflags-$(CONFIG_FEATURE_OTA_TEST) += -DFEATURE_OTA_TEST
2673cppflags-$(CONFIG_FEATURE_ACTIVE_TOS) += -DFEATURE_ACTIVE_TOS
2674cppflags-$(CONFIG_FEATURE_SAR_LIMITS) += -DFEATURE_SAR_LIMITS
2675cppflags-$(CONFIG_FEATURE_CONCURRENCY_MATRIX) += -DFEATURE_CONCURRENCY_MATRIX
2676cppflags-$(CONFIG_FEATURE_SAP_COND_CHAN_SWITCH) += -DFEATURE_SAP_COND_CHAN_SWITCH
2677
2678#if converged p2p is enabled
2679ifeq ($(CONFIG_CONVERGED_P2P_ENABLE), y)
2680cppflags-$(CONFIG_FEATURE_P2P_LISTEN_OFFLOAD) += -DFEATURE_P2P_LISTEN_OFFLOAD
2681endif
2682
2683#Flags to enable/disable WMI APIs
2684cppflags-$(CONFIG_WMI_ROAM_SUPPORT) += -DWMI_ROAM_SUPPORT
2685cppflags-$(CONFIG_WMI_CONCURRENCY_SUPPORT) += -DWMI_CONCURRENCY_SUPPORT
2686cppflags-$(CONFIG_WMI_STA_SUPPORT) += -DWMI_STA_SUPPORT
2687
2688cppflags-y += -DWMI_MULTI_MAC_SVC
2689
2690# Dummy flag for WIN/MCL converged data path compilation
2691cppflags-y += -DDP_PRINT_ENABLE=0
2692cppflags-y += -DATH_SUPPORT_WRAP=0
2693cppflags-y += -DQCA_HOST2FW_RXBUF_RING
2694cppflags-y += -DDP_FLOW_CTL
2695cppflags-y += -DDP_PEER_EXTENDED_API
2696cppflags-y += -DDP_POWER_SAVE
2697cppflags-y += -DDP_CON_MON
2698cppflags-y += -DDP_MOB_DEFS
2699cppflags-y += -DDP_PRINT_NO_CONSOLE
2700cppflags-y += -DDP_INTR_POLL_BOTH
2701cppflags-y += -DDP_INVALID_PEER_ASSERT
2702#endof dummy flags
2703
2704ccflags-$(CONFIG_ENABLE_SIZE_OPTIMIZE) += -Os
2705
2706# DFS component
2707cppflags-$(CONFIG_WLAN_DFS_STATIC_MEM_ALLOC) += -DWLAN_DFS_STATIC_MEM_ALLOC
2708cppflags-$(CONFIG_WLAN_DFS_MASTER_ENABLE) += -DQCA_MCL_DFS_SUPPORT
2709ifeq ($(CONFIG_WLAN_FEATURE_DFS_OFFLOAD), y)
2710cppflags-$(CONFIG_WLAN_DFS_MASTER_ENABLE) += -DWLAN_DFS_FULL_OFFLOAD
2711else
2712cppflags-$(CONFIG_WLAN_DFS_MASTER_ENABLE) += -DWLAN_DFS_PARTIAL_OFFLOAD
2713endif
2714cppflags-$(CONFIG_WLAN_DFS_MASTER_ENABLE) += -DDFS_COMPONENT_ENABLE
2715cppflags-$(CONFIG_WLAN_DFS_MASTER_ENABLE) += -DQCA_DFS_USE_POLICY_MANAGER
2716cppflags-$(CONFIG_WLAN_DFS_MASTER_ENABLE) += -DQCA_DFS_NOL_PLATFORM_DRV_SUPPORT
2717
2718cppflags-$(CONFIG_WLAN_DEBUGFS) += -DWLAN_DEBUGFS
2719
2720cppflags-$(CONFIG_DYNAMIC_DEBUG) += -DFEATURE_MULTICAST_HOST_FW_MSGS
2721
2722cppflags-$(CONFIG_ENABLE_SMMU_S1_TRANSLATION) += -DENABLE_SMMU_S1_TRANSLATION
2723
2724#Flag to enable/disable MTRACE feature
2725cppflags-$(CONFIG_ENABLE_MTRACE_LOG) += -DENABLE_MTRACE_LOG
2726
2727#Flag to enable/disable Adaptive 11r feature
2728cppflags-$(CONFIG_ADAPTIVE_11R) += -DWLAN_ADAPTIVE_11R
2729
2730#Flag to enable NUD tracking
2731cppflags-$(CONFIG_WLAN_NUD_TRACKING) += -DWLAN_NUD_TRACKING
2732
2733#Flag to enable set and get disable channel list feature
2734cppflags-$(CONFIG_DISABLE_CHANNEL_LIST) += -DDISABLE_CHANNEL_LIST
2735
2736#Flag to enable/disable WIPS feature
2737cppflags-$(CONFIG_WLAN_BCN_RECV_FEATURE) += -DWLAN_BCN_RECV_FEATURE
2738
2739#Flag to enable/disable LTE COEX support
2740cppflags-$(CONFIG_LTE_COEX) += -DLTE_COEX
2741
2742#Flag to enable/disable HOST_OPCLASS
2743cppflags-$(CONFIG_HOST_OPCLASS) += -DHOST_OPCLASS
2744
2745#Flag to enable/disable TARGET_11D_SCAN
2746cppflags-$(CONFIG_TARGET_11D_SCAN) += -DTARGET_11D_SCAN
2747
2748#Flag to enable/disable avoid acs frequency list feature
2749cppflags-$(CONFIG_SAP_AVOID_ACS_FREQ_LIST) += -DSAP_AVOID_ACS_FREQ_LIST
2750
2751#Flag to enable Dynamic Voltage WDCVS (Config Voltage Mode)
2752cppflags-$(CONFIG_WLAN_DYNAMIC_CVM) += -DFEATURE_WLAN_DYNAMIC_CVM
2753
2754#Flag to enable get firmware state feature
2755cppflags-$(CONFIG_QCACLD_FEATURE_FW_STATE) += -DFEATURE_FW_STATE
2756
2757#Flag to enable set coex configuration feature
2758cppflags-$(CONFIG_QCACLD_FEATURE_COEX_CONFIG) += -DFEATURE_COEX_CONFIG
2759
2760#Flag to enable MPTA helper feature
2761cppflags-$(CONFIG_QCACLD_FEATURE_MPTA_HELPER) += -DFEATURE_MPTA_HELPER
2762
2763#Flag to enable get hw capability
2764cppflags-$(CONFIG_QCACLD_FEATURE_HW_CAPABILITY) += -DFEATURE_HW_CAPABILITY
2765
2766cppflags-$(CONFIG_DATA_CE_SW_INDEX_NO_INLINE_UPDATE) += -DDATA_CE_SW_INDEX_NO_INLINE_UPDATE
2767
2768#Flag to enable Multi page memory allocation for RX descriptor pool
2769cppflags-$(CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC) += -DRX_DESC_MULTI_PAGE_ALLOC
2770
2771cppflags-$(CONFIG_WLAN_FEATURE_DP_EVENT_HISTORY) += -DWLAN_FEATURE_DP_EVENT_HISTORY
2772cppflags-$(CONFIG_WLAN_DP_PER_RING_TYPE_CONFIG) += -DWLAN_DP_PER_RING_TYPE_CONFIG
2773cppflags-$(CONFIG_SAP_DHCP_FW_IND) += -DSAP_DHCP_FW_IND
2774
2775ifdef CONFIG_MAX_LOGS_PER_SEC
2776ccflags-y += -DWLAN_MAX_LOGS_PER_SEC=$(CONFIG_MAX_LOGS_PER_SEC)
2777endif
2778
2779ifdef CONFIG_SCHED_HISTORY_SIZE
2780ccflags-y += -DWLAN_SCHED_HISTORY_SIZE=$(CONFIG_SCHED_HISTORY_SIZE)
2781endif
2782
2783# configure log buffer size
2784ifdef CONFIG_CFG_NUM_DP_TRACE_RECORD
2785ccflags-y += -DMAX_QDF_DP_TRACE_RECORDS=$(CONFIG_CFG_NUM_DP_TRACE_RECORD)
2786endif
2787
2788ifdef CONFIG_CFG_NUM_HTC_CREDIT_HISTORY
2789ccflags-y += -DHTC_CREDIT_HISTORY_MAX=$(CONFIG_CFG_NUM_HTC_CREDIT_HISTORY)
2790endif
2791
2792ifdef CONFIG_CFG_NUM_WMI_EVENT_HISTORY
2793ccflags-y += -DWMI_EVENT_DEBUG_MAX_ENTRY=$(CONFIG_CFG_NUM_WMI_EVENT_HISTORY)
2794endif
2795
2796ifdef CONFIG_CFG_NUM_WMI_MGMT_EVENT_HISTORY
2797ccflags-y += -DWMI_MGMT_EVENT_DEBUG_MAX_ENTRY=$(CONFIG_CFG_NUM_WMI_MGMT_EVENT_HISTORY)
2798endif
2799
2800ifdef CONFIG_CFG_NUM_TX_RX_HISTOGRAM
2801ccflags-y += -DNUM_TX_RX_HISTOGRAM=$(CONFIG_CFG_NUM_TX_RX_HISTOGRAM)
2802endif
2803
2804ifdef CONFIG_CFG_NUM_RX_IND_RECORD
2805ccflags-y += -DOL_RX_INDICATION_MAX_RECORDS=$(CONFIG_CFG_NUM_RX_IND_RECORD)
2806endif
2807
2808ifdef CONFIG_CFG_NUM_ROAM_DEBUG_RECORD
2809ccflags-y += -DWLAN_ROAM_DEBUG_MAX_REC=$(CONFIG_CFG_NUM_ROAM_DEBUG_RECORD)
2810endif
2811
2812ifdef CONFIG_CFG_PMO_WOW_FILTERS_MAX
2813ccflags-y += -DPMO_WOW_FILTERS_MAX=$(CONFIG_CFG_PMO_WOW_FILTERS_MAX)
2814endif
2815
2816ifdef CONFIG_CFG_GTK_OFFLOAD_MAX_VDEV
2817ccflags-y += -DCFG_TGT_DEFAULT_GTK_OFFLOAD_MAX_VDEV=$(CONFIG_CFG_GTK_OFFLOAD_MAX_VDEV)
2818endif
2819
2820ifdef CONFIG_TGT_NUM_MSDU_DESC
2821ccflags-y += -DCFG_TGT_NUM_MSDU_DESC=$(CONFIG_TGT_NUM_MSDU_DESC)
2822endif
2823
2824ifdef CONFIG_CFG_ROAM_OFFLOAD_MAX_VDEV
2825ccflags-y += -DCFG_TGT_DEFAULT_ROAM_OFFLOAD_MAX_VDEV=$(CONFIG_CFG_ROAM_OFFLOAD_MAX_VDEV)
2826endif
2827
2828ifdef CONFIG_CFG_MAX_PERIODIC_TX_PTRNS
2829ccflags-y += -DWMA_MAXNUM_PERIODIC_TX_PTRNS=$(CONFIG_CFG_MAX_PERIODIC_TX_PTRNS)
2830endif
2831
2832ifdef CONFIG_CFG_MAX_STA_VDEVS
2833ccflags-y += -DCFG_TGT_DEFAULT_MAX_STA_VDEVS=$(CONFIG_CFG_MAX_STA_VDEVS)
2834endif
2835
2836ifdef CONFIG_CFG_NUM_OF_ADDITIONAL_FW_PEERS
2837ccflags-y += -DNUM_OF_ADDITIONAL_FW_PEERS=$(CONFIG_CFG_NUM_OF_ADDITIONAL_FW_PEERS)
2838endif
2839
2840ifdef CONFIG_CFG_NUM_OF_TDLS_CONN_TABLE_ENTRIES
2841ccflags-y += -DCFG_TGT_NUM_TDLS_CONN_TABLE_ENTRIES=$(CONFIG_CFG_NUM_OF_TDLS_CONN_TABLE_ENTRIES)
2842endif
2843
2844CONFIG_WLAN_MAX_PSOCS ?= 1
2845ccflags-y += -DWLAN_MAX_PSOCS=$(CONFIG_WLAN_MAX_PSOCS)
2846
2847CONFIG_WLAN_MAX_PDEVS ?= 1
2848ccflags-y += -DWLAN_MAX_PDEVS=$(CONFIG_WLAN_MAX_PDEVS)
2849
2850CONFIG_WLAN_MAX_VDEVS ?= 5
2851ccflags-y += -DWLAN_MAX_VDEVS=$(CONFIG_WLAN_MAX_VDEVS)
2852
2853#Maximum pending commands for a vdev is calculated in vdev create handler
2854#by WLAN_SER_MAX_PENDING_CMDS/WLAN_SER_MAX_VDEVS. For SAP case, we will need
2855#to accommodate 32 Pending commands to handle multiple STA sending
2856#deauth/disassoc at the same time and for STA vdev,4 non scan pending commands
2857#are supported. So calculate WLAN_SER_MAX_PENDING_COMMANDS based on the SAP
2858#modes supported and no of STA vdev total non scan pending queue. Reserve
2859#additional 3 pending commands for WLAN_SER_MAX_PENDING_CMDS_AP to account for
2860#other commands like hardware mode change.
2861
2862ifdef CONFIG_SIR_SAP_MAX_NUM_PEERS
2863CONFIG_WLAN_SER_MAX_PENDING_CMDS_AP ?=$(CONFIG_SIR_SAP_MAX_NUM_PEERS)
2864else
2865CONFIG_WLAN_SER_MAX_PENDING_CMDS_AP ?=32
2866endif
2867ccflags-y += -DWLAN_SER_MAX_PENDING_CMDS_AP=$(CONFIG_WLAN_SER_MAX_PENDING_CMDS_AP)+3
2868
2869CONFIG_WLAN_SER_MAX_PENDING_CMDS_STA ?= 4
2870ccflags-y += -DWLAN_SER_MAX_PENDING_CMDS_STA=$(CONFIG_WLAN_SER_MAX_PENDING_CMDS_STA)
2871
2872CONFIG_WLAN_MAX_PENDING_CMDS ?= $(CONFIG_WLAN_SER_MAX_PENDING_CMDS_AP)*3+$(CONFIG_WLAN_SER_MAX_PENDING_CMDS_STA)*2
2873
2874ccflags-y += -DWLAN_SER_MAX_PENDING_CMDS=$(CONFIG_WLAN_MAX_PENDING_CMDS)
2875
2876CONFIG_WLAN_PDEV_MAX_VDEVS ?= $(CONFIG_WLAN_MAX_VDEVS)
2877ccflags-y += -DWLAN_PDEV_MAX_VDEVS=$(CONFIG_WLAN_PDEV_MAX_VDEVS)
2878
2879CONFIG_WLAN_PSOC_MAX_VDEVS ?= $(CONFIG_WLAN_MAX_VDEVS)
2880ccflags-y += -DWLAN_PSOC_MAX_VDEVS=$(CONFIG_WLAN_PSOC_MAX_VDEVS)
2881
2882CONFIG_MAX_SCAN_CACHE_SIZE ?= 300
2883ccflags-y += -DMAX_SCAN_CACHE_SIZE=$(CONFIG_MAX_SCAN_CACHE_SIZE)
2884CONFIG_SCAN_MAX_REST_TIME ?= 0
2885ccflags-y += -DSCAN_MAX_REST_TIME=$(CONFIG_SCAN_MAX_REST_TIME)
2886CONFIG_SCAN_MIN_REST_TIME ?= 0
2887ccflags-y += -DSCAN_MIN_REST_TIME=$(CONFIG_SCAN_MIN_REST_TIME)
2888CONFIG_SCAN_BURST_DURATION ?= 0
2889ccflags-y += -DSCAN_BURST_DURATION=$(CONFIG_SCAN_BURST_DURATION)
2890CONFIG_SCAN_PROBE_SPACING_TIME ?= 0
2891ccflags-y += -DSCAN_PROBE_SPACING_TIME=$(CONFIG_SCAN_PROBE_SPACING_TIME)
2892CONFIG_SCAN_PROBE_DELAY ?= 0
2893ccflags-y += -DSCAN_PROBE_DELAY=$(CONFIG_SCAN_PROBE_DELAY)
2894CONFIG_SCAN_MAX_SCAN_TIME ?= 30000
2895ccflags-y += -DSCAN_MAX_SCAN_TIME=$(CONFIG_SCAN_MAX_SCAN_TIME)
2896CONFIG_SCAN_NETWORK_IDLE_TIMEOUT ?= 0
2897ccflags-y += -DSCAN_NETWORK_IDLE_TIMEOUT=$(CONFIG_SCAN_NETWORK_IDLE_TIMEOUT)
2898CONFIG_HIDDEN_SSID_TIME ?= 0xFFFFFFFF
2899ccflags-y += -DHIDDEN_SSID_TIME=$(CONFIG_HIDDEN_SSID_TIME)
2900CONFIG_SCAN_CHAN_STATS_EVENT_ENAB ?= false
2901ccflags-y += -DSCAN_CHAN_STATS_EVENT_ENAB=$(CONFIG_SCAN_CHAN_STATS_EVENT_ENAB)
2902CONFIG_MAX_BCN_PROBE_IN_SCAN_QUEUE ?= 150
2903ccflags-y += -DMAX_BCN_PROBE_IN_SCAN_QUEUE=$(CONFIG_MAX_BCN_PROBE_IN_SCAN_QUEUE)
2904
2905
2906CONFIG_MGMT_DESC_POOL_MAX ?= 64
2907ccflags-y += -DMGMT_DESC_POOL_MAX=$(CONFIG_MGMT_DESC_POOL_MAX)
2908
2909ifdef CONFIG_SIR_SAP_MAX_NUM_PEERS
2910ccflags-y += -DSIR_SAP_MAX_NUM_PEERS=$(CONFIG_SIR_SAP_MAX_NUM_PEERS)
2911endif
2912
2913ifdef CONFIG_BEACON_TX_OFFLOAD_MAX_VDEV
2914ccflags-y += -DCFG_TGT_DEFAULT_BEACON_TX_OFFLOAD_MAX_VDEV=$(CONFIG_BEACON_TX_OFFLOAD_MAX_VDEV)
2915endif
2916
2917ifdef CONFIG_LOCK_STATS_ON
2918ccflags-y += -DQDF_LOCK_STATS=1
2919ccflags-y += -DQDF_LOCK_STATS_DESTROY_PRINT=0
2920ifneq ($(CONFIG_ARCH_SDXPRAIRIE), y)
2921ccflags-y += -DQDF_LOCK_STATS_BUG_ON=1
2922endif
2923ccflags-y += -DQDF_LOCK_STATS_LIST=1
2924ccflags-y += -DQDF_LOCK_STATS_LIST_SIZE=256
2925endif
2926
2927ifdef CONFIG_FW_THERMAL_THROTTLE
2928ccflags-y += -DFW_THERMAL_THROTTLE_SUPPORT
2929endif
2930
2931cppflags-y += -DFEATURE_NBUFF_REPLENISH_TIMER
2932cppflags-y += -DPEER_CACHE_RX_PKTS
2933cppflags-y += -DPCIE_REG_WINDOW_LOCAL_NO_CACHE
2934
2935cppflags-y += -DSERIALIZE_VDEV_RESP_TIMER
2936cppflags-y += -DTGT_IF_VDEV_MGR_CONV
2937
2938cppflags-y += -DCONFIG_CHAN_NUM_API
2939cppflags-y += -DCONFIG_CHAN_FREQ_API
2940
2941cppflags-$(CONFIG_BAND_6GHZ) += -DCONFIG_BAND_6GHZ
2942
2943ccflags-$(CONFIG_HASTINGS_BT_WAR) += -DHASTINGS_BT_WAR
2944
2945cppflags-$(CONFIG_SLUB_DEBUG_ON) += -DHIF_CONFIG_SLUB_DEBUG_ON
2946
2947ccflags-$(CONFIG_FOURTH_CONNECTION) += -DFEATURE_FOURTH_CONNECTION
2948ccflags-$(CONFIG_WMI_SEND_RECV_QMI) += -DWLAN_FEATURE_WMI_SEND_RECV_QMI
2949
2950KBUILD_CPPFLAGS += $(cppflags-y)
2951
2952# Currently, for versions of gcc which support it, the kernel Makefile
2953# is disabling the maybe-uninitialized warning.  Re-enable it for the
2954# WLAN driver.  Note that we must use ccflags-y here so that it
2955# will override the kernel settings.
2956ifeq ($(call cc-option-yn, -Wmaybe-uninitialized), y)
2957ccflags-y += -Wmaybe-uninitialized
2958ifneq (y,$(CONFIG_ARCH_MSM))
2959ccflags-y += -Wframe-larger-than=4096
2960endif
2961endif
2962ccflags-y += -Wmissing-prototypes
2963
2964ifeq ($(call cc-option-yn, -Wheader-guard), y)
2965ccflags-y += -Wheader-guard
2966endif
2967# If the module name is not "wlan", then the define MULTI_IF_NAME to be the
2968# same a the QCA CHIP name. The host driver will then append MULTI_IF_NAME to
2969# any string that must be unique for all instances of the driver on the system.
2970# This allows multiple instances of the driver with different module names.
2971# If the module name is wlan, leave MULTI_IF_NAME undefined and the code will
2972# treat the driver as the primary driver.
2973#
2974# If DYNAMIC_SINGLE_CHIP is defined, which means there are multiple possible
2975# drivers, but only 1 driver will be loaded at a time(WLAN dynamic detect),
2976# leave MULTI_IF_NAME undefined, no matter what the module name is, then
2977# host driver will only append DYNAMIC_SINGLE_CHIP to the path of
2978# firmware/mac/ini file.
2979ifneq ($(DYNAMIC_SINGLE_CHIP),)
2980ccflags-y += -DDYNAMIC_SINGLE_CHIP=\"$(DYNAMIC_SINGLE_CHIP)\"
2981else
2982
2983ifneq ($(MODNAME), wlan)
2984CHIP_NAME ?= $(MODNAME)
2985ccflags-y += -DMULTI_IF_NAME=\"$(CHIP_NAME)\"
2986endif
2987
2988endif #DYNAMIC_SINGLE_CHIP
2989
2990# WLAN_HDD_ADAPTER_MAGIC must be unique for all instances of the driver on the
2991# system. If it is not defined, then the host driver will use the first 4
2992# characters (including NULL) of MULTI_IF_NAME to construct
2993# WLAN_HDD_ADAPTER_MAGIC.
2994ifdef WLAN_HDD_ADAPTER_MAGIC
2995ccflags-y += -DWLAN_HDD_ADAPTER_MAGIC=$(WLAN_HDD_ADAPTER_MAGIC)
2996endif
2997
2998# Max no of Serialization msg queue depth for MCL. If it is not
2999# defined, then SCHEDULER_CORE_MAX_MESSAGES will be 4000 for
3000# WIN.
3001
3002ccflags-y += -DSCHEDULER_CORE_MAX_MESSAGES=1000
3003
3004# Defining Reduction Limit 0 for MCL. If it is not defined,
3005#then WLAN_SCHED_REDUCTION_LIMIT will be 32 for
3006# WIN.
3007ccflags-y += -DWLAN_SCHED_REDUCTION_LIMIT=0
3008
3009# Determine if we are building against an arm architecture host
3010ifeq ($(findstring arm, $(ARCH)),)
3011	ccflags-y += -DWLAN_HOST_ARCH_ARM=0
3012else
3013	ccflags-y += -DWLAN_HOST_ARCH_ARM=1
3014endif
3015
3016# inject some build related information
3017ifeq ($(CONFIG_BUILD_TAG), y)
3018CLD_CHECKOUT = $(shell cd "$(WLAN_ROOT)" && \
3019	git reflog | grep -vm1 "}: cherry-pick: " | grep -oE ^[0-f]+)
3020CLD_IDS = $(shell cd "$(WLAN_ROOT)" && \
3021	git log -50 $(CLD_CHECKOUT)~..HEAD | \
3022		sed -nE 's/^\s*Change-Id: (I[0-f]{10})[0-f]{30}\s*$$/\1/p' | \
3023		paste -sd "," -)
3024
3025CMN_CHECKOUT = $(shell cd "$(WLAN_COMMON_INC)" && \
3026	git reflog | grep -vm1 "}: cherry-pick: " | grep -oE ^[0-f]+)
3027CMN_IDS = $(shell cd "$(WLAN_COMMON_INC)" && \
3028	git log -50 $(CMN_CHECKOUT)~..HEAD | \
3029		sed -nE 's/^\s*Change-Id: (I[0-f]{10})[0-f]{30}\s*$$/\1/p' | \
3030		paste -sd "," -)
3031
3032TIMESTAMP = $(shell date -u +'%Y-%m-%dT%H:%M:%SZ')
3033BUILD_TAG = "$(TIMESTAMP); cld:$(CLD_IDS); cmn:$(CMN_IDS);"
3034# It's assumed that BUILD_TAG is used only in wlan_hdd_main.c
3035CFLAGS_wlan_hdd_main.o += -DBUILD_TAG=\"$(BUILD_TAG)\"
3036endif
3037
3038# Module information used by KBuild framework
3039obj-$(CONFIG_QCA_CLD_WLAN) += $(MODNAME).o
3040$(MODNAME)-y := $(OBJS)
3041OBJS_DIRS := $(dir $(OBJS)) \
3042	     $(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ \
3043	     $(QDF_OBJ_DIR)/ \
3044	     $(WLAN_COMMON_ROOT)/$(HIF_PCIE_DIR)/ \
3045	     $(WLAN_COMMON_ROOT)/$(HIF_SNOC_DIR)/ \
3046	     $(WLAN_COMMON_ROOT)/$(HIF_SDIO_DIR)/
3047CLEAN_DIRS := $(addsuffix *.o,$(sort $(OBJS_DIRS))) \
3048	      $(addsuffix .*.o.cmd,$(sort $(OBJS_DIRS)))
3049clean-files := $(CLEAN_DIRS)
3050