blob: fb78b03460b63dda2857e34c76e0ae2470f7f797 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build
2
Srinivas Girigowdab4f780f2018-01-31 18:39:11 -08003# The Make variable $(M) must point to the directory that contains the module
4# source code (which includes this Makefile). It can either be an absolute or a
5# relative path. If it is a relative path, then it must be relative to the
6# kernel source directory (KERNEL_SRC). An absolute path can be obtained very
7# easily through $(shell pwd). Generating a path relative to KERNEL_SRC is
8# difficult and we accept some outside help by letting the caller override the
9# variable $(M). Allowing a relative path for $(M) enables us to have the build
10# system put output/object files (.o, .ko.) into a directory different from the
11# module source directory.
12M ?= $(shell pwd)
13
14# WLAN_ROOT must contain an absolute path (i.e. not a relative path)
15KBUILD_OPTIONS := WLAN_ROOT=$(shell cd $(KERNEL_SRC); readlink -e $(M))
Mahesh Kumar Kalikot Veetil2935d252016-05-06 10:05:05 -070016KBUILD_OPTIONS += MODNAME?=wlan
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080017
18#By default build for CLD
19WLAN_SELECT := CONFIG_QCA_CLD_WLAN=m
20KBUILD_OPTIONS += CONFIG_QCA_WIFI_ISOC=0
21KBUILD_OPTIONS += CONFIG_QCA_WIFI_2_0=1
22KBUILD_OPTIONS += $(WLAN_SELECT)
23KBUILD_OPTIONS += $(KBUILD_EXTRA) # Extra config if any
24
25all:
Srinivas Girigowdab4f780f2018-01-31 18:39:11 -080026 $(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080027
28modules_install:
Srinivas Girigowdab4f780f2018-01-31 18:39:11 -080029 $(MAKE) INSTALL_MOD_STRIP=1 M=$(M) -C $(KERNEL_SRC) modules_install
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080030
31clean:
Nirav Shah99f49942018-06-07 10:12:05 +053032 $(MAKE) -C $(KERNEL_SRC) M=$(M) clean $(KBUILD_OPTIONS)