CROSS_COMPILE := aarch64-linux-gnu- output_dir := $(HOME)/aarch64 makejobs := $(shell grep '^processor' /proc/cpuinfo | sort -u | wc -l) makethreads := $(shell dc -e "$(makejobs) 1 + p") make_options := GCC49_AARCH64_PREFIX=$CROSS_COMPILE \ -j$(makethreads) -l$(makejobs) #BL33_FVP := $(output_dir)/FVP_AARCH64_EFI.fd BL33_FVP := $(output_dir)/u-boot-fvp-semi.bin BL30_JUNO := $(output_dir)/bl30-juno.bin #BL33_JUNO := $(output_dir)/BL33_AP_UEFI.fd BL33_JUNO := $(output_dir)/u-boot-juno.bin .PHONY: help help: @echo "**** Common Makefile ****" @echo "example:" @echo "make -f build-tf.mak .PHONY: have-crosscompiler have-crosscompiler: @echo -n "Check that $(CROSS_COMPILE)gcc is available..." @which $(CROSS_COMPILE)gcc > /dev/null ; \ if [ ! $$? -eq 0 ] ; then \ echo "ERROR: cross-compiler $(CROSS_COMPILE)gcc not in PATH=$$PATH!" ; \ echo "ABORTING." ; \ exit 1 ; \ else \ echo "OK" ;\ fi build: have-crosscompiler FORCE @echo "Build TF for FVP..." rm -rf build/ CROSS_COMPILE=$(CROSS_COMPILE) \ make all fip \ BL33=$(BL33_FVP) \ DEBUG=1 \ PLAT=fvp @echo "Copy resulting binaries..." cp build/fvp/debug/bl1.bin $(output_dir)/bl1-fvp.bin cp build/fvp/debug/fip.bin $(output_dir)/fip-fvp.bin @echo "Build TF for Juno..." rm -rf build/ CROSS_COMPILE=$(CROSS_COMPILE) \ make all fip \ BL30=$(BL30_JUNO) \ BL33=$(BL33_JUNO) \ DEBUG=1 \ PLAT=juno @echo "Copy resulting binaries..." cp build/juno/debug/bl1.bin $(output_dir)/bl1-juno.bin cp build/juno/debug/fip.bin $(output_dir)/fip-juno.bin #cp build/fvp/release/bl1.bin $(output_dir) #cp build/fvp/release/fip.bin $(output_dir) FORCE: