acrn-hypervisor/misc/hv_prebuild
Junjie Mao cdf7796a62 Makefile: clean up unnecessary phony targets
Phony targets are mostly for recipes that are expected to be invoked
directly from the command line as a target and will always be executed. As
a result, it is in most cases not appropriate for a real file target to to
depend on a phony one, as that means the file will always be regenerated.

In the Makefile today, however, dependencies on phony targets are common
and cause the hypervisor to be fully rebuilt regardless of whether an
existing build exists or not.

This patch cleans up the following phony targets which are not meant to be
targets from the command line.

  - pre_build: This target has three outputs, namely the prebuild checker,
    the ACPI tables for pre-launched VMs and the serial.conf. It is split
    into three targets, one for each output.

  - headers: This target is an alias of dynamically-generated header
    files. It is replaced with a variable so that targets depending on
    "header" now depends on the actual header files generated.

With this patch, make will only rebuild modified files and targets
depending on them directly or indirectly.

Tracked-On: #8259
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-10-26 14:09:44 +08:00
..
Makefile Makefile: clean up unnecessary phony targets 2022-10-26 14:09:44 +08:00
README.rst doc: add README.rst to misc/hv_prebuild 2022-07-12 17:33:49 +08:00
hv_prebuild.h Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
main.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
static_checks.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
vm_cfg_checks.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00

README.rst

:orphan:

Hypervisor Pre-Build Check Tool
###############################

There are a number of configuration elements for the ACRN hypervisor that must
defined before building the binaries. Those configuration elements are set
by the user using the :ref:`ACRN Configurator tool <acrn_configuration_tool>`.


This folder holds the source to a tool that is used to ensure that the
configuration is coherent and valid. It is a tool used in the background by
the build system before compiling the hypervisor and other components. It is
not meant to be used as a stand-alone too.