
# Yet another script which requires an already built Bash.
#
# This makes links in the current directory to the directory specified as
# the first argument.
#

topdir=$1

if [ ! "$topdir" ]; then
  echo "No directory specified.  Read the script $0."
  exit 1
fi

function clone_files ()
{
  local dir=$1;
  local files;

  files=$(cd $dir; echo *);

  if [ ! "$files" ]; then
    return 0;
  fi

  for filename in $files; do
    if [ -d $dir/$filename ]; then
      # If the file to clone is this directory, then skip it.
      if [ $(cd $dir/$filename; pwd) = $(pwd) ]; then
	continue;
      fi
      mkdir $filename;
      (cd $filename; clone_files ../$dir/$filename)
    else
      ln -s $dir/$filename .;
    fi
  done
  rm -f \#* *~ .*~ *.bak .*.bak  *.tmp .*.tmp *.o core a.out;
}

clone_files $topdir
