Build system: add 'make help' option

Add the 'help' target to the Makefile to present a brief guide to the
various build options available.

Change-Id: Ic3a3489860b6362eb236470ea6b43a16a1b2fe3a
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
This commit is contained in:
Ryan Harkin 2014-01-15 16:55:07 +00:00 committed by Dan Handley
parent d7a6b0f8ad
commit 72ee331490
1 changed files with 21 additions and 0 deletions

View File

@ -70,6 +70,8 @@ BUILD_BL31 := ${BUILD_PLAT}/bl31
BUILD_DIRS := ${BUILD_BL1} ${BUILD_BL2} ${BUILD_BL31}
PLATFORMS := $(shell ls -I common plat/)
HELP_PLATFORMS := $(shell echo ${PLATFORMS} | sed 's/ /|/g')
ifeq (${PLAT},)
$(error "Error: Unknown platform. Please use PLAT=<platform name> to specify the platform.")
endif
@ -257,3 +259,22 @@ ${BUILD_PLAT}/bl31.bin: ${BUILD_BL31}/bl31.elf
@echo
@echo "Built $@ successfully"
@echo
help:
@echo "usage: ${MAKE} PLAT=<all|${HELP_PLATFORMS}> <all|bl1|bl2|bl31|distclean|clean|dump>"
@echo ""
@echo "PLAT is used to specify which platform you wish to build."
@echo ""
@echo "Supported Targets:"
@echo " all build the BL1, BL2 and BL31 binaries"
@echo " bl1 build the BL1 binary"
@echo " bl2 build the BL2 binary"
@echo " bl31 build the BL31 binary"
@echo " clean Clean the build for the selected platform"
@echo " distclean Remove all build artifacts for all platforms"
@echo " dump Generate object file dumps"
@echo ""
@echo "note: most build targets require PLAT to be set to a specific platform."
@echo ""
@echo "example: build all targets for the FVP platform:"
@echo " CROSS_COMPILE=aarch64-none-elf- make PLAT=fvp all"