From 848d48786a405165bc6dfc305ca98635e1c5b584 Mon Sep 17 00:00:00 2001 From: Junjie Mao Date: Sun, 28 Feb 2021 11:26:58 +0800 Subject: [PATCH] Makefile: expose config-related targets to the top-level Makefile This patch allows the invocation of configuration-related hypervisor targets from the top-level Makefile. The configuration summary is now reported by the hypervisor rather than inspecting the variables directly. Tracked-On: #5772 Signed-off-by: Junjie Mao --- Makefile | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index e02a5414d..94826a25c 100644 --- a/Makefile +++ b/Makefile @@ -92,15 +92,27 @@ define install_acrn_debug $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)/$(1) BOARD=$(1) SCENARIO=$(2) RELEASE=$(RELEASE) install-debug endef +HV_MAKEOPTS := -C $(T)/hypervisor BOARD=$(BOARD) SCENARIO=$(SCENARIO) HV_OBJDIR=$(HV_OUT) RELEASE=$(RELEASE) + hypervisor: - $(MAKE) -C $(T)/hypervisor BOARD=$(BOARD) SCENARIO=$(SCENARIO) HV_OBJDIR=$(HV_OUT) RELEASE=$(RELEASE) - @echo -e "\n\033[47;30mACRN Configuration Summary:\033[0m \nBOARD = $(BOARD)\t SCENARIO = $(SCENARIO)" > $(HV_CFG_LOG); \ - echo -e "BUILD type = \c" >> $(HV_CFG_LOG); \ - if [ "$(RELEASE)" = "0" ]; then echo -e "DEBUG" >> $(HV_CFG_LOG); else echo -e "RELEASE" >> $(HV_CFG_LOG); fi; \ - echo -e "VM configuration is based on:" >> $(HV_CFG_LOG); \ - echo -e "\tSource code at:\t\t\t$(HV_OUT)/configs" >> $(HV_CFG_LOG); + $(MAKE) $(HV_MAKEOPTS) + @echo -e "ACRN Configuration Summary:" > $(HV_CFG_LOG) + @$(MAKE) showconfig $(HV_MAKEOPTS) -s >> $(HV_CFG_LOG) @cat $(HV_CFG_LOG) +# Targets that manipulate hypervisor configurations +hvdefconfig: + @$(MAKE) defconfig $(HV_MAKEOPTS) + +hvshowconfig: + @$(MAKE) showconfig $(HV_MAKEOPTS) -s + +hvdiffconfig: + @$(MAKE) diffconfig $(HV_MAKEOPTS) + +hvapplydiffconfig: + @$(MAKE) applydiffconfig $(HV_MAKEOPTS) PATCH=$(abspath $(PATCH)) + devicemodel: tools $(MAKE) -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) DM_BUILD_VERSION=$(BUILD_VERSION) DM_BUILD_TAG=$(BUILD_TAG) DM_ASL_COMPILER=$(ASL_COMPILER) TOOLS_OUT=$(TOOLS_OUT) RELEASE=$(RELEASE) @@ -121,10 +133,10 @@ clean: install: hypervisor-install devicemodel-install tools-install hypervisor-install: - $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) SCENARIO=$(SCENARIO) RELEASE=$(RELEASE) install + $(MAKE) $(HV_MAKEOPTS) install hypervisor-install-debug: - $(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) SCENARIO=$(SCENARIO) RELEASE=$(RELEASE) install-debug + $(MAKE) $(HV_MAKEOPTS) install-debug kbl-nuc-i7-industry: $(call build_acrn,nuc7i7dnb,industry)