diff --git a/hypervisor/Makefile b/hypervisor/Makefile index a94db62e9..2020c66e0 100644 --- a/hypervisor/Makefile +++ b/hypervisor/Makefile @@ -183,7 +183,7 @@ DISTCLEAN_OBJS := $(shell find $(BASEDIR) -name '*.o') VERSION := bsp/$(PLATFORM)/include/bsp/version.h .PHONY: all -all: $(BUILD_DEPS) $(VERSION) oldconfig $(HV_OBJDIR)/$(HV_FILE).32.out $(HV_OBJDIR)/$(HV_FILE).bin +all: $(BUILD_DEPS) $(VERSION) $(HV_OBJDIR)/$(HV_FILE).32.out $(HV_OBJDIR)/$(HV_FILE).bin rm -f $(VERSION) ifeq ($(PLATFORM), uefi) diff --git a/hypervisor/scripts/kconfig/kconfig.mk b/hypervisor/scripts/kconfig/kconfig.mk index 69a619686..a0b929447 100644 --- a/hypervisor/scripts/kconfig/kconfig.mk +++ b/hypervisor/scripts/kconfig/kconfig.mk @@ -9,12 +9,12 @@ $(eval $(call check_dep_exec,python)) $(eval $(call check_dep_exec,pip)) $(eval $(call check_dep_pylib,kconfiglib)) -# This target invoke silentoldconfig to generate a .config only if a .config -# does not exist. Useful as a dependency for source compilation. -$(HV_OBJDIR)/$(HV_CONFIG): - @mkdir -p $(HV_OBJDIR) - @python $(KCONFIG_DIR)/silentoldconfig.py Kconfig $(HV_OBJDIR)/$(HV_CONFIG) PLATFORM_$(shell echo $(PLATFORM) | tr a-z A-Z)=y +# This target invoke silentoldconfig to generate or update a .config. Useful as +# a prerequisite of other targets depending on .config. +$(HV_OBJDIR)/$(HV_CONFIG): oldconfig +# Note: This target must not depend on a phony target (e.g. oldconfig) because +# it'll trigger endless re-execution of make. $(HV_OBJDIR)/$(HV_CONFIG_MK): $(HV_OBJDIR)/$(HV_CONFIG) @mkdir -p $(dir $@) @cp $< $@