]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Add tinyos.sh, a utility for changing the active tree (TOSROOT).
authorR. Steve McKown <rsmckown@gmail.com>
Thu, 3 Dec 2009 20:45:13 +0000 (13:45 -0700)
committerR. Steve McKown <rsmckown@gmail.com>
Mon, 7 Dec 2009 16:19:40 +0000 (09:19 -0700)
tinyos.sh [new file with mode: 0644]

diff --git a/tinyos.sh b/tinyos.sh
new file mode 100644 (file)
index 0000000..20814c4
--- /dev/null
+++ b/tinyos.sh
@@ -0,0 +1,43 @@
+#! /usr/bin/env bash
+# Here we setup the environment
+# variables needed by the tinyos 
+# make system
+
+TOSBASE=/opt/tinyos
+
+# $1 is a directory or tos version number
+# returns a fully rooted and valid TOSROOT
+getdir()
+{
+    if [ -d "$1" -a -d "$1/tos" ]; then
+       echo "$1"
+    elif [ -d "$TOSBASE/$1" -a -d "$TOSBASE/$1/tos" ]; then
+       echo "$TOSBASE/$1"
+    fi
+}
+
+# Clear TOS environment
+if [ -n "$TOSROOT" ]; then
+    CLASSPATH=$(echo $CLASSPATH | sed -e "s|:$TOSROOT/support/sdk/java||")
+fi
+unset TOSDIR MAKERULES
+
+# Set TOS environment
+TOSROOT=$(getdir "$1")
+if [ -z "$TOSROOT" ]; then
+    TOSROOT=$(cat ~/.tosrc 2>/dev/null)
+fi
+
+if [ -z "$TOSROOT" ]; then
+    echo "No TinyOS source directory found.  Usage:" >&2
+    echo "source /opt/tinyos/tinyos.sh [<version> | <directory>]" >&2
+    export TOSROOT TOSDIR MAKERULES
+else
+    echo "Setting up for TinyOS source in $TOSROOT"
+    echo "$TOSROOT" > ~/.tosrc
+    TOSDIR="$TOSROOT/tos"
+    CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java
+    MAKERULES="$TOSROOT/support/make/Makerules"
+    export TOSROOT TOSDIR CLASSPATH MAKERULES
+fi
+unset TOSBASE tmp