On Thu, Mar 23, 2017 at 11:07:04AM +0000, Wei Liu wrote:On Thu, Mar 23, 2017 at 02:31:37AM +0100, Luca Miccio wrote:
Execute the clean target for both arm and x86 architecture.
When trying to build Xen for a different architecture in the same tree, the command make clean will only remove temporary files for the host architecture. This will lead a compilation error when trying to build ARM64 and ARM32 Xen in the same tree. (See also: https://lists.xenproject.org/archives/html/xen-devel/2016-11/msg02176.html)
Signed-off-by: Luca Miccio <lucmiccio@xxxxxxxxx> --- xen/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xen/Makefile b/xen/Makefile index dc6862e04d..fcd5c7e9d6 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -115,7 +115,8 @@ _clean: delete-unfresh-files $(MAKE) -f $(BASEDIR)/Rules.mk -C drivers clean $(MAKE) -f $(BASEDIR)/Rules.mk -C xsm clean $(MAKE) -f $(BASEDIR)/Rules.mk -C crypto clean - $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) clean + $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/arm clean + $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/x86 clean
A more future-proof way of doing this is to use find to collect a list of directory under arch/ and iterate.
But I don't see a new architecture support coming any time soon, so this is just a suggestion.
I had the same doubt, but, as you said there is no new architecture support coming soon. However i could add this option. Also, you seem to have missed overriding TARGET_ARCH and TARGET_SUBARCH. I believe there are references to them in arch-specific Makefiles.
Wei.
I don’t get your point/suggestion. When we use “make clean”, with my patch applied, we simply execute the clean target for every architecture supported for now. I took a look at the clean target used both from the arm and the x86 Makefile and i didn’t find any references to TARGET_ARCH and TARGET_SUBARCH.
Also, with the current command: $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) clean The target clean is called only for the $TARGET_ARCH architecture, which, if it’s not set ( "make clean | distclean" at the xen root directory), is the host one.
Maybe i’m missing something.
Luca.
|