mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-24 12:58:39 +00:00
[SV 62650] Show correct warning when combining targets
* src/file.c (rehash_file): Fix warning message. (rehash_file): Fix comment to match the behavior. * tests/scripts/features/se_explicit: Fix test. * tests/scripts/features/mult_rules: Add a new test.
This commit is contained in:
parent
c3b39d0654
commit
88d6c22a48
3 changed files with 22 additions and 12 deletions
|
@ -273,14 +273,14 @@ rehash_file (struct file *from_file, const char *to_hname)
|
|||
{
|
||||
size_t l = strlen (from_file->name);
|
||||
/* We have two sets of commands. We will go with the
|
||||
one given in the rule explicitly mentioning this name,
|
||||
one given in the rule found through directory search,
|
||||
but give a message to let the user know what's going on. */
|
||||
if (to_file->cmds->fileinfo.filenm != 0)
|
||||
error (&from_file->cmds->fileinfo,
|
||||
l + strlen (to_file->cmds->fileinfo.filenm) + INTSTR_LENGTH,
|
||||
_("Recipe was specified for file '%s' at %s:%lu,"),
|
||||
from_file->name, to_file->cmds->fileinfo.filenm,
|
||||
to_file->cmds->fileinfo.lineno);
|
||||
from_file->name, from_file->cmds->fileinfo.filenm,
|
||||
from_file->cmds->fileinfo.lineno);
|
||||
else
|
||||
error (&from_file->cmds->fileinfo, l,
|
||||
_("Recipe for file '%s' was found by implicit rule search,"),
|
||||
|
@ -291,7 +291,7 @@ rehash_file (struct file *from_file, const char *to_hname)
|
|||
from_file->name, to_hname);
|
||||
error (&from_file->cmds->fileinfo, l,
|
||||
_("Recipe for '%s' will be ignored in favor of the one for '%s'."),
|
||||
to_hname, from_file->name);
|
||||
from_file->name, to_hname);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -69,10 +69,20 @@ $answer = "EXTRA EXTRA\n";
|
|||
|
||||
unlink("defs.h","test.h","config.h","extra.h");
|
||||
|
||||
# sv 62650.
|
||||
# Test the message that make prints when a file found by directory search
|
||||
# is preferred over the local one.
|
||||
run_make_test(q!
|
||||
vpath hello.c src
|
||||
all: hello.c; $(info $@ from $^)
|
||||
hello.c: ; $(info 1 $@)
|
||||
src/hello.c: ; $(info 2 $@)
|
||||
!, '',
|
||||
"#MAKEFILE#:4: Recipe was specified for file 'hello.c' at #MAKEFILE#:4,
|
||||
#MAKEFILE#:4: but 'hello.c' is now considered the same file as 'src/hello.c'.
|
||||
#MAKEFILE#:4: Recipe for 'hello.c' will be ignored in favor of the one for 'src/hello.c'.
|
||||
2 src/hello.c
|
||||
all from src/hello.c
|
||||
#MAKE#: 'all' is up to date.\n");
|
||||
|
||||
1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -185,9 +185,9 @@ foo: $$@.o ;
|
|||
# Not creating libcat.a here prevents segfault,
|
||||
libcat.a: ; @touch $@
|
||||
!,
|
||||
'', q!#MAKEFILE#:16: Recipe was specified for file '-lcat' at #MAKEFILE#:19,
|
||||
'', q!#MAKEFILE#:16: Recipe was specified for file '-lcat' at #MAKEFILE#:16,
|
||||
#MAKEFILE#:16: but '-lcat' is now considered the same file as 'libcat.a'.
|
||||
#MAKEFILE#:16: Recipe for 'libcat.a' will be ignored in favor of the one for '-lcat'.!);
|
||||
#MAKEFILE#:16: Recipe for '-lcat' will be ignored in favor of the one for 'libcat.a'.!);
|
||||
unlink('libcat.a');
|
||||
|
||||
# SV 28456 : Don't reset $$< for default recipes
|
||||
|
|
Loading…
Reference in a new issue