@@ -74,7 +74,7 @@ while getopts 'abdhmrsuvyn:t:-:' OFLAG; do
74
74
u) AUTO_BUILD=2 ; bugout " Auto-Upload target..." ;;
75
75
v) DEBUG=1 ; bugout " Debug ON" ;;
76
76
y) BUILD_YES=' Y' ; bugout " Build will initiate..." ;;
77
- -) IFS= " = " read -r ONAM OVAL <<< " $ OPTARG"
77
+ -) ONAM= " ${OPTARG %% = * } " ; OVAL= " ${ OPTARG#* =} "
78
78
case " $ONAM " in
79
79
help) [[ -z " $OVAL " ]] || perror " option can't take value $OVAL " $ONAM ; EXIT_USAGE=1 ;;
80
80
autobuild) AUTO_BUILD=1 ; bugout " Auto-Build target..." ;;
@@ -107,6 +107,7 @@ debug|verbose) DEBUG=1 ; bugout "Debug ON" ;;
107
107
* ) EXIT_USAGE=2 ;;
108
108
esac
109
109
done
110
+ shift $(( OPTIND - 1 ))
110
111
111
112
(( EXIT_USAGE)) && { usage ; let EXIT_USAGE-- ; exit $EXIT_USAGE ; }
112
113
@@ -158,16 +159,21 @@ if ((AUTO_BUILD)); then
158
159
* ) SYS=' uni' ;;
159
160
esac
160
161
echo ; echo -n " Auto " ; (( AUTO_BUILD == 2 )) && echo " Upload..." || echo " Build..."
161
- MB=$( grep -E " ^\s*#define MOTHERBOARD" Marlin/Configuration.h 2> /dev/null | awk ' { print $3 }' | $SED ' s/BOARD_//;s/\r//' )
162
- [[ -z $MB ]] && {
163
- MB=$( grep -E " ^\s*#define MOTHERBOARD" Marlin/Config.h 2> /dev/null | awk ' { print $3 }' | $SED ' s/BOARD_//;s/\r//' )
164
- [[ -z $MB ]] && { echo " Error - Can't read MOTHERBOARD setting." ; exit 1 ; }
165
- }
162
+
163
+ #
164
+ # Get the MOTHERBOARD define value from the .h file and strip off the "BOARD_" prefix
165
+ #
166
+ ACODE=' /[[:space:]]*#define[[:space:]]MOTHERBOARD[[:space:]]/ { sub(/^BOARD_/, "", $3); print $3 }'
167
+ MB=$( awk " $ACODE " Marlin/Configuration.h 2> /dev/null)
168
+ [[ -z $MB ]] && MB=$( awk " $ACODE " Marlin/Config.h 2> /dev/null)
169
+ [[ -z $MB ]] && { echo " Error - Can't read MOTHERBOARD setting." ; exit 1 ; }
170
+ echo " Got $MB "
171
+ exit
166
172
BLINE=$( grep -E " define\s+BOARD_$MB \b" Marlin/src/core/boards.h )
167
- BNUM=$( $SED -E ' s/^.+BOARD_[^ ]+ +([0-9]+).+$/\1/' <<< " $BLINE" )
168
- BDESC=$( $SED -E ' s/^.+\/\/ *(.+)$/\1/' <<< " $BLINE" )
173
+ BNUM=$( sed -E ' s/^.+BOARD_[^ ]+ +([0-9]+).+$/\1/' <<< " $BLINE" )
174
+ BDESC=$( sed -E ' s/^.+\/\/ *(.+)$/\1/' <<< " $BLINE" )
169
175
[[ -z $BNUM ]] && { echo " Error - Can't find BOARD_$MB in core/boards.h." ; exit 1 ; }
170
- ENVS=( $( grep -EA1 " MB\(.*\b$MB \b.*\)" Marlin/src/pins/pins.h | grep -E " #include.+//.+(env|$SYS ):[^ ]+" | grep -oE " (env|$SYS ):[^ ]+" | $SED -E " s/(env|$SYS )://" ) )
176
+ ENVS=( $( grep -EA1 " MB\(.*\b$MB \b.*\)" Marlin/src/pins/pins.h | grep -E " #include.+//.+(env|$SYS ):[^ ]+" | grep -oE " (env|$SYS ):[^ ]+" | sed -E " s/(env|$SYS )://" ) )
171
177
[[ -z $ENVS ]] && { errout " Error - Can't find target(s) for $MB ($BNUM )." ; exit 1 ; }
172
178
ECOUNT=${# ENVS[*]}
173
179
@@ -276,7 +282,7 @@ if [[ $CHOICE == 0 ]]; then
276
282
while IFS= read -r LINE
277
283
do
278
284
if [[ $LINE =~ $ISEXEC ]]; then
279
- DESC=$( " $SED " -E ' s/^exec_test \$1 \$2 "([^"]+)".*$/\1/g' <<< " $LINE" )
285
+ DESC=$( sed -E ' s/^exec_test \$1 \$2 "([^"]+)".*$/\1/g' <<< " $LINE" )
280
286
(( ++ IND < 10 )) && echo -n " "
281
287
echo " $IND ) $DESC "
282
288
fi
@@ -321,7 +327,7 @@ echo "$OUT" | {
321
327
(( IND == CHOICE)) && {
322
328
GOTX=1
323
329
[[ -n $DL_DEFAULTS && $LINE =~ $ISRST ]] && LINE=" use_example_configs"
324
- [[ $CMD == " " ]] && CMD=" $LINE " || CMD=$( echo -e " $CMD$LINE " | $SED -e ' s/\\//g' | $SED -E ' s/ +/ /g' )
330
+ [[ $CMD == " " ]] && CMD=" $LINE " || CMD=$( echo -e " $CMD$LINE " | sed -e ' s/\\//g' | sed -E ' s/ +/ /g' )
325
331
[[ $LINE =~ $ISCONT ]] || { echo " $CMD " ; eval " $CMD " ; CMD=" " ; }
326
332
}
327
333
fi
0 commit comments