From 72ee331490beaca752f11fb52112a1e3a582ea13 Mon Sep 17 00:00:00 2001 From: Ryan Harkin Date: Wed, 15 Jan 2014 16:55:07 +0000 Subject: [PATCH] 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 --- Makefile | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Makefile b/Makefile index 71be31328..c54d49e69 100644 --- a/Makefile +++ b/Makefile @@ -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= 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= " + @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"