aboutsummaryrefslogtreecommitdiff
path: root/buildroot/bin/opt_set
blob: a646e09ae789d6f7bdf0e7d9a7c85edf44911ed7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env bash

# exit on first failure
set -e

SED=$(which gsed || which sed)

# Logic for returning nonzero based on answer here: https://stackoverflow.com/a/15966279/104648
eval "${SED} -i '/\(\/\/\)*\([[:blank:]]*\)\(#define\s\+\b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration.h" ||
eval "${SED} -i '/\(\/\/\)*\([[:blank:]]*\)\(#define\s\+\b${1}\b\).*$/{s//\2\3 ${2}/;h};\${x;/./{x;q0};x;q9}' Marlin/Configuration_adv.h" ||
eval "echo '#define ${@}' >>Marlin/Configuration_adv.h" ||
(echo "ERROR: opt_set Can't set or add ${1}" >&2 && exit 9)