[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Kconfig: fix environment variable handling



On 1/13/16 4:46 AM, Jan Beulich wrote:
> With xen/Makefile including include/config/auto.conf.cmd, environment
> variables checked in the latter must be available at the time of
> inclusion of that file, and hence must be populated in xen/Makefile
> rather than by passing to or inside xen/tools/kconfig/Makefile.kconfig.
> Otherwise incremental re-builds will always be full re-builds, which is
> not only annoying but actively problematic when building as non-root
> and only running "install-xen" as root.
> 
> Also take the opportunity and remove stray $(Q) uses.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> 
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -20,6 +20,9 @@ MAKEFLAGS += -rR
>  
>  EFI_MOUNTPOINT ?= $(BOOT_DIR)/efi
>  
> +ARCH=$(XEN_TARGET_ARCH)
> +SRCARCH=$(shell echo $(ARCH) | sed -e 's/x86.*/x86/' -e 
> s'/arm\(32\|64\)/arm/g')
> +
>  # Don't break if the build process wasn't called from the top level
>  # we need XEN_TARGET_ARCH to generate the proper config
>  include $(XEN_ROOT)/Config.mk
> @@ -101,7 +104,7 @@ _clean: delete-unfresh-files
>       $(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)/tools/kconfig/Makefile.kconfig clean
> +     $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) 
> SRCARCH=$(SRCARCH) clean
>       find . \( -name "*.o" -o -name ".*.d" \) -exec rm -f {} \;
>       rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi $(TARGET)-syms 
> *~ core
>       rm -f include/asm-*/asm-offsets.h
> @@ -236,14 +239,14 @@ kconfig := silentoldconfig oldconfig con
>       nconfig xconfig gconfig savedefconfig listnewconfig olddefconfig
>  .PHONY: $(kconfig)
>  $(kconfig):
> -     $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig 
> ARCH=$(XEN_TARGET_ARCH) $@
> +     $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) 
> SRCARCH=$(SRCARCH) $@
>  
>  include/config/%.conf: include/config/auto.conf.cmd $(KCONFIG_CONFIG)
> -     $(Q)$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig 
> ARCH=$(XEN_TARGET_ARCH) silentoldconfig
> +     $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) 
> SRCARCH=$(SRCARCH) silentoldconfig
>  
>  # Allow people to just run `make` as before and not force them to configure
>  $(KCONFIG_CONFIG):
> -     $(Q)$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig 
> ARCH=$(XEN_TARGET_ARCH) defconfig
> +     $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) 
> SRCARCH=$(SRCARCH) defconfig
>  
>  # Break the dependency chain for the first run
>  include/config/auto.conf.cmd: ;
> --- a/xen/tools/kconfig/Makefile.kconfig
> +++ b/xen/tools/kconfig/Makefile.kconfig
> @@ -44,10 +44,6 @@ PHONY += FORCE
>  
>  FORCE:
>  
> -SRCARCH = $(shell echo $(ARCH) | \
> -     sed -e 's/x86.*/x86/' -e s'/arm\(32\|64\)/arm/g')
> -export SRCARCH
> -
>  # include the original Makefile and Makefile.host from Linux
>  include $(src)/Makefile
>  include $(src)/Makefile.host
> 
> 
> 

Reviewed-by: Doug Goldstein <cardoe@xxxxxxxxxx>

-- 
Doug Goldstein

Attachment: signature.asc
Description: OpenPGP digital signature

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.