2008-01-31 08:38:23

by Francis Moreau

[permalink] [raw]
Subject: [Kbuild] How to clean a particular directory ?

Hello,

I'd like to clean a particular directory in the kernel tree.

I tried several things such as:

$ make drivers/char clean
$ make -f scripts/Makefile.clean obj=drivers/char

But it doesn't work.

Could anybody give me a hint ?

Thanks
--
Francis


2008-01-31 08:49:53

by Paul Mundt

[permalink] [raw]
Subject: Re: [Kbuild] How to clean a particular directory ?

On Thu, Jan 31, 2008 at 09:38:10AM +0100, Francis Moreau wrote:
> I'd like to clean a particular directory in the kernel tree.
>
> I tried several things such as:
>
> $ make drivers/char clean
> $ make -f scripts/Makefile.clean obj=drivers/char
>
> But it doesn't work.
>
> Could anybody give me a hint ?

make SUBDIRS=drivers/char clean

should do the trick. Kbuild might have a magic incantation for it these
days, but that's the way it used to work, and still seems to.

2008-01-31 08:55:16

by Paul Mundt

[permalink] [raw]
Subject: Re: [Kbuild] How to clean a particular directory ?

On Thu, Jan 31, 2008 at 05:48:51PM +0900, Paul Mundt wrote:
> On Thu, Jan 31, 2008 at 09:38:10AM +0100, Francis Moreau wrote:
> > I'd like to clean a particular directory in the kernel tree.
> >
> > I tried several things such as:
> >
> > $ make drivers/char clean
> > $ make -f scripts/Makefile.clean obj=drivers/char
> >
> > But it doesn't work.
> >
> > Could anybody give me a hint ?
>
> make SUBDIRS=drivers/char clean
>
> should do the trick. Kbuild might have a magic incantation for it these
> days, but that's the way it used to work, and still seems to.

Makefile says:

# Use make M=dir to specify directory of external module to build
# Old syntax make ... SUBDIRS=$PWD is still supported
# Setting the environment variable KBUILD_EXTMOD take precedence
ifdef SUBDIRS
KBUILD_EXTMOD ?= $(SUBDIRS)
endif
ifdef M
ifeq ("$(origin M)", "command line")
KBUILD_EXTMOD := $(M)
endif
endif

so M= is apparently the newfangled (and undocumented) way of doing this.

2008-01-31 08:56:29

by Francis Moreau

[permalink] [raw]
Subject: Re: [Kbuild] How to clean a particular directory ?

On Jan 31, 2008 9:48 AM, Paul Mundt <[email protected]> wrote:
>
> On Thu, Jan 31, 2008 at 09:38:10AM +0100, Francis Moreau wrote:
> > I'd like to clean a particular directory in the kernel tree.
> >
> > I tried several things such as:
> >
> > $ make drivers/char clean
> > $ make -f scripts/Makefile.clean obj=drivers/char
> >
> > But it doesn't work.
> >
> > Could anybody give me a hint ?
>
> make SUBDIRS=drivers/char clean
>
> should do the trick. Kbuild might have a magic incantation for it these
> days, but that's the way it used to work, and still seems to.
>

Thanks Paul, it works fine.

--
Francis

2008-01-31 08:58:01

by Francis Moreau

[permalink] [raw]
Subject: Re: [Kbuild] How to clean a particular directory ?

On Jan 31, 2008 9:54 AM, Paul Mundt <[email protected]> wrote:
> Makefile says:
>
> # Use make M=dir to specify directory of external module to build
> # Old syntax make ... SUBDIRS=$PWD is still supported
> # Setting the environment variable KBUILD_EXTMOD take precedence
> ifdef SUBDIRS
> KBUILD_EXTMOD ?= $(SUBDIRS)
> endif
> ifdef M
> ifeq ("$(origin M)", "command line")
> KBUILD_EXTMOD := $(M)
> endif
> endif
>
> so M= is apparently the newfangled (and undocumented) way of doing this.
>

Good catch.

I tried "make help" to search for revelant info but didn't find anything useful.

Thanks
--
Francis