xref: /wlan-dirver/qca-wifi-host-cmn/spectral/Kbuild (revision 3149adf58a329e17232a4c0e58d460d025edd55a)
1ifeq ($(obj),)
2obj := .
3endif
4
5DEPTH := ../..
6
7ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1)
8export QCA_PARTNER_MAKE_F_INC=1
9endif
10
11include $(obj)/$(DEPTH)/os/linux/Makefile-linux.common
12
13INCS += -I$(HAL) -I$(HAL)/$(OS) -I$(ATH) -I$(ATH_RATE) -I$(ATH_PKTLOG) -I$(WLAN) -I$(IF_WLAN) -I$(ATH_SPECTRAL) -I$(ATHEROSPATH) -I$(obj)/$(DEPTH)/../../apps/spectral/common
14INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/inc -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/obj_mgr/inc
15INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/cmn_defs/inc
16INCS += -I$(obj)/$(DEPTH)/cmn_dev/utils/nlink/inc
17INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/scan/dispatcher/inc
18INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/cmn_defs/inc
19INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/global_umac_dispatcher/lmac_if/inc
20INCS += -I$(obj)/$(DEPTH)/cmn_dev/scheduler/inc
21INCS += -I$(obj)/$(DEPTH)/cmn_dev/global_lmac_if/inc
22INCS += -I$(obj)/$(DEPTH)/umac/scan
23INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/mgmt_txrx/dispatcher/inc
24INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/regulatory/dispatcher/inc
25INCS += -I$(obj)/$(DEPTH)/umac/son/dispatcher/inc
26INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/dfs/dispatcher/inc
27INCS += -I$(obj)/$(DEPTH)/cmn_dev/os_if/linux/spectral/inc
28INCS += -I$(obj)/$(DEPTH)/cmn_dev/os_if/linux/scan/inc
29INCS += -I$(obj)/$(DEPTH)/cmn_dev/spectral/core
30INCS += -I$(obj)/$(DEPTH)/cmn_dev/target_if/direct_buf_rx/inc
31
32ifeq ($(WLAN_CONV_CRYPTO_SUPPORTED), 1)
33INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/crypto/inc
34endif
35
36ifeq ($(WLAN_SUPPORT_GREEN_AP), 1)
37INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/green_ap/dispatcher/inc
38endif
39
40#Start of offload related deifines
41HOST_CMN_CONVG_SRC := $(DEPTH)/cmn_dev
42HOST_CMN_CONVG_HIF_SRC := $(DEPTH)/cmn_dev/hif/src
43HOST_CMN_CONVG_HIF_INC1 := $(DEPTH)/cmn_dev/hif
44HOST_CMN_CONVG_HTC_INC := $(DEPTH)/cmn_dev/htc
45HOST_CMN_CONVG_DP_INC := $(DEPTH)/cmn_dev/dp/wifi3.0
46HOST_CMN_CONVG_CFG_INC := $(DEPTH)/cmn_dev/wlan_cfg
47HOST_CMN_CONVG_HAL_INC := $(DEPTH)/cmn_dev/hal/inc
48HOST_CMN_CONVG_HAL_WIFI_INC := $(DEPTH)/cmn_dev/hal/wifi3.0
49
50INCS += -I$(obj)/$(DEPTH)/include -I$(obj)/$(DEPTH)/umac/include \
51        -I$(obj)/$(DEPTH)/umac/if_lmac -I$(obj)/$(DEPTH)/umac/crypto \
52        -I$(obj)/$(DEPTH)/umac/scan -I$(obj)/$(DEPTH)/umac/resmgr \
53        -I$(obj)/$(DEPTH)/umac/pm -I$(obj)/$(DEPTH)/umac/txrx \
54        -I$(obj)/$(DEPTH)/umac/acs -I$(obj)/$(DEPTH)/umac/txbf \
55        -I$(obj)/$(DEPTH)/umac/wnm \
56        -I$(obj)/$(DEPTH)/umac/tdls \
57        -I$(obj)/$(DEPTH)/umac/rpt_placement \
58        -I$(obj)/$(DEPTH)/umac/wifipos \
59        -I$(obj)/$(DEPTH)/umac/wds -I$(obj)/$(DEPTH)/umac/ique \
60        -I$(obj)/$(DEPTH)/hal -I$(obj)/$(DEPTH)/lmac/ath_dev \
61        -I$(obj)/$(DEPTH)/hal/$(OS) \
62        -I$(obj)/$(DEPTH)/umac/vi_dbg \
63        -I$(obj)/$(DEPTH)/umac/smart_antenna \
64        -I$(obj)/$(DEPTH)/umac/smart_ant \
65        -I$(obj)/$(DEPTH)/umac/ald \
66        -I$(obj)/$(DEPTH)/lmac/ath_pktlog \
67        -I$(obj)/$(DEPTH)/lmac/ratectrl \
68        -I$(obj)/$(DEPTH)/os/linux/mem/ \
69        -I$(obj)/$(DEPTH)/umac/base \
70        -I$(obj)/$(DEPTH)/qca_ol \
71        -I$(obj)/$(DEPTH)/cmn_dev/qdf/inc \
72        -I$(obj)/$(DEPTH)/cmn_dev/qdf/linux/src \
73        -I$(obj)/$(DEPTH)/cmn_dev/hif \
74        -I$(obj)/$(DEPTH)/cmn_dev/hif/inc \
75        -I$(obj)/$(DEPTH)/cmn_dev/hif/src \
76        -I$(obj)/$(DEPTH)/cmn_dev/hif/src/ce \
77        -I$(obj)/$(DEPTH)/cmn_dev/hif/src/pcie \
78        -I$(obj)/$(DEPTH)/cmn_dev/hif/src/snoc \
79        -I$(obj)/$(DEPTH)/cmn_dev/hif/src/dispatcher \
80        -I$(obj)/$(DEPTH)/cmn_dev/pld_stub/inc  \
81        -I$(obj)/$(DEPTH)/cmn_dev/hal/inc \
82        -I$(obj)/$(DEPTH)/cmn_dev/hal/wifi3.0 \
83        -I$(obj)/$(DEPTH)/cmn_dev/dp/inc \
84        -I$(obj)/$(DEPTH)/cmn_dev/dp/wifi3.0 \
85        -I$(obj)/$(DEPTH)/cmn_dev/wlan_cfg \
86        -I$(obj)/$(HOST_CMN_CONVG_SRC)/htc \
87        -I$(obj)/$(DEPTH)/cmn_dev/wmi/inc \
88        -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/obj_mgr/inc \
89        -I$(obj)/$(HOST_CMN_CONVG_SRC)/scheduler/inc \
90        -I$(obj)/$(HOST_CMN_CONVG_SRC)/init_deinit/dispatcher/inc \
91        -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/inc \
92        -I$(obj)/$(DEPTH)/cmn_dev/umac/global_umac_dispatcher/lmac_if/inc \
93        -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/mgmt_txrx/dispatcher/inc \
94        -I$(obj)/$(DEPTH)/cmn_dev/target_if/init_deinit/inc \
95        -I$(obj)/$(DEPTH)/cmn_dev/global_lmac_if/inc \
96        -I$(obj)/$(DEPTH)/cmn_dev/os_if/linux \
97        -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/cmn_defs/inc \
98        -I$(obj)/$(DEPTH)/cmn_dev/target_if/core/inc \
99        -I$(obj)/$(DEPTH)/cmn_dev/umac/scan/dispatcher/inc \
100        -I$(obj)/$(DEPTH)/umac/scan \
101        -I$(obj)/$(DEPTH)/cmn_dev/ol_if \
102        -I$(obj)/$(DEPTH)/cmn_dev/target_if/scan/inc \
103        -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/serialization/core/inc \
104        -I$(obj)/$(DEPTH)/cmn_dev/umac/regulatory/dispatcher/inc \
105        -I$(obj)/$(DEPTH)/cmn_dev/target_if/regulatory/inc \
106
107PERF_PWR_OFFLOAD_INC += -I$(PERF_PWR_OFFLOAD_DIR_PATH)/wlan/include \
108 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/wlan/ath_pktlog/include \
109 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/htt/include \
110 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/wlan/txrx/include \
111 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/include \
112 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/include \
113 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/hif/pci \
114 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/hif/pci/linux   \
115 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/os/linux/include \
116 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/wlan/regdmn \
117 -I$(PERF_PWR_OFFLOAD_DIR_PATH)/wlan/lmac_offload_if \
118 -I$(HOST_CMN_CONVG_HIF_INC1)/inc \
119 -I$(HOST_CMN_CONVG_HIF_INC1)/src \
120 -I$(HOST_CMN_CONVG_HIF_INC1)/src/pcie \
121 -I$(HOST_CMN_CONVG_HIF_INC1)/src/snoc \
122 -I$(HOST_CMN_CONVG_SRC)/pld_stub/inc \
123 -I$(HOST_CMN_CONVG_HIF_SRC)/ce \
124 -I$(HOST_CMN_CONVG_HTC_INC) \
125 -I$(HOST_CMN_CONVG_CFG_INC) \
126 -I$(HOST_CMN_CONVG_DP_INC) \
127 -I$(HOST_CMN_CONVG_HAL_INC) \
128 -I$(HOST_CMN_CONVG_HAL_WIFI_INC) \
129 -I$(PERF_PWR_OFFLOAD_WMI_SRC)/inc \
130 -I$(obj)/$(DEPTH)/offload/extra_include
131
132#Add HK/BL Fw header path required by common files
133ifeq (1, ${WIFI_TARGET_3_0})
134PERF_PWR_OFFLOAD_INC += -I$(PERF_PWR_OFFLOAD_DIR_PATH)/include/fwcommon \
135                       -I$(PERF_PWR_OFFLOAD_DIR_PATH)/include/fwcommon/htt_stats
136else
137PERF_PWR_OFFLOAD_INC += -I$(PERF_PWR_OFFLOAD_DIR_PATH)/include/legacy
138endif
139
140INCS += $(PERF_PWR_OFFLOAD_INC)
141INCS += -I$(obj)/$(DEPTH)/cmn_dev/target_if/spectral
142INCS += -I$(obj)/$(DEPTH)/cmn_dev/wmi/inc
143INCS += -I$(PERF_PWR_OFFLOAD_DIR_PATH)/hw/include
144#end of offload related defines
145
146#Start of Legacy spectral related defines
147INCS += -I$(HAL) -I$(HAL)/$(OS) -I$(ATH) -I$(ATH_RATE) -I$(ATH_PKTLOG) -I$(WLAN) -I$(IF_WLAN) -I$(ATH_SPECTRAL) -I$(ATHEROSPATH) -I$(obj)/$(DEPTH)/../../apps/spectral/common
148INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/inc -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/obj_mgr/inc
149INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/cmn_defs/inc
150INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/scan/dispatcher/inc
151INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/cmn_defs/inc
152INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/global_umac_dispatcher/lmac_if/inc
153INCS += -I$(obj)/$(DEPTH)/cmn_dev/scheduler/inc
154INCS += -I$(obj)/$(DEPTH)/umac/scan
155INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/mgmt_txrx/dispatcher/inc
156INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/regulatory/dispatcher/inc
157INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/dfs/dispatcher/inc
158
159SPECTRAL_DA_OBJS := $(DEPTH)/lmac/spectral/spectral.o \
160                    $(DEPTH)/lmac/spectral/spectral_netlink.o \
161                    $(DEPTH)/lmac/spectral/spectral_cmds.o \
162                    $(DEPTH)/lmac/spectral/spectral_process_data.o \
163                    $(DEPTH)/lmac/spectral/spectral_phyerr.o
164#End of legacy spectral defines
165
166ifeq ($(QCA_AIRTIME_FAIRNESS), 1)
167ccflags-y+= -DWLAN_ATF_ENABLE
168INCS += -I$(obj)/$(DEPTH)/umac/airtime_fairness/dispatcher/inc
169endif
170
171ifeq ($(UNIFIED_SMARTANTENNA), 1)
172ccflags-y+= -DWLAN_SA_API_ENABLE
173INCS += -I$(obj)/$(DEPTH)/umac/sa_api/dispatcher/inc
174endif
175
176ifeq ($(strip ${QCA_DFS_COMPONENT_ENABLE}),1)
177ccflags-y+= -DDFS_COMPONENT_ENABLE
178endif
179
180obj-m += qca_spectral.o
181
182ccflags-y+= $(INCS) $(COPTS) -DSPECTRAL_USE_NETLINK_SOCKETS=1 -DWLAN_SPECTRAL_ENABLE=1
183
184ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1)
185MOD_CFLAGS = -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(qca_spectral.mod)"  -D"KBUILD_MODNAME=KBUILD_STR(qca_spectral)"
186endif
187
188INCS += -I$(obj)/$(DEPTH)/spectral/dispatcher/inc
189
190SPECTRAL_TIF_OBJS +=  $(DEPTH)/cmn_dev/target_if/spectral/target_if_spectral.o \
191                      $(DEPTH)/cmn_dev/target_if/spectral/target_if_spectral_netlink.o \
192                      $(DEPTH)/cmn_dev/target_if/spectral/target_if_spectral_phyerr.o \
193                      $(DEPTH)/cmn_dev/target_if/spectral/target_if_spectral_sim.o
194
195SPECTRAL_CMN_OBJS +=  core/spectral_direct_attach.o \
196                      core/spectral_offload.o \
197                      core/spectral_common.o \
198                      dispatcher/src/wlan_spectral_utils_api.o \
199                      dispatcher/src/wlan_spectral_ucfg_api.o \
200                      dispatcher/src/wlan_spectral_tgt_api.o \
201                      core/spectral_module.o \
202                      $(DEPTH)/cmn_dev/os_if/linux/spectral/src/wlan_cfg80211_spectral.o \
203                      $(DEPTH)/cmn_dev/os_if/linux/spectral/src/os_if_spectral_netlink.o
204
205qca_spectral-objs +=  ${SPECTRAL_CMN_OBJS} \
206                      ${SPECTRAL_TIF_OBJS} \
207                      ${SPECTRAL_DA_OBJS}
208
209ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1)
210all: qca_spectral.ko
211
212qca_spectral.mod.o: qca_spectral.mod.c
213	${CC} -c -o $@ ${ccflags-y} ${MOD_CFLAGS} $<
214
215qca_spectral.o: ${qca_spectral-objs}
216	$(LD) -m elf32btsmip -r -o qca_spectral.o $(qca_spectral-objs)
217	$(KERNELPATH)/scripts/mod/modpost qca_spectral.o
218
219qca_spectral.ko: qca_spectral.o qca_spectral.mod.o
220	$(LD) $(LDOPTS) -o qca_spectral.ko qca_spectral.o qca_spectral.mod.o
221
222%.o: %.c
223	${CC} -c -o $@ ${ccflags-y} $<
224endif
225