Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Optimize: do not rebuild from scratch when something already exists
[simgrid.git] / buildtools / Cmake / cmake_simgrid.conf
index fbda2fb..da0d7e3 100644 (file)
@@ -24,17 +24,24 @@ get_version() {
 # wait_archive: wait until the archive gets defined into the right position
 wait_archive() {
   while [ ! -e ${SIMGRID_BASEDIR}/${version}.tar.gz ] ; do
-    echo ${SIMGRID_BASEDIR}/${version}.tar.gz not found. Wait one second.
-    sleep 1
+    echo ${SIMGRID_BASEDIR}/${version}.tar.gz not found. Wait five seconds.
+    sleep 5
   done
 }
 
 # make_dist: rebuild an archive from the svn
 make_dist() {
   get_version
-  if [ ! -e ${SIMGRID_BASEDIR}/${version}.tar.gz ] ; do
+  if [ ! -e ${SIMGRID_BASEDIR}/${version}.tar.gz ] ; then
+    cd ${SIMGRID_BASEDIR}
     echo "rebuild the missing files for compilation"
-    ./bootstrap && ./configure --enable-maintainer-mode --disable-compile-optimizations
+    if [ ! -e configure ] ; then
+      ./bootstrap
+    fi
+    if [ ! -e Makefile ] ; then
+       # Disable compilation optim to make it built faster
+       ./configure --enable-maintainer-mode --disable-compile-optimizations
+    fi
     echo "Make the archive"
     make all dist
 
@@ -64,6 +71,7 @@ clean_node() {
 
 # open_archive: wait for archive to be built, cleanup previous
 open_archive() {
+  get_version
   clean_node
   wait_archive
   cd $BUILDDIR/..