2016-03-22 14:13:38 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2019-12-20 03:03:42 +00:00
|
|
|
# exit on first failure
|
|
|
|
set -e
|
|
|
|
|
2024-09-22 01:27:14 +00:00
|
|
|
# Get SED_CMD, SED_I, and the BSDSED flag
|
|
|
|
. $(dirname $0)/opt_sed
|
2018-05-16 03:22:03 +00:00
|
|
|
|
2021-03-03 06:15:56 +00:00
|
|
|
while [[ $# > 1 ]]; do
|
2021-04-26 04:33:52 +00:00
|
|
|
DID=0
|
2024-09-22 01:27:14 +00:00
|
|
|
for FN in Marlin/Configuration.h Marlin/Configuration_adv.h; do
|
|
|
|
if [[ $BSDSED ]]; then
|
|
|
|
# BSD sed version (macOS)
|
|
|
|
$SED_CMD "${SED_I[@]}" \
|
|
|
|
"/^[[:space:]]*\/\{0,2\}[[:space:]]*#define[[:space:]]+${1}\b/{
|
|
|
|
s/^[[:space:]]*\/\{0,2\}[[:space:]]*\(#define[[:space:]]+${1}\b\)[[:space:]]*.*/\1 ${2} \/\/ &/
|
|
|
|
h
|
|
|
|
\$b end
|
|
|
|
}
|
|
|
|
\$!b
|
|
|
|
:end
|
|
|
|
x
|
|
|
|
/./{ x; q0; }
|
|
|
|
x
|
|
|
|
q1" \
|
|
|
|
$FN && DID=1
|
|
|
|
else
|
|
|
|
# GNU sed version
|
|
|
|
$SED_CMD "${SED_I[@]}" \
|
|
|
|
"/^\(\s*\)\/\{0,2\}\s*\(#define\s\+${1}\b\)\s*\(.*\)$/{s//\1\2 ${2} \/\/ \3/;h};\${x;/./{x;q0};x;q1}" \
|
|
|
|
$FN && DID=1
|
|
|
|
fi
|
2021-04-26 04:33:52 +00:00
|
|
|
done
|
|
|
|
((DID)) ||
|
|
|
|
eval "echo '#define ${1} ${2}' >>Marlin/Configuration.h" ||
|
|
|
|
(echo "ERROR: opt_set Can't set or add ${1}" >&2 && exit 9)
|
2021-03-03 06:15:56 +00:00
|
|
|
shift 2
|
|
|
|
done
|