Revision fad4c1e7 setup.sh
setup.sh | ||
---|---|---|
263 | 263 |
return 0 |
264 | 264 |
} |
265 | 265 |
|
266 |
### check whether commands are available ####################################### |
|
267 |
# Checks whether the specified commands are available and can be executed. |
|
268 |
# |
|
269 |
# usage: checkCommand [<command> <command> ...] |
|
270 |
# arguments: <command> |
|
271 |
# Name of the command to check. |
|
272 |
# return: 0 |
|
273 |
# All requested commands are available. |
|
274 |
# >0 |
|
275 |
# Number of requested commands that were not found. |
|
276 |
# -1 |
|
277 |
# No argument given. |
|
278 |
# |
|
279 |
function checkCommands { |
|
280 |
local status=0 |
|
281 |
|
|
282 |
# return if no argument was specified |
|
283 |
if [ $# -eq 0 ]; then |
|
284 |
return -1 |
|
285 |
fi |
|
286 |
|
|
287 |
# check all specified commands |
|
288 |
while [ $# -gt 0 ]; do |
|
289 |
command -v $1 &>/dev/null |
|
290 |
if [ $? -ne 0 ]; then |
|
291 |
printWarning "Command '$1' not available.\n" |
|
292 |
status=$((status + 1)) |
|
293 |
fi |
|
294 |
shift 1 |
|
295 |
done |
|
296 |
|
|
297 |
return $status |
|
298 |
} |
|
299 |
|
|
266 | 300 |
################################################################################ |
267 | 301 |
# SPECIFIC FUNCTIONS # |
268 | 302 |
################################################################################ |
... | ... | |
333 | 367 |
# Warning: Setup aborted by user. |
334 | 368 |
# -1 |
335 | 369 |
# Error: Unexpected user input. |
370 |
# -2 |
|
371 |
# Error: Missing dependecny. |
|
336 | 372 |
# |
337 | 373 |
function stm32flashSetup { |
338 | 374 |
local amirobltdir=$(dirname $(realpath ${BASH_SOURCE[0]})) |
339 | 375 |
local stm32flashdir=${amirobltdir}/Host/Source/stm32flash |
340 | 376 |
local userdir=$(pwd) |
341 | 377 |
|
378 |
# check dependencies |
|
379 |
checkCommands git make gcc g++ |
|
380 |
if [ $? -ne 0 ]; then |
|
381 |
printError "Missing dependencies detected.\n" |
|
382 |
return -2 |
|
383 |
fi |
|
384 |
|
|
342 | 385 |
# if the stm32flash folder is not empty |
343 | 386 |
if [ ! -z "$(ls -A $stm32flashdir)" ]; then |
344 | 387 |
printWarning "$stm32flashdir is not empty. Delete and reinitialize? [y/n]\n" |
... | ... | |
423 | 466 |
local serialbootdir=${amirobltdir}/Host/Source/SerialBoot |
424 | 467 |
local userdir=$(pwd) |
425 | 468 |
|
469 |
# check dependencies |
|
470 |
checkCommands make cmake gcc g++ |
|
471 |
if [ $? -ne 0 ]; then |
|
472 |
printError "Missing dependencies detected.\n" |
|
473 |
return -2 |
|
474 |
fi |
|
475 |
|
|
426 | 476 |
# if a build folder already exists |
427 | 477 |
if [ -d "${serialbootdir}/build/" ]; then |
428 | 478 |
printWarning "SerialBoot has been built before. Delete and rebuild? [y/n]\n" |
Also available in: Unified diff