buildtools/legacy/gcc/symlink-tree
Ingo Weinhold 9ea2a99edb Moved the old gcc to its new home.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@15071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 15:53:32 +00:00

49 lines
977 B
Bash
Executable File

#!/bin/sh
# Create a symlink tree.
#
# Syntax: symlink-tree srcdir "ignore1 ignore2 ..."
#
# where srcdir is the directory to create a symlink tree to,
# and "ignoreN" is a list of files/directories to ignore.
prog=$0
srcdir=$1
ignore="$2"
ignore_additional=". .. CVS"
# If we were invoked with a relative path name, adjust ${prog} to work
# in subdirs.
case ${prog} in
/*) ;;
*) prog=../${prog} ;;
esac
# Set newsrcdir to something subdirectories can use.
case ${srcdir} in
/*) newsrcdir=${srcdir} ;;
*) newsrcdir=../${srcdir} ;;
esac
for f in `ls -a ${srcdir}`; do
if [ -d ${srcdir}/$f ]; then
found=
for i in ${ignore} ${ignore_additional}; do
if [ "$f" = "$i" ]; then
found=yes
fi
done
if [ -z "${found}" ]; then
echo "$f ..working in"
if [ -d $f ]; then true; else mkdir $f; fi
(cd $f; ${prog} ${newsrcdir}/$f "${ignore}")
fi
else
echo "$f ..linked"
rm -f $f
ln -s ${srcdir}/$f .
fi
done
exit 0