mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2025-02-07 04:55:46 +00:00
Fix bug #2515: the .SECONDARY target with no prerequisites wasn't
behaving properly (if you listed prerequisites it worked properly).
This commit is contained in:
parent
acb2e64966
commit
652234e967
4 changed files with 50 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2003-03-28 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
* file.c (snap_deps): If .SECONDARY with no targets is given, set
|
||||||
|
the intermediate flag on all targets. Fixes bug #2515.
|
||||||
|
|
||||||
2003-03-24 Paul D. Smith <psmith@gnu.org>
|
2003-03-24 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
* configure.in, Makefile.am, glob/Makefile.am, doc/Makefile.am:
|
* configure.in, Makefile.am, glob/Makefile.am, doc/Makefile.am:
|
||||||
|
|
14
file.c
14
file.c
|
@ -392,6 +392,15 @@ remove_intermediates (int sig)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set the intermediate flag. */
|
||||||
|
|
||||||
|
static void
|
||||||
|
set_intermediate (const void *item)
|
||||||
|
{
|
||||||
|
struct file *f = (struct file *) item;
|
||||||
|
f->intermediate = 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* For each dependency of each file, make the `struct dep' point
|
/* For each dependency of each file, make the `struct dep' point
|
||||||
at the appropriate `struct file' (which may have to be created).
|
at the appropriate `struct file' (which may have to be created).
|
||||||
|
|
||||||
|
@ -473,7 +482,10 @@ snap_deps (void)
|
||||||
f2->intermediate = f2->secondary = 1;
|
f2->intermediate = f2->secondary = 1;
|
||||||
/* .SECONDARY with no deps listed marks *all* files that way. */
|
/* .SECONDARY with no deps listed marks *all* files that way. */
|
||||||
else
|
else
|
||||||
all_secondary = 1;
|
{
|
||||||
|
all_secondary = 1;
|
||||||
|
hash_map (&files, set_intermediate);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
f = lookup_file (".EXPORT_ALL_VARIABLES");
|
f = lookup_file (".EXPORT_ALL_VARIABLES");
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2003-03-28 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
* scripts/targets/SECONDARY: Test the "global" .SECONDARY (with
|
||||||
|
not prerequisites)--Bug #2515.
|
||||||
|
|
||||||
2003-01-30 Paul D. Smith <psmith@gnu.org>
|
2003-01-30 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
* scripts/features/targetvars: Test very long target-specific
|
* scripts/features/targetvars: Test very long target-specific
|
||||||
|
|
|
@ -81,5 +81,32 @@ $answer = "cp foo.f foo.e\ncp foo.e foo.c\n";
|
||||||
|
|
||||||
unlink('foo.f', 'foo.e', 'foo.d', 'foo.c');
|
unlink('foo.f', 'foo.e', 'foo.d', 'foo.c');
|
||||||
|
|
||||||
|
# TEST #7 -- test the "global" .SECONDARY, with no targets.
|
||||||
|
|
||||||
|
$makefile2 = &get_tmpfile;
|
||||||
|
|
||||||
|
open(MAKEFILE, "> $makefile2");
|
||||||
|
|
||||||
|
print MAKEFILE <<'EOF';
|
||||||
|
.SECONDARY:
|
||||||
|
|
||||||
|
final: intermediate
|
||||||
|
intermediate: source
|
||||||
|
|
||||||
|
final intermediate source:
|
||||||
|
echo $< > $@
|
||||||
|
EOF
|
||||||
|
|
||||||
|
close(MAKEFILE);
|
||||||
|
|
||||||
|
&utouch(-10, 'source');
|
||||||
|
touch('final');
|
||||||
|
|
||||||
|
&run_make_with_options($makefile2, '', &get_logfile);
|
||||||
|
$answer = "$make_name: `final' is up to date.\n";
|
||||||
|
&compare_output($answer, &get_logfile(1));
|
||||||
|
|
||||||
|
unlink('source', 'final', 'intermediate');
|
||||||
|
|
||||||
# This tells the test driver that the perl test script executed properly.
|
# This tells the test driver that the perl test script executed properly.
|
||||||
1;
|
1;
|
||||||
|
|
Loading…
Reference in a new issue