home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gdb-4.16-base.tgz / gdb-4.16-base.tar / fsf / gdb / symlink-tree < prev   
Text File  |  1995-11-14  |  923b  |  47 lines

  1. #!/bin/sh
  2. # Create a symlink tree.
  3. #
  4. # Syntax: symlink-tree srcdir "ignore1 ignore2 ..."
  5. #
  6. # where srcdir is the directory to create a symlink tree to,
  7. # and "ignoreN" is a list of files/directories to ignore.
  8.  
  9. prog=$0
  10. srcdir=$1
  11. ignore="$2"
  12.  
  13. ignore_additional=". .. CVS"
  14.  
  15. # If we were invoked with a relative path name, adjust ${prog} to work
  16. # in subdirs.
  17. case ${prog} in
  18. /*) ;;
  19. *) prog=../${prog} ;;
  20. esac
  21.  
  22. # Set newsrcdir to something subdirectories can use.
  23. case ${srcdir} in
  24. /*) newsrcdir=${srcdir} ;;
  25. *) newsrcdir=../${srcdir} ;;
  26. esac
  27.  
  28. for f in `ls -a ${srcdir}`; do
  29.   if [ -d ${srcdir}/$f ]; then
  30.     found=
  31.     for i in ${ignore} ${ignore_additional}; do
  32.       if [ "$f" = "$i" ]; then
  33.     found=yes
  34.       fi
  35.     done
  36.     if [ -z "${found}" ]; then
  37.       if [ -d $f ]; then true; else mkdir $f; fi
  38.       (cd $f; ${prog} ${newsrcdir}/$f "${ignore}")
  39.     fi
  40.   else
  41.     rm -f $f
  42.     ln -s ${srcdir}/$f .
  43.   fi
  44. done
  45.  
  46. exit 0
  47.