;;
tru64)
- # The Tru64 AIX compiler uses -MD to generate dependencies as a side
+ # The Tru64 DEC compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
- tmpdepfile1="$object.d"
- tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'`
+ # This is incorrect as it assumes that $object has a .o extension when
+ # it could well have a .lo one.
+ #tmpdepfile1="$object.d"
+ # This is just bad sed. The /.o$/ should be /\.o/, nonwithstanding the
+ # flawed logic, described above.
+ #tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'`
+
+ # The correct way:
+ # Strip the (.o, or .lo) extension from $object
+ # (Same piece of sed magic as used for the AIX compiler above.)
+ stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
+ # Tru64 compiler dependency file.
+ tmpdepfile1="$stripped.o.d"
+ # Compaq CCC V6.2 dependency file.
+ tmpdepfile2="$stripped.d"
+
if test "$libtool" = yes; then
"$@" -Wc,-MD
else