Mercurial > hg > beaglert
comparison scripts/build_project.sh @ 64:b89dd0c97a04 newapi
added Makefile, added default_main, added error checking in scripts
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Wed, 15 Jul 2015 19:59:29 +0100 |
parents | 3ada83df91a5 |
children | 91e1a3a220d4 |
comparison
equal
deleted
inserted
replaced
63:3ada83df91a5 | 64:b89dd0c97a04 |
---|---|
42 | 42 |
43 shift $((OPTIND-1)) | 43 shift $((OPTIND-1)) |
44 | 44 |
45 # Check that we have a directory containing at least one source file | 45 # Check that we have a directory containing at least one source file |
46 # as an argument | 46 # as an argument |
47 | |
47 if [ -z "$1" ] | 48 if [ -z "$1" ] |
48 then | 49 then |
49 usage | 50 usage |
50 exit | 51 exit |
51 fi | 52 fi |
52 | 53 |
53 C_FILES=$(find "$1" -maxdepth 1 -type f -name "*.c") | 54 FIND_STRING="find $* -maxdepth 10000 -type f " |
54 CPP_FILES=$(find "$1" -maxdepth 1 -type f -name "*.cpp") | 55 |
55 ASM_FILES=$(find "$1" -maxdepth 1 -type f -name "*.S") | 56 C_FILES=$($FIND_STRING -name "*.c") |
57 CPP_FILES=$($FIND_STRING -name "*.cpp") | |
58 ASM_FILES=$($FIND_STRING -name "*.S") | |
56 | 59 |
57 if [[ -z $C_FILES ]] && [[ -z $CPP_FILES ]] && [[ -z $ASM_FILES ]] | 60 if [[ -z $C_FILES ]] && [[ -z $CPP_FILES ]] && [[ -z $ASM_FILES ]] |
58 then | 61 then |
59 echo "Please provide a directory containing .c, .cpp or .S files." | 62 echo "Please provide a directory containing .c, .cpp or .S files." |
60 # echo "Usage: $THIS_SCRIPT [directory-with-source-files]" | 63 # echo "Usage: $THIS_SCRIPT [directory-with-source-files]" |
62 exit | 65 exit |
63 fi | 66 fi |
64 | 67 |
65 # Stop BeagleRT and clean out old source files | 68 # Stop BeagleRT and clean out old source files |
66 echo "Stopping BeagleRT and removing old source files..." | 69 echo "Stopping BeagleRT and removing old source files..." |
67 ssh -t -t $BBB_ADDRESS "screen -X -S BeagleRT quit ; pkill BeagleRT ; sleep 0.5; make sourceclean -C $BBB_PATH" | 70 ssh -t -t $BBB_ADDRESS "screen -X -S BeagleRT quit ; pkill BeagleRT ; make sourceclean -C $BBB_PATH" |
71 | |
72 #concatenate arguments to form path. | |
73 BBB_SOURCE_PATH= #initially empty, will be filled with input arguments | |
74 for i in "$@" #parse input arguments | |
75 do | |
76 if [ -d "$1" ] #check if the path is a folder | |
77 then #if it is, include all of its files | |
78 BBB_SOURCE_PATH+=" ${1}/* " | |
79 else | |
80 BBB_SOURCE_PATH+=" $1 " | |
81 fi | |
82 shift | |
83 # Copy new souce files to the board | |
84 done | |
68 | 85 |
69 # Copy new source files to the board | 86 # Copy new source files to the board |
70 echo "Copying new source files to BeagleBone..." | 87 echo "Copying new source files to BeagleBone..." |
71 scp "$1"/* "$BBB_ADDRESS:$BBB_PATH/source/" | 88 scp $BBB_SOURCE_PATH "$BBB_ADDRESS:$BBB_PATH/source/" |
89 | |
90 if [ $? -ne 0 ] | |
91 then | |
92 echo "Error while copying files" | |
93 exit | |
94 fi | |
72 | 95 |
73 # Make new BeagleRT executable and run | 96 # Make new BeagleRT executable and run |
74 if [ $RUN_PROJECT -eq 0 ] | 97 if [ $RUN_PROJECT -eq 0 ] |
75 then | 98 then |
76 echo "Building project..." | 99 echo "Building project..." |
77 ssh $BBB_ADDRESS "make all -C $BBB_PATH" | 100 ssh $BBB_ADDRESS "make all -C $BBB_PATH" |
78 else | 101 else |
79 echo "Building and running project..." | 102 echo "Building and running project..." |
80 ssh $BBB_ADDRESS "make all -C $BBB_PATH ; screen -S BeagleRT -d -m $BBB_PATH/BeagleRT $COMMAND_ARGS" | 103 ssh $BBB_ADDRESS "make all -C $BBB_PATH && screen -S BeagleRT -d -m $BBB_PATH/BeagleRT $COMMAND_ARGS" |
81 fi | 104 fi |