mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 01:24:27 +00:00
Introduce convenience functions to build
This patch introduces two convenience functions to the build system: - assert_boolean: asserts that a given option is assigned either 0 or 1 as values - add_define: helps add/append macro definitions to build tool command line. This also introduces the variable DEFINES which is used to collect and pass all relevant configurations to build tools Change-Id: I3126894b034470d39858ebb3bd183bda681c7126
This commit is contained in:
parent
c5c9b69c13
commit
289e0dadbd
1 changed files with 13 additions and 1 deletions
14
Makefile
14
Makefile
|
@ -83,6 +83,19 @@ PLATFORMS := $(shell ls -I common plat/)
|
|||
SPDS := $(shell ls -I none services/spd)
|
||||
HELP_PLATFORMS := $(shell echo ${PLATFORMS} | sed 's/ /|/g')
|
||||
|
||||
# Convenience function for adding build definitions
|
||||
# $(eval $(call add_define,FOO)) will have:
|
||||
# -DFOO if $(FOO) is empty; -DFOO=$(FOO) otherwise
|
||||
define add_define
|
||||
DEFINES += -D$(1)$(if $(value $(1)),=$(value $(1)),)
|
||||
endef
|
||||
|
||||
# Convenience function for verifying option has a boolean value
|
||||
# $(eval $(call assert_boolean,FOO)) will assert FOO is 0 or 1
|
||||
define assert_boolean
|
||||
$(and $(patsubst 0,,$(value $(1))),$(patsubst 1,,$(value $(1))),$(error $(1) must be boolean))
|
||||
endef
|
||||
|
||||
ifeq (${PLAT},)
|
||||
$(error "Error: Unknown platform. Please use PLAT=<platform name> to specify the platform.")
|
||||
endif
|
||||
|
@ -131,7 +144,6 @@ endif
|
|||
.PHONY: all msg_start clean realclean distclean cscope locate-checkpatch checkcodebase checkpatch fiptool fip
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
INCLUDES += -Iinclude/bl1 \
|
||||
-Iinclude/bl2 \
|
||||
-Iinclude/bl31 \
|
||||
|
|
Loading…
Add table
Reference in a new issue