Better handling of the -c -o problem. Thanks to Tim Rice <tim@trr.metro.NET> for the patch

git-svn-id: svn://10.0.0.236/trunk@14712 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
cls%seawood.org 1998-11-15 09:55:01 +00:00
parent 283d3705d8
commit bf6ec432b8

View File

@ -23,16 +23,45 @@ DASH_C=0
DASH_O=0
for i in $*
do
[ "${CHECK_O}" = yes ] && {
case $i in
./*.o) i="" ;;
*.o) if [ $i = `basename $i` ]
then
i=""
else
OPTS="${OPTS} -o"
DASH_O=1
fi
;;
*) OPTS="${OPTS} -o $i"
DASH_O=1
i=""
;;
esac
CHECK_O=no
}
case $i in
-c) DASH_C=1;;
-o) DASH_O=1;;
*.c) C_SRC=$i;;
*.s) S_SRC=$i;;
*.o) OBJECT=$i;;
-c) DASH_C=1
OPTS="${OPTS} -c"
;;
-o) CHECK_O=yes
;;
*.c) C_SRC=$i
OPTS="${OPTS} $i"
;;
*.s) S_SRC=$i
OPTS="${OPTS} $i"
;;
*.o) OBJECT=$i
OPTS="${OPTS} $i"
;;
*) OPTS="${OPTS} $i"
;;
esac
done
cc $* || exit $?
cc ${OPTS} || exit $?
# if there was no -c and -o we're done
[ $DASH_C = 1 -a $DASH_O = 1 ] || exit 0