Named configurations can be specified via the CONFIG=…
build
parameter.
For headers in config/*.h
which support named configurations, the following files are included when building with CONFIG=<name>
:
config/defaults/<platform>.h
(e.g. config/defaults/pcbios.h
)config/<header>.h
config/<name>/<header>.h
(only if the directory config/<name>
exists)config/local/<header>.h
(autocreated if necessary)config/local/<name>/<header>.h
(autocreated if necessary)
This mechanism allows for predefined named configurations to be checked in to the source tree, as a directory config/<name>
containing all of the required header files.
The mechanism also allows for users to define multiple local configurations, by creating header files in the directory config/local/<name>
.
Note that the config/*.h
files which are used only to configure internal iPXE APIs (e.g. config/umalloc.h
) cannot be modified via a named configuration. This avoids rebuilding the entire iPXE codebase whenever switching to a different named configuration.