OSDN Git Service

2002-09-25 Andrew Haley <aph@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / mkdeps.c
index a128a6f..2c30063 100644 (file)
@@ -180,8 +180,6 @@ deps_add_default_target (d, tgt)
      struct deps *d;
      const char *tgt;
 {
-  char *o, *suffix;
-
   /* Only if we have no targets.  */
   if (d->ntargets)
     return;
@@ -190,19 +188,20 @@ deps_add_default_target (d, tgt)
     deps_add_target (d, "-", 1);
   else
     {
-      o = (char *) alloca (strlen (tgt) + 8);
-
-      strcpy (o, tgt);
-      suffix = strrchr (o, '.');
-
-#ifndef OBJECT_SUFFIX
-# define OBJECT_SUFFIX ".o"
+#ifndef TARGET_OBJECT_SUFFIX
+# define TARGET_OBJECT_SUFFIX ".o"
 #endif
+      const char *start = lbasename (tgt);
+      char *o = (char *) alloca (strlen (start) + strlen (TARGET_OBJECT_SUFFIX) + 1);
+      char *suffix;
 
-      if (suffix)
-       strcpy (suffix, OBJECT_SUFFIX);
-      else
-       strcat (o, OBJECT_SUFFIX);
+      strcpy (o, start);
+      
+      suffix = strrchr (o, '.');
+      if (!suffix)
+        suffix = o + strlen (o);
+      strcpy (suffix, TARGET_OBJECT_SUFFIX);
+      
       deps_add_target (d, o, 1);
     }
 }
@@ -216,7 +215,7 @@ deps_add_dep (d, t)
 
   if (d->ndeps == d->deps_size)
     {
-      d->deps_size *= 2 + 8;
+      d->deps_size = d->deps_size * 2 + 8;
       d->depv = (const char **)
        xrealloc (d->depv, d->deps_size * sizeof (const char *));
     }