diff scripts/run_project.sh @ 425:99de323c13b3 prerelease

Scripts use sh instead of bash. Some fixes in run_project and build_project
author Giulio Moro <giuliomoro@yahoo.it>
date Thu, 16 Jun 2016 15:55:03 +0100
parents a430a16d2c02
children 2e01a9d6cb58
line wrap: on
line diff
--- a/scripts/run_project.sh	Thu Jun 16 14:34:18 2016 +0100
+++ b/scripts/run_project.sh	Thu Jun 16 15:55:03 2016 +0100
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 # This script runs an already-compiled Bela project on the
 # BeagleBone Black.
@@ -20,28 +20,35 @@
 
     echo "
     This script runs a previously compiled Bela project on the 
-    BeagleBone Black. The -b option changes the default path, which
-    is otherwise $BBB_BELA_HOME. The -c option passes command-line arguments
+    BeagleBone Black. The -c option passes command-line arguments
     to the Bela program; enclose the argument string in quotes.
+
+    -p arg : sets the name of the project to run (default: $BBB_PROJECT_NAME ) 
 	
-    The -f argument runs the project in the foreground of the current terminal,
-    within a screen session that can be detached later. The -F argument runs
-	the project in the foreground of the current terminal, without screen, so
-	the output can be piped to another destination."
+    By default, the project runs in the foreground of the current terminal,
+    within a screen session that can be detached later. The -f argument runs
+    the project in the foreground of the current terminal, without screen, so
+    the output can be piped to another destination. The -b argument runs it
+    in a screen in the background, so no output is shown. The -m argument allows
+    to pass arguments to the Makefile before the run target. For instance,
+    pass -m \`"projectclean"\` or \`-m "distclean"\` to clean project-specific
+    pre-built objects, or all the pre-built objects, respectively."
 }
 
 OPTIND=1
 
-while getopts "b:c:fFh" opt; do
+while getopts "bc:m:nfFhp:" opt; do
     case $opt in
-        b)            BBB_BELA_HOME=$OPTARG
-                      ;;
         c)            COMMAND_ARGS=$OPTARG
                       ;;
-        f)            RUN_IN_FOREGROUND=1
+        b)            RUN_IN_FOREGROUND=0
                       ;;
-	F)            RUN_WITHOUT_SCREEN=1
-		              ;;
+        f)            RUN_WITHOUT_SCREEN=1
+                      ;;
+	p)            BBB_PROJECT_NAME=$OPTARG
+		      ;;	
+	m)            BBB_MAKEFILE_OPTIONS=$OPTARG
+	              ;;
         h|\?)         usage
                       exit 1
     esac
@@ -56,14 +63,14 @@
     BBB_PROJECT_NAME=$1
 fi
 
-MAKE_COMMAND="make stop -C $BBB_BELA_HOME PROJECT='$BBB_PROJECT_NAME' CL='$COMMAND_ARGS'"
+MAKE_COMMAND="make --no-print-directory stop -C $BBB_BELA_HOME PROJECT='$BBB_PROJECT_NAME' CL='$COMMAND_ARGS'"
 echo "Running $BBB_PROJECT_NAME..."
-if [ $RUN_WITHOUT_SCREEN -ne 0 ]
+if [ $RUN_WITHOUT_SCREEN -eq 1 ]
 then
-    ssh $BBB_ADDRESS "$MAKE_COMMAND run"
-elif [ $RUN_IN_FOREGROUND -eq 0 ]
+    ssh -t $BBB_ADDRESS "$MAKE_COMMAND run"
+elif [ $RUN_IN_FOREGROUND -eq 1 ]
 then
-    ssh $BBB_ADDRESS "$MAKE_COMMAND runscreenfg"
+    ssh -t $BBB_ADDRESS "$MAKE_COMMAND runscreenfg"
 else
     ssh $BBB_ADDRESS "$MAKE_COMMAND runscreen"
 fi