diff mbox series

kbuild: add more hints about SUBDIRS replacement

Message ID 20190625085127.9446-1-yamada.masahiro@socionext.com
State Accepted
Commit 4e8fc3f55a38996a56106d6adfac72885ddd97ef
Headers show
Series kbuild: add more hints about SUBDIRS replacement | expand

Commit Message

Masahiro Yamada June 25, 2019, 8:51 a.m. UTC
Commit 0126be38d988 ("kbuild: announce removal of SUBDIRS if used")
added a hint about the 'SUBDIRS' replacement, but it was not clear
enough.

Multiple people sent me similar questions, patches.

  https://lkml.org/lkml/2019/1/17/456

I did not mean to suggest M= for building a subdirectory in the kernel
tree.

From the commit 669efc76b317 ("net: hns3: fix compile error"), people
already (ab)use M=... to do that because it seems to work to some extent.

Documentation/kbuild/kbuild.txt says M= and KBUILD_EXTMOD are used for
building external modules.

In fact, Kbuild supports the single target '%/' for this purpose, but
this may not be noticed much.

Kindly add more hints.

Makefile:213: ================= WARNING ================
Makefile:214: 'SUBDIRS' will be removed after Linux 5.3
Makefile:215:
Makefile:216: If you are building an individual subdirectory
Makefile:217: in the kernel tree, you can do like this:
Makefile:218: $ make path/to/dir/you/want/to/build/
Makefile:219: (Do not forget the trailing slash)
Makefile:220:
Makefile:221: If you are building an external module,
Makefile:222: Please use 'M=' or 'KBUILD_EXTMOD' instead
Makefile:223: ==========================================

Suggested-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

 Makefile | 7 +++++++
 1 file changed, 7 insertions(+)

-- 
2.17.1

Comments

Sam Ravnborg June 26, 2019, 2:30 p.m. UTC | #1
On Tue, Jun 25, 2019 at 05:51:27PM +0900, Masahiro Yamada wrote:
> Commit 0126be38d988 ("kbuild: announce removal of SUBDIRS if used")

> added a hint about the 'SUBDIRS' replacement, but it was not clear

> enough.

> 

> Multiple people sent me similar questions, patches.

> 

>   https://lkml.org/lkml/2019/1/17/456

> 

> I did not mean to suggest M= for building a subdirectory in the kernel

> tree.

> 

> >From the commit 669efc76b317 ("net: hns3: fix compile error"), people

> already (ab)use M=... to do that because it seems to work to some extent.

> 

> Documentation/kbuild/kbuild.txt says M= and KBUILD_EXTMOD are used for

> building external modules.

> 

> In fact, Kbuild supports the single target '%/' for this purpose, but

> this may not be noticed much.

> 

> Kindly add more hints.

> 

> Makefile:213: ================= WARNING ================

> Makefile:214: 'SUBDIRS' will be removed after Linux 5.3

> Makefile:215:

> Makefile:216: If you are building an individual subdirectory

> Makefile:217: in the kernel tree, you can do like this:

> Makefile:218: $ make path/to/dir/you/want/to/build/

> Makefile:219: (Do not forget the trailing slash)

> Makefile:220:

> Makefile:221: If you are building an external module,

> Makefile:222: Please use 'M=' or 'KBUILD_EXTMOD' instead

> Makefile:223: ==========================================

> 

> Suggested-by: Christoph Hellwig <hch@lst.de>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>


Nice!

Acked-by: Sam Ravnborg <sam@ravnborg.org>


	Sam
Masahiro Yamada July 6, 2019, 2:30 p.m. UTC | #2
On Wed, Jun 26, 2019 at 11:30 PM Sam Ravnborg <sam@ravnborg.org> wrote:
>

> On Tue, Jun 25, 2019 at 05:51:27PM +0900, Masahiro Yamada wrote:

> > Commit 0126be38d988 ("kbuild: announce removal of SUBDIRS if used")

> > added a hint about the 'SUBDIRS' replacement, but it was not clear

> > enough.

> >

> > Multiple people sent me similar questions, patches.

> >

> >   https://lkml.org/lkml/2019/1/17/456

> >

> > I did not mean to suggest M= for building a subdirectory in the kernel

> > tree.

> >

> > >From the commit 669efc76b317 ("net: hns3: fix compile error"), people

> > already (ab)use M=... to do that because it seems to work to some extent.

> >

> > Documentation/kbuild/kbuild.txt says M= and KBUILD_EXTMOD are used for

> > building external modules.

> >

> > In fact, Kbuild supports the single target '%/' for this purpose, but

> > this may not be noticed much.

> >

> > Kindly add more hints.

> >

> > Makefile:213: ================= WARNING ================

> > Makefile:214: 'SUBDIRS' will be removed after Linux 5.3

> > Makefile:215:

> > Makefile:216: If you are building an individual subdirectory

> > Makefile:217: in the kernel tree, you can do like this:

> > Makefile:218: $ make path/to/dir/you/want/to/build/

> > Makefile:219: (Do not forget the trailing slash)

> > Makefile:220:

> > Makefile:221: If you are building an external module,

> > Makefile:222: Please use 'M=' or 'KBUILD_EXTMOD' instead

> > Makefile:223: ==========================================

> >

> > Suggested-by: Christoph Hellwig <hch@lst.de>

> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

>

> Nice!

>

> Acked-by: Sam Ravnborg <sam@ravnborg.org>

>

>         Sam


Applied to linux-kbuild.

-- 
Best Regards
Masahiro Yamada
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 7a7c17eb0cbf..823a39d940c6 100644
--- a/Makefile
+++ b/Makefile
@@ -212,6 +212,13 @@  endif
 ifdef SUBDIRS
   $(warning ================= WARNING ================)
   $(warning 'SUBDIRS' will be removed after Linux 5.3)
+  $(warning )
+  $(warning If you are building an individual subdirectory)
+  $(warning in the kernel tree, you can do like this:)
+  $(warning $$ make path/to/dir/you/want/to/build/)
+  $(warning (Do not forget the trailing slash))
+  $(warning )
+  $(warning If you are building an external module,)
   $(warning Please use 'M=' or 'KBUILD_EXTMOD' instead)
   $(warning ==========================================)
   KBUILD_EXTMOD ?= $(SUBDIRS)