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. 
  |