#54 - makefile: clean target should affect the whole tree

Owner: Julien Grall <julien.grall@arm.com>

Date: Fri Nov 25 15:00:02 2016

Last Update: Fri Nov 25 15:00:02 2016

Severity: wishlist

Affects:

State: Open

[ Retrieve as mbox ]


From: "Jan Beulich" <JBeulich@suse.com>
To: "Julien Grall" <julien.grall@arm.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>, Bhupinder Thakur <bhupinder.thakur@linaro.org>
Subject: Re: [Xen-devel] Xen compilation fails for ARM32 when recompiled on a ARM64 build
Date: Thu, 24 Nov 2016 09:12:22 -0700
Message-ID: <58371F760200007800121E3F@prv-mh.provo.novell.com>

[ Reply to this message; Retrieve Raw Message; Archives: gmane, marc.info ]

>>> On 24.11.16 at 16:58, <julien.grall@arm.com> wrote:
> On 24/11/16 15:53, Andrew Cooper wrote:
>> On 24/11/16 15:48, Bhupinder Thakur wrote:
>>> If I manually remove the following files and recompile then
>>> compilation is successful:
>>>
>>> Remove xen/arch/arm/asm-offsets.s
>>> Remove xen/arch/arm/xen.lds
>>>
>>> The same issue happens if you build for ARM32 first and then try to
>>> build for ARM64. After removing the 2 files manually, the compilation
>>> is successful.
>>>
>>> I am using the following toolchains:
>>> gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz (for ARM64 build)
>>> x86_64-gcc-4.9.0-nolibc_arm-unknown-linux-gnueabi.tar.xz (for ARM32
>>> build -
>>> https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/)
>>>
>>> I think probably the above-mentioned two files need to be removed
>>> automatically when make distclean is run.
>>
>> They should be deleted on `make clean`.  They are temporary files just
>> like .o's
> 
> It will only happen if you do make clean XEN_TARGET_ARCH=arm64/arm32.
> 
> This is because target clean/distclean is only called for a given 
> architecture (by the default the host one).
> 
> I am not sure whether we should clean for any architecture.

I think it would be nice if "clean" affected the whole tree, but for
now I think those who really can't afford separate build trees
will need to live with having to pass XEN_TARGET_ARCH= on
the clean invocation.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

From: Julien Grall <julien.grall@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <JBeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org, Bhupinder Thakur <bhupinder.thakur@linaro.org>
Subject: Re: [Xen-devel] Xen compilation fails for ARM32 when recompiled on a ARM64 build
Date: Fri, 25 Nov 2016 14:00:31 +0000
Message-ID: <c76a044b-ad02-17a1-b147-e346d0da6da4@arm.com>

[ Reply to this message; Retrieve Raw Message; Archives: gmane, marc.info ]

Hi Jan,

On 24/11/16 16:12, Jan Beulich wrote:
>>>> On 24.11.16 at 16:58, <julien.grall@arm.com> wrote:
>> On 24/11/16 15:53, Andrew Cooper wrote:
>>> On 24/11/16 15:48, Bhupinder Thakur wrote:
>>>> If I manually remove the following files and recompile then
>>>> compilation is successful:
>>>>
>>>> Remove xen/arch/arm/asm-offsets.s
>>>> Remove xen/arch/arm/xen.lds
>>>>
>>>> The same issue happens if you build for ARM32 first and then try to
>>>> build for ARM64. After removing the 2 files manually, the compilation
>>>> is successful.
>>>>
>>>> I am using the following toolchains:
>>>> gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz (for ARM64 build)
>>>> x86_64-gcc-4.9.0-nolibc_arm-unknown-linux-gnueabi.tar.xz (for ARM32
>>>> build -
>>>> https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/)
>>>>
>>>> I think probably the above-mentioned two files need to be removed
>>>> automatically when make distclean is run.
>>>
>>> They should be deleted on `make clean`.  They are temporary files just
>>> like .o's
>>
>> It will only happen if you do make clean XEN_TARGET_ARCH=arm64/arm32.
>>
>> This is because target clean/distclean is only called for a given
>> architecture (by the default the host one).
>>
>> I am not sure whether we should clean for any architecture.
>
> I think it would be nice if "clean" affected the whole tree, but for
> now I think those who really can't afford separate build trees
> will need to live with having to pass XEN_TARGET_ARCH= on
> the clean invocation.

It could be a nice task newcomers on Xen. I will keep it in mind.

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

From: Julien Grall <julien.grall@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <JBeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, xen-devel <xen-devel@lists.xenproject.org>, xen@bugs.xenproject.org, Bhupinder Thakur <bhupinder.thakur@linaro.org>
Subject: Re: [Xen-devel] Xen compilation fails for ARM32 when recompiled on a ARM64 build
Date: Fri, 25 Nov 2016 14:19:28 +0000
Message-ID: <03b56612-8db9-1aaa-48b2-1fba01b39728@arm.com>

[ Reply to this message; Retrieve Raw Message; Archives: gmane, marc.info ]

create ^
title it makefile: clean target should affect the whole tree
severity it wishlist
thanks

On 24/11/16 16:12, Jan Beulich wrote:
>>>> On 24.11.16 at 16:58, <julien.grall@arm.com> wrote:
>> On 24/11/16 15:53, Andrew Cooper wrote:
>>> On 24/11/16 15:48, Bhupinder Thakur wrote:
>>>> If I manually remove the following files and recompile then
>>>> compilation is successful:
>>>>
>>>> Remove xen/arch/arm/asm-offsets.s
>>>> Remove xen/arch/arm/xen.lds
>>>>
>>>> The same issue happens if you build for ARM32 first and then try to
>>>> build for ARM64. After removing the 2 files manually, the compilation
>>>> is successful.
>>>>
>>>> I am using the following toolchains:
>>>> gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz (for ARM64 build)
>>>> x86_64-gcc-4.9.0-nolibc_arm-unknown-linux-gnueabi.tar.xz (for ARM32
>>>> build -
>>>> https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/)
>>>>
>>>> I think probably the above-mentioned two files need to be removed
>>>> automatically when make distclean is run.
>>>
>>> They should be deleted on `make clean`.  They are temporary files just
>>> like .o's
>>
>> It will only happen if you do make clean XEN_TARGET_ARCH=arm64/arm32.
>>
>> This is because target clean/distclean is only called for a given
>> architecture (by the default the host one).
>>
>> I am not sure whether we should clean for any architecture.
>
> I think it would be nice if "clean" affected the whole tree, but for
> now I think those who really can't afford separate build trees
> will need to live with having to pass XEN_TARGET_ARCH= on
> the clean invocation.
>
> Jan
>

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel