p = strchr (*arname_p, '(');
/* This is never called unless ar_name() is true so p cannot be NULL. */
if (!p)
- OS (fatal, NILF, "Internal: ar_parse_name: bad name '%s'", *arname_p);
+ OS (fatal, NILF, "INTERNAL: ar_parse_name: bad name '%s'", *arname_p);
*(p++) = '\0';
p[strlen (p) - 1] = '\0';
*memname_p = p;
switch (ar_member_touch (arname, memname))
{
case -1:
- OS (error, NILF, _("touch: Archive '%s' does not exist"), arname);
+ OS (error, NILF, _("touch: archive '%s' does not exist"), arname);
break;
case -2:
OS (error, NILF, _("touch: '%s' is not a valid archive"), arname);
break;
case 1:
OSS (error, NILF,
- _("touch: Member '%s' does not exist in '%s'"), memname, arname);
+ _("touch: member '%s' does not exist in '%s'"), memname, arname);
break;
case 0:
val = 0;
break;
default:
OS (error, NILF,
- _("touch: Bad return code from ar_member_touch on '%s'"), name);
+ _("touch: bad return code from ar_member_touch on '%s'"), name);
}
free (arname);
if (*ptr < '0' || *ptr > maxchar)
OSSS (fatal, NILF,
- _("Invalid %s for archive %s member %s"), type, archive, name);
+ _("invalid %s for archive %s member %s"), type, archive, name);
nv = (val * base) + (*ptr - '0');
if (nv < val || nv > max)
OSSS (fatal, NILF,
- _("Invalid %s for archive %s member %s"), type, archive, name);
+ _("invalid %s for archive %s member %s"), type, archive, name);
val = nv;
++ptr;
}
if (nlines == USHRT_MAX)
ON (fatal, &cmds->fileinfo,
- _("Recipe has too many lines (limit %hu)"), nlines);
+ _("recipe has too many lines (limit %hu)"), nlines);
if (nlines == max)
{
{
if (on_behalf_of)
OSS (error, NILF,
- _("*** [%s] Archive member '%s' may be bogus; not deleted"),
+ _("*** [%s] archive member '%s' may be bogus; not deleted"),
on_behalf_of, file->name);
else
OS (error, NILF,
- _("*** Archive member '%s' may be bogus; not deleted"),
+ _("*** archive member '%s' may be bogus; not deleted"),
file->name);
}
return;
{
if (on_behalf_of)
OSS (error, NILF,
- _("*** [%s] Deleting file '%s'"), on_behalf_of, file->name);
+ _("*** [%s] deleting file '%s'"), on_behalf_of, file->name);
else
- OS (error, NILF, _("*** Deleting file '%s'"), file->name);
+ OS (error, NILF, _("*** deleting file '%s'"), file->name);
if (unlink (file->name) < 0
&& errno != ENOENT) /* It disappeared; so what. */
perror_with_name ("unlink: ", file->name);
if (!v->exp_count)
/* Expanding V causes infinite recursion. Lose. */
OS (fatal, *expanding_var,
- _("Recursive variable '%s' references itself (eventually)"),
+ _("recursive variable '%s' references itself (eventually)"),
v->name);
--v->exp_count;
}
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,"),
+ _("recipe was specified for file '%s' at %s:%lu,"),
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,"),
+ _("recipe for file '%s' was found by implicit rule search,"),
from_file->name);
l += strlen (to_hname);
error (&from_file->cmds->fileinfo, l,
- _("but '%s' is now considered the same file as '%s'."),
+ _("but '%s' is now considered the same file as '%s'"),
from_file->name, to_hname);
error (&from_file->cmds->fileinfo, l,
- _("Recipe for '%s' will be ignored in favor of the one for '%s'."),
+ _("recipe for '%s' will be ignored in favor of the one for '%s'"),
from_file->name, to_hname);
}
}
{
if (sig)
OS (error, NILF,
- _("*** Deleting intermediate file '%s'"), f->name);
+ _("*** deleting intermediate file '%s'"), f->name);
else
{
if (! doneany)
ts = s <= OLD_MTIME ? ORDINARY_MTIME_MIN : ORDINARY_MTIME_MAX;
file_timestamp_sprintf (buf, ts);
OSS (error, NILF,
- _("%s: Timestamp out of range; substituting %s"), f, buf);
+ _("%s: timestamp out of range: substituting %s"), f, buf);
}
return ts;
do{ \
if (_p->_n && _p->_n[0] && !strcache_iscached (_p->_n)) \
error (NULL, strlen (_p->name) + CSTRLEN (# _n) + strlen (_p->_n), \
- _("%s: Field '%s' not cached: %s"), _p->name, # _n, _p->_n); \
+ _("%s: field '%s' not cached: %s"), _p->name, # _n, _p->_n); \
}while(0)
static void
}
default:
- OS (fatal, *expanding_var, "Internal error: func_error: '%s'", funcname);
+ OS (fatal, *expanding_var, "INTERNAL: func_error: '%s'", funcname);
}
/* The warning function expands to the empty string. */
if (hIn == INVALID_HANDLE_VALUE)
{
ON (error, NILF,
- _("windows32_openpipe: DuplicateHandle(In) failed (e=%lu)\n"), e);
+ _("windows32_openpipe: DuplicateHandle(In) failed (e=%lu)"), e);
return -1;
}
}
if (hErr == INVALID_HANDLE_VALUE)
{
ON (error, NILF,
- _("windows32_openpipe: DuplicateHandle(Err) failed (e=%lu)\n"), e);
+ _("windows32_openpipe: DuplicateHandle(Err) failed (e=%lu)"), e);
return -1;
}
}
if (! CreatePipe (&hChildOutRd, &hChildOutWr, &saAttr, 0))
{
- ON (error, NILF, _("CreatePipe() failed (e=%lu)\n"), GetLastError());
+ ON (error, NILF, _("CreatePipe() failed (e=%lu)"), GetLastError());
return -1;
}
if (!hProcess)
{
- O (error, NILF, _("windows32_openpipe(): process_init_fd() failed\n"));
+ O (error, NILF, _("windows32_openpipe(): process_init_fd() failed"));
return -1;
}
len = e - name;
if (len == 0)
- O (fatal, flocp, _("Empty function name"));
+ O (fatal, flocp, _("empty function name"));
if (*name == '.' || *e != '\0')
- OS (fatal, flocp, _("Invalid function name: %s"), name);
+ OS (fatal, flocp, _("invalid function name: %s"), name);
if (len > 255)
- OS (fatal, flocp, _("Function name too long: %s"), name);
+ OS (fatal, flocp, _("function name too long: %s"), name);
if (min > 255)
ONS (fatal, flocp,
- _("Invalid minimum argument count (%u) for function %s"), min, name);
+ _("invalid minimum argument count (%u) for function %s"), min, name);
if (max > 255 || (max && max < min))
ONS (fatal, flocp,
- _("Invalid maximum argument count (%u) for function %s"), max, name);
+ _("invalid maximum argument count (%u) for function %s"), max, name);
ent = xmalloc (sizeof (struct function_table_entry));
ent->name = strcache_add (name);
output_close (&child->output);
if (!jobserver_tokens)
- ONS (fatal, NILF, "INTERNAL: Freeing child %p (%s) but no tokens left",
+ ONS (fatal, NILF, "INTERNAL: freeing child %p (%s) but no tokens left",
child, child->file->name);
/* If we're using the jobserver and this child is not the only outstanding
if (save_fdin >= 0)
{
if (dup2 (save_fdin, FD_STDIN) != FD_STDIN)
- O (fatal, NILF, _("Could not restore stdin"));
+ O (fatal, NILF, _("could not restore stdin"));
else
close (save_fdin);
}
if (save_fdout >= 0)
{
if (dup2 (save_fdout, FD_STDOUT) != FD_STDOUT)
- O (fatal, NILF, _("Could not restore stdout"));
+ O (fatal, NILF, _("could not restore stdout"));
else
close (save_fdout);
}
if (save_fderr >= 0)
{
if (dup2 (save_fderr, FD_STDERR) != FD_STDERR)
- O (fatal, NILF, _("Could not restore stderr"));
+ O (fatal, NILF, _("could not restore stderr"));
else
close (save_fderr);
}
if (! global_dl)
{
const char *err = dlerror ();
- OS (fatal, flocp, _("Failed to open global symbol table: %s"), err);
+ OS (fatal, flocp, _("failed to open global symbol table: %s"), err);
}
}
symp = (load_func_t) dlsym (dlp, "plugin_is_GPL_compatible");
if (! symp)
OS (fatal, flocp,
- _("Loaded object %s is not declared to be GPL compatible"),
+ _("loaded object %s is not declared to be GPL compatible"),
ldname);
symp = (load_func_t) dlsym (dlp, symname);
if (! symp)
{
const char *err = dlerror ();
- OSSS (fatal, flocp, _("Failed to load symbol %s from %s: %s"),
+ OSSS (fatal, flocp, _("failed to load symbol %s from %s: %s"),
symname, ldname, err);
}
++fp;
if (fp == ep)
- OS (fatal, flocp, _("Empty symbol name for load: %s"), ldname);
+ OS (fatal, flocp, _("empty symbol name for load: %s"), ldname);
/* Make a copy of the ldname part. */
memcpy (new, ldname, l);
{
if (! noerror)
O (fatal, flocp,
- _("The 'load' operation is not supported on this platform"));
+ _("'load' is not supported on this platform"));
return 0;
}
int
unload_file (const char *name UNUSED)
{
- O (fatal, NILF, "INTERNAL: Cannot unload when load is not supported");
+ O (fatal, NILF, "INTERNAL: cannot unload when load is not supported");
}
#endif /* MAKE_LOAD */
goto job_setup_complete;
/* Oops: we have jobserver-auth but it's invalid :(. */
- O (error, NILF, _("warning: jobserver unavailable: using -j1. Add '+' to parent make rule."));
+ O (error, NILF, _("warning: jobserver unavailable: using -j1 (add '+' to parent make rule)"));
arg_job_slots = 1;
}
the master make of a new jobserver group. */
else if (!restarts)
ON (error, NILF,
- _("warning: -j%d forced in submake: resetting jobserver mode."),
+ _("warning: -j%d forced in submake: resetting jobserver mode"),
argv_slots);
/* We can't use our parent's jobserver, so reset. */
Make us the master of a new jobserver group. */
if (!restarts)
ON (error, NILF,
- _("warning: -j%d forced in makefile: resetting jobserver mode."),
+ _("warning: -j%d forced in makefile: resetting jobserver mode"),
arg_job_slots);
/* We can't use our parent's jobserver, so reset. */
)
{
O (error, NILF,
- _("Parallel jobs (-j) are not supported on this platform."));
- O (error, NILF, _("Resetting to single job (-j1) mode."));
+ _("parallel jobs (-j) are not supported on this platform"));
+ O (error, NILF, _("resetting to single job (-j1) mode"));
arg_job_slots = INVALID_JOB_SLOTS;
job_slots = 1;
}
#ifndef MAKE_SYMLINKS
if (check_symlink_flag)
{
- O (error, NILF, _("Symbolic links not supported: disabling -L."));
+ O (error, NILF, _("symbolic links not supported: disabling -L"));
check_symlink_flag = 0;
}
#endif
/* The update failed and this makefile was not
from the MAKEFILES variable, so we care. */
OS (error, &d->floc,
- _("Failed to remake makefile '%s'."),
- d->file->name);
+ _("failed to remake makefile '%s'"), d->file->name);
mtime = file_mtime_no_search (d->file);
any_remade |= (mtime != NONEXISTENT_MTIME
&& mtime != makefile_mtimes[i]);
/* An included makefile. We don't need to die, but we
do want to complain. */
OS (error, &d->floc,
- _("Included makefile '%s' was not found."), dnm);
+ _("included makefile '%s' was not found"), dnm);
else
{
/* A normal makefile. We must die later. */
- OS (error, NILF, _("Makefile '%s' was not found"), dnm);
+ OS (error, NILF, _("makefile '%s' was not found"), dnm);
any_failed = 1;
}
}
}
if (bad)
O (fatal, NILF,
- _("Couldn't change back to original directory"));
+ _("couldn't change back to original directory"));
}
++restarts;
/* If we detected some clock skew, generate one last warning */
if (clock_skew_detected)
O (error, NILF,
- _("warning: Clock skew detected. Your build may be incomplete."));
+ _("warning: clock skew detected: your build may be incomplete"));
/* Exit. */
die (makefile_status);
{
if (status != 2)
ON (error, NILF,
- "INTERNAL: Exiting with %u jobserver tokens (should be 0)!",
+ "INTERNAL: exiting with %u jobserver tokens (should be 0)!",
jobserver_tokens);
else
/* Don't write back the "free" token */
if (tokens != master_job_slots)
ONN (error, NILF,
- "INTERNAL: Exiting with %u jobserver tokens available; should be %u!",
+ "INTERNAL: exiting with %u jobserver tokens available; should be %u!",
tokens, master_job_slots);
reset_jobserver ();
/* If we failed to create a temp file, disable output sync going forward. */
error:
O (error, NILF,
- _("cannot open output-sync lock file, suppressing output-sync."));
+ _("cannot open output-sync lock file: suppressing output-sync"));
output_close (out);
output_sync = OUTPUT_SYNC_NONE;
if (!osync_acquire ())
{
O (error, NILF,
- _("warning: Cannot acquire output lock, disabling output sync."));
+ _("warning: cannot acquire output lock: disabling output sync"));
osync_clear ();
}
current_variable_set_list = f->variables;
v = try_variable_definition (flocp, defn, origin, 1);
if (!v)
- O (fatal, flocp, _("Malformed target-specific variable definition"));
+ O (fatal, flocp, _("malformed target-specific variable definition"));
current_variable_set_list = global;
}
for (ad = file->also_make; ad; ad = ad->next)
if (ad->file->last_mtime == NONEXISTENT_MTIME)
OS (error, file->cmds ? &file->cmds->fileinfo : NILF,
- _("warning: pattern recipe did not update peer target '%s'."),
+ _("warning: pattern recipe did not update peer target '%s'"),
ad->file->name);
}
int ns = FILE_TIMESTAMP_NS (this_mtime);
if (ns != 0)
OS (error, NILF,
- _("*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"),
+ _("*** warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"),
file->name);
this_mtime += FILE_TIMESTAMPS_PER_S - 1 - ns;
}
if (is_updating (d->file))
{
- OSS (error, NILF, _("Circular %s <- %s dependency dropped."),
+ OSS (error, NILF, _("circular %s <- %s dependency dropped"),
file->name, d->file->name);
if (lastd == 0)
if (is_updating (d->file))
{
- OSS (error, NILF, _("Circular %s <- %s dependency dropped."),
+ OSS (error, NILF, _("circular %s <- %s dependency dropped"),
file->name, d->file->name);
if (ld == 0)
{
else
sprintf (from_now_string, "%.2g", from_now);
OSS (error, NILF,
- _("Warning: File '%s' has modification time %s s in the future"),
+ _("warning: file '%s' has modification time %s s in the future"),
file->name, from_now_string);
clock_skew_detected = 1;
}
/* This can happen if a fatal error was detected while reading the
makefiles and thus count_implicit_rule_limits wasn't called yet. */
if (num_pattern_rules != 0)
- ONN (fatal, NILF, _("BUG: num_pattern_rules is wrong! %u != %u"),
+ ONN (fatal, NILF, "INTERNAL: num_pattern_rules is wrong! %u != %u",
num_pattern_rules, rules);
}
}
# TEST 8: Test circular dependency check; PR/1671
-run_make_test(undef, "d", "ok\n$make_name: Circular d <- d dependency dropped.\noops\n");
+run_make_test(undef, "d", "ok\n$make_name: circular d <- d dependency dropped\noops\n");
# TEST 8: I don't grok why this is different than the above, but it is...
#
%.o:$r %.c; \$(info hello.c)
%.o:$r %.f %.tsk; \$(info hello.f)
", '-r',
-"#MAKE#: Circular hello.o <- hello.tsk dependency dropped.\nhello.f\nhello.tsk\n#MAKE#: Nothing to be done for 'all'.");
+"#MAKE#: circular hello.o <- hello.tsk dependency dropped\nhello.f\nhello.tsk\n#MAKE#: Nothing to be done for 'all'.");
}
include inc_b.mk
%_a.mk %_b.mk:; exit 1
!,
- '', "exit 1\n#MAKEFILE#:4: Failed to remake makefile 'inc_b.mk'.\n", 512);
+ '', "exit 1\n#MAKEFILE#:4: failed to remake makefile 'inc_b.mk'", 512);
-run_make_test(undef, '-k', "exit 1\n#MAKEFILE#:4: Failed to remake makefile 'inc_b.mk'.\n", 512);
+run_make_test(undef, '-k', "exit 1\n#MAKEFILE#:4: failed to remake makefile 'inc_b.mk'", 512);
# It seems wrong to me that this gives a different error message, but at
# least it doesn't keep going.
!,
'', "exit 1\n#MAKEFILE#:3: inc_a.mk: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#:5: inc_a.mk] Error 1\n", 512);
-run_make_test(undef, '-k', "exit 1\n#MAKEFILE#:3: inc_a.mk: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#:5: inc_a.mk] Error 1\n#MAKEFILE#:3: Failed to remake makefile 'inc_a.mk'.\n", 512);
+run_make_test(undef, '-k', "exit 1\n#MAKEFILE#:3: inc_a.mk: $ERR_no_such_file\n#MAKE#: *** [#MAKEFILE#:5: inc_a.mk] Error 1\n#MAKEFILE#:3: failed to remake makefile 'inc_a.mk'", 512);
# Check the default makefiles... this requires us to invoke make with no
# arguments. Also check MAKEFILES
# Shorthand
my $np = '--no-print-directory';
-my $j1err = "warning: jobserver unavailable: using -j1. Add '+' to parent make rule.";
+my $j1err = "warning: jobserver unavailable: using -j1 (add '+' to parent make rule)";
# Simple test of MAKEFLAGS settings
run_make_test(q!
recurse2: ; @echo $@: "/$(SHOW)/"; $(MAKE) -f #MAKEFILE# all
all:;@echo $@: "/$(SHOW)/"
!,
- "-j2 $np", "recurse: /-j2 --jobserver-auth=<auth> $np/\n#MAKE#[1]: warning: -j3 forced in submake: resetting jobserver mode.\nrecurse2: /-j3 --jobserver-auth=<auth> $np/\nall: /-j3 --jobserver-auth=<auth> $np/\n");
+ "-j2 $np", "recurse: /-j2 --jobserver-auth=<auth> $np/\n#MAKE#[1]: warning: -j3 forced in submake: resetting jobserver mode\nrecurse2: /-j3 --jobserver-auth=<auth> $np/\nall: /-j3 --jobserver-auth=<auth> $np/\n");
# Test override of -jN with -j
run_make_test(q!
recurse2: ; @echo $@: "/$(SHOW)/"; $(MAKE) -f #MAKEFILE# all
all:;@echo $@: "/$(SHOW)/"
!,
- "-j2 $np", "recurse: /-j2 --jobserver-auth=<auth> $np/\n#MAKE#[1]: warning: -j0 forced in submake: resetting jobserver mode.\nrecurse2: /-j $np/\nall: /-j $np/\n");
+ "-j2 $np", "recurse: /-j2 --jobserver-auth=<auth> $np/\n#MAKE#[1]: warning: -j0 forced in submake: resetting jobserver mode\nrecurse2: /-j $np/\nall: /-j $np/\n");
# Don't put --jobserver-auth into a re-exec'd MAKEFLAGS.
# We can't test this directly because there's no way a makefile can
#> @echo 'MAKEFLAGS = $(MAKEFLAGS)'
> @echo 'FOO = bar' > $@
!,
- "$np -j2", "#MAKE#[1]: warning: -j2 forced in submake: resetting jobserver mode.\nall\n");
+ "$np -j2", "#MAKE#[1]: warning: -j2 forced in submake: resetting jobserver mode\nall\n");
unlink('inc.mk');
!,
'-w -j2', "#MAKE#: Entering directory '#PWD#'
#MAKE#[1]: Entering directory '#PWD#'
-#MAKE#[1]: warning: -j1 forced in submake: resetting jobserver mode.
+#MAKE#[1]: warning: -j1 forced in submake: resetting jobserver mode
hi
#MAKE#[1]: Leaving directory '#PWD#'
#MAKE#: Leaving directory '#PWD#'\n");
+# -*-perl-*-
+
$description = "\
The following test creates a makefile to test the presence
of multiple rules for one target. One file can be the
objects = foo.o bar.o
foo.o : defs.h
bar.o : defs.h test.h
-extradeps =
-\$(objects) : config.h \$(extradeps)
+extradeps =
+\$(objects) : config.h \$(extradeps)
\t\@echo EXTRA EXTRA
EOF
{
$error_code = 3307;
}
-else
+else
{
$error_code = 512;
}
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'.
+ "#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");
run_make_test(q!
%a %b : ; touch $*a
!,
- 'gta', "touch gta\n#MAKEFILE#:2: warning: pattern recipe did not update peer target 'gtb'.\n");
+ 'gta', "touch gta\n#MAKEFILE#:2: warning: pattern recipe did not update peer target 'gtb'\n");
unlink(qw(gta));
# We don't warn if we didn't update the file
include gta
%a %b : ; touch $*a
!,
- '', "touch gta\n#MAKEFILE#:4: warning: pattern recipe did not update peer target 'gtb'.\n#MAKE#: 'all' is up to date.");
+ '', "touch gta\n#MAKEFILE#:4: warning: pattern recipe did not update peer target 'gtb'\n#MAKE#: 'all' is up to date.");
unlink(qw(gta));
run_make_test(q!
%.o: %.c; touch $@
foo.y: ; touch $@
!,
- 'foo.o', "touch foo.y\ntouch foo.c\n#MAKEFILE#:2: warning: pattern recipe did not update peer target 'foo.h'.\ntouch foo.o\nrm foo.c");
+ 'foo.o', "touch foo.y\ntouch foo.c\n#MAKEFILE#:2: warning: pattern recipe did not update peer target 'foo.h'\ntouch foo.o\nrm foo.c");
unlink(qw(foo.y foo.c foo.o));
if (0) {
# Not creating libcat.a here prevents segfault,
libcat.a: ; @touch $@
!,
- '', 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 '-lcat' will be ignored in favor of the one for 'libcat.a'.!);
+ '', 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 '-lcat' will be ignored in favor of the one for 'libcat.a'!);
unlink('libcat.a');
# SV 28456 : Don't reset $$< for default recipes
hello.c: $$(info second expansion of hello.c prereqs); $(info 1 $@)
src/hello.c: $$(info second expansion of src/hello.c prereqs); $(info 2 $@)
!, '',
-"#MAKEFILE#:5: Recipe was specified for file 'hello.c' at #MAKEFILE#:5,
-#MAKEFILE#:5: but 'hello.c' is now considered the same file as 'src/hello.c'.
-#MAKEFILE#:5: Recipe for 'hello.c' will be ignored in favor of the one for 'src/hello.c'.
+"#MAKEFILE#:5: recipe was specified for file 'hello.c' at #MAKEFILE#:5,
+#MAKEFILE#:5: but 'hello.c' is now considered the same file as 'src/hello.c'
+#MAKEFILE#:5: recipe for 'hello.c' will be ignored in favor of the one for 'src/hello.c'
second expansion of src/hello.c prereqs
second expansion of hello.c prereqs
2 src/hello.c
default:;: $(ELT)
endif
!,
- '--no-print-directory -j2 --jobserver-style=pipe', "#MAKE#[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.\n: 2\n: 1");
+ '--no-print-directory -j2 --jobserver-style=pipe', "#MAKE#[2]: warning: jobserver unavailable: using -j1 (add '+' to parent make rule)\n: 2\n: 1");
}
# This crashes if we use vfork and don't reset environ properly
run_make_test(undef, '-B', 'cp bar.x foo');
# Put the timestamp for foo into the future; it should still be remade.
-
+# There are clock skew errors printed here but they will be cleared by
+# the comparison code.
utouch(1000, 'foo');
run_make_test(undef, '', "#MAKE#: Nothing to be done for 'all'.");
run_make_test(undef, '-B', 'cp bar.x foo');
run_make_test(undef, '-W b.x', 'echo >> a.x');
# Put the timestamp for a.x into the future; it should still be remade.
-
+# There are clock skew errors printed here but they will be cleared by
+# the comparison code.
utouch(1000, 'a.x');
run_make_test(undef, '', "#MAKE#: 'a.x' is up to date.");
run_make_test(undef, '-W b.x', 'echo >> a.x');
# Now run with -W bar.x
# Tweak foo.x's timestamp so the update will change it.
+# There are clock skew errors printed here but they will be cleared by
+# the comparison code.
&utouch(1000, 'foo.x');
run_make_test(undef, '-W bar.x', "restarts=\ntouch foo.x\nrestarts=1\ntouch baz.x");
'-k',
"#MAKEFILE#:2: ifile: $ERR_no_such_file
#MAKE#: *** No rule to make target 'no-such-file', needed by 'ifile'.
-#MAKEFILE#:2: Failed to remake makefile 'ifile'.\n",
+#MAKEFILE#:2: failed to remake makefile 'ifile'",
512);
}
a_: b_
b_: a_
',
- '--shuffle=reverse', "#MAKE#: Circular a_ <- b_ dependency dropped.\na_\nb_\nall");
+ '--shuffle=reverse', "#MAKE#: circular a_ <- b_ dependency dropped\na_\nb_\nall");
# Check if order-only dependencies get reordered.
run_make_test('
.DELETE_ON_ERROR:
all: ; exit 1 > $@
',
- '', "exit 1 > all\n#MAKE#: *** [#MAKEFILE#:3: all] Error 1\n#MAKE#: *** Deleting file 'all'", 512);
+ '', "exit 1 > all\n#MAKE#: *** [#MAKEFILE#:3: all] Error 1\n#MAKE#: *** deleting file 'all'", 512);
run_make_test('
.DELETE_ON_ERROR:
%.x : %.q ; echo > $@
%.q : ; exit 1 > $@
',
- '', "exit 1 > foo.q\n#MAKE#: *** [#MAKEFILE#:5: foo.q] Error 1\n#MAKE#: *** Deleting file 'foo.q'", 512);
+ '', "exit 1 > foo.q\n#MAKE#: *** [#MAKEFILE#:5: foo.q] Error 1\n#MAKE#: *** deleting file 'foo.q'", 512);
# This tells the test driver that the perl test script executed properly.
1;
my ($log) = @_;
# z/OS emits "Error 143" or "SIGTERM" instead of terminated
- $log =~ s/Error 143/Terminated/gm;
- $log =~ s/SIGTERM/Terminated/gm;
+ $log =~ s/Error 143/Terminated/igm;
+ $log =~ s/SIGTERM/Terminated/igm;
# z/OS error messages have a prefix
- $log =~ s/EDC5129I No such file or directory\./No such file or directory/gm;
- $log =~ s/FSUM7351 not found/not found/gm;
+ $log =~ s/EDC5129I No such file or directory\./No such file or directory/igm;
+ $log =~ s/FSUM7351 not found/not found/igm;
return $log;
}
# For make, get rid of any time skew error before comparing--too bad this
# has to go into the "generic" driver code :-/
- $log =~ s/^.*modification time .*in the future.*\n//gm;
- $log =~ s/^.*Clock skew detected.*\n//gm;
+ $log =~ s/^.*modification time .*in the future.*\n//igm;
+ $log =~ s/^.*clock skew detected.*\n//igm;
return 1 if ($log eq $kgo);
# Get rid of newline differences, forever