qcacld-3.0: Allow out-of-tree build with relative path in M

The Make variable $(M) must point to the directory that contains the
module source code (which includes this Makefile). It can either be an
absolute or a relative path. If it is a relative path, then it must be
relative to the kernel source directory (KERNEL_SRC). An absolute path
can be obtained very easily through $(shell pwd). Generating a path
relative to KERNEL_SRC is difficult and we accept some outside help by
letting the caller override the variable $(M). Allowing a relative path
for $(M) enables us to have the build system put output/object files
(.o, .ko.) into a directory different from the module source directory.

Change-Id: Ic5dbcaa4579e4b7fe8b01399e03293c3bd425d27
CRs-Fixed: 2182672
Šī revīzija ir iekļauta:
Srinivas Girigowda
2018-01-31 18:39:11 -08:00
revīziju iesūtīja snandini
vecāks 80101ac605
revīzija b4f780f737

Parādīt failu

@@ -1,6 +1,18 @@
KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build
KBUILD_OPTIONS := WLAN_ROOT=$(PWD) # The Make variable $(M) must point to the directory that contains the module
# source code (which includes this Makefile). It can either be an absolute or a
# relative path. If it is a relative path, then it must be relative to the
# kernel source directory (KERNEL_SRC). An absolute path can be obtained very
# easily through $(shell pwd). Generating a path relative to KERNEL_SRC is
# difficult and we accept some outside help by letting the caller override the
# variable $(M). Allowing a relative path for $(M) enables us to have the build
# system put output/object files (.o, .ko.) into a directory different from the
# module source directory.
M ?= $(shell pwd)
# WLAN_ROOT must contain an absolute path (i.e. not a relative path)
KBUILD_OPTIONS := WLAN_ROOT=$(shell cd $(KERNEL_SRC); readlink -e $(M))
KBUILD_OPTIONS += MODNAME?=wlan KBUILD_OPTIONS += MODNAME?=wlan
#By default build for CLD #By default build for CLD
@@ -11,10 +23,10 @@ KBUILD_OPTIONS += $(WLAN_SELECT)
KBUILD_OPTIONS += $(KBUILD_EXTRA) # Extra config if any KBUILD_OPTIONS += $(KBUILD_EXTRA) # Extra config if any
all: all:
$(MAKE) -C $(KERNEL_SRC) M=$(shell pwd) modules $(KBUILD_OPTIONS) $(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS)
modules_install: modules_install:
$(MAKE) INSTALL_MOD_STRIP=1 -C $(KERNEL_SRC) M=$(shell pwd) modules_install $(MAKE) INSTALL_MOD_STRIP=1 M=$(M) -C $(KERNEL_SRC) modules_install
clean: clean:
$(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean $(MAKE) -C $(KERNEL_SRC) M=$(M) clean