summaryrefslogtreecommitdiffstats
path: root/gcc/mkdeps.c
diff options
context:
space:
mode:
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-05 07:50:24 +0000
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-05 07:50:24 +0000
commit2e399de6a092e30322c99830608049b38bf5e2ef (patch)
tree4a7fde9382b70c566caa911a671a363b63d0df58 /gcc/mkdeps.c
parente1efd9143a70b24bb7b74f3faa121c0e7e01fbbb (diff)
downloadppe42-gcc-2e399de6a092e30322c99830608049b38bf5e2ef.tar.gz
ppe42-gcc-2e399de6a092e30322c99830608049b38bf5e2ef.zip
* cpp.texi: Update for -MP. Clarify behaviour of -MT.
* cppinit.c (initialize_dependency_output): Update. (cpp_finish): Output dummy targets for -MP. (OPT_MP): New. (cpp_handle_option): Handle -MP. Don't quote -MT options. * cpplib.h (struct cpp_options): Add deps_phony_targets. * gcc.c (cpp_options): Update to handle -MP. * mkdeps.c (deps_add_target, deps_add_default_target): Update to quote only the default target. (deps_phony_targets): Insert a preceding newline. Rename from deps_dummy_targets for consistency. * mkdeps.h: Update java: * lang.c (lang_decode_option): Change -MA to -MP. * jcf-depend.c (jcf_dependency_add_target, jcf_dependency_set_target): Update to new prototype; do quote targets. (jcf_dependency_write): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38707 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/mkdeps.c')
-rw-r--r--gcc/mkdeps.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/gcc/mkdeps.c b/gcc/mkdeps.c
index 8d3e0bfce89..f83d82f9e30 100644
--- a/gcc/mkdeps.c
+++ b/gcc/mkdeps.c
@@ -73,8 +73,7 @@ munge (filename)
break;
case '$':
- /* '$' is quoted by doubling it. This can mishandle things
- like "$(" but there's no easy fix. */
+ /* '$' is quoted by doubling it. */
len++;
break;
}
@@ -172,13 +171,14 @@ deps_free (d)
free (d);
}
+/* Adds a target T. We make a copy, so it need not be a permanent
+ string. QUOTE is true if the string should be quoted. */
void
-deps_add_target (d, t)
+deps_add_target (d, t, quote)
struct deps *d;
const char *t;
+ int quote;
{
- t = munge (t); /* Also makes permanent copy. */
-
if (d->ntargets == d->targets_size)
{
d->targets_size *= 2;
@@ -186,11 +186,17 @@ deps_add_target (d, t)
d->targets_size * sizeof (const char *));
}
+ if (quote)
+ t = munge (t); /* Also makes permanent copy. */
+ else
+ t = xstrdup (t);
+
d->targetv[d->ntargets++] = t;
}
/* Sets the default target if none has been given already. An empty
- string as the default target in interpreted as stdin. */
+ string as the default target in interpreted as stdin. The string
+ is quoted for MAKE. */
void
deps_add_default_target (d, tgt)
struct deps *d;
@@ -203,7 +209,7 @@ deps_add_default_target (d, tgt)
return;
if (tgt[0] == '\0')
- deps_add_target (d, "-");
+ deps_add_target (d, "-", 1);
else
{
tgt = base_name (tgt);
@@ -220,7 +226,7 @@ deps_add_default_target (d, tgt)
strcpy (suffix, OBJECT_SUFFIX);
else
strcat (o, OBJECT_SUFFIX);
- deps_add_target (d, o);
+ deps_add_target (d, o, 1);
}
}
@@ -293,7 +299,7 @@ deps_write (d, fp, colmax)
}
void
-deps_dummy_targets (d, fp)
+deps_phony_targets (d, fp)
const struct deps *d;
FILE *fp;
{
@@ -301,6 +307,7 @@ deps_dummy_targets (d, fp)
for (i = 1; i < d->ndeps; i++)
{
+ putc ('\n', fp);
fputs (d->depv[i], fp);
putc (':', fp);
putc ('\n', fp);
OpenPOWER on IntegriCloud