]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[build] Allow for named configurations at build time
authorMichael Brown <mcb30@ipxe.org>
Tue, 19 Aug 2014 15:17:25 +0000 (16:17 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 20 Aug 2014 11:36:44 +0000 (12:36 +0100)
commitc801cb29d64764fa8082ec2ab17dd12f74b3143f
treedde1548393981062a33054083daddfecbd2a0c9b
parent3953ddd2acf72fb30cd70bb65476dd86b6799708
[build] Allow for named configurations at build time

Allow named configurations to be specified via the CONFIG=... build
parameter.  For headers in config/*.h which support named
configurations, the following files will be 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/ioapi.h) cannot be modified via a
named configuration.  This avoids rebuilding the entire iPXE codebase
whenever switching to a different named configuration.

Inspired-by: Robin Smidsrød <robin@smidsrod.no>
Tested-by: Robin Smidsrød <robin@smidsrod.no>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/Makefile.housekeeping
src/config/colour.h
src/config/console.h
src/config/crypto.h
src/config/general.h
src/config/named.h [new file with mode: 0644]
src/config/serial.h
src/config/settings.h
src/config/sideband.h