diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 9d81276f113759b306ac99d5e5ddf85edbd7a894..3ea53e9ea66bb3832603e18ebadbbd16467460d9 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -169,7 +169,7 @@ endif (${RTAI})
 # (so creating new asn.1 objects instead of modifying the object attributes)
 # New C code source file, cmake must be re-run (instead of re-running make only) 
 #############
-set(asn1c_call "${OPENAIR_CMAKE}/generate_asn1.bash")
+set(asn1c_call "${OPENAIR_CMAKE}/tools/generate_asn1.bash")
 set(asn1_generated_dir ${OPENAIR_BIN_DIR})
 
 # RRC
@@ -1279,7 +1279,7 @@ function(make_driver name dir)
     string(REGEX REPLACE "c *$" "o" obj ${f})
     set(objs "${objs} ${obj}")
   endforeach()
-  CONFIGURE_FILE(${OPENAIR_CMAKE}/Kbuild.cmake ${OPENAIR_BIN_DIR}/${name}/Kbuild)
+  CONFIGURE_FILE(${OPENAIR_CMAKE}/tools/Kbuild.cmake ${OPENAIR_BIN_DIR}/${name}/Kbuild)
   add_custom_command(OUTPUT ${name}.ko
     COMMAND make -C ${module_build_path} M=${OPENAIR_BIN_DIR}/${name}
     WORKING_DIRECTORY ${OPENAIR_BIN_DIR}/${name}
diff --git a/cmake_targets/autotests/run_compilation_autotests.bash b/cmake_targets/autotests/run_compilation_autotests.bash
new file mode 100755
index 0000000000000000000000000000000000000000..e717d5be81669bda1bdb068c2d45935b6a7d9cde
--- /dev/null
+++ b/cmake_targets/autotests/run_compilation_autotests.bash
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+if [ -s $OPENAIR_DIR/cmake_targets/build_helper.bash ] ; then
+   source $OPENAIR_DIR/cmake_targets/build_helper.bash
+else
+   echo "Error: no file in the file tree: is OPENAIR_DIR variable set?"
+   exit 1
+fi
+
+tdir=$OPENAIR_DIR/cmake_targets/autotests
+mkdir -p $tdir/bin $tdir/log
+
+updated=$(svn st -q $OPENAIR_DIR)
+if [ "$updated" != "" ] ; then
+	echo_warning "some files are not in svn: $updated"
+fi
+
+compilations \
+    autotests/test.0101 oaisim \
+    oaisim  $tdir/bin/oaisim.r8 \
+    $tdir/log/test0101.txt \
+	"test 0101:oaisim Rel8 passed" \
+    "test 0101:oaisim Rel8 failed"
+
+compilations \
+    autotests/test.0102 oaisim \
+    oaisim  $tdir/bin/oaisim.r8.nas \
+    $tdir/log/test0102.oaisim.txt \
+	"test 0102:oaisim Rel8 nas passed" \
+    "test 0102:oaisim Rel8 nas failed"
+compilations \
+    autotests/test.0103 oaisim \
+    oaisim  $tdir/bin/oaisim.r8.rf \
+    $tdir/log/test0103.txt \
+	"test 0103:oaisim rel8 rf passed" \
+    "test 0103:oaisim rel8 rf failed"
+compilations \
+    autotests/test.0104 dlsim \
+    dlsim  $tdir/bin/dlsim \
+    $tdir/log/test0104.txt \
+	"test 0104:dlsim passed" \
+    "test 0104:dlsim failed"    
+compilations \
+    autotests/test.0104 ulsim \
+    ulsim  $tdir/bin/ulsim \
+    $tdir/log/test0105.txt \
+	"test 0105: ulsim passed" \
+    "test 0105: ulsim failed"
+compilations \
+    autotests/test.0106 oaisim \
+    oaisim  $tdir/bin/oaisim.r8.itti \
+    $tdir/log/test0106.txt \
+	"test 0103:oaisim rel8 itti passed" \
+    "test 0103:oaisim rel8 itti failed"
+compilations \
+    autotests/test.0107 oaisim \
+    oaisim  $tdir/bin/oaisim.r10 \
+    $tdir/log/test0107.txt \
+	"test 0103:oaisim rel10 passed" \
+    "test 0103:oaisim rel10 failed"
+compilations \
+    autotests/test.0108 oaisim \
+    oaisim  $tdir/bin/oaisim.r10.itti \
+   $tdir/log/test0108.txt \
+	"test 0108:oaisim rel10 itti passed" \
+    "test 0108:oaisim rel10 itti failed"
+compilations \
+    autotests/test.0114 oaisim \
+    oaisim  $tdir/bin/oaisim.r8.itti.ral \
+    $tdir/log/test0114.txt \
+	"test 0114:oaisim rel8 itti ral passed" \
+    "test 0114:oaisim rel8 itti ral failed"
+compilations \
+    autotests/test.0115 oaisim \
+    oaisim  $tdir/bin/oaisim.r10.itti.ral \
+    $tdir/log/test0115.txt \
+	"test 0114:oaisim rel10 itti ral passed" \
+    "test 0114:oaisim rel10 itti ral failed" 
+compilations \
+    autotests/test.0102 nasmesh \
+    CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko \
+    $tdir/log/test0120.txt \
+	"test 0120: nasmesh.ko passed" \
+    "test 0120: nasmesk.ko failed"
+
diff --git a/cmake_targets/test.0101/CMakeLists.txt b/cmake_targets/autotests/test.0101/CMakeLists.txt
similarity index 96%
rename from cmake_targets/test.0101/CMakeLists.txt
rename to cmake_targets/autotests/test.0101/CMakeLists.txt
index 69604ebbf9d43880789cef084a8cf48e1f3b7614..a3dbc10482eb10751f0fd03ff56037e1cf5f648b 100644
--- a/cmake_targets/test.0101/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0101/CMakeLists.txt
@@ -72,4 +72,4 @@ set(USER_MODE True)
 set(XER_PRINT True)
 set(XFORMS False)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0102/CMakeLists.txt b/cmake_targets/autotests/test.0102/CMakeLists.txt
similarity index 96%
rename from cmake_targets/test.0102/CMakeLists.txt
rename to cmake_targets/autotests/test.0102/CMakeLists.txt
index 43fa1f17d1ce24f7253eb284611b71a75906852e..e219ba896a2fa7457f26fdc3e040365eba5b77eb 100644
--- a/cmake_targets/test.0102/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0102/CMakeLists.txt
@@ -72,4 +72,4 @@ set(USER_MODE True)
 set(XER_PRINT True)
 set(XFORMS False)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0103/CMakeLists.txt b/cmake_targets/autotests/test.0103/CMakeLists.txt
similarity index 96%
rename from cmake_targets/test.0103/CMakeLists.txt
rename to cmake_targets/autotests/test.0103/CMakeLists.txt
index 16e033c2d55bfd1b8488276079fc6bf312fb876e..7c06bb74229fcfa3ae2eaa54e527d10719af2109 100644
--- a/cmake_targets/test.0103/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0103/CMakeLists.txt
@@ -69,4 +69,4 @@ set(USER_MODE True)
 set(XER_PRINT True)
 set(XFORMS False)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0104/CMakeLists.txt b/cmake_targets/autotests/test.0104/CMakeLists.txt
similarity index 80%
rename from cmake_targets/test.0104/CMakeLists.txt
rename to cmake_targets/autotests/test.0104/CMakeLists.txt
index d2f06cd70ff4d47b67f07e3b2dbbc987d8570a40..6f93e687e5d0a4cca1dc22440035b27034576f23 100644
--- a/cmake_targets/test.0104/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0104/CMakeLists.txt
@@ -10,4 +10,4 @@ set(RANDOM_BF False)
 set(PBS_SIM False)
 set(PERFECT_CE True)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0106/CMakeLists.txt b/cmake_targets/autotests/test.0106/CMakeLists.txt
similarity index 96%
rename from cmake_targets/test.0106/CMakeLists.txt
rename to cmake_targets/autotests/test.0106/CMakeLists.txt
index 5d3fea412ee04b1ee3d73a296f9f797a195e6bc2..e9369d626f62555b23fdbe385fbb737355e7ef05 100644
--- a/cmake_targets/test.0106/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0106/CMakeLists.txt
@@ -72,4 +72,4 @@ set(USER_MODE True)
 set(XER_PRINT False)
 set(XFORMS False)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0107/CMakeLists.txt b/cmake_targets/autotests/test.0107/CMakeLists.txt
similarity index 96%
rename from cmake_targets/test.0107/CMakeLists.txt
rename to cmake_targets/autotests/test.0107/CMakeLists.txt
index 2f1d8d167b967f68a45b4853a8cf662ee5aceaf7..3c82ec99c6f7fc3862fcf7ce1ad61f47a6d9e5c4 100644
--- a/cmake_targets/test.0107/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0107/CMakeLists.txt
@@ -72,4 +72,4 @@ set(USER_MODE True)
 set(XER_PRINT True)
 set(XFORMS False)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0108/CMakeLists.txt b/cmake_targets/autotests/test.0108/CMakeLists.txt
similarity index 96%
rename from cmake_targets/test.0108/CMakeLists.txt
rename to cmake_targets/autotests/test.0108/CMakeLists.txt
index 8305784802d60c0f7fefdf8350f1208579594867..d6ac75556e070b3e5272d2772842ea9dd62d01eb 100644
--- a/cmake_targets/test.0108/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0108/CMakeLists.txt
@@ -72,4 +72,4 @@ set(USER_MODE True)
 set(XER_PRINT False)
 set(XFORMS False)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0113/CMakeLists.txt b/cmake_targets/autotests/test.0113/CMakeLists.txt
similarity index 69%
rename from cmake_targets/test.0113/CMakeLists.txt
rename to cmake_targets/autotests/test.0113/CMakeLists.txt
index a487910fe8455911f42cbaf8bf6461542fde151c..2ac0caecde90d32c80f1400e4ddd6db9a57e8401 100644
--- a/cmake_targets/test.0113/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0113/CMakeLists.txt
@@ -2,4 +2,4 @@ cmake_minimum_required(VERSION 2.8)
 set(OAI_NW_DRIVER_TYPE_ETHERNET True)
 set(OAI_NW_DRIVER_USE_NETLINK True)
 set(NAS_NETLINK True)
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0114/CMakeLists.txt b/cmake_targets/autotests/test.0114/CMakeLists.txt
similarity index 96%
rename from cmake_targets/test.0114/CMakeLists.txt
rename to cmake_targets/autotests/test.0114/CMakeLists.txt
index 73ecbd89a997714ca1bcdbc7b6dcd8667caec2ae..2bc90e5c2df97de178ae6b0147132660d16ad545 100644
--- a/cmake_targets/test.0114/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0114/CMakeLists.txt
@@ -72,4 +72,4 @@ set(USER_MODE True)
 set(XER_PRINT False)
 set(XFORMS False)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/test.0115/CMakeLists.txt b/cmake_targets/autotests/test.0115/CMakeLists.txt
similarity index 96%
rename from cmake_targets/test.0115/CMakeLists.txt
rename to cmake_targets/autotests/test.0115/CMakeLists.txt
index 041b43f9748e05d51c519eec2f6db156fc91c5a3..285d13ecebbc4c187e4ab962298476528cb71e38 100644
--- a/cmake_targets/test.0115/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0115/CMakeLists.txt
@@ -72,4 +72,4 @@ set(USER_MODE True)
 set(XER_PRINT False)
 set(XFORMS False)
 
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/build_helper.bash b/cmake_targets/build_helper.bash
index 5af2c7bb3c2eb9832c578089a5feb62785af62c9..8929a97c799d70cf5444fefd8f0e4961feeb09fc 100755
--- a/cmake_targets/build_helper.bash
+++ b/cmake_targets/build_helper.bash
@@ -31,8 +31,6 @@
 # author Laurent Thomas
 #
 #######################################
-mkdir -p $OPENAIR_DIR/cmake_targets/tests/bin
-mkdir -p $OPENAIR_DIR/cmake_targets/tests/log
 SUDO=sudo
 
 compilations() {
@@ -53,6 +51,87 @@ compilations() {
   fi
 }
 
+run_tests() {
+   $1 > $2 2>&1
+   grep 
+}
+
+run_compilation_autotests() {
+    tdir=$OPENAIR_DIR/cmake_targets/autotests
+    mkdir -p $tdir/bin $tdir/log
+    updated=$(svn st -q $OPENAIR_DIR)
+    if [ "$updated" != "" ] ; then
+	echo_warning "some files are not in svn: $updated"
+    fi
+    compilations \
+        test.0101 oaisim \
+        oaisim  $tdir/bin/oaisim.r8 \
+        $tdir/log/test0101.txt \
+	"test 0101:oaisim Rel8 passed" \
+        "test 0101:oaisim Rel8 failed"
+
+    compilations \
+        test.0102 oaisim \
+        oaisim  $tdir/bin/oaisim.r8.nas \
+        $tdir/log/test0102.oaisim.txt \
+	"test 0102:oaisim Rel8 nas passed" \
+        "test 0102:oaisim Rel8 nas failed"
+    compilations \
+        test.0103 oaisim \
+        oaisim  $tdir/bin/oaisim.r8.rf \
+        $tdir/log/test0103.txt \
+	"test 0103:oaisim rel8 rf passed" \
+        "test 0103:oaisim rel8 rf failed"
+    compilations \
+        test.0104 dlsim \
+        dlsim  $tdir/bin/dlsim \
+        $tdir/log/test0104.txt \
+	"test 0104:dlsim passed" \
+        "test 0104:dlsim failed"    
+    compilations \
+        test.0104 ulsim \
+        ulsim  $tdir/bin/ulsim \
+        $tdir/log/test0105.txt \
+	"test 0105: ulsim passed" \
+        "test 0105: ulsim failed"
+    compilations \
+        test.0106 oaisim \
+        oaisim  $tdir/bin/oaisim.r8.itti \
+        $tdir/log/test0106.txt \
+	"test 0103:oaisim rel8 itti passed" \
+        "test 0103:oaisim rel8 itti failed"
+    compilations \
+        test.0107 oaisim \
+        oaisim  $tdir/bin/oaisim.r10 \
+        $tdir/log/test0107.txt \
+	"test 0103:oaisim rel10 passed" \
+        "test 0103:oaisim rel10 failed"
+    compilations \
+        test.0108 oaisim \
+        oaisim  $tdir/bin/oaisim.r10.itti \
+        $tdir/log/test0108.txt \
+	"test 0108:oaisim rel10 itti passed" \
+        "test 0108:oaisim rel10 itti failed"
+    compilations \
+        test.0114 oaisim \
+        oaisim  $tdir/bin/oaisim.r8.itti.ral \
+        $tdir/log/test0114.txt \
+	"test 0114:oaisim rel8 itti ral passed" \
+        "test 0114:oaisim rel8 itti ral failed"
+    compilations \
+        test.0115 oaisim \
+        oaisim  $tdir/bin/oaisim.r10.itti.ral \
+        $tdir/log/test0115.txt \
+	"test 0114:oaisim rel10 itti ral passed" \
+        "test 0114:oaisim rel10 itti ral failed" 
+    compilations \
+        test.0102 nasmesh \
+        CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko \
+        $tdir/log/test0120.txt \
+	"test 0120: nasmesh.ko passed" \
+        "test 0120: nasmesk.ko failed"
+}
+
 make_certs(){
     
     # for certtificate generation
diff --git a/cmake_targets/build_oai.bash b/cmake_targets/build_oai.bash
index a146ed2bb45bdd00e39d45496acdbde92f41845e..e92ddd76747a92a6199ebc9632792b60da642550 100755
--- a/cmake_targets/build_oai.bash
+++ b/cmake_targets/build_oai.bash
@@ -278,22 +278,7 @@ fi
 #####################
 if [ "$OAI_TEST" = "1" ]; then 
     echo_info "10. Running OAI pre commit tests (pre-ci) ..."
-    updated=$(svn st -q $OPENAIR_DIR)
-    if [ "$updated" != "" ] ; then
-	echo_warning "some files are not in svn: $updated"
-    fi
-    mkdir -p $dbin.test
-    compilations \
-        test.0101 oaisim \
-        oaisim  $dbin.test/oaisim.r8 \
-        $dlog/oaisim.r8.test0101.txt \
-	"test 0101:oaisim passed" \
-        "test 0101:oaisim failed"
-    compilations test.0102 nasmesh \
-        CMakeFiles/nasmesh/nasmesh.ko $dbin/test/nasmesh.ko \
-        $dlog/nasmesh.test0102.txt \
-	"test 0102: nasmesh.ko  passed" \
-        "test 0102: nasmesk.ko failed"
+    $OPENAIR_DIR/cmake_targets/autotests/run_compilation_autotests.bash
 else 
     echo_info "10. Bypassing the Tests ..."
 fi 
diff --git a/cmake_targets/Kbuild.cmake b/cmake_targets/tools/Kbuild.cmake
similarity index 100%
rename from cmake_targets/Kbuild.cmake
rename to cmake_targets/tools/Kbuild.cmake
diff --git a/cmake_targets/generate_asn1.bash b/cmake_targets/tools/generate_asn1.bash
similarity index 100%
rename from cmake_targets/generate_asn1.bash
rename to cmake_targets/tools/generate_asn1.bash
diff --git a/cmake_targets/init_exmimo2.sh b/cmake_targets/tools/init_exmimo2.sh
similarity index 100%
rename from cmake_targets/init_exmimo2.sh
rename to cmake_targets/tools/init_exmimo2.sh