| #! /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}" |
| |