diff --git a/testcases/realtime/func/async_handler/Makefile b/testcases/realtime/func/async_handler/Makefile
index faf4fa9..f334cfa 100644
--- a/testcases/realtime/func/async_handler/Makefile
+++ b/testcases/realtime/func/async_handler/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/gtod_latency/Makefile b/testcases/realtime/func/gtod_latency/Makefile
index bd67ed6..89d82c9 100644
--- a/testcases/realtime/func/gtod_latency/Makefile
+++ b/testcases/realtime/func/gtod_latency/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/hrtimer-prio/Makefile b/testcases/realtime/func/hrtimer-prio/Makefile
index 0a1872c..d294ee2 100644
--- a/testcases/realtime/func/hrtimer-prio/Makefile
+++ b/testcases/realtime/func/hrtimer-prio/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/hrtimer-prio/run.sh b/testcases/realtime/func/hrtimer-prio/run.sh
deleted file mode 100644
index b45e76b..0000000
--- a/testcases/realtime/func/hrtimer-prio/run.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/bash
-
-if [ ! $SCRIPTS_DIR ]; then
-        # assume we're running standalone
-        export SCRIPTS_DIR=../../scripts/
-fi
-
-source $SCRIPTS_DIR/setenv.sh
-
-$SCRIPTS_DIR/run_c_files.sh "hrtimer-prio"
-
-
diff --git a/testcases/realtime/func/hrtimer-prio/run_auto.sh b/testcases/realtime/func/hrtimer-prio/run_auto.sh
new file mode 100644
index 0000000..366e746
--- /dev/null
+++ b/testcases/realtime/func/hrtimer-prio/run_auto.sh
@@ -0,0 +1,10 @@
+#! /bin/bash
+
+if [ ! $SCRIPTS_DIR ]; then
+        # assume we're running standalone
+        export SCRIPTS_DIR=../../scripts/
+fi
+
+source $SCRIPTS_DIR/setenv.sh
+
+$SCRIPTS_DIR/run_c_files.sh "hrtimer-prio"
diff --git a/testcases/realtime/func/matrix_mult/Makefile b/testcases/realtime/func/matrix_mult/Makefile
index c19cad1..3d89133 100644
--- a/testcases/realtime/func/matrix_mult/Makefile
+++ b/testcases/realtime/func/matrix_mult/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/measurement/Makefile b/testcases/realtime/func/measurement/Makefile
index fdad2c5..36343e9 100644
--- a/testcases/realtime/func/measurement/Makefile
+++ b/testcases/realtime/func/measurement/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/measurement/run.sh b/testcases/realtime/func/measurement/run.sh
deleted file mode 100644
index 3011964..0000000
--- a/testcases/realtime/func/measurement/run.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/bash
-
-if [ ! $SCRIPTS_DIR ]; then
-        # assume we're running standalone
-        export SCRIPTS_DIR=../../scripts/
-fi
-
-source $SCRIPTS_DIR/setenv.sh
-
-
-# This is a temporary workaround for previous
-# loop support patch which seems to be having
-# issues right now.
-
-LOG_FILE="$LOG_DIR/$LOG_FORMAT-rdtsc-latency.log"
-$SCRIPTS_DIR/run_c_files.sh "rdtsc-latency"
-
-LOG_FILE="$LOG_DIR/$LOG_FORMAT-preempt_timing.log"
-$SCRIPTS_DIR/run_c_files.sh "preempt_timing"
diff --git a/testcases/realtime/func/measurement/run_auto.sh b/testcases/realtime/func/measurement/run_auto.sh
new file mode 100644
index 0000000..3011964
--- /dev/null
+++ b/testcases/realtime/func/measurement/run_auto.sh
@@ -0,0 +1,19 @@
+#! /bin/bash
+
+if [ ! $SCRIPTS_DIR ]; then
+        # assume we're running standalone
+        export SCRIPTS_DIR=../../scripts/
+fi
+
+source $SCRIPTS_DIR/setenv.sh
+
+
+# This is a temporary workaround for previous
+# loop support patch which seems to be having
+# issues right now.
+
+LOG_FILE="$LOG_DIR/$LOG_FORMAT-rdtsc-latency.log"
+$SCRIPTS_DIR/run_c_files.sh "rdtsc-latency"
+
+LOG_FILE="$LOG_DIR/$LOG_FORMAT-preempt_timing.log"
+$SCRIPTS_DIR/run_c_files.sh "preempt_timing"
diff --git a/testcases/realtime/func/periodic_cpu_load/Makefile b/testcases/realtime/func/periodic_cpu_load/Makefile
index 275eb06..e7ec8fc 100644
--- a/testcases/realtime/func/periodic_cpu_load/Makefile
+++ b/testcases/realtime/func/periodic_cpu_load/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/pi-tests/Makefile b/testcases/realtime/func/pi-tests/Makefile
index eb9cca3..7a7a57a 100644
--- a/testcases/realtime/func/pi-tests/Makefile
+++ b/testcases/realtime/func/pi-tests/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh parse-testpi1.py parse-testpi2.py
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 
diff --git a/testcases/realtime/func/pi_perf/Makefile b/testcases/realtime/func/pi_perf/Makefile
index fbceaba..196fca8 100644
--- a/testcases/realtime/func/pi_perf/Makefile
+++ b/testcases/realtime/func/pi_perf/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/prio-preempt/Makefile b/testcases/realtime/func/prio-preempt/Makefile
index 6da3504..b4c0b2e 100644
--- a/testcases/realtime/func/prio-preempt/Makefile
+++ b/testcases/realtime/func/prio-preempt/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/prio-wake/Makefile b/testcases/realtime/func/prio-wake/Makefile
index 256f5fb..6cea976 100644
--- a/testcases/realtime/func/prio-wake/Makefile
+++ b/testcases/realtime/func/prio-wake/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/pthread_kill_latency/Makefile b/testcases/realtime/func/pthread_kill_latency/Makefile
index b07d8de..fd3a059 100644
--- a/testcases/realtime/func/pthread_kill_latency/Makefile
+++ b/testcases/realtime/func/pthread_kill_latency/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/rt-migrate/Makefile b/testcases/realtime/func/rt-migrate/Makefile
index b48f48a..ae4f610 100644
--- a/testcases/realtime/func/rt-migrate/Makefile
+++ b/testcases/realtime/func/rt-migrate/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/sched_football/Makefile b/testcases/realtime/func/sched_football/Makefile
index 1b2a480..a5117fd 100644
--- a/testcases/realtime/func/sched_football/Makefile
+++ b/testcases/realtime/func/sched_football/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/sched_jitter/Makefile b/testcases/realtime/func/sched_jitter/Makefile
index 95bc9a9..827a0db 100644
--- a/testcases/realtime/func/sched_jitter/Makefile
+++ b/testcases/realtime/func/sched_jitter/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/sched_latency/Makefile b/testcases/realtime/func/sched_latency/Makefile
index 564d42f..b7327df 100644
--- a/testcases/realtime/func/sched_latency/Makefile
+++ b/testcases/realtime/func/sched_latency/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/func/thread_clock/Makefile b/testcases/realtime/func/thread_clock/Makefile
index b94b897..5cac451 100644
--- a/testcases/realtime/func/thread_clock/Makefile
+++ b/testcases/realtime/func/thread_clock/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= run_auto.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/perf/latency/Makefile b/testcases/realtime/perf/latency/Makefile
index 6b1ad58..0ce86a3 100644
--- a/testcases/realtime/perf/latency/Makefile
+++ b/testcases/realtime/perf/latency/Makefile
@@ -22,6 +22,7 @@
 
 top_srcdir		?= ../../../..
 
+INSTALL_TARGETS		:= cpunoise.sh cpunoise2000.sh disknoise.sh run.sh
 include $(top_srcdir)/include/mk/env_pre.mk
 include $(abs_srcdir)/../../config.mk
 include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/profiles/Makefile b/testcases/realtime/profiles/Makefile
new file mode 100644
index 0000000..c231f31
--- /dev/null
+++ b/testcases/realtime/profiles/Makefile
@@ -0,0 +1,26 @@
+#
+#    realtime/profiles test suite Makefile.
+#
+#    Copyright 2013 Linaro Limited
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License along
+#    with this program; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+top_srcdir		?= ../../..
+
+include $(top_srcdir)/include/mk/env_pre.mk
+include $(abs_srcdir)/../config.mk
+INSTALL_TARGETS		:= default
+include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/run.sh b/testcases/realtime/run.sh
index 77e8d68..a66e4e5 100755
--- a/testcases/realtime/run.sh
+++ b/testcases/realtime/run.sh
@@ -185,12 +185,16 @@ if [ $# -lt 1 ]; then
 fi
 pushd $TESTS_DIR >/dev/null
 
-#Only build the library, most of the tests depend upon.
-#The Individual tests will be built, just before they run.
-pushd lib
-make
-check_error make
-popd
+# if INSTALL_DIR != top_srcdir assume the individual tests are built and installed.
+# So no need to build lib
+if [[ -d lib ]]; then
+    #Only build the library, most of the tests depend upon.
+    #The Individual tests will be built, just before they run.
+    pushd lib
+    make
+    check_error make
+    popd
+fi
 
 ISLOOP=0
 index=0
diff --git a/testcases/realtime/scripts/Makefile b/testcases/realtime/scripts/Makefile
new file mode 100644
index 0000000..28bf88e
--- /dev/null
+++ b/testcases/realtime/scripts/Makefile
@@ -0,0 +1,26 @@
+#
+#    realtime/scripts test suite Makefile.
+#
+#    Copyright 2013 Linaro Limited
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License along
+#    with this program; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+top_srcdir		?= ../../..
+
+include $(top_srcdir)/include/mk/env_pre.mk
+include $(abs_srcdir)/../config.mk
+INSTALL_TARGETS		:= run_c_files.sh setenv.sh __init__.py parser.py
+include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/realtime/scripts/run_c_files.sh b/testcases/realtime/scripts/run_c_files.sh
index 3ab52ec..6e73f38 100755
--- a/testcases/realtime/scripts/run_c_files.sh
+++ b/testcases/realtime/scripts/run_c_files.sh
@@ -20,8 +20,11 @@ profile_path=$PROFILES_DIR/$profile
 # Does profile exist?
 [ ! -f "$profile_path" ] && { echo >&2 "$0: Could not find profile ($profile_path)" ; exit 1 ; }
 
-# Compile the test cases to support stand alone runs.
-make
+# if INSTALL_DIR != top_srcdir assume the individual tests are built and installed.
+if [[ -f Makefile ]]; then
+    # Compile the test cases to support stand alone runs.
+    make
+fi
 
 
 # Run the test case
diff --git a/testscripts/test_realtime.sh b/testscripts/test_realtime.sh
index 22c3692..0d424fc 100755
--- a/testscripts/test_realtime.sh
+++ b/testscripts/test_realtime.sh
@@ -128,7 +128,7 @@ find_test()
             ;;
         all)
         # Run all tests which have run_auto.sh
-            TESTLIST="func stress java perf"
+            TESTLIST="func stress perf"
             ;;
         list)
         # This will only display subdirs which have run_auto.sh
@@ -176,12 +176,16 @@ if [ ! -e "logs" ]; then
         chmod -R 775 logs
 fi
 
-#Only build the library, most of the tests depend upon.
-#The Individual tests will be built, just before they run.
-pushd lib
-make
-check_error make
-popd
+# if INSTALL_DIR != top_srcdir assume the individual tests are built and installed.
+# So no need to build lib
+if [[ -d lib ]]; then
+    #Only build the library, most of the tests depend upon.
+    #The Individual tests will be built, just before they run.
+    pushd lib
+    make
+    check_error make
+    popd
+fi
 
 ISLOOP=0
 index=0
