xref: /wlan-dirver/qca-wifi-host-cmn/qdf/Kbuild (revision a175314c51a4ce5cec2835cc8a8c7dc0c1810915)
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
11
12include $(obj)/$(DEPTH)/os/linux/Makefile-linux.common
13
14INCS += -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
18INCS += -I$(WLAN_TOP)/cmn_dev/qdf/linux/src
19INCS += -I$(obj)/$(HOST_CMN_CONVG_PTT)/inc \
20        -I$(obj)/$(HOST_CMN_CONVG_NLINK)/inc \
21        -I$(obj)/$(HOST_CMN_CONVG_LOGGING)/inc \
22        -I$(obj)/$(DEPTH)/cmn_dev/utils/host_diag_log/inc \
23        -I$(obj)/$(DEPTH)/cmn_dev/utils/host_diag_log/src \
24        -I$(obj)/$(DEPTH)/cmn_dev/utils/ptt/inc \
25        -I$(WLAN_TOP)/pld/inc
26
27obj-m += qdf.o
28
29EXTRA_CFLAGS+= $(INCS) $(COPTS) -Wno-unused-function
30
31ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1)
32MOD_CFLAGS = -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(qdf.mod)"  -D"KBUILD_MODNAME=KBUILD_STR(qdf)"
33endif
34
35qdf-objs :=                     \
36linux/src/qdf_defer.o  \
37linux/src/qdf_event.o   \
38linux/src/qdf_list.o      \
39linux/src/qdf_lock.o       \
40linux/src/qdf_mc_timer.o    \
41linux/src/qdf_mem.o      \
42linux/src/qdf_module.o    \
43linux/src/qdf_nbuf.o       \
44linux/src/qdf_perf.o        \
45linux/src/qdf_threads.o     \
46linux/src/qdf_trace.o \
47linux/src/qdf_file.o \
48src/qdf_flex_mem.o \
49src/qdf_parse.o \
50src/qdf_str.o \
51src/qdf_types.o \
52$(HOST_CMN_CONVG_NLINK)/src/wlan_nlink_srv.o
53#linux/src/qdf_net.o \
54#linux/src/qdf_net_event.o \
55#linux/src/qdf_net_ioctl.o
56#linux/src/qdf_net_wext.o
57
58ifeq ($(MEMORY_DEBUG),1)
59qdf-objs += src/qdf_debug_domain.o
60endif
61
62ifeq ($(LOGGING_UTILS_SUPPORT),1)
63qdf-objs += \
64$(HOST_CMN_CONVG_LOGGING)/src/wlan_logging_sock_svc.o
65endif
66
67ifeq ($(WLAN_DEBUGFS),1)
68qdf-objs += linux/src/qdf_debugfs.o
69endif
70
71ifeq ($(BUILD_ADF_NET_IOCTL),1)
72EXTRA_CFLAGS+= -DADF_NET_IOCTL_SUPPORT
73#adf-objs += os/linux/adf_os_netlink_pvt.o \
74#    net/linux/adf_net_event.o  \
75#    net/linux/adf_net_wext.o    \
76#    net/linux/adf_net_ioctl.o
77endif
78
79ifeq ($(BUILD_ADF_DEFER_PVT),1)
80#adf-objs += os/linux/adf_os_defer_pvt.o
81endif
82ifeq ($(BUILD_ADF_IRQ_PVT),1)
83#adf-objs += os/linux/adf_os_irq_pvt.o
84endif
85
86ifeq ($(BUILD_ADF_PERF_PROFILING),1)
87#adf-objs += os/linux/adf_os_perf_pvt.o
88ifeq ($(BUILD_ADF_MIPS_PERF_PROFILING),1)
89#adf-objs += os/linux/adf_os_mips_perf_pvt.o
90endif
91endif
92
93#    os/linux/adf_os_pci_pvt.o    \
94#    net/linux/adf_net_ioctl.o    \
95#    net/linux/adf_net_pseudo.o   \
96
97clean-files := modules.order
98
99ifeq ($(strip ${QCA_PARTNER_MAKE_F_SUPPORT}),1)
100all: qdf.ko
101
102qdf.mod.o: qdf.mod.c
103	${CC} -c -o $@ ${EXTRA_CFLAGS} ${MOD_CFLAGS} $<
104
105adf.o: ${adf-objs}
106	$(LD) -m elf32btsmip -r -o adf.o $(adf-objs)
107	$(KERNELPATH)/scripts/mod/modpost qdf.o
108
109qdf.ko: qdf.o qdf.mod.o
110	$(LD) $(LDOPTS) -o qdf.ko qdf.o qdf.mod.o
111
112%.o: %.c
113	${CC} -c -o $@ ${EXTRA_CFLAGS} $<
114endif
115