Re: [PATCH] kbuild: announce removal of SUBDIRS if used

From: Guenter Roeck
Date: Tue Nov 20 2018 - 11:25:48 EST


On Wed, Nov 21, 2018 at 12:04:18AM +0900, Masahiro Yamada wrote:
> SUBDIRS has been kept as a backward compatibility since
> commit ("[PATCH] kbuild: external module support") in 2002.
>
> We do not need multiple ways to do the same thing, so I will remove
> SUBDIRS after the Linux 5.3 release. I cleaned up in-tree code, and
> updated the document so that nobody would try to use it.
>
> Meanwhile, display the following warning if SUBDIRS is used.
>
> Makefile:189: ================= WARNING ================
> Makefile:190: 'SUBDIRS' will be removed after Linux 5.3
> Makefile:191: Please use 'M=' or 'KBUILD_EXTMOD' instead
> Makefile:192: ==========================================
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> ---
>
> Documentation/kbuild/kbuild.txt | 7 +------
> Makefile | 4 ++++
> drivers/mtd/maps/scx200_docflash.c | 7 -------
> drivers/watchdog/scx200_wdt.c | 7 -------

For watchdog:

Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx>

> samples/connector/Makefile | 2 +-
> 5 files changed, 6 insertions(+), 21 deletions(-)
>
> diff --git a/Documentation/kbuild/kbuild.txt b/Documentation/kbuild/kbuild.txt
> index 8390c36..c9e3d93 100644
> --- a/Documentation/kbuild/kbuild.txt
> +++ b/Documentation/kbuild/kbuild.txt
> @@ -81,12 +81,7 @@ KBUILD_EXTMOD
> --------------------------------------------------
> Set the directory to look for the kernel source when building external
> modules.
> -The directory can be specified in several ways:
> -1) Use "M=..." on the command line
> -2) Environment variable KBUILD_EXTMOD
> -3) Environment variable SUBDIRS
> -The possibilities are listed in the order they take precedence.
> -Using "M=..." will always override the others.
> +Setting "M=..." takes precedence over KBUILD_EXTMOD.
>
> KBUILD_OUTPUT
> --------------------------------------------------
> diff --git a/Makefile b/Makefile
> index 370d13b..57be5fb 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -186,6 +186,10 @@ endif
> # Old syntax make ... SUBDIRS=$PWD is still supported
> # Setting the environment variable KBUILD_EXTMOD take precedence
> ifdef SUBDIRS
> + $(warning ================= WARNING ================)
> + $(warning 'SUBDIRS' will be removed after Linux 5.3)
> + $(warning Please use 'M=' or 'KBUILD_EXTMOD' instead)
> + $(warning ==========================================)
> KBUILD_EXTMOD ?= $(SUBDIRS)
> endif
>
> diff --git a/drivers/mtd/maps/scx200_docflash.c b/drivers/mtd/maps/scx200_docflash.c
> index f1c1f73..7f1a0e6 100644
> --- a/drivers/mtd/maps/scx200_docflash.c
> +++ b/drivers/mtd/maps/scx200_docflash.c
> @@ -216,10 +216,3 @@ static void __exit cleanup_scx200_docflash(void)
>
> module_init(init_scx200_docflash);
> module_exit(cleanup_scx200_docflash);
> -
> -/*
> - Local variables:
> - compile-command: "make -k -C ../../.. SUBDIRS=drivers/mtd/maps modules"
> - c-basic-offset: 8
> - End:
> -*/
> diff --git a/drivers/watchdog/scx200_wdt.c b/drivers/watchdog/scx200_wdt.c
> index 836377c..ec4063e 100644
> --- a/drivers/watchdog/scx200_wdt.c
> +++ b/drivers/watchdog/scx200_wdt.c
> @@ -262,10 +262,3 @@ static void __exit scx200_wdt_cleanup(void)
>
> module_init(scx200_wdt_init);
> module_exit(scx200_wdt_cleanup);
> -
> -/*
> - Local variables:
> - compile-command: "make -k -C ../.. SUBDIRS=drivers/char modules"
> - c-basic-offset: 8
> - End:
> -*/
> diff --git a/samples/connector/Makefile b/samples/connector/Makefile
> index fe3c854..6ad7162 100644
> --- a/samples/connector/Makefile
> +++ b/samples/connector/Makefile
> @@ -14,4 +14,4 @@ HOSTCFLAGS_ucon.o += -I$(objtree)/usr/include
> all: modules
>
> modules clean:
> - $(MAKE) -C ../.. SUBDIRS=$(CURDIR) $@
> + $(MAKE) -C ../.. M=$(CURDIR) $@
> --
> 2.7.4
>