Makefile: move .mk file to hv scripts folder

The *.mk files under misc/acrn-config/library are all rules for hypervisor
makefiles only, so move these files to hypervisor/scripts/makefile/ folder.

The folder of acrn-config/library/ will be used to store python script lib only.

Tracked-On: #3779

Signed-off-by: Victor Sun <victor.sun@intel.com>
Reviewed-by: Terry Zou <terry.zou@intel.com>
This commit is contained in:
Victor Sun
2019-11-12 14:11:58 +08:00
committed by wenlingz
parent acd0deb8a1
commit 0d52f933da
5 changed files with 4 additions and 4 deletions

View File

@@ -44,11 +44,11 @@ ARCH_LDFLAGS :=
.PHONY: default
default: all
include $(BASEDIR)/../misc/acrn-config/library/cfg_update.mk
include scripts/makefile/cfg_update.mk
include $(BASEDIR)/../misc/acrn-config/library/deps.mk
include scripts/makefile/deps.mk
include scripts/kconfig/kconfig.mk
include scripts/makefile/kconfig.mk
#initialize scenarios name
ifeq ($(CONFIG_SDC),y)

View File

@@ -0,0 +1,48 @@
CONFIG_XML_ENABLED ?=
UPDATE_RESULT = $(HV_OBJDIR)/.cfg_src_result
define check_xml_enabled =
CONFIG_XML_ENABLED := $(shell if [ "$(1)" != "" ] || [ "$(2)" != "" ]; then echo false; fi)
BOARD_IN_XML := $(shell echo `if [ "$(1)" != "" ]; then sed -n '/<acrn-config/p' $(1) | sed -r 's/.*board="(.*)".*/\1/g'; fi`)
SCENARIO_IN_XML := $(shell echo `if [ "$(2)" != "" ]; then sed -n '/<acrn-config/p' $(2) | sed -r 's/.*scenario="(.*)".*/\1/g'; fi`)
ifneq ($$(BOARD_IN_XML),)
ifneq ($$(SCENARIO_IN_XML),)
CONFIG_XML_ENABLED := true
endif
endif
ifeq ($$(CONFIG_XML_ENABLED),true)
override BOARD := $$(BOARD_IN_XML)
override SCENARIO := $$(SCENARIO_IN_XML)
endif
endef
ifeq ($(CONFIG_XML_ENALBED),)
$(eval $(call check_xml_enabled,$(BOARD_FILE),$(SCENARIO_FILE)))
endif
update_config:
ifeq ($(CONFIG_XML_ENABLED),true)
@if [ ! -f $(UPDATE_RESULT) ]; then \
mkdir -p $(dir $(UPDATE_RESULT));\
python3 ../misc/acrn-config/board_config/board_cfg_gen.py --board $(BOARD_FILE) --scenario $(SCENARIO_FILE) > $(UPDATE_RESULT);\
cat $(UPDATE_RESULT);\
if [ "`sed -n /successfully/p $(UPDATE_RESULT)`" = "" ]; then rm -f $(UPDATE_RESULT); exit 1; fi;\
python3 ../misc/acrn-config/scenario_config/scenario_cfg_gen.py --board $(BOARD_FILE) --scenario $(SCENARIO_FILE) > $(UPDATE_RESULT);\
cat $(UPDATE_RESULT);\
if [ "`sed -n /successfully/p $(UPDATE_RESULT)`" = "" ]; then rm -f $(UPDATE_RESULT); exit 1; fi;\
echo "Import hypervisor Board/VM configuration from XMLs, configurations in source code has been overwritten!";\
elif [ "`sed -n /successfully/p $(UPDATE_RESULT)`" = "" ]; then \
echo "Problem is found on Board/VM configration patching, please rebuild."; rm -f $(UPDATE_RESULT); exit 1; \
else \
echo "Configurations is patched already!";\
fi;
else ifeq ($(CONFIG_XML_ENABLED),false)
@echo "Config XML file does not exist or with unknown format."
@exit 1
else
@echo "Using hypervisor configurations from source code directly."
endif

View File

@@ -0,0 +1,31 @@
# usage: check_dep_exec <executable name> <variable>
#
# Create a target that checks the existence of the specified executable, and
# append that target to the given variable.
define check_dep_exec =
$(2) += check_exec_$(1)
check_exec_$(1):
@if ! which $(1) > /dev/null; then \
echo "******** Missing prerequisite tool ********"; \
echo "Cannot find executable *$(1)*"; \
echo "Please refer to the Getting Started Guide" \
"for installation instructions"; \
exit 1; \
fi
endef
# usage: check_dep_py3lib <library name> <variable>
#
# Create a target that checks the existence of the specified python 3 library, and
# append that target to the given variable.
define check_dep_py3lib =
$(2) += check_py3lib_$(1)
check_py3lib_$(1):
@if ! python3 -c "import $(1)" > /dev/null 2>&1; then \
echo "******** Missing prerequisite tool ********"; \
echo "The python3 library *$(1)* is not installed"; \
echo "Please refer to the Getting Started Guide" \
"for installation instructions"; \
exit 1; \
fi
endef