|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Kconfig: fix environment variable handling
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
Attachment:
Kconfig-env-vars.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |