diff --git a/Makefile.rules b/Makefile.rules index ad8db5dfd8..7cf6438b3c 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -463,6 +463,10 @@ flash_ec: $(out)/ec.bin flash_dfu: $(out)/ec.bin sudo ./$(BDIR)/dfu $(out)/ec.bin +.PHONY: print-baseboard +print-baseboard: + @echo "${BASEBOARD}" + .PHONY: clean clean: -rm -rf $(out) diff --git a/util/flash_ec b/util/flash_ec index 1ef325b530..b8915b1a25 100755 --- a/util/flash_ec +++ b/util/flash_ec @@ -222,7 +222,6 @@ function get_servo_type() { } BOARD=${FLAGS_board} -BOARD_ROOT=/build/${BOARD} in_array() { local n=$# @@ -412,13 +411,21 @@ else EC_FILE=ec.bin fi -EMERGE_BUILD=${BOARD_ROOT}/firmware/${EC_FILE} LOCAL_BUILD= if [[ -n "${EC_DIR}" ]]; then LOCAL_BUILD="${EC_DIR}/build/${BOARD}/${EC_FILE}" fi +# Get baseboard from build system if present +BASEBOARD=$(make --quiet -C ${EC_DIR} BOARD=${BOARD} print-baseboard) + +if [[ -n "${BASEBOARD}" ]]; then + EMERGE_BUILD=/build/${BASEBOARD}/firmware/${BOARD}/${EC_FILE} +else + EMERGE_BUILD=/build/${BOARD}/firmware/${EC_FILE} +fi + # Find the EC image to use function ec_image() { # No image specified on the command line, try default ones