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 <junjie.mao@intel.com>
This commit is contained in:
Junjie Mao 2021-02-28 11:26:58 +08:00 committed by wenlingz
parent 22064f71c1
commit 848d48786a
1 changed files with 20 additions and 8 deletions

View File

@ -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)