mylibtool 887 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
#!/bin/sh

mode=libtool
cfiles=""
ofiles=""
afiles=""

wantnext=0
for v in "$@"
do
  case $v
  in
     --mode=compile)
        mode=CC
        ;;
     --mode=link)
        mode=LD
        ;;
  esac

  case $v
  in
    *.c)
    cfiles="$cfiles $v"
    ;;
    *.o)
    if [ "$mode" = "LD" -o "$wantnext" = "1" ]; then
      ofiles="$ofiles $v"
    fi
    ;;
    *.lo)
    if [ "$mode" = "LD" -o "$wantnext" = "1" ]; then
      ofiles="$ofiles $v"
    fi
    ;;
  esac

  if [ "$mode" = "LD" -a "$wantnext" = "1" ]; then
      afiles="$afiles $v"
  fi

  if [ "$v" = "-o" ]; then
    wantnext=1
  else
    wantnext=0
  fi
done

args=""
test -n "$afiles" && args="$args -o$afiles"
test -n "$ofiles" -a "$mode" = "CC" && args="$args -o"
test -n "$ofiles" && args="$args$ofiles"
test -n "$cfiles" && args="$args$cfiles"

echo "($mode)$args"

here=`dirname $0`
exec $here/libtool --silent "$@"