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>
|
||||
|
||||
* 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
|
||||
at the appropriate `struct file' (which may have to be created).
|
||||
|
||||
|
@ -473,7 +482,10 @@ snap_deps (void)
|
|||
f2->intermediate = f2->secondary = 1;
|
||||
/* .SECONDARY with no deps listed marks *all* files that way. */
|
||||
else
|
||||
all_secondary = 1;
|
||||
{
|
||||
all_secondary = 1;
|
||||
hash_map (&files, set_intermediate);
|
||||
}
|
||||
}
|
||||
|
||||
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>
|
||||
|
||||
* 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');
|
||||
|
||||
# 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.
|
||||
1;
|
||||
|
|
Loading…
Reference in a new issue