You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
# exit on first failure
|
|
|
|
set -e
|
|
|
|
|
|
|
|
SED=$(which gsed || which sed)
|
|
|
|
|
|
|
|
ARGC=$#
|
|
|
|
while [[ $# > 1 ]]; do
|
|
|
|
# Logic for returning nonzero based on answer here: https://stackoverflow.com/a/15966279/104648
|
|
|
|
eval "${SED} -i '/^[[:blank:]]*\(\/\/\)*\([[:blank:]]*\)\(#define\s\+\b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration.h" ||
|
|
|
|
eval "${SED} -i '/^[[:blank:]]*\(\/\/\)*\([[:blank:]]*\)\(#define\s\+\b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration_adv.h" ||
|
|
|
|
eval "echo '#define ${1} ${2}' >>Marlin/Configuration.h" ||
|
|
|
|
(echo "ERROR: opt_set Can't set or add ${1}" >&2 && exit 9)
|
|
|
|
shift 2
|
|
|
|
done
|