Blame maketarget

Packit fcad23
: maketarget
Packit fcad23
Packit fcad23
DIRS=`find . -name targets -prune -o -type d ! -name . -print | grep -v CVS | sed s/..//`
Packit fcad23
TARGET=${1-`./config.guess`}
Packit fcad23
Packit fcad23
rebuild=0
Packit fcad23
Packit fcad23
echo Target directory: $TARGET
Packit fcad23
echo Sub directories: $DIRS
Packit fcad23
Packit fcad23
[ -d targets ] || mkdir targets
Packit fcad23
cd targets
Packit fcad23
if [ -d $TARGET ]
Packit fcad23
then
Packit fcad23
  /bin/echo Target already exists. Do you want to rebuild it\? '[y]' \\c
Packit fcad23
  read ans
Packit fcad23
  case $ans in
Packit fcad23
  "" | y* | Y* )
Packit fcad23
    rebuild=1
Packit fcad23
    ;;
Packit fcad23
  n* | N* )
Packit fcad23
    exit 0
Packit fcad23
    ;;
Packit fcad23
  *)
Packit fcad23
    echo Bummer.....
Packit fcad23
    exit 1
Packit fcad23
    ;;
Packit fcad23
  esac
Packit fcad23
fi
Packit fcad23
Packit fcad23
echo Creating target directory: $TARGET
Packit fcad23
[ -d $TARGET ] || mkdir $TARGET
Packit fcad23
Packit fcad23
cd $TARGET
Packit fcad23
for f in . $DIRS
Packit fcad23
do
Packit fcad23
  echo building $f ...
Packit fcad23
  [ -d $f ] || mkdir $f
Packit fcad23
  case $f in
Packit fcad23
  */*/*/*)
Packit fcad23
    echo Too deep nesting...
Packit fcad23
    exit 1
Packit fcad23
    ;;
Packit fcad23
  */*/*)
Packit fcad23
    cd $f
Packit fcad23
    for f in ../../../../../$f/* ; do [ -d $f ] || ln -sf $f . ; done
Packit fcad23
    cd ../../..
Packit fcad23
    ;;
Packit fcad23
  */*)
Packit fcad23
    cd $f
Packit fcad23
    for f in ../../../../$f/* ; do [ -d $f ] || ln -sf $f . ; done
Packit fcad23
    cd ../..
Packit fcad23
    ;;
Packit fcad23
  .)
Packit fcad23
    for f in ../../$f/* ; do [ -d $f ] || ln -sf $f . ; done
Packit fcad23
    ;;
Packit fcad23
  *)
Packit fcad23
    cd $f
Packit fcad23
    for f in ../../../$f/* ; do [ -d $f ] || ln -sf $f . ; done
Packit fcad23
    cd ..
Packit fcad23
    ;;
Packit fcad23
  esac
Packit fcad23
done