diff mbox series

[v1] kbuild: fix sub directory output build of kselftests

Message ID 20220627070214.432390-1-usama.anjum@collabora.com (mailing list archive)
State New, archived
Headers show
Series [v1] kbuild: fix sub directory output build of kselftests | expand

Commit Message

Muhammad Usama Anjum June 27, 2022, 7:02 a.m. UTC
Build of kselftests fail if kernel's top most Makefile is used for
running or building kselftests with separate output directory which is
sub-directory. srctree is set to .. erroneously.

make kselftest-all O=/linux_mainline/build
Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory

make kselftest-all O=build
Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory

Fix this by comparing abs_srctree with CURDIR instead of abs_objtree.
CURDIR changes based on from where the command has been run and it sets
the srctree correctly.

Fixes: 25b146c5b8cee("kbuild: allow Kbuild to start from any directory")
Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
---
Changes in V2:
- Correct the bugfix instead of workaround

V1: https://lore.kernel.org/lkml/20220223191016.1658728-1-usama.anjum@collabora.com/
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Shuah Khan June 27, 2022, 4:54 p.m. UTC | #1
On 6/27/22 1:02 AM, Muhammad Usama Anjum wrote:
> Build of kselftests fail if kernel's top most Makefile is used for
> running or building kselftests with separate output directory which is
> sub-directory. srctree is set to .. erroneously.
> 
> make kselftest-all O=/linux_mainline/build
> Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory
> 
> make kselftest-all O=build
> Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory
> 
> Fix this by comparing abs_srctree with CURDIR instead of abs_objtree.
> CURDIR changes based on from where the command has been run and it sets
> the srctree correctly.
> 
> Fixes: 25b146c5b8cee("kbuild: allow Kbuild to start from any directory")
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
> ---
> Changes in V2:
> - Correct the bugfix instead of workaround
> 
> V1: https://lore.kernel.org/lkml/20220223191016.1658728-1-usama.anjum@collabora.com/
> ---
>   Makefile | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index e66358b64ede..4090d7afcda4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -238,12 +238,12 @@ ifeq ($(need-sub-make),)
>   # so that IDEs/editors are able to understand relative filenames.
>   MAKEFLAGS += --no-print-directory
>   
> -ifeq ($(abs_srctree),$(abs_objtree))
> +ifeq ($(abs_srctree),$(CURDIR))
>           # building in the source tree
>           srctree := .
>   	building_out_of_srctree :=
>   else
> -        ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
> +        ifeq ($(abs_srctree)/,$(dir $(CURDIR)))
>                   # building in a subdirectory of the source tree
>                   srctree := ..
>           else
> 

Please resend cc'ing linux-kselftest

thanks,
-- Shuah
Masahiro Yamada June 27, 2022, 5:45 p.m. UTC | #2
On Tue, Jun 28, 2022 at 1:54 AM Shuah Khan <skhan@linuxfoundation.org> wrote:
>
> On 6/27/22 1:02 AM, Muhammad Usama Anjum wrote:
> > Build of kselftests fail if kernel's top most Makefile is used for
> > running or building kselftests with separate output directory which is
> > sub-directory. srctree is set to .. erroneously.
> >
> > make kselftest-all O=/linux_mainline/build
> > Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory
> >
> > make kselftest-all O=build
> > Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory
> >
> > Fix this by comparing abs_srctree with CURDIR instead of abs_objtree.
> > CURDIR changes based on from where the command has been run and it sets
> > the srctree correctly.
> >
> > Fixes: 25b146c5b8cee("kbuild: allow Kbuild to start from any directory")
> > Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
> > ---
> > Changes in V2:
> > - Correct the bugfix instead of workaround
> >
> > V1: https://lore.kernel.org/lkml/20220223191016.1658728-1-usama.anjum@collabora.com/
> > ---
> >   Makefile | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index e66358b64ede..4090d7afcda4 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -238,12 +238,12 @@ ifeq ($(need-sub-make),)
> >   # so that IDEs/editors are able to understand relative filenames.
> >   MAKEFLAGS += --no-print-directory
> >
> > -ifeq ($(abs_srctree),$(abs_objtree))
> > +ifeq ($(abs_srctree),$(CURDIR))
> >           # building in the source tree
> >           srctree := .
> >       building_out_of_srctree :=
> >   else
> > -        ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
> > +        ifeq ($(abs_srctree)/,$(dir $(CURDIR)))
> >                   # building in a subdirectory of the source tree
> >                   srctree := ..
> >           else
> >
>
> Please resend cc'ing linux-kselftest
>
> thanks,
> -- Shuah


Please do not send this any more.
This part is good as is.
Shuah Khan June 27, 2022, 7:51 p.m. UTC | #3
On 6/27/22 11:45 AM, Masahiro Yamada wrote:
> On Tue, Jun 28, 2022 at 1:54 AM Shuah Khan <skhan@linuxfoundation.org> wrote:
>>
>> On 6/27/22 1:02 AM, Muhammad Usama Anjum wrote:
>>> Build of kselftests fail if kernel's top most Makefile is used for
>>> running or building kselftests with separate output directory which is
>>> sub-directory. srctree is set to .. erroneously.
>>>
>>> make kselftest-all O=/linux_mainline/build
>>> Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory
>>>
>>> make kselftest-all O=build
>>> Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory
>>>
>>> Fix this by comparing abs_srctree with CURDIR instead of abs_objtree.
>>> CURDIR changes based on from where the command has been run and it sets
>>> the srctree correctly.
>>>
>>> Fixes: 25b146c5b8cee("kbuild: allow Kbuild to start from any directory")
>>> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
>>> ---
>>> Changes in V2:
>>> - Correct the bugfix instead of workaround
>>>
>>> V1: https://lore.kernel.org/lkml/20220223191016.1658728-1-usama.anjum@collabora.com/
>>> ---
>>>    Makefile | 4 ++--
>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/Makefile b/Makefile
>>> index e66358b64ede..4090d7afcda4 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -238,12 +238,12 @@ ifeq ($(need-sub-make),)
>>>    # so that IDEs/editors are able to understand relative filenames.
>>>    MAKEFLAGS += --no-print-directory
>>>
>>> -ifeq ($(abs_srctree),$(abs_objtree))
>>> +ifeq ($(abs_srctree),$(CURDIR))
>>>            # building in the source tree
>>>            srctree := .
>>>        building_out_of_srctree :=
>>>    else
>>> -        ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
>>> +        ifeq ($(abs_srctree)/,$(dir $(CURDIR)))
>>>                    # building in a subdirectory of the source tree
>>>                    srctree := ..
>>>            else
>>>
>>
>> Please resend cc'ing linux-kselftest
>>
>> thanks,
>> -- Shuah
> 
> 
> Please do not send this any more.
> This part is good as is.
> 

+ linux-kselftest@vger.kernel.org

The reason I suggested resending cc'ing linux-kselftest is because
this fixes a kselftest problem.

I am assuming this patch will go through kbuild

Acked-by: Shuah Khan <skhan@linuxfoundation.org>

thanks,
-- Shuah
Muhammad Usama Anjum June 30, 2022, 9:44 a.m. UTC | #4
Hi Masahiro,

>>> Please resend cc'ing linux-kselftest
>>>
>>> thanks,
>>> -- Shuah
>>
>>
>> Please do not send this any more.
>> This part is good as is.
I'm confused. Have you accepted or rejected the patch?

>>
> 
> + linux-kselftest@vger.kernel.org
> 
> The reason I suggested resending cc'ing linux-kselftest is because
> this fixes a kselftest problem.
> 
> I am assuming this patch will go through kbuild
> 
> Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Masahiro Yamada July 1, 2022, 10:07 a.m. UTC | #5
On Thu, Jun 30, 2022 at 6:44 PM Muhammad Usama Anjum
<usama.anjum@collabora.com> wrote:
>
> Hi Masahiro,
>
> >>> Please resend cc'ing linux-kselftest
> >>>
> >>> thanks,
> >>> -- Shuah
> >>
> >>
> >> Please do not send this any more.
> >> This part is good as is.
> I'm confused. Have you accepted or rejected the patch?

Sorry for confusion.
Rejected.



>
> >>
> >
> > + linux-kselftest@vger.kernel.org
> >
> > The reason I suggested resending cc'ing linux-kselftest is because
> > this fixes a kselftest problem.
> >
> > I am assuming this patch will go through kbuild
> >
> > Acked-by: Shuah Khan <skhan@linuxfoundation.org>
>
>
> --
> Muhammad Usama Anjum
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index e66358b64ede..4090d7afcda4 100644
--- a/Makefile
+++ b/Makefile
@@ -238,12 +238,12 @@  ifeq ($(need-sub-make),)
 # so that IDEs/editors are able to understand relative filenames.
 MAKEFLAGS += --no-print-directory
 
-ifeq ($(abs_srctree),$(abs_objtree))
+ifeq ($(abs_srctree),$(CURDIR))
         # building in the source tree
         srctree := .
 	building_out_of_srctree :=
 else
-        ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
+        ifeq ($(abs_srctree)/,$(dir $(CURDIR)))
                 # building in a subdirectory of the source tree
                 srctree := ..
         else