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