mkdeps.c (deps_add_default_target): Robustify.

* mkdeps.c (deps_add_default_target): Robustify. Add
	basename component only.
	* cpp.texi (-M): Describe how default target is generated.
	* invoke.texi (-M): Likewise.

From-SVN: r39602
This commit is contained in:
Nathan Sidwell 2001-02-12 14:06:22 +00:00 committed by Nathan Sidwell
parent 823a99190d
commit 48ce6bbbe6
4 changed files with 25 additions and 14 deletions

View file

@ -1,3 +1,10 @@
2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
* mkdeps.c (deps_add_default_target): Robustify. Add
basename component only.
* cpp.texi (-M): Describe how default target is generated.
* invoke.texi (-M): Likewise.
2001-02-12 Kazu Hirata <kazu@hxi.com>
* toplev.c (push_float_handler): Remove.

View file

@ -3495,7 +3495,10 @@ suitable for @code{make} describing the dependencies of the main source
file. The preprocessor outputs one @code{make} rule containing the
object file name for that source file, a colon, and the names of all the
included files, including those coming from @samp{-include} or
@samp{-imacros} command line options. If there are many included files
@samp{-imacros} command line options. Unless specified explicitly (with
@samp{-MT} or @samp{-MQ}), the object file name consists of the basename
of the source file with any suffix replaced with object file suffix.
If there are many included files
then the rule is split into several lines using @samp{\}-newline.
@item -MM

View file

@ -3364,8 +3364,10 @@ Instead of outputting the result of preprocessing, output a rule
suitable for @code{make} describing the dependencies of the main source
file. The preprocessor outputs one @code{make} rule containing the
object file name for that source file, a colon, and the names of all the
included files. If there are many included files then the rule is split
into several lines using @samp{\}-newline.
included files. Unless overridden explicitly, the object file name
consists of the basename of the source file with any suffix replaced with
object file suffix. If there are many included files then the
rule is split into several lines using @samp{\}-newline.
@samp{-M} implies @samp{-E}.

View 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"
#endif
char *start = basename (tgt);
char *o = (char *) alloca (strlen (start) + strlen (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, OBJECT_SUFFIX);
deps_add_target (d, o, 1);
}
}