#!/bin/bash

cd $CVSDIR
CDPATH=""
summary=~/.built_summary
log=~/.built_log
name=`basename $0`

date > $summary
date > $log
config=`cat config.options`
pwd=$PWD
for a in `cat modules`; do 
cd $a*
  result=0
  if [ -e nobuild ]; then
     action="Skipping"
     result=1
  fi
  if [ $result$name == 0compile_all ]; then
     action="Preparing $PWD"
     echo $action
     if test -d admin; then
        echo Admin OK;
     else
        ln -s ../kde-common/admin;
        echo Admin FIXED;
     fi
     make -f Makefile.cvs >> $log 2>&1
     result=$?
  fi
  if [ $result$name == 0compile_all ]; then
     action="Configuring $PWD"
     echo $action
     rm config.cache >> $log 2>&1
     if [ -e config.options ]; then
        module_config=`cat config.options`
     fi
     ./configure $config $module_config >> $log 2>&1
     result=$?
  fi
  if [ $result == 0 ]; then
     action="Cleaning $PWD"
     echo $action
     make -k clean >> $log 2>&1
  fi
  if [ $result == 0 ]; then
     action="Compiling $PWD"
     echo $action
     make -k >> $log 2>&1
     result=$?
  fi
  if [ $result == 0 ]; then
     action="Installing $PWD"
     echo $action
     sudo make install >> $log 2>&1
     result=$?
  fi
  if [ $result == 0 ]; then
     action="Done"
     echo $action
  fi

  if [ "$action" == "Skipping" ]; then
     echo $PWD skipped.
     echo $PWD skipped. >> $summary
  elif [ "$action" == "Done" ]; then
     echo $PWD build ok. >> $summary
     touch nobuild
  else
     echo ERROR during $action
     echo ERROR during $action >> $summary
     if [ $a == kdelibs ]; then
        echo Aborted!
        echo Aborted! >> $summary
        exit 1;
     fi
  fi
  cd $pwd; 
done
