1*4882a593SmuzhiyunCROSS_COMPILE := aarch64-linux-gnu- 2*4882a593Smuzhiyunoutput_dir := $(PWD)/../bin 3*4882a593Smuzhiyunmakejobs := $(shell grep '^processor' /proc/cpuinfo | sort -u | wc -l) 4*4882a593Smuzhiyunmakethreads := $(shell dc -e "$(makejobs) 1 + p") 5*4882a593Smuzhiyunmake_options := GCC49_AARCH64_PREFIX=$CROSS_COMPILE \ 6*4882a593Smuzhiyun -j$(makethreads) -l$(makejobs) 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunBL30_HIKEY := $(output_dir)/mcuimage.bin 9*4882a593SmuzhiyunBL33_HIKEY := $(output_dir)/u-boot-hikey.bin 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun.PHONY: help 12*4882a593Smuzhiyunhelp: 13*4882a593Smuzhiyun @echo "**** Common Makefile ****" 14*4882a593Smuzhiyun @echo "example:" 15*4882a593Smuzhiyun @echo "make -f build-tf.mak build" 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun.PHONY: have-crosscompiler 18*4882a593Smuzhiyunhave-crosscompiler: 19*4882a593Smuzhiyun @echo -n "Check that $(CROSS_COMPILE)gcc is available..." 20*4882a593Smuzhiyun @which $(CROSS_COMPILE)gcc > /dev/null ; \ 21*4882a593Smuzhiyun if [ ! $$? -eq 0 ] ; then \ 22*4882a593Smuzhiyun echo "ERROR: cross-compiler $(CROSS_COMPILE)gcc not in PATH=$$PATH!" ; \ 23*4882a593Smuzhiyun echo "ABORTING." ; \ 24*4882a593Smuzhiyun exit 1 ; \ 25*4882a593Smuzhiyun else \ 26*4882a593Smuzhiyun echo "OK" ;\ 27*4882a593Smuzhiyun fi 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunbuild: have-crosscompiler FORCE 30*4882a593Smuzhiyun @echo "Build TF for Hikey..." 31*4882a593Smuzhiyun rm -rf build/ 32*4882a593Smuzhiyun CROSS_COMPILE=$(CROSS_COMPILE) \ 33*4882a593Smuzhiyun make all fip \ 34*4882a593Smuzhiyun BL30=$(BL30_HIKEY) \ 35*4882a593Smuzhiyun BL33=$(BL33_HIKEY) \ 36*4882a593Smuzhiyun DEBUG=1 \ 37*4882a593Smuzhiyun PLAT=hikey 38*4882a593Smuzhiyun @echo "Copy resulting binaries..." 39*4882a593Smuzhiyun cp build/hikey/debug/bl1.bin $(output_dir)/bl1-hikey.bin 40*4882a593Smuzhiyun cp build/hikey/debug/fip.bin $(output_dir)/fip-hikey.bin 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunFORCE: 43