blob: 403b383f6f67cd55925ea0511ef580d00f2ed467 [file] [log] [blame]
Anurag Chouhan2d2a3802016-05-19 16:15:04 +05301ifeq ($(obj),)
2obj := .
3endif
4
5DEPTH := ../..
6
Adil Saeed Musthafabcf62ed2017-02-20 16:22:39 -08007HOST_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
11
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053012include $(obj)/$(DEPTH)/os/linux/Makefile-linux.common
13
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053014INCS += -Iinclude/nbuf -Iinclude/net -Iinclude/os
15INCS += -Inbuf/linux -Inet/linux -Ios/linux
16INCS += -I$(WLAN_TOP)/../../include
17INCS += -I$(WLAN_TOP)/cmn_dev/qdf/inc
Debasis Das008baa92018-06-08 20:18:21 +053018INCS += -I$(WLAN_TOP)/cmn_dev/qal/inc
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053019INCS += -I$(WLAN_TOP)/cmn_dev/qdf/linux/src
Adil Saeed Musthafabcf62ed2017-02-20 16:22:39 -080020INCS += -I$(obj)/$(HOST_CMN_CONVG_PTT)/inc \
21 -I$(obj)/$(HOST_CMN_CONVG_NLINK)/inc \
22 -I$(obj)/$(HOST_CMN_CONVG_LOGGING)/inc \
23 -I$(obj)/$(DEPTH)/cmn_dev/utils/host_diag_log/inc \
24 -I$(obj)/$(DEPTH)/cmn_dev/utils/host_diag_log/src \
Karunakar Dasineni11e51e22017-09-18 15:48:04 -070025 -I$(obj)/$(DEPTH)/cmn_dev/utils/ptt/inc \
Balamurugan Mahalingamd85083e2017-08-01 17:42:11 +053026 -I$(WLAN_TOP)/pld/inc
Adil Saeed Musthafabcf62ed2017-02-20 16:22:39 -080027
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053028obj-m += qdf.o
29
30EXTRA_CFLAGS+= $(INCS) $(COPTS) -Wno-unused-function
31
32ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1)
33MOD_CFLAGS = -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(qdf.mod)" -D"KBUILD_MODNAME=KBUILD_STR(qdf)"
34endif
35
36qdf-objs := \
37linux/src/qdf_defer.o \
Debasis Das008baa92018-06-08 20:18:21 +053038linux/src/qdf_dev.o \
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053039linux/src/qdf_event.o \
Debasis Das008baa92018-06-08 20:18:21 +053040linux/src/qdf_file.o \
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053041linux/src/qdf_list.o \
42linux/src/qdf_lock.o \
43linux/src/qdf_mc_timer.o \
44linux/src/qdf_mem.o \
45linux/src/qdf_module.o \
Debasis Das008baa92018-06-08 20:18:21 +053046linux/src/qdf_net_if.o \
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053047linux/src/qdf_nbuf.o \
48linux/src/qdf_perf.o \
Sathish Kumar59113a42017-01-04 12:02:24 +053049linux/src/qdf_threads.o \
Vivek077f9c22018-03-22 18:41:10 +053050linux/src/qdf_trace.o \
Debasis Das008baa92018-06-08 20:18:21 +053051linux/src/qdf_vfs.o \
Dustin Brown03a7ac62018-04-17 15:37:03 -070052src/qdf_flex_mem.o \
Vivek077f9c22018-03-22 18:41:10 +053053src/qdf_parse.o \
54src/qdf_str.o \
Sathish Kumar18617b82018-06-20 17:57:24 +053055src/qdf_types.o \
Amir Patel20a0efa2018-09-14 15:03:43 +053056src/qdf_platform.o \
Debasis Das008baa92018-06-08 20:18:21 +053057$(HOST_CMN_CONVG_NLINK)/src/wlan_nlink_srv.o \
58$(HOST_CMN_CONVG_SRC)/qal/linux/src/qal_devcfg.o \
59$(HOST_CMN_CONVG_SRC)/qal/linux/src/qal_vbus_dev.o \
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053060#linux/src/qdf_net.o \
61#linux/src/qdf_net_event.o \
62#linux/src/qdf_net_ioctl.o
63#linux/src/qdf_net_wext.o
64
Shiva Krishna Pittalab1554312018-04-02 17:23:42 +053065ifeq ($(MEMORY_DEBUG),1)
66qdf-objs += src/qdf_debug_domain.o
67endif
68
Adil Saeed Musthafabcf62ed2017-02-20 16:22:39 -080069ifeq ($(LOGGING_UTILS_SUPPORT),1)
70qdf-objs += \
Adil Saeed Musthafabcf62ed2017-02-20 16:22:39 -080071$(HOST_CMN_CONVG_LOGGING)/src/wlan_logging_sock_svc.o
72endif
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053073
Chaithanya Garrepalli221c7952018-01-18 15:19:35 +053074ifeq ($(WLAN_DEBUGFS),1)
75qdf-objs += linux/src/qdf_debugfs.o
76endif
77
Anurag Chouhan2d2a3802016-05-19 16:15:04 +053078ifeq ($(BUILD_ADF_NET_IOCTL),1)
79EXTRA_CFLAGS+= -DADF_NET_IOCTL_SUPPORT
80#adf-objs += os/linux/adf_os_netlink_pvt.o \
81# net/linux/adf_net_event.o \
82# net/linux/adf_net_wext.o \
83# net/linux/adf_net_ioctl.o
84endif
85
86ifeq ($(BUILD_ADF_DEFER_PVT),1)
87#adf-objs += os/linux/adf_os_defer_pvt.o
88endif
89ifeq ($(BUILD_ADF_IRQ_PVT),1)
90#adf-objs += os/linux/adf_os_irq_pvt.o
91endif
92
93ifeq ($(BUILD_ADF_PERF_PROFILING),1)
94#adf-objs += os/linux/adf_os_perf_pvt.o
95ifeq ($(BUILD_ADF_MIPS_PERF_PROFILING),1)
96#adf-objs += os/linux/adf_os_mips_perf_pvt.o
97endif
98endif
99
100# os/linux/adf_os_pci_pvt.o \
101# net/linux/adf_net_ioctl.o \
102# net/linux/adf_net_pseudo.o \
103
104clean-files := modules.order
105
106ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1)
107all: qdf.ko
108
109qdf.mod.o: qdf.mod.c
110 ${CC} -c -o $@ ${EXTRA_CFLAGS} ${MOD_CFLAGS} $<
111
112adf.o: ${adf-objs}
113 $(LD) -m elf32btsmip -r -o adf.o $(adf-objs)
114 $(KERNELPATH)/scripts/mod/modpost qdf.o
115
116qdf.ko: qdf.o qdf.mod.o
117 $(LD) $(LDOPTS) -o qdf.ko qdf.o qdf.mod.o
118
119%.o: %.c
120 ${CC} -c -o $@ ${EXTRA_CFLAGS} $<
121endif