Mercurial > hg > beaglert
comparison scripts/build_project.sh @ 370:137a87b745d2 prerelease
Now possible to pass options to the Makefile from build_project.sh
| author | Giulio Moro <giuliomoro@yahoo.it> | 
|---|---|
| date | Thu, 09 Jun 2016 17:28:01 +0100 | 
| parents | 75689b7cd57b | 
| children | a430a16d2c02 | 
   comparison
  equal
  deleted
  inserted
  replaced
| 369:75689b7cd57b | 370:137a87b745d2 | 
|---|---|
| 32 | 32 | 
| 33 By default, the project runs in the foreground of the current terminal, | 33 By default, the project runs in the foreground of the current terminal, | 
| 34 within a screen session that can be detached later. The -f argument runs | 34 within a screen session that can be detached later. The -f argument runs | 
| 35 the project in the foreground of the current terminal, without screen, so | 35 the project in the foreground of the current terminal, without screen, so | 
| 36 the output can be piped to another destination. The -b argument runs it | 36 the output can be piped to another destination. The -b argument runs it | 
| 37 in a screen in the background, so no output is shown." | 37 in a screen in the background, so no output is shown. The -m argument allows | 
| 38 to pass arguments to the Makefile before the run target. For instance, | |
| 39 pass -m \`"projectclean"\` or \`-m "distclean"\` to clean project-specific pre-built | |
| 40 objects, or all the pre-built objects, respectively." | |
| 38 } | 41 } | 
| 39 | 42 | 
| 40 OPTIND=1 | 43 OPTIND=1 | 
| 41 | 44 | 
| 42 while getopts "bc:nfFhp:" opt; do | 45 while getopts "bc:m:nfFhp:" opt; do | 
| 43 case $opt in | 46 case $opt in | 
| 44 c) COMMAND_ARGS=$OPTARG | 47 c) COMMAND_ARGS=$OPTARG | 
| 45 ;; | 48 ;; | 
| 46 b) RUN_IN_FOREGROUND=0 | 49 b) RUN_IN_FOREGROUND=0 | 
| 47 ;; | 50 ;; | 
| 49 ;; | 52 ;; | 
| 50 n) RUN_PROJECT=0 | 53 n) RUN_PROJECT=0 | 
| 51 ;; | 54 ;; | 
| 52 p) BBB_PROJECT_NAME=$OPTARG | 55 p) BBB_PROJECT_NAME=$OPTARG | 
| 53 ;; | 56 ;; | 
| 57 m) BBB_MAKEFILE_OPTIONS=$OPTARG | |
| 58 ;; | |
| 54 h|\?) usage | 59 h|\?) usage | 
| 55 exit 1 | 60 exit 1 | 
| 56 esac | 61 esac | 
| 57 done | 62 done | 
| 58 | 63 | 
| 109 #rsync | 114 #rsync | 
| 110 # --delete makes sure it removes files that are not in the origin folder | 115 # --delete makes sure it removes files that are not in the origin folder | 
| 111 # -c evaluates changes using md5 checksum instead of file date, so we don't care about time skews | 116 # -c evaluates changes using md5 checksum instead of file date, so we don't care about time skews | 
| 112 # --no-t makes sure file timestamps are not preserved, so that the Makefile will not think that targets are up to date when replacing files on the BBB | 117 # --no-t makes sure file timestamps are not preserved, so that the Makefile will not think that targets are up to date when replacing files on the BBB | 
| 113 # with older files from the host. This will solve 99% of the issues with Makefile thinking a target is up to date when it is not. | 118 # with older files from the host. This will solve 99% of the issues with Makefile thinking a target is up to date when it is not. | 
| 114 rsync -avc --no-t --delete-after --exclude=build $HOST_SOURCE_PATH"/" "$BBB_NETWORK_TARGET_FOLDER/" #trailing slashes used here make sure rsync does not create another folder inside the target folder | 119 | 
| 120 echo rsync -avc --no-t --delete-after --exclude=$BBB_PROJECT_NAME --exclude=build $HOST_SOURCE_PATH"/" "$BBB_NETWORK_TARGET_FOLDER/" #trailing slashes used here make sure rsync does not create another folder inside the target folder | |
| 121 rsync -avc --no-t --delete-after --exclude=$BBB_PROJECT_NAME --exclude=build $HOST_SOURCE_PATH"/" "$BBB_NETWORK_TARGET_FOLDER/" #trailing slashes used here make sure rsync does not create another folder inside the target folder | |
| 115 fi; | 122 fi; | 
| 116 | 123 | 
| 117 if [ $? -ne 0 ] | 124 if [ $? -ne 0 ] | 
| 118 then | 125 then | 
| 119 echo "Error while copying files" | 126 echo "Error while copying files" | 
| 120 exit | 127 exit | 
| 121 fi | 128 fi | 
| 122 | 129 | 
| 123 # Make new BeagleRT executable and run | 130 # Make new BeagleRT executable and run | 
| 124 MAKE_COMMAND="make -C $BBB_BELA_HOME PROJECT='$BBB_PROJECT_NAME' CL='$COMMAND_ARGS'" | 131 MAKE_COMMAND="make -C $BBB_BELA_HOME PROJECT='$BBB_PROJECT_NAME' CL='$COMMAND_ARGS' $BBB_MAKEFILE_OPTIONS" | 
| 125 if [ $RUN_PROJECT -eq 0 ] | 132 if [ $RUN_PROJECT -eq 0 ] | 
| 126 then | 133 then | 
| 127 echo "Building project..." | 134 echo "Building project..." | 
| 128 ssh $BBB_ADDRESS "$MAKE_COMMAND" | 135 ssh $BBB_ADDRESS "$MAKE_COMMAND" | 
| 129 else | 136 else | 
