1ifeq ($(obj),) 2obj := . 3endif 4 5DEPTH := ../.. 6 7HOST_CMN_CONVG_SRC := $(DEPTH)/cmn_dev 8HOST_CMN_CONVG_NLINK := $(DEPTH)/cmn_dev/utils/nlink 9HOST_CMN_CONVG_LOGGING := $(DEPTH)/cmn_dev/utils/logging 10HOST_CMN_CONVG_PTT := $(DEPTH)/cmn_dev/utils/ptt 11HOST_QAL_SRC := $(DEPTH)/component_dev/qal 12 13include $(obj)/$(DEPTH)/os/linux/Makefile-linux.common 14 15INCS += -Iinclude/nbuf -Iinclude/net -Iinclude/os 16INCS += -Inbuf/linux -Inet/linux -Ios/linux 17INCS += -I$(WLAN_TOP)/../../include 18INCS += -I$(WLAN_TOP)/cmn_dev/qdf/inc 19INCS += -I$(WLAN_TOP)/cmn_dev/qal/inc 20INCS += -I$(WLAN_TOP)/cmn_dev/utils/sys 21INCS += -I$(WLAN_TOP)/component_dev/qal/inc 22INCS += -I$(WLAN_TOP)/cmn_dev/qal/linux/src 23INCS += -I$(WLAN_TOP)/cmn_dev/qdf/linux/src 24INCS += -I$(obj)/$(HOST_CMN_CONVG_PTT)/inc \ 25 -I$(obj)/$(HOST_CMN_CONVG_NLINK)/inc \ 26 -I$(obj)/$(HOST_CMN_CONVG_LOGGING)/inc \ 27 -I$(obj)/$(DEPTH)/cmn_dev/utils/host_diag_log/inc \ 28 -I$(obj)/$(DEPTH)/cmn_dev/utils/host_diag_log/src \ 29 -I$(obj)/$(DEPTH)/cmn_dev/utils/ptt/inc \ 30 -I$(obj)/$(HOST_CMN_CONVG_SRC)/ipa/core/inc \ 31 -I$(obj)/$(HOST_CMN_CONVG_SRC)/ipa/core/src \ 32 -I$(obj)/$(HOST_CMN_CONVG_SRC)/ipa/dispatcher/inc \ 33 -I$(obj)/$(HOST_CMN_CONVG_SRC)/ipa/dispatcher/src \ 34 -I$(WLAN_TOP)/pld/inc 35 36obj-m += qdf.o 37 38inc_file := $(obj)/$(DEPTH)/qdf_inc_opts 39inc_var := $(shell echo $(INCS) > $(inc_file)) 40var := "@$(inc_file)" 41 42EXTRA_CFLAGS+= $(var) $(COPTS) -Wno-unused-function 43 44ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1) 45MOD_CFLAGS = -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(qdf.mod)" -D"KBUILD_MODNAME=KBUILD_STR(qdf)" 46endif 47 48qdf-objs := \ 49linux/src/qdf_defer.o \ 50linux/src/qdf_func_tracker.o \ 51linux/src/qdf_dev.o \ 52linux/src/qdf_event.o \ 53linux/src/qdf_file.o \ 54linux/src/qdf_list.o \ 55linux/src/qdf_lock.o \ 56linux/src/qdf_mc_timer.o \ 57linux/src/qdf_mem.o \ 58linux/src/qdf_crypto.o \ 59linux/src/qdf_module.o \ 60linux/src/qdf_net_if.o \ 61linux/src/qdf_nbuf.o \ 62linux/src/qdf_nbuf_frag.o \ 63linux/src/qdf_perf.o \ 64linux/src/qdf_status.o \ 65linux/src/qdf_threads.o \ 66linux/src/qdf_trace.o \ 67linux/src/qdf_vfs.o \ 68linux/src/qdf_delayed_work.o \ 69src/qdf_flex_mem.o \ 70src/qdf_parse.o \ 71src/qdf_str.o \ 72src/qdf_types.o \ 73src/qdf_platform.o \ 74$(HOST_CMN_CONVG_NLINK)/src/wlan_nlink_srv.o 75 76qal-objs := \ 77$(HOST_QAL_SRC)/linux/src/qal_devcfg.o \ 78$(HOST_QAL_SRC)/linux/src/qal_vbus_dev.o \ 79$(HOST_QAL_SRC)/linux/src/qal_notifier.o \ 80$(HOST_QAL_SRC)/linux/src/qal_devnode.o 81ifeq ($(DBDC_REPEATER_SUPPORT),1) 82qal-objs += $(HOST_QAL_SRC)/linux/src/qal_bridge.o 83endif 84 85#linux/src/qdf_net.o \ 86#linux/src/qdf_net_event.o \ 87#linux/src/qdf_net_ioctl.o 88#linux/src/qdf_net_wext.o 89 90ifeq ($(IPA_OFFLOAD), 1) 91qdf-objs += linux/src/qdf_ipa.o 92endif 93 94ifeq ($(MEMORY_DEBUG),1) 95qdf-objs += src/qdf_debug_domain.o \ 96 src/qdf_tracker.o 97endif 98 99ifeq ($(LOGGING_UTILS_SUPPORT),1) 100qdf-objs += \ 101$(HOST_CMN_CONVG_LOGGING)/src/wlan_logging_sock_svc.o 102endif 103 104ifeq ($(WLAN_TRACEPOINTS),1) 105qdf-objs += linux/src/qdf_tracepoint.o 106endif 107 108ifeq ($(WLAN_DEBUGFS),1) 109qdf-objs += linux/src/qdf_debugfs.o 110endif 111 112ifeq ($(ENHANCED_OS_ABSTRACTION),1) 113qdf-objs += linux/src/qdf_hrtimer.o 114qdf-objs += linux/src/qdf_time.o 115endif 116 117ifeq ($(WLAN_STREAMFS),1) 118qdf-objs += linux/src/qdf_streamfs.o 119endif 120 121qdf-objs += $(qal-objs) 122 123ifeq ($(BUILD_ADF_NET_IOCTL),1) 124EXTRA_CFLAGS+= -DADF_NET_IOCTL_SUPPORT 125#adf-objs += os/linux/adf_os_netlink_pvt.o \ 126# net/linux/adf_net_event.o \ 127# net/linux/adf_net_wext.o \ 128# net/linux/adf_net_ioctl.o 129endif 130 131ifeq ($(BUILD_ADF_DEFER_PVT),1) 132#adf-objs += os/linux/adf_os_defer_pvt.o 133endif 134ifeq ($(BUILD_ADF_IRQ_PVT),1) 135#adf-objs += os/linux/adf_os_irq_pvt.o 136endif 137 138ifeq ($(BUILD_ADF_PERF_PROFILING),1) 139#adf-objs += os/linux/adf_os_perf_pvt.o 140ifeq ($(BUILD_ADF_MIPS_PERF_PROFILING),1) 141#adf-objs += os/linux/adf_os_mips_perf_pvt.o 142endif 143endif 144 145# os/linux/adf_os_pci_pvt.o \ 146# net/linux/adf_net_ioctl.o \ 147# net/linux/adf_net_pseudo.o \ 148 149clean-files := modules.order 150 151ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1) 152all: qdf.ko 153 154qdf.mod.o: qdf.mod.c 155 ${CC} -c -o $@ ${EXTRA_CFLAGS} ${MOD_CFLAGS} $< 156 157adf.o: ${adf-objs} 158 $(LD) -m elf32btsmip -r -o adf.o $(adf-objs) 159 $(KERNELPATH)/scripts/mod/modpost qdf.o 160 161qdf.ko: qdf.o qdf.mod.o 162 $(LD) $(LDOPTS) -o qdf.ko qdf.o qdf.mod.o 163 164%.o: %.c 165 ${CC} -c -o $@ ${EXTRA_CFLAGS} $< 166endif 167