#! /bin/bash # Convert and run one configuration # Args: a product/board makefile optionally followed by additional arguments # that will be passed to rbcrun. [[ $# -gt 1 && -f "$1" && -f "$2" ]] || { echo "Usage: ${0##*/} product.mk input_variables.mk [Additional rbcrun arguments]" >&2; exit 1; } set -eu declare -r output_root="${OUT_DIR:-out}" declare -r runner="${output_root}/rbcrun" declare -r converter="${output_root}/mk2rbc" declare -r launcher="${output_root}/rbc/launcher.rbc" declare -r makefile_list="${output_root}/.module_paths/configuration.list" declare -r makefile="$1" declare -r input_variables="$2" shift 2 "${converter}" -mode=write -r --outdir "${output_root}/rbc" --input_variables "${input_variables}" --launcher="${launcher}" --makefile_list="${makefile_list}" "${makefile}" "${runner}" RBC_OUT="make,global" RBC_DEBUG="${RBC_DEBUG:-}" $@ "${launcher}"