Kbuild 11 KB

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