summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2001-06-01 03:56:50 +0000
committerPaul Smith <psmith@gnu.org>2001-06-01 03:56:50 +0000
commitce2c6eadf1a7f49465a51a4377f2705ce637715c (patch)
tree4e3fe9abeb5b51cd37f36f139e71ee9c79527374
parent5d582d4ba06495a95854c45828399f7edfe51a50 (diff)
downloadgunmake-ce2c6eadf1a7f49465a51a4377f2705ce637715c.tar.gz
Fix for EINTR problems when using jobserver.
New translation files. Fix for @+ inside define macros being applied too widely. Various other bug fixes.
-rw-r--r--ChangeLog55
-rw-r--r--NEWS9
-rw-r--r--arscan.c4
-rw-r--r--configure.in26
-rw-r--r--dir.c10
-rw-r--r--function.c9
-rw-r--r--i18n/gl.po458
-rw-r--r--i18n/ru.po1913
-rw-r--r--job.c104
-rw-r--r--main.c56
-rw-r--r--make.h12
-rw-r--r--make.texinfo2
-rw-r--r--read.c7
-rw-r--r--remake.c20
-rw-r--r--variable.c1
15 files changed, 1572 insertions, 1114 deletions
diff --git a/ChangeLog b/ChangeLog
index 377d480..541da39 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,45 @@
+2001-05-06 Paul D. Smith <psmith@gnu.org>
+
+ Modify the EINTR handling.
+
+ * job.c (new_job): Reorganize the jobserver algorithm. Reorder
+ the way in which we manage the file descriptor/signal handler race
+ trap to be more efficient.
+
+2001-05-06 Paul Eggert <eggert@twinsun.com>
+
+ Restart almost all system calls that are interrupted, instead
+ of worrying about EINTR. The lone exception is the read() for
+ job tokens.
+
+ * configure.in (HAVE_SA_RESTART): New macro.
+ (MAKE_JOBSERVER): Define to 1 only if HAVE_SA_RESTART.
+ * main.c (main): Use SA_RESTART instead of the old,
+ nonstandard SA_INTERRUPT.
+
+ * configure.in (AC_CHECK_FUNCS): Add bsd_signal.
+ * main.c (bsd_signal): New function or macro,
+ if the implementation doesn't supply it.
+ (The bsd_signal function will be in POSIX 1003.1-200x.)
+ (HANDLESIG): Remove.
+ (main, FATAL_SIG): Use bsd_signal instead of signal or HANDLESIG.
+
+ * make.h (EINTR_SET): Remove.
+ (SA_RESTART): New macro.
+
+ * arscan.c (ar_member_touch): Don't worry about EINTR.
+ * function.c (func_shell): Likewise.
+ * job.c (reap_children, free_child, new_job): Likewise.
+ * main.c (main): Likewise.
+ * remake.c (touch_file, name_mtime): Likewise.
+
+ * arscan.c (ar_member_touch): Fix bug uncovered by EINTR removal;
+ if fstat failed with errno!=EINTR, the error was ignored.
+
+ * job.c (set_child_handler_action_flags): New function.
+ (new_job): Use it to temporarily clear the SIGCHLD action flags
+ while reading the token.
+
2001-05-02 Paul D. Smith <psmith@gnu.org>
* job.c (start_job_command): Don't add define/endef per-line flags
@@ -11,6 +53,19 @@
(VMS_get_member_info): Calculate the timezone differences correctly.
Reported by John Fowler <jfowler@nyx.net>.
+
+2001-03-14 Paul D. Smith <psmith@gnu.org>
+
+ * variable.c (lookup_variable) [VMS]: Null-terminate the variable
+ value before invoking define_variable().
+ Reported by John Fowler <jfowler@nyx.net>.
+
+2001-02-07 Paul D. Smith <psmith@gnu.org>
+
+ * read.c (record_target_var): If we reset the variable due to a
+ command-line variable setting overriding it, turn off the "append"
+ flag.
+
2001-01-17 Paul D. Smith <psmith@gnu.org>
* variable.c (lookup_variable) [VMS]: When getting values from the
diff --git a/NEWS b/NEWS
index 38a6d5b..7f5f9c3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,8 @@
GNU make NEWS -*-indented-text-*-
History of user-visible changes.
- 23 Jun 2000
+ 30 May 2001
-Copyright (C) 1992,93,94,95,96,97,98,99,2000 Free Software Foundation, Inc.
+Copyright (C) 1992,93,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
See the end for copying conditions.
All changes mentioned here are more fully described in the GNU make
@@ -12,12 +12,17 @@ Please send GNU make bug reports to <bug-make@gnu.org>.
See the README file and the GNU make manual for details on sending bug
reports.
+Version 3.79.2
+
* New pseudo-target .LOW_RESOLUTION_TIME, superseding the configure
option --disable-nsec-timestamps. You might need this if your build
process depends on tools like "cp -p" preserving time stamps, since
"cp -p" (right now) doesn't preserve the subsecond portion of a time
stamp.
+* Updated translations for Galician, Japanese, and Russian, and a new
+ Turkish translation.
+
Version 3.79.1
* .SECONDARY with no prerequisites now prevents any target from being
diff --git a/arscan.c b/arscan.c
index 03ecb7c..fc003e9 100644
--- a/arscan.c
+++ b/arscan.c
@@ -797,8 +797,8 @@ ar_member_touch (arname, memname)
if (AR_HDR_SIZE != write (fd, (char *) &ar_hdr, AR_HDR_SIZE))
goto lose;
/* The file's mtime is the time we we want. */
- while (fstat (fd, &statbuf) < 0 && EINTR_SET)
- ;
+ if (fstat (fd, &statbuf) < 0)
+ goto lose;
#if defined(ARFMAG) || defined(ARFZMAG) || defined(AIAMAG) || defined(WINDOWS32)
/* Advance member's time to that time */
for (i = 0; i < sizeof ar_hdr.ar_date; i++)
diff --git a/configure.in b/configure.in
index b5d109d..fc5a477 100644
--- a/configure.in
+++ b/configure.in
@@ -3,7 +3,7 @@ AC_REVISION([$Id$])
AC_PREREQ(2.13)dnl dnl Minimum Autoconf version required.
AC_INIT(vpath.c)dnl dnl A distinctive file to look for in srcdir.
-AM_INIT_AUTOMAKE(make, 3.79.1.0)
+AM_INIT_AUTOMAKE(make, 3.79.1.90)
AM_CONFIG_HEADER(config.h)
dnl Regular configure stuff
@@ -42,7 +42,7 @@ AC_HEADER_TIME
dnl Handle internationalization
-ALL_LINGUAS="de es fr gl ja ko nl pl pt_BR ru"
+ALL_LINGUAS="de es fr gl ja ko nl pl pt_BR ru tr"
pds_WITH_GETTEXT
jm_AC_TYPE_UINTMAX_T
@@ -113,8 +113,9 @@ if test $ac_cv_func_gettimeofday = yes; then
fi
AC_CHECK_FUNCS( memmove memcpy strchr strdup psignal mkstemp mktemp fdopen \
- dup2 getcwd sigsetmask sigaction getgroups setlinebuf \
- seteuid setegid setreuid setregid pipe strerror strsignal)
+ bsd_signal dup2 getcwd sigsetmask sigaction getgroups \
+ setlinebuf seteuid setegid setreuid setregid pipe \
+ strerror strsignal)
AC_CHECK_SYMBOL(sys_siglist)
AC_FUNC_ALLOCA
@@ -196,9 +197,20 @@ case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
no/no) has_wait_nohang=no ;;
esac
-case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$has_wait_nohang/$make_cv_job_server" in
- yes/yes/yes/yes) AC_DEFINE(MAKE_JOBSERVER, 1,
- [Define this to enable job server support in GNU make.]);;
+AC_CACHE_CHECK(for SA_RESTART, make_cv_sa_restart, [
+ AC_TRY_COMPILE([#include <signal.h>],
+ [return SA_RESTART;],
+ make_cv_sa_restart=yes,
+ make_cv_sa_restart=no)])
+if test "$make_cv_sa_restart" != no; then
+ AC_DEFINE(HAVE_SA_RESTART, 1,
+ [Define if <signal.h> defines the SA_RESTART constant.])
+fi
+
+case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/$make_cv_job_server" in
+ yes/yes/yes/yes/yes)
+ AC_DEFINE(MAKE_JOBSERVER, 1,
+ [Define this to enable job server support in GNU make.]);;
esac
dnl Allow building with dmalloc
diff --git a/dir.c b/dir.c
index c6c542c..bc926b9 100644
--- a/dir.c
+++ b/dir.c
@@ -725,7 +725,7 @@ file_impossible (filename)
dir = find_directory ("[]");
#else
dirend = strrchr (p, '/');
-#if defined (WINDOWS32) || defined (__MSDOS__)
+# if defined (WINDOWS32) || defined (__MSDOS__)
/* Forward and backslashes might be mixed. We need the rightmost one. */
{
char *bslash = strrchr(p, '\\');
@@ -735,13 +735,13 @@ file_impossible (filename)
if (!dirend && p[0] && p[1] == ':')
dirend = p + 1;
}
-#endif /* WINDOWS32 or __MSDOS__ */
+# endif /* WINDOWS32 or __MSDOS__ */
if (dirend == 0)
-#ifdef _AMIGA
+# ifdef _AMIGA
dir = find_directory ("");
-#else /* !VMS && !AMIGA */
+# else /* !VMS && !AMIGA */
dir = find_directory (".");
-#endif /* AMIGA */
+# endif /* AMIGA */
#endif /* VMS */
else
{
diff --git a/function.c b/function.c
index 295d84b..2c049ce 100644
--- a/function.c
+++ b/function.c
@@ -1435,8 +1435,7 @@ func_shell (o, argv, funcname)
buffer = (char *) xmalloc (maxlen + 1);
/* Read from the pipe until it gets EOF. */
- i = 0;
- do
+ for (i = 0; ; i += cc)
{
if (i == maxlen)
{
@@ -1444,12 +1443,10 @@ func_shell (o, argv, funcname)
buffer = (char *) xrealloc (buffer, maxlen + 1);
}
- errno = 0;
cc = read (pipedes[0], &buffer[i], maxlen - i);
- if (cc > 0)
- i += cc;
+ if (cc <= 0)
+ break;
}
- while (cc > 0 || EINTR_SET);
buffer[i] = '\0';
/* Close the read side of the pipe. */
diff --git a/i18n/gl.po b/i18n/gl.po
index ab4f56e..bb60f6c 100644
--- a/i18n/gl.po
+++ b/i18n/gl.po
@@ -4,9 +4,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.79\n"
-"POT-Creation-Date: 2000-04-05 10:09-0400\n"
-"PO-Revision-Date: 2000-10-01 19:14+02:00\n"
+"Project-Id-Version: make 3.79.1\n"
+"POT-Creation-Date: 2000-06-23 12:21-0400\n"
+"PO-Revision-Date: 2001-05-13 01:51+02:00\n"
"Last-Translator: Jacobo Tarrio <jtarrio@iname.com>\n"
"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
"MIME-Version: 1.0\n"
@@ -57,21 +57,21 @@ msgstr "a chamada a lbr$ini_control fallou con status = %d"
msgid "unable to open library `%s' to lookup member `%s'"
msgstr "non se pode abri-la biblioteca `%s' para busca-lo membro `%s'"
-#: arscan.c:820
+#: arscan.c:838
#, c-format
msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Membro `%s'%s: %ld bytes en %ld (%ld).\n"
-#: arscan.c:821
+#: arscan.c:839
msgid " (name might be truncated)"
msgstr " (o nome pode quedar truncado)"
-#: arscan.c:823
+#: arscan.c:841
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:824
+#: arscan.c:842
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, modo = 0%o.\n"
@@ -80,257 +80,270 @@ msgstr " uid = %d, gid = %d, modo = 0%o.\n"
msgid "*** Break.\n"
msgstr "*** Interrompido.\n"
-#: commands.c:483
+#: commands.c:486
#, c-format
msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
msgstr "*** [%s] O membro do arquivo `%s' pode non ser correcto; non borrado"
-#: commands.c:486
+#: commands.c:489
#, c-format
msgid "*** Archive member `%s' may be bogus; not deleted"
msgstr "*** O membro do arquivo `%s' pode non ser correcto; non borrado"
-#: commands.c:498
+#: commands.c:501
#, c-format
msgid "*** [%s] Deleting file `%s'"
msgstr "*** [%s] Borrando o ficheiro `%s'"
-#: commands.c:500
+#: commands.c:503
#, c-format
msgid "*** Deleting file `%s'"
msgstr "*** Borrando o ficheiro `%s'"
-#: commands.c:538
+#: commands.c:541
msgid "# commands to execute"
msgstr "# comandos para executar"
-#: commands.c:541
+#: commands.c:544
msgid " (built-in):"
msgstr " (incluidas):"
-#: commands.c:543
+#: commands.c:546
#, c-format
msgid " (from `%s', line %lu):\n"
msgstr " (de `%s', li�a %lu):\n"
-#: dir.c:902
+#: dir.c:912
msgid "\n# Directories\n"
msgstr "\n# Directorios\n"
-#: dir.c:910
+#: dir.c:920
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: non se puido face-la operaci�n de stat.\n"
-#: dir.c:913
+#: dir.c:923
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
msgstr "# %s (clave %s, mtime %d): non se puido abrir.\n"
-#: dir.c:917
+#: dir.c:927
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr "# %s (dispositivo %d, inode [%d,%d,%d]): non se puido abrir.\n"
-#: dir.c:922
+#: dir.c:932
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr "# %s (dispositivo %ld, inode %ld): non se puido abrir.\n"
-#: dir.c:939
+#: dir.c:949
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (clave %s, mtime %d): "
-#: dir.c:943
+#: dir.c:953
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (dispositivo %d, inode [%d,%d,%d]): "
-#: dir.c:948
+#: dir.c:958
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (dispositivo %ld, inode %ld): "
-#: dir.c:954 dir.c:974
+#: dir.c:964 dir.c:984
msgid "No"
msgstr "Non"
-#: dir.c:957 dir.c:977
+#: dir.c:967 dir.c:987
msgid " files, "
msgstr " ficheiros, "
-#: dir.c:959 dir.c:979
+#: dir.c:969 dir.c:989
msgid "no"
msgstr "non"
-#: dir.c:962
+#: dir.c:972
msgid " impossibilities"
msgstr " imposibles"
-#: dir.c:966
+#: dir.c:976
msgid " so far."
msgstr " ata aqu�."
-#: dir.c:982
+#: dir.c:992
#, c-format
msgid " impossibilities in %u directories.\n"
msgstr " imposibles en %u directorios.\n"
-#: expand.c:105
+#: expand.c:106
#, c-format
msgid "Recursive variable `%s' references itself (eventually)"
msgstr "A variable recursiva `%s' fai referencia a si mesma (ao final)"
-#: expand.c:130
+#: expand.c:131
#, c-format
msgid "warning: undefined variable `%.*s'"
msgstr "aviso: variable non definida `%.*s'"
#. Unterminated variable reference.
-#: expand.c:247
+#: expand.c:248
msgid "unterminated variable reference"
msgstr "referencia a variable non rematada"
-#: file.c:307
+#: file.c:303
#, c-format
msgid "Commands were specified for file `%s' at %s:%lu,"
msgstr "Especific�ronse comandos do ficheiro `%s' en %s:%lu,"
-#: file.c:313
+#: file.c:309
#, c-format
msgid "Commands for file `%s' were found by implicit rule search,"
msgstr "Atop�ronse os comandos do ficheiro `%s' por busca de regras impl�citas,"
-#: file.c:317
+#: file.c:313
#, c-format
msgid "but `%s' is now considered the same file as `%s'."
msgstr "pero agora consid�rase que `%s' � o mesmo ficheiro que `%s'."
-#: file.c:321
+#: file.c:317
#, c-format
msgid "Commands for `%s' will be ignored in favor of those for `%s'."
msgstr "Os comandos de `%s' ser�n ignorados en favor dos de `%s'."
-#: file.c:342
+#: file.c:338
#, c-format
msgid "can't rename single-colon `%s' to double-colon `%s'"
msgstr "non se pode renomear `%s' con dous puntos a `%s' con catro puntos"
-#: file.c:347
+#: file.c:343
#, c-format
msgid "can't rename double-colon `%s' to single-colon `%s'"
msgstr "non se pode renomear `%s' con catro puntos a `%s' con dous puntos"
-#: file.c:414
+#: file.c:412
#, c-format
msgid "*** Deleting intermediate file `%s'"
msgstr "*** Borrando o ficheiro intermedio `%s'"
-#: file.c:622
+#: file.c:576
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s: Marca de tempo f�ra de rango; substitu�ndo %s"
+
+#: file.c:577
+msgid "Current time"
+msgstr "Hora actual"
+
+#: file.c:669
msgid "# Not a target:"
msgstr "# Non � un obxectivo:"
-#: file.c:630
+#: file.c:677
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Ficheiro precioso (prerrequisito de .PRECIOUS)."
-#: file.c:632
+#: file.c:679
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Obxectivo falso (prerrequisito de .PHONY)."
-#: file.c:634
+#: file.c:681
msgid "# Command-line target."
msgstr "# Obxectivo da li�a de comando."
-#: file.c:636
+#: file.c:683
msgid "# A default or MAKEFILES makefile."
msgstr "# Un ficheiro de make por defecto ou de MAKEFILES."
-#: file.c:638
+#: file.c:685
msgid "# Implicit rule search has been done."
msgstr "# F�xose a busca de regras impl�citas."
-#: file.c:639
+#: file.c:686
msgid "# Implicit rule search has not been done."
msgstr "# Non se fixo a busca de regras impl�citas."
-#: file.c:641
+#: file.c:688
#, c-format
msgid "# Implicit/static pattern stem: `%s'\n"
msgstr "# Raiz do patr�n impl�cito/est�tico: `%s'\n"
-#: file.c:643
+#: file.c:690
msgid "# File is an intermediate prerequisite."
msgstr "# O ficheiro � un prerrequisito intermedio."
-#: file.c:646
+#: file.c:693
msgid "# Also makes:"
msgstr "# Tam�n se fai:"
-#: file.c:652
+#: file.c:699
msgid "# Modification time never checked."
msgstr "# Nunca se comprobou o tempo de modificaci�n."
-#: file.c:654
+#: file.c:701
msgid "# File does not exist."
msgstr "# O ficheiro non existe."
-#: file.c:659
+#: file.c:703
+msgid "# File is very old."
+msgstr "# O ficheiro � moi antigo."
+
+#: file.c:708
#, c-format
msgid "# Last modified %s\n"
msgstr "# �ltima modificaci�n: %s\n"
-#: file.c:662
+#: file.c:711
msgid "# File has been updated."
msgstr "# O ficheiro foi actualizado."
-#: file.c:662
+#: file.c:711
msgid "# File has not been updated."
msgstr "# O ficheiro non foi actualizado."
-#: file.c:666
+#: file.c:715
msgid "# Commands currently running (THIS IS A BUG)."
msgstr "# Comandos que se est�n a executar agora (ISTO � UN ERRO)."
-#: file.c:669
+#: file.c:718
msgid "# Dependencies commands running (THIS IS A BUG)."
msgstr "# Comandos de dependencias que se est�n a executar (ISTO � UN ERRO)."
-#: file.c:678
+#: file.c:727
msgid "# Successfully updated."
msgstr "# Actualizado con �xito."
-#: file.c:682
+#: file.c:731
msgid "# Needs to be updated (-q is set)."
msgstr "# Ten que ser actualizado (-q est� estabrecido)."
-#: file.c:685
+#: file.c:734
msgid "# Failed to be updated."
msgstr "# Non se puido actualizar."
-#: file.c:688
+#: file.c:737
msgid "# Invalid value in `update_status' member!"
msgstr "# �Valor non v�lido no membro `update_status'!"
-#: file.c:695
+#: file.c:744
msgid "# Invalid value in `command_state' member!"
msgstr "# �Valor non v�lido no membro `command_state'!"
-#: file.c:714
+#: file.c:763
msgid "\n# Files"
msgstr "\n# Ficheiros"
-#: file.c:737
+#: file.c:786
msgid "\n# No files."
msgstr "\n# Non hai ficheiros."
-#: file.c:740
+#: file.c:789
#, c-format
msgid "\n# %u files in %u hash buckets.\n"
msgstr "\n# %u ficheiros en %u baldes hash.\n"
-#: file.c:742
+#: file.c:791
#, c-format
msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
msgstr "# %.3f ficheiros de media por balde, m�ximo de %u ficheiros nun balde.\n"
@@ -341,8 +354,8 @@ msgid "non-numeric first argument to `word' function"
msgstr "primeiro argumento da funci�n `word' non num�rico"
#: function.c:741
-msgid "the `word' function takes a positive index argument"
-msgstr "a funci�n `word' toma un argumento �ndice positivo"
+msgid "first argument to `word' function must be greater than 0"
+msgstr "o primeiro argumento da funci�n `word' debe ser maior que 0"
#: function.c:765
msgid "non-numeric first argument to `wordlist' function"
@@ -381,12 +394,12 @@ msgstr "Limpando o ficheiro de lotes temporal %s\n"
msgid "Insufficient number of arguments (%d) to function `%s'"
msgstr "N�mero de argumentos insuficiente (%d) na chamada � funci�n `%s'"
-#: function.c:1692
+#: function.c:1699
#, c-format
msgid "Unimplemented on this platform: function `%s'"
msgstr "Non implementada nesta plataforma: funci�n `%s'"
-#: function.c:1745
+#: function.c:1752
#, c-format
msgid "unterminated call to function `%s': missing `%c'"
msgstr "chamada � funci�n `%s' non rematada: falla `%c'"
@@ -460,41 +473,41 @@ msgstr "Buscando unha regra impl�cita para `%s'.\n"
msgid "Looking for archive-member implicit rule for `%s'.\n"
msgstr "Buscando unha regra impl�cita membro do arquivo para `%s'.\n"
-#: implicit.c:201
+#: implicit.c:202
msgid "Avoiding implicit rule recursion.\n"
msgstr "Evitando a recursi�n de regras impl�citas.\n"
-#: implicit.c:339
+#: implicit.c:340
#, c-format
msgid "Trying pattern rule with stem `%.*s'.\n"
msgstr "Probando a regra de patr�n con raiz `%.*s'.\n"
-#: implicit.c:380
+#: implicit.c:381
#, c-format
msgid "Rejecting impossible implicit prerequisite `%s'.\n"
msgstr "Rexeitando o prerrequisito impl�cito imposible `%s'.\n"
-#: implicit.c:381
+#: implicit.c:382
#, c-format
msgid "Rejecting impossible rule prerequisite `%s'.\n"
msgstr "Rexeitando o prerrequisito imposible `%s'.\n"
-#: implicit.c:391
+#: implicit.c:392
#, c-format
msgid "Trying implicit prerequisite `%s'.\n"
msgstr "Probando o prerrequisito impl�cito `%s'.\n"
-#: implicit.c:392
+#: implicit.c:393
#, c-format
msgid "Trying rule prerequisite `%s'.\n"
msgstr "Probando o prerrequisito `%s'.\n"
-#: implicit.c:413
+#: implicit.c:414
#, c-format
msgid "Found prerequisite `%s' as VPATH `%s'\n"
msgstr "Atopouse a o prerrequisito `%s' coma VPATH `%s'\n"
-#: implicit.c:430
+#: implicit.c:431
#, c-format
msgid "Looking for a rule with intermediate file `%s'.\n"
msgstr "Buscando unha regra co ficheiro intermedio `%s'.\n"
@@ -545,7 +558,7 @@ msgstr "*** Agardando por traballos non rematados...."
msgid "Live child 0x%08lx (%s) PID %ld %s\n"
msgstr "Proceso fillo vivo 0x%08lx (%s) PID %ld %s\n"
-#: job.c:484 job.c:644 job.c:742 job.c:1295
+#: job.c:484 job.c:644 job.c:742 job.c:1302
msgid " (remote)"
msgstr " (remoto)"
@@ -578,130 +591,130 @@ msgstr "write jobserver"
msgid "Released token for child 0x%08lx (%s).\n"
msgstr "Liberouse un elemento para o proceso fillo 0x%08lx (%s).\n"
-#: job.c:1229 job.c:2218
+#: job.c:1236 job.c:2226
#, c-format
msgid "process_easy() failed failed to launch process (e=%d)\n"
msgstr "process_easy() non puido lanza-lo proceso (e=%d)\n"
-#: job.c:1233 job.c:2222
+#: job.c:1240 job.c:2230
#, c-format
msgid "\nCounted %d args in failed launch\n"
msgstr "\nCont�ronse %d argumentos no lanzamento que fallou\n"
-#: job.c:1293
+#: job.c:1300
#, c-format
msgid "Putting child 0x%08lx (%s) PID %ld%s on the chain.\n"
msgstr "Po�endo o proceso fillo 0x%08lx (%s) PID %ld%s na cadea.\n"
-#: job.c:1490
+#: job.c:1498
#, c-format
msgid "Obtained token for child 0x%08lx (%s).\n"
msgstr "Obt�vose un elemento para o proceso fillo 0x%08lx (%s).\n"
-#: job.c:1496
+#: job.c:1504
msgid "read jobs pipe"
msgstr "lectura do cano de traballos"
-#: job.c:1566
+#: job.c:1574
msgid "cannot enforce load limits on this operating system"
msgstr "non se poden impo�er l�mites de carga neste sistema operativo"
-#: job.c:1568
+#: job.c:1576
msgid "cannot enforce load limit: "
msgstr "non se pode impo�er un l�mite de carga: "
-#: job.c:1671
+#: job.c:1679
#, c-format
msgid "internal error: `%s' command_state"
msgstr "erro interno: `%s' command_state"
-#: job.c:1756
+#: job.c:1764
msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
msgstr "-aviso, CTRL-Y deixar� subprocesos ceibos.\n"
-#: job.c:1773
+#: job.c:1781
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-aviso, pode que te�a que reactiva-lo manexo de CTRL-Y dende o DCL.\n"
-#: job.c:1886
+#: job.c:1894
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: job.c:1897
+#: job.c:1905
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: job.c:1915
+#: job.c:1923
#, c-format
msgid "BUILTIN RM %s\n"
msgstr "BUILTIN RM %s\n"
-#: job.c:1936
+#: job.c:1944
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Comando incluido desco�ecido '%s'\n"
-#: job.c:1958
+#: job.c:1966
msgid "Error, empty command\n"
msgstr "Erro, comando baleiro\n"
-#: job.c:1965 main.c:1270
+#: job.c:1973 main.c:1307
msgid "fopen (temporary file)"
msgstr "fopen (ficheiro temporal)"
-#: job.c:1970
+#: job.c:1978
#, c-format
msgid "Redirected input from %s\n"
msgstr "Entrada redirixida de %s\n"
-#: job.c:1977
+#: job.c:1985
#, c-format
msgid "Redirected error to %s\n"
msgstr "Erros redirixidos a %s\n"
-#: job.c:1984
+#: job.c:1992
#, c-format
msgid "Redirected output to %s\n"
msgstr "Sa�da redirixida a %s\n"
-#: job.c:2047
+#: job.c:2055
#, c-format
msgid "Executing %s instead\n"
msgstr "Executando %s no canto\n"
-#: job.c:2144
+#: job.c:2152
#, c-format
msgid "Error spawning, %d\n"
msgstr "Erro ao lanzar, %d\n"
-#: job.c:2247
+#: job.c:2255
#, c-format
msgid "make reaped child pid %d, still waiting for pid %d\n"
msgstr "make colleitou un proceso fillo de pid %d, ainda se agarda polo pid %d\n"
-#: job.c:2266
+#: job.c:2274
#, c-format
msgid "%s: Command not found"
msgstr "%s: Comando non atopado"
-#: job.c:2295
+#: job.c:2303
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Int�rprete de comandos non atopado"
-#: job.c:2476
+#: job.c:2484
#, c-format
msgid "$SHELL changed (was `%s', now `%s')"
msgstr "O valor de $SHELL cambiou (antes era `%s', agora `%s')"
-#: job.c:2882
+#: job.c:2890
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Creando un ficheiro por lotes temporal %s\n"
-#: job.c:2924
+#: job.c:2932
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (li�a %d) Contexto do int�rprete de comandos incorrecto (!unixy && !batch_mode_shell)\n"
@@ -875,148 +888,148 @@ msgstr "find_and_set_shell estabrecendo default_shell = %s\n"
msgid "find_and_set_shell path search set default_shell = %s\n"
msgstr "find_and_set_shell busca de cami�os estabrece default_shell = %s\n"
-#: main.c:1051
+#: main.c:1058
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s est� suspendido durante 30 segundos..."
-#: main.c:1053
+#: main.c:1060
msgid "done sleep(30). Continuing.\n"
msgstr "rematouse sleep(30). Continuando.\n"
-#: main.c:1260
+#: main.c:1268
msgid "Makefile from standard input specified twice."
msgstr "O ficheiro de make da entrada est�ndar foi especificado d�as veces."
-#: main.c:1276
+#: main.c:1313
msgid "fwrite (temporary file)"
msgstr "fwrite (ficheiro temporal)"
-#: main.c:1378
+#: main.c:1415
msgid "Do not specify -j or --jobs if sh.exe is not available."
msgstr "Non especifique -j ou --jobs se sh.exe non est� dispo�ible."
-#: main.c:1379
+#: main.c:1416
msgid "Resetting make for single job mode."
msgstr "Reiniciando make para entrar no modo de un traballo."
-#: main.c:1416
+#: main.c:1453
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Os traballos en paralelo (-j) non est�n soportados nesta plataforma."
-#: main.c:1417
+#: main.c:1454
msgid "Resetting to single job (-j1) mode."
msgstr "Reiniciando para entrar no modo de un traballo (-j1)."
-#: main.c:1431
+#: main.c:1468
msgid "internal error: multiple --jobserver-fds options"
msgstr "erro interno: opci�ns --jobserver-fds m�ltiples"
-#: main.c:1439
+#: main.c:1476
#, c-format
msgid "internal error: invalid --jobserver-fds string `%s'"
msgstr "erro interno: cadea --jobserver-fds non v�lida `%s'"
-#: main.c:1449
+#: main.c:1486
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "aviso: -jN forzado no submake: desactivando o modo de servidor de traballos."
-#: main.c:1459
+#: main.c:1496
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1462
+#: main.c:1499
msgid "warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
msgstr "aviso: o servidor de traballos non est� dispo�ible: usando -j1. Engada `+' � regra do make pai."
-#: main.c:1485
+#: main.c:1522
msgid "creating jobs pipe"
msgstr "creando o cano de traballos"
-#: main.c:1495
+#: main.c:1532
msgid "init jobserver pipe"
msgstr "inicializa-lo cano do servidor de traballos"
-#: main.c:1580
+#: main.c:1617
msgid "Updating makefiles....\n"
msgstr "Actualizando os ficheiros de make....\n"
-#: main.c:1605
+#: main.c:1642
#, c-format
msgid "Makefile `%s' might loop; not remaking it.\n"
msgstr "O ficheiro de make `%s' poder�a causar un lazo; non se refai.\n"
#. The update failed and this makefile was not
#. from the MAKEFILES variable, so we care.
-#: main.c:1679
+#: main.c:1716
#, c-format
msgid "Failed to remake makefile `%s'."
msgstr "Non se puido reface-lo ficheiro de make `%s'."
-#: main.c:1695
+#: main.c:1732
#, c-format
msgid "Included makefile `%s' was not found."
msgstr "Non se atopou o ficheiro de make incluido `%s'."
#. A normal makefile. We must die later.
-#: main.c:1700
+#: main.c:1737
#, c-format
msgid "Makefile `%s' was not found"
msgstr "Non se atopou o ficheiro de make `%s'"
-#: main.c:1768
+#: main.c:1805
msgid "Couldn't change back to original directory."
msgstr "Non se puido voltar ao directorio orixinal."
-#: main.c:1802
+#: main.c:1839
msgid "Re-executing:"
msgstr "Re-executando:"
-#: main.c:1833
+#: main.c:1870
msgid "unlink (temporary file): "
msgstr "unlink (ficheiro temporal)"
-#: main.c:1855
+#: main.c:1892
msgid "No targets specified and no makefile found"
msgstr "Non se especificaron obxectivos e non se atopou un ficheiro de make"
-#: main.c:1857
+#: main.c:1894
msgid "No targets"
msgstr "Non hai obxectivos"
#. Update the goals.
-#: main.c:1862
+#: main.c:1899
msgid "Updating goal targets....\n"
msgstr "Actualizando os obxectivos meta....\n"
-#: main.c:1888
+#: main.c:1925
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "aviso: Detect�ronse inconsistencias de reloxo. A operaci�n pode quedar incompleta."
-#: main.c:2043
+#: main.c:2080
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Uso: %s [opci�ns] [obxectivo] ...\n"
-#: main.c:2045
+#: main.c:2082
msgid "Options:\n"
msgstr "Opci�ns:\n"
-#: main.c:2126
+#: main.c:2163
msgid "\nReport bugs to <bug-make@gnu.org>.\n"
msgstr "\nInforme dos erros a <bug-make@gnu.org>.\n"
-#: main.c:2235
+#: main.c:2284
#, c-format
msgid "the `-%c' option requires a positive integral argument"
msgstr "a opci�n `-%c' precisa dun argumento integral positivo"
-#: main.c:2659
+#: main.c:2708
#, c-format
msgid ""
", by Richard Stallman and Roland McGrath.\n"
"%sBuilt for %s\n"
-"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n"
+"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
"%s\tFree Software Foundation, Inc.\n"
"%sThis is free software; see the source for copying conditions.\n"
"%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
@@ -1027,7 +1040,7 @@ msgid ""
msgstr ""
", por Richard Stallman e Roland McGrath.\n"
"%sCompilado para %s\n"
-"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n"
+"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
"%s\tFree Software Foundation, Inc.\n"
"%sIsto � software libre; vexa o c�digo fonte polas condici�ns de copia.\n"
"%sNON hai garant�a; nin sequera de COMERCIABILIDADE ou APTITUDE PARA\n"
@@ -1036,55 +1049,55 @@ msgstr ""
"%sInforme dos erros a <bug-make@gnu.org>.\n"
"\n"
-#: main.c:2685
+#: main.c:2734
#, c-format
msgid "\n# Make data base, printed on %s"
msgstr "\n# Base de datos de Make, imprimida en %s"
-#: main.c:2694
+#: main.c:2743
#, c-format
msgid "\n# Finished Make data base on %s\n"
msgstr "\n# Base de datos de Make rematada en %s\n"
-#: main.c:2749
+#: main.c:2798
msgid "Entering"
msgstr "Entrando"
-#: main.c:2749
+#: main.c:2798
msgid "Leaving"
msgstr "Saindo"
-#: main.c:2768
+#: main.c:2817
msgid "an unknown directory"
msgstr "un directorio desco�ecido"
-#: main.c:2770
+#: main.c:2819
#, c-format
msgid "directory `%s'\n"
msgstr "directorio `%s'\n"
-#: misc.c:307
+#: misc.c:308
msgid ". Stop.\n"
msgstr ". Detido.\n"
-#: misc.c:329
+#: misc.c:330
#, c-format
msgid "Unknown error %d"
msgstr "Erro %d desco�ecido"
-#: misc.c:369 misc.c:384 misc.c:402 read.c:2708
+#: misc.c:370 misc.c:385 misc.c:403 read.c:2717
msgid "virtual memory exhausted"
msgstr "memoria virtual esgotada"
#. All the other debugging messages go to stdout,
#. but we write this one to stderr because it might be
#. run in a child fork whose stdout is piped.
-#: misc.c:653
+#: misc.c:655
#, c-format
msgid "%s access: user %lu (real %lu), group %lu (real %lu)\n"
msgstr "Acceso %s: usuario %lu (real %lu), grupo %lu (real %lu)\n"
-#: misc.c:674
+#: misc.c:676
msgid "Initialized"
msgstr "Inicializado"
@@ -1092,48 +1105,48 @@ msgstr "Inicializado"
msgid "Reading makefiles...\n"
msgstr "Lendo os ficheiros de make...\n"
-#: read.c:337
+#: read.c:335
#, c-format
msgid "Reading makefile `%s'"
msgstr "Lendo o ficheiro de make `%s'"
-#: read.c:339
+#: read.c:337
msgid " (no default goal)"
msgstr " (non hai un obxectivo por defecto)"
-#: read.c:341
+#: read.c:339
msgid " (search path)"
msgstr " (cami�o de busca)"
-#: read.c:343
+#: read.c:341
msgid " (don't care)"
msgstr " (non importa)"
-#: read.c:345
+#: read.c:343
msgid " (no ~ expansion)"
msgstr " (non hai expansi�n de ~)"
-#: read.c:525
+#: read.c:523
msgid "invalid syntax in conditional"
msgstr "sintaxe non v�lida no condicional"
-#: read.c:534
+#: read.c:532
msgid "extraneous `endef'"
msgstr "`endef' superfluo"
-#: read.c:546 read.c:573 variable.c:873
+#: read.c:544 read.c:572 variable.c:873
msgid "empty variable name"
msgstr "nome de variable baleiro"
-#: read.c:564
+#: read.c:562
msgid "empty `override' directive"
msgstr "directiva `override' baleira"
-#: read.c:587
+#: read.c:586
msgid "invalid `override' directive"
msgstr "directiva `override' non v�lida"
-#: read.c:671
+#: read.c:670
#, c-format
msgid "no file name for `%sinclude'"
msgstr "non hai un home de ficheiro en `%sinclude'"
@@ -1146,98 +1159,98 @@ msgstr "non hai un home de ficheiro en `%sinclude'"
msgid "commands commence before first target"
msgstr "os comandos comezan antes do primeiro obxectivo"
-#: read.c:787
+#: read.c:788
msgid "missing rule before commands"
msgstr "falla unha regra antes dos comandos"
#. There's no need to be ivory-tower about this: check for
#. one of the most common bugs found in makefiles...
-#: read.c:873
+#: read.c:874
#, c-format
msgid "missing separator%s"
msgstr "falla un separador%s"
-#: read.c:875
+#: read.c:876
msgid " (did you mean TAB instead of 8 spaces?)"
msgstr " (�se cadra unha tabulaci�n no canto de oito espacios?)"
-#: read.c:1011
+#: read.c:1020
msgid "missing target pattern"
msgstr "falla un patr�n obxectivo"
-#: read.c:1013
+#: read.c:1022
msgid "multiple target patterns"
msgstr "patr�ns de obxectivo m�ltiples"
-#: read.c:1017
+#: read.c:1026
msgid "target pattern contains no `%%'"
msgstr "o patr�n obxectivo non cont�n `%%'"
-#: read.c:1058
+#: read.c:1067
msgid "missing `endif'"
msgstr "falla `endif'"
-#: read.c:1117
+#: read.c:1126
msgid "Extraneous text after `endef' directive"
msgstr "Texto superfluo trala directiva `endef'"
#. No `endef'!!
-#: read.c:1147
+#: read.c:1156
msgid "missing `endef', unterminated `define'"
msgstr "falla `endef', `define' sen rematar"
-#: read.c:1201 read.c:1357
+#: read.c:1210 read.c:1366
#, c-format
msgid "Extraneous text after `%s' directive"
msgstr "Texto superfluo trala directiva `%s'"
-#: read.c:1204
+#: read.c:1213
#, c-format
msgid "extraneous `%s'"
msgstr "`%s' superfluo"
-#: read.c:1209
+#: read.c:1218
msgid "only one `else' per conditional"
msgstr "s� un `else' por condicional"
-#: read.c:1471
+#: read.c:1480
msgid "Malformed per-target variable definition"
msgstr "Definici�n dunha variable por obxectivo mal formada"
-#: read.c:1553
+#: read.c:1562
msgid "mixed implicit and static pattern rules"
msgstr "regr�s de patr�n impl�citas e est�ticas mesturadas"
-#: read.c:1556
+#: read.c:1565
msgid "mixed implicit and normal rules"
msgstr "regras impl�citas e normais mesturadas"
-#: read.c:1597
+#: read.c:1606
#, c-format
msgid "target `%s' doesn't match the target pattern"
msgstr "o obxectivo `%s' non coincide co patr�n do obxectivo"
-#: read.c:1619
+#: read.c:1628
#, c-format
msgid "target `%s' leaves prerequisite pattern empty"
msgstr "o obxectivo `%s' deixa o patr�n prerrequisito baleiro"
-#: read.c:1635 read.c:1735
+#: read.c:1644 read.c:1744
#, c-format
msgid "target file `%s' has both : and :: entries"
msgstr "o ficheiro obxectivo `%s' ten entradas : e ::"
-#: read.c:1641
+#: read.c:1650
#, c-format
msgid "target `%s' given more than once in the same rule."
msgstr "o obxectivo `%s' aparece m�is dunha vez na mesma regra."
-#: read.c:1650
+#: read.c:1659
#, c-format
msgid "warning: overriding commands for target `%s'"
msgstr "aviso: ignorando os comandos do obxectivo `%s'"
-#: read.c:1653
+#: read.c:1662
#, c-format
msgid "warning: ignoring old commands for target `%s'"
msgstr "aviso: ign�ranse os comandos antigos do obxectivo `%s'"
@@ -1247,178 +1260,178 @@ msgstr "aviso: ign�ranse os comandos antigos do obxectivo `%s'"
#. lossage strikes again! (xmkmf puts NULs in its makefiles.)
#. There is nothing really to be done; we synthesize a newline so
#. the following line doesn't appear to be part of this line.
-#: read.c:2153
+#: read.c:2162
msgid "warning: NUL character seen; rest of line ignored"
msgstr "aviso: viuse un car�cter NUL; ign�rase o resto da li�a"
-#: remake.c:227
+#: remake.c:230
#, c-format
msgid "Nothing to be done for `%s'."
msgstr "Non hai nada que facer para `%s'"
-#: remake.c:228
+#: remake.c:231
#, c-format
msgid "`%s' is up to date."
msgstr "`%s' est� actualizado."
-#: remake.c:296
+#: remake.c:299
#, c-format
msgid "Pruning file `%s'.\n"
msgstr "Podando o ficheiro `%s'.\n"
-#: remake.c:350
+#: remake.c:353
#, c-format
msgid "Considering target file `%s'.\n"
msgstr "Considerando o ficheiro obxectivo `%s'.\n"
-#: remake.c:357
+#: remake.c:360
#, c-format
msgid "Recently tried and failed to update file `%s'.\n"
msgstr "Hai pouco probouse a actualiza-lo ficheiro `%s' e non se puido.\n"
-#: remake.c:361
+#: remake.c:364
#, c-format
msgid "File `%s' was considered already.\n"
msgstr "O ficheiro `%s' xa fora considerado.\n"
-#: remake.c:371
+#: remake.c:374
#, c-format
msgid "Still updating file `%s'.\n"
msgstr "Ainda se est� actualizando o ficheiro `%s'.\n"
-#: remake.c:374
+#: remake.c:377
#, c-format
msgid "Finished updating file `%s'.\n"
msgstr "Rematouse de actualiza-lo ficheiro `%s'.\n"
-#: remake.c:395
+#: remake.c:398
#, c-format
msgid "File `%s' does not exist.\n"
msgstr "O ficheiro `%s' non existe.\n"
-#: remake.c:405 remake.c:825
+#: remake.c:408 remake.c:828
#, c-format
msgid "Found an implicit rule for `%s'.\n"
msgstr "Atopouse unha regra impl�cita de `%s'.\n"
-#: remake.c:407 remake.c:827
+#: remake.c:410 remake.c:830
#, c-format
msgid "No implicit rule found for `%s'.\n"
msgstr "Non se atopou unha regra impl�cita para `%s'.\n"
-#: remake.c:413 remake.c:833
+#: remake.c:416 remake.c:836
#, c-format
msgid "Using default commands for `%s'.\n"
msgstr "Usando os comandos por defecto para `%s'.\n"
-#: remake.c:433 remake.c:857
+#: remake.c:436 remake.c:860
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "A dependencia circular %s <- %s foi eliminada."
-#: remake.c:511
+#: remake.c:514
#, c-format
msgid "Finished prerequisites of target file `%s'.\n"
msgstr "Remat�ronse os prerrequisitos do ficheiro obxectivo `%s'.\n"
-#: remake.c:517
+#: remake.c:520
#, c-format
msgid "The prerequisites of `%s' are being made.\n"
msgstr "Estan a se face-los prerrequisitos de `%s'.\n"
-#: remake.c:530
+#: remake.c:533
#, c-format
msgid "Giving up on target file `%s'.\n"
msgstr "Abandonando no ficheiro obxectivo `%s'.\n"
-#: remake.c:535
+#: remake.c:538
#, c-format
msgid "Target `%s' not remade because of errors."
msgstr "Non se refai o obxectivo `%s' a causa dos erros."
-#: remake.c:583
+#: remake.c:586
#, c-format
msgid "Prerequisite `%s' of target `%s' does not exist.\n"
msgstr "O prerrequisito `%s' do obxectivo `%s' non existe.\n"
-#: remake.c:588
+#: remake.c:591
#, c-format
msgid "Prerequisite `%s' is newer than target `%s'.\n"
msgstr "O prerrequisito `%s' � m�is novo c� obxectivo `%s'.\n"
-#: remake.c:591
+#: remake.c:594
#, c-format
msgid "Prerequisite `%s' is older than target `%s'.\n"
msgstr "O prerrequisito `%s' � m�is vello c� obxectivo `%s'.\n"
-#: remake.c:609
+#: remake.c:612
#, c-format
msgid "Target `%s' is double-colon and has no prerequisites.\n"
msgstr "O obxectivo `%s' ten catro puntos e non ten prerrequisitos.\n"
-#: remake.c:615
+#: remake.c:618
#, c-format
msgid "No commands for `%s' and no prerequisites actually changed.\n"
msgstr "Non hai comandos de `%s', e non cambiaron os prerrequisitos.\n"
-#: remake.c:623
+#: remake.c:626
#, c-format
msgid "No need to remake target `%s'"
msgstr "Non � preciso reface-lo obxectivo `%s'"
-#: remake.c:625
+#: remake.c:628
#, c-format
msgid "; using VPATH name `%s'"
msgstr "; usando o nome de VPATH `%s'"
-#: remake.c:645
+#: remake.c:648
#, c-format
msgid "Must remake target `%s'.\n"
msgstr "Debe refacerse o obxectivo `%s'.\n"
-#: remake.c:651
+#: remake.c:654
#, c-format
msgid " Ignoring VPATH name `%s'.\n"
msgstr " Ignorando o nome VPATH `%s'.\n"
-#: remake.c:660
+#: remake.c:663
#, c-format
msgid "Commands of `%s' are being run.\n"
msgstr "Estanse a executa-los comandos de `%s'.\n"
-#: remake.c:667
+#: remake.c:670
#, c-format
msgid "Failed to remake target file `%s'.\n"
msgstr "Non se puido reface-lo ficheiro obxectivo `%s'.\n"
-#: remake.c:670
+#: remake.c:673
#, c-format
msgid "Successfully remade target file `%s'.\n"
msgstr "O ficheiro obxectivo `%s' foi feito de novo con �xito.\n"
-#: remake.c:673
+#: remake.c:676
#, c-format
msgid "Target file `%s' needs remade under -q.\n"
msgstr "O ficheiro obxectivo `%s' precisa refacerse con -q.\n"
-#: remake.c:974
+#: remake.c:977
#, c-format
msgid "%sNo rule to make target `%s'%s"
msgstr "%sNon hai unha regra para face-lo obxectivo `%s'%s"
-#: remake.c:976
+#: remake.c:979
#, c-format
msgid "%sNo rule to make target `%s', needed by `%s'%s"
msgstr "%sNon hai unha regra para face-lo obxectivo `%s', que precisa `%s'%s"
-#: remake.c:1177
+#: remake.c:1191
#, c-format
msgid "*** Warning: File `%s' has modification time in the future (%s > %s)"
msgstr "*** Aviso: O ficheiro `%s' ten unha data de modificaci�n no futuro (%s > %s)"
#. Give a warning if there is no pattern, then remove the
#. pattern so it's ignored next time.
-#: remake.c:1291
+#: remake.c:1311
#, c-format
msgid ".LIBPATTERNS element `%s' is not a pattern"
msgstr "O elemento de .LIBPATTERNS `%s' non � un patr�n"
@@ -1668,24 +1681,24 @@ msgstr "# %d.%d variables de media por balde, m�ximo de %u nun balde.\n"
msgid "\n# Variables\n"
msgstr "\n# Variables\n"
-#: vpath.c:552
+#: vpath.c:553
msgid "\n# VPATH Search Paths\n"
msgstr "\n# Cami�os de Busca VPATH\n"
-#: vpath.c:569
+#: vpath.c:570
msgid "# No `vpath' search paths."
msgstr "# Non hai cami�os de busca `vpath'"
-#: vpath.c:571
+#: vpath.c:572
#, c-format
msgid "\n# %u `vpath' search paths.\n"
msgstr "\n# %u cami�os de busca `vpath'.\n"
-#: vpath.c:574
+#: vpath.c:575
msgid "\n# No general (`VPATH' variable) search path."
msgstr "\n# Non hai un cami�o de busca xeral (variable `VPATH')."
-#: vpath.c:580
+#: vpath.c:581
msgid ""
"\n"
"# General (`VPATH' variable) search path:\n"
@@ -1705,6 +1718,9 @@ msgstr "A Aduana non exporta: %s\n"
msgid "sys$search failed with %d\n"
msgstr "a chamada a sys$search fallou con %d\n"
+#~ msgid "the `word' function takes a positive index argument"
+#~ msgstr "a funci�n `word' toma un argumento �ndice positivo"
+
#~ msgid "\n# Implicit Rules"
#~ msgstr "\n# Regras Impl�citas"
diff --git a/i18n/ru.po b/i18n/ru.po
index 93af904..369bd26 100644
--- a/i18n/ru.po
+++ b/i18n/ru.po
@@ -1,1424 +1,1749 @@
# ����������� make
-# Copyright (C) 1998 Free Software Foundation, Inc.
+# Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
# Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>, 1998
+# Alexey Mahotkin <alexm@hsys.msk.ru> 2001
+# Denis Perchine <dyp@perchine.com>, 2001
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.74.4\n"
-"POT-Creation-Date: 1996-05-22 09:11-0400\n"
-"PO-Revision-Date: 1998-12-02 23:00+03:00\n"
-"Last-Translator: Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>\n"
+"Project-Id-Version: make 3.79\n"
+"POT-Creation-Date: 2000-04-05 10:09-0400\n"
+"PO-Revision-Date: 2001-05-10 12:00+06:00\n"
+"Last-Translator: Denis Perchine <dyp@perchine.com>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=koi8-r\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
-#, possible-c-format
+#: ar.c:50
+#, c-format
msgid "attempt to use unsupported feature: `%s'"
msgstr "������� ������������� ����������������� ��������: `%s'"
-#: ar.c:142
-#, possible-c-format
-msgid "Error in lbr$ini_control, %d\n"
-msgstr "������ � lbr$ini_control, %d\n"
-
-#: ar.c:147
-#, possible-c-format
-msgid "Error opening library %s to lookup member %s, %d\n"
-msgstr "������ �������� ���������� %s ��� ������ ����� %s; %d\n"
-
-#: ar.c:153
-#, possible-c-format
-msgid "Error looking up module %s in library %s, %d\n"
-msgstr "������ ������ ������ %s � ���������� %s, %d\n"
-
-#: ar.c:159
-#, possible-c-format
-msgid "Error getting module info, %d\n"
-msgstr "������ ��������� �������� � ������, %d\n"
-
-#: ar.c:244
+#: ar.c:141
msgid "touch archive member is not available on VMS"
msgstr "���������� ������� ��������� ����� ������ ���������� � ������� VMS"
-#: ar.c:276
-#, possible-c-format
+#: ar.c:173
+#, c-format
msgid "touch: Archive `%s' does not exist"
msgstr "���������� ������� ���������: ����� `%s' �� ����������"
-#: ar.c:279
-#, possible-c-format
+#: ar.c:176
+#, c-format
msgid "touch: `%s' is not a valid archive"
msgstr "���������� ������� ���������: �������� �����: `%s'"
-#: ar.c:282
-msgid "touch: "
-msgstr "���������� ������� ���������: "
-
-#: ar.c:285
-#, possible-c-format
+#: ar.c:183
+#, c-format
msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "���������� ������� ���������: ���� `%s' �� ���������� � `%s'"
+msgstr "���������� ������� ���������: ������� `%s' �� ���������� � `%s'"
-#: ar.c:291
-#, possible-c-format
+#: ar.c:190
+#, c-format
msgid "touch: Bad return code from ar_member_touch on `%s'"
msgstr ""
"���������� ������� ���������: ������� ar_member_touch �������\n"
"��������� �������� ��� `%s'"
-#: arscan.c:550
+#: arscan.c:71
+#, c-format
+msgid "lbr$set_module failed to extract module info, status = %d"
+msgstr "lbr$set_module �� ������ ������� ���������� � ������, ������ = %d"
+
+#: arscan.c:155
+#, c-format
+msgid "lbr$ini_control failed with status = %d"
+msgstr "lbr$init_control ������� ��� ������ %d"
+
+#: arscan.c:166
+#, c-format
+msgid "unable to open library `%s' to lookup member `%s'"
+msgstr "������ �������� ���������� `%s' ��� ������ �������� `%s'"
+
+#: arscan.c:820
+#, c-format
+msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "������� `%s'%s: %ld ���� �� ������ %ld (%ld).\n"
+
+#: arscan.c:821
msgid " (name might be truncated)"
msgstr " (��� ����� ���� �������)"
-#: arscan.c:552
-#, possible-c-format
+#: arscan.c:823
+#, c-format
msgid " Date %s"
msgstr " ���� %s"
-#~ #: arscan.c:553
-#~ #, possible-c-format
-#~ msgid " uid = %d, gid = %d, mode = 0%o.\n"
-#~ msgstr ""
+#: arscan.c:824
+#, c-format
+msgid " uid = %d, gid = %d, mode = 0%o.\n"
+msgstr ""
+
+#: commands.c:391
+msgid "*** Break.\n"
+msgstr "*** �������.\n"
+
+#: commands.c:483
+#, c-format
+msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+msgstr "*** [%s] ������� ������ `%s', �������, ��������������; �� ������"
+
+#: commands.c:486
+#, c-format
+msgid "*** Archive member `%s' may be bogus; not deleted"
+msgstr "*** ������� ������ `%s', �������, ��������������; �� ������"
+
+#: commands.c:498
+#, c-format
+msgid "*** [%s] Deleting file `%s'"
+msgstr "*** [%s] ��������� ���� `%s'"
+
+#: commands.c:500
+#, c-format
+msgid "*** Deleting file `%s'"
+msgstr "*** ��������� ���� `%s'"
+
+#: commands.c:538
+msgid "# commands to execute"
+msgstr "# �������, ������� ������� ���������"
+
+#: commands.c:541
+msgid " (built-in):"
+msgstr " (����������):"
-#: dir.c:678
+#: commands.c:543
+#, c-format
+msgid " (from `%s', line %lu):\n"
+msgstr " (�� `%s', ������ %lu):\n"
+
+#: dir.c:902
msgid "\n# Directories\n"
msgstr "\n# ��������\n"
-#: dir.c:686
-#, possible-c-format
+#: dir.c:910
+#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: ���������� �������� �������� ������� stat.\n"
-#: dir.c:689
-#, possible-c-format
+#: dir.c:913
+#, c-format
+msgid "# %s (key %s, mtime %d): could not be opened.\n"
+msgstr "# %s (���� %s, ����� ����������� %d): ���������� �������.\n"
+
+#: dir.c:917
+#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
-msgstr "# %s (device %d, inode [%d,%d,%d]): ���������� �������.\n"
+msgstr "# %s (���������� %d, inode [%d,%d,%d]): ���������� �������.\n"
+
+#: dir.c:922
+#, c-format
+msgid "# %s (device %ld, inode %ld): could not be opened.\n"
+msgstr "# %s (���������� %ld, inode %ld): ���������� �������.\n"
-#: dir.c:694
-#, possible-c-format
-msgid "# %s (device %d, inode %d): could not be opened.\n"
-msgstr "# %s (device %d, inode %d): ���������� �������.\n"
+#: dir.c:939
+#, c-format
+msgid "# %s (key %s, mtime %d): "
+msgstr "# %s (���� %s, ����� ����������� %d): "
-#~ #: dir.c:709
-#~ #, possible-c-format
-#~ msgid "# %s (device %d, inode [%d,%d,%d]): "
-#~ msgstr ""
+#: dir.c:943
+#, c-format
+msgid "# %s (device %d, inode [%d,%d,%d]): "
+msgstr "# %s (���������� %d, inode [%d,%d,%d]): "
-#~ #: dir.c:714
-#~ #, possible-c-format
-#~ msgid "# %s (device %d, inode %d): "
-#~ msgstr ""
+#: dir.c:948
+#, c-format
+msgid "# %s (device %ld, inode %ld): "
+msgstr "# %s (���������� %ld, inode %ld): "
-#: dir.c:718 dir.c:738
+#: dir.c:954 dir.c:974
msgid "No"
msgstr "���"
-#: dir.c:721 dir.c:741
+#: dir.c:957 dir.c:977
msgid " files, "
msgstr " ������,"
-#: dir.c:723 dir.c:743
+#: dir.c:959 dir.c:979
msgid "no"
msgstr "���"
-#: dir.c:726
+#: dir.c:962
msgid " impossibilities"
msgstr " ������������ �����"
-#: dir.c:730
+#: dir.c:966
msgid " so far."
msgstr " �� ������� ������."
-#: dir.c:746
-#, possible-c-format
+#: dir.c:982
+#, c-format
msgid " impossibilities in %u directories.\n"
msgstr " ������������ ����� � %u ���������.\n"
-#: expand.c:92 expand.c:97
-#, possible-c-format
+#: expand.c:105
+#, c-format
msgid "Recursive variable `%s' references itself (eventually)"
msgstr "����������� ���������� `%s' ��������� ���� �� ���� (� ����������)"
-#: expand.c:120
-#, possible-c-format
+#: expand.c:130
+#, c-format
msgid "warning: undefined variable `%.*s'"
msgstr "��������������: �������������� ���������� `%.*s'"
-#: expand.c:223 expand.c:225
+#. Unterminated variable reference.
+#: expand.c:247
msgid "unterminated variable reference"
msgstr "������������� ������ �� ����������"
-#: file.c:264
-#, possible-c-format
-msgid "Commands were specified for file `%s' at %s:%u,"
-msgstr "������� ��� ����� `%s' ���� ������ %s:%u,"
+#: file.c:307
+#, c-format
+msgid "Commands were specified for file `%s' at %s:%lu,"
+msgstr "������� ��� ����� `%s' ���� ������ � %s:%lu,"
-#: file.c:270
-#, possible-c-format
+#: file.c:313
+#, c-format
msgid "Commands for file `%s' were found by implicit rule search,"
msgstr "������� ��� ����� `%s' ���� ������� �� �������� �������,"
-#: file.c:274
-#, possible-c-format
+#: file.c:317
+#, c-format
msgid "but `%s' is now considered the same file as `%s'."
msgstr "�� `%s' � `%s' ������ ��������� ����� � ��� �� ������. "
-#: file.c:278
-#, possible-c-format
+#: file.c:321
+#, c-format
msgid "Commands for `%s' will be ignored in favor of those for `%s'."
-msgstr "������� ��� `%s' ������������, ����� ������������ ������� ��� `%s'."
+msgstr "������� ��� `%s' ������������, ������ ��� ����� ������������ ������� ��� `%s'."
-#: file.c:299
-#, possible-c-format
+#: file.c:342
+#, c-format
msgid "can't rename single-colon `%s' to double-colon `%s'"
msgstr "���������� ������������� `%s' � ����� ���������� � `%s' � ����� �����������"
-#: file.c:302
-#, possible-c-format
+#: file.c:347
+#, c-format
msgid "can't rename double-colon `%s' to single-colon `%s'"
msgstr "���������� ������������� `%s' � ����� ����������� � `%s' � ����� ����������"
-#: file.c:363
-#, possible-c-format
+#: file.c:414
+#, c-format
msgid "*** Deleting intermediate file `%s'"
msgstr "*** �������� �������������� ����� `%s'"
-#: file.c:523
+#: file.c:622
msgid "# Not a target:"
msgstr "# �� �������� �����:"
-#: file.c:531
-msgid "# Precious file (dependency of .PRECIOUS)."
+#: file.c:630
+msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# ������ ���� (����������� .PRECIOUS)."
-#: file.c:533
-msgid "# Phony target (dependency of .PHONY)."
+#: file.c:632
+msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# ���������� (����������� �� .PHONY)."
-#: file.c:535
+#: file.c:634
msgid "# Command-line target."
msgstr "# ����, ���������� �� ��������� ������."
-#: file.c:537
+#: file.c:636
msgid "# A default or MAKEFILES makefile."
msgstr "# makefile �� ��������� ��� �� MAKEFILES."
-#: file.c:538
-#, possible-c-format
-msgid "# Implicit rule search has%s been done.\n"
-msgstr "# ����� ������� ������%s ������������.\n"
+#: file.c:638
+msgid "# Implicit rule search has been done."
+msgstr "# ������������ ����� ������� ������"
-#: file.c:539 file.c:564
-msgid " not"
-msgstr " ��"
+#: file.c:639
+msgid "# Implicit rule search has not been done."
+msgstr "# ����� ������� ������ �� ������������."
-#: file.c:541
-#, possible-c-format
+#: file.c:641
+#, c-format
msgid "# Implicit/static pattern stem: `%s'\n"
msgstr "# ������ �������� ��� ������������ �������: `%s'\n"
-#: file.c:543
-msgid "# File is an intermediate dependency."
-msgstr "# ���� -- ������������� ����������."
+#: file.c:643
+msgid "# File is an intermediate prerequisite."
+msgstr "# ���� -- ������������� �����������."
-#: file.c:546
+#: file.c:646
msgid "# Also makes:"
msgstr "# �������� �����:"
-#: file.c:552
+#: file.c:652
msgid "# Modification time never checked."
-msgstr "# ����� ��������� ������� �� �����������."
+msgstr "# ����� ��������� �� ���� �� �����������."
-#: file.c:554
+#: file.c:654
msgid "# File does not exist."
msgstr "# ���� �� ����������."
-#: file.c:557
-#, possible-c-format
-msgid "# Last modified %.24s (%0lx)\n"
-msgstr "# ����� ���������� ��������� %.24s (%0lx)\n"
+#: file.c:659
+#, c-format
+msgid "# Last modified %s\n"
+msgstr "# ����� ���������� ��������� %s\n"
-#: file.c:560
-#, possible-c-format
-msgid "# Last modified %.24s (%ld)\n"
-msgstr "# ����� ���������� ��������� %.24s (%ld)\n"
+#: file.c:662
+msgid "# File has been updated."
+msgstr "# ���� ��� ��������."
-#: file.c:563
-#, possible-c-format
-msgid "# File has%s been updated.\n"
-msgstr "# ����%s ��� ��������.\n"
+#: file.c:662
+msgid "# File has not been updated."
+msgstr "# ���� �� ��� ��������."
-#: file.c:568
+#: file.c:666
msgid "# Commands currently running (THIS IS A BUG)."
msgstr "# � ������ ������ ����������� ��������� ������� (��� ������)."
-#: file.c:571
+#: file.c:669
msgid "# Dependencies commands running (THIS IS A BUG)."
msgstr "# � ������ ������ ����������� ������� ��������� ����������� (��� ������)."
-#: file.c:580
+#: file.c:678
msgid "# Successfully updated."
msgstr "# ������� ���������."
-#: file.c:584
+#: file.c:682
msgid "# Needs to be updated (-q is set)."
-msgstr "# ������ ���� ��������� (���������� ���� -q)."
+msgstr "# ������ ���� ��������� (����� ���� -q)."
-#: file.c:587
+#: file.c:685
msgid "# Failed to be updated."
msgstr "# ������� ���������� ����������."
-#: file.c:590
+#: file.c:688
msgid "# Invalid value in `update_status' member!"
msgstr "# �������� �������� ����� `update_status'!"
-#: file.c:597
+#: file.c:695
msgid "# Invalid value in `command_state' member!"
msgstr "# �������� �������� ����� `command_state'!"
-#: file.c:616
+#: file.c:714
msgid "\n# Files"
msgstr "\n# �����"
-#: file.c:639
+#: file.c:737
msgid "\n# No files."
msgstr "\n# ������ ���."
-#: file.c:642
-#, possible-c-format
+#: file.c:740
+#, c-format
msgid "\n# %u files in %u hash buckets.\n"
-msgstr "\n# %u ������ in %u ������� ���-�������..\n"
+msgstr "\n# %u ������ in %u ������� ���-�������.\n"
-#: file.c:644
-#, possible-c-format
-msgid "# average %.1f files per bucket, max %u files in one bucket.\n"
-msgstr "# � ������� %.1f ������ � ������, ����. %u ������ � ����� ������.\n"
+#: file.c:742
+#, c-format
+msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
+msgstr "# � ������� %.3f ������ � ������, ����. %u ������ � ����� ������.\n"
-#: function.c:648
-msgid "undefined"
-msgstr "�� ����������"
+#. Check the first argument.
+#: function.c:737
+msgid "non-numeric first argument to `word' function"
+msgstr "���������� ������ �������� ������� `word'"
-#: function.c:657 variable.c:736
-msgid "default"
-msgstr "�� ���������"
+#: function.c:741
+#, fuzzy
+msgid "the `word' function takes a positive index argument"
+msgstr "���� `-%c' ������ �������������� � ����� ������������� ����������"
-#: function.c:660 variable.c:739
-msgid "environment"
-msgstr "���������� � �����"
+#: function.c:765
+msgid "non-numeric first argument to `wordlist' function"
+msgstr "���������� ������ �������� ������� `wordlist'"
+
+#: function.c:767
+msgid "non-numeric second argument to `wordlist' function"
+msgstr "���������� ������ �������� ������� `wordlist'"
+
+#: function.c:1208
+#, c-format
+msgid "create_child_process: DuplicateHandle(In) failed (e=%d)\n"
+msgstr "create_child_process: DuplicateHandle(In) ������� ��� ������ (e=%d)\n"
+
+#: function.c:1219
+#, c-format
+msgid "create_child_process: DuplicateHandle(Err) failed (e=%d)\n"
+msgstr "create_child_process: DuplicateHandle(Err) ������� ��� ������ (e=%d)\n"
+
+#: function.c:1224
+#, c-format
+msgid "CreatePipe() failed (e=%d)\n"
+msgstr "CreatePipe() ������� ��� ������ (e=%d)\n"
+
+#: function.c:1229
+msgid "windows32_openpipe (): process_init_fd() failed\n"
+msgstr "windows32_openpipe(): process_init_fd() ������� ��� ������\n"
+
+#: function.c:1468
+#, c-format
+msgid "Cleaning up temporary batch file %s\n"
+msgstr "������ ��������� �������� ���� %s\n"
+
+#: function.c:1688
+#, c-format
+msgid "Insufficient number of arguments (%d) to function `%s'"
+msgstr "������������ ���������� (����� %d) ������� `%s'"
+
+#: function.c:1692
+#, c-format
+msgid "Unimplemented on this platform: function `%s'"
+msgstr "�� ����������� �� ���� ���������: ������� `%s'"
+
+#: function.c:1745
+#, c-format
+msgid "unterminated call to function `%s': missing `%c'"
+msgstr "������������� ����� ������� `%s': ��������� `%c'"
-#: function.c:663
-msgid "file"
-msgstr "����"
+# ��������� getopt ���������, �.�. ��� ��������� � ���
+# ���������� ������ ���� ����������, � �������� � ��������� ������ make
+#
+#: getopt.c:675
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr ""
-#: function.c:666
-msgid "environment override"
-msgstr "��������� ���������� �����"
+#: getopt.c:699
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr ""
-#: function.c:669 variable.c:748
-msgid "command line"
-msgstr "���������� � ��������� ������"
+#: getopt.c:704
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr ""
-#: function.c:672
-msgid "override"
-msgstr "���������"
+#: getopt.c:721 getopt.c:894
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr ""
-#: function.c:675 variable.c:754
-msgid "automatic"
-msgstr "��������������"
+#. --option
+#: getopt.c:750
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr ""
-#: function.c:1087 function.c:1089
-msgid "non-numeric first argument to `word' function"
-msgstr "���������� ������ �������� ��� ������� `word'"
+#. +option or -option
+#: getopt.c:754
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr ""
-#: function.c:1097 function.c:1100
-msgid "the `word' function takes a one-origin index argument"
-msgstr "�������, ������� ������� `word' ��������� ��� ���������, ���������� � 1"
+#. 1003.2 specifies the format of this message.
+#: getopt.c:780
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
-#: function.c:1341
-#, possible-c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "������������� ����� ������� `%s'; ��������� `%c'"
+#: getopt.c:783
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr ""
+
+#. 1003.2 specifies the format of this message.
+#: getopt.c:813 getopt.c:943
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: getopt.c:860
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr ""
+
+#: getopt.c:878
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr ""
-#: implicit.c:38
-#, possible-c-format
+#: implicit.c:40
+#, c-format
msgid "Looking for an implicit rule for `%s'.\n"
msgstr "����� �������� ������� ��� `%s'.\n"
-#: implicit.c:53
-#, possible-c-format
+#: implicit.c:56
+#, c-format
msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "����� �������� ������� ��� ����� ������ `%s'.\n"
+msgstr "����� �������� ������� ��� �������� ������ `%s'.\n"
-#: implicit.c:190
-#, possible-c-format
-msgid "Avoiding implicit rule recursion.%s%s\n"
-msgstr "��������� ������������ ������ �������� �������.%s%s\n"
+#: implicit.c:201
+msgid "Avoiding implicit rule recursion.\n"
+msgstr "��������� ������������ ������ �������� �������.\n"
-#: implicit.c:326
-#, possible-c-format
+#: implicit.c:339
+#, c-format
msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "������� ���������� ������� � ��������, ������ `%.*s'.\n"
-
-#: implicit.c:365
-#, possible-c-format
-msgid "Rejecting impossible %s dependency `%s'.\n"
-msgstr "���������� ����������� %s ����������� `%s'.\n"
-
-#: implicit.c:366 implicit.c:374
-msgid "implicit"
-msgstr "�������"
-
-#: implicit.c:366 implicit.c:374
-msgid "rule"
-msgstr "�������� ��������"
-
-#: implicit.c:373
-#, possible-c-format
-msgid "Trying %s dependency `%s'.\n"
-msgstr "������� ���������� %s ����������� `%s'.\n"
-
-#: implicit.c:393
-#, possible-c-format
-msgid "Found dependency as `%s'.%s\n"
-msgstr "����������� ������� ��� `%s'.%s\n"
-
-#: implicit.c:408
-#, possible-c-format
-msgid "Looking for a rule with %s file `%s'.\n"
-msgstr "����� ������� � %s ������ `%s'.\n"
-
-#: implicit.c:409
-msgid "intermediate"
-msgstr "�������������"
-
-#: job.c:190
-#, possible-c-format
-msgid "*** [%s] Error 0x%x%s"
-msgstr "*** [%s] ������ 0x%x%s"
-
-#: job.c:190
-msgid " (ignored)"
-msgstr " (������������) "
-
-#: job.c:193
-#, possible-c-format
+msgstr "������� ���������� ������� � ��������, ������ `%.*s'.\n"
+
+#: implicit.c:380
+#, c-format
+msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+msgstr "���������� ����������� ������� ����������� `%s'.\n"
+
+#: implicit.c:381
+#, c-format
+msgid "Rejecting impossible rule prerequisite `%s'.\n"
+msgstr "���������� ����������� ����������� ������� `%s'.\n"
+
+#: implicit.c:391
+#, c-format
+msgid "Trying implicit prerequisite `%s'.\n"
+msgstr "������� ���������� ������� ����������� `%s'.\n"
+
+#: implicit.c:392
+#, c-format
+msgid "Trying rule prerequisite `%s'.\n"
+msgstr "������� ���������� ������� ����������� `%s'.\n"
+
+#: implicit.c:413
+#, c-format
+msgid "Found prerequisite `%s' as VPATH `%s'\n"
+msgstr "���������� ����������� `%s' � ���� VPATH `%s'\n"
+
+#: implicit.c:430
+#, c-format
+msgid "Looking for a rule with intermediate file `%s'.\n"
+msgstr "����� ������� � ������������� ������ `%s'.\n"
+
+#: job.c:253
+#, c-format
+msgid "*** [%s] Error 0x%x (ignored)"
+msgstr "*** [%s] ������ 0x%x (������������)"
+
+#: job.c:254
+#, c-format
+msgid "*** [%s] Error 0x%x"
+msgstr "*** [%s] ������ 0x%x"
+
+#: job.c:258
+#, c-format
msgid "[%s] Error %d (ignored)"
msgstr "[%s] ������ %d (������������)"
-#: job.c:194
-#, possible-c-format
+#: job.c:259
+#, c-format
msgid "*** [%s] Error %d"
msgstr "*** [%s] ������ %d"
-#: job.c:199
+#: job.c:264
msgid " (core dumped)"
msgstr " (������ ���� ������)"
-#: job.c:234
-#, possible-c-format
-msgid "Got a SIGCHLD; %d unreaped children.\n"
-msgstr "������� ������ SIGCHLD; �������� � ��������������� ������������ %d.\n"
+#: job.c:316
+msgid "Warning: Empty redirection\n"
+msgstr "��������������: ������ ���������������\n"
+
+#: job.c:352
+msgid "Syntax error, still inside '\"'\n"
+msgstr "�������������� ������, ��� ��� ������ '\"'\n"
-#: job.c:265
+#: job.c:404
+#, c-format
+msgid "Got a SIGCHLD; %u unreaped children.\n"
+msgstr "������� ������ SIGCHLD; %u �������� � ��������������� ������������.\n"
+
+#: job.c:453
msgid "*** Waiting for unfinished jobs...."
msgstr "*** �������� ���������� �������..."
-#: job.c:290
-#, possible-c-format
-msgid "Live child 0x%08lx PID %d%s\n"
-msgstr "������������� ������� 0x%08lx PID %d%s\n"
+#: job.c:482
+#, c-format
+msgid "Live child 0x%08lx (%s) PID %ld %s\n"
+msgstr "������������� ������� 0x%08lx (%s) PID %ld %s\n"
-#: job.c:292 job.c:427 job.c:514 job.c:919
+#: job.c:484 job.c:644 job.c:742 job.c:1295
msgid " (remote)"
msgstr " (���������)"
-#: job.c:414
-#, possible-c-format
-msgid "Unknown%s job %d"
-msgstr "�����������%s ������� %d"
-
-#: job.c:414
-msgid " remote"
-msgstr " ���������"
+#: job.c:641
+#, c-format
+msgid "Reaping losing child 0x%08lx PID %ld %s\n"
+msgstr "�������� �������� �������������� ������� 0x%08lx PID %ld %s\n"
-#: job.c:419
-#, possible-c-format
-msgid "%s finished."
-msgstr "%s ���������."
+#: job.c:642
+#, c-format
+msgid "Reaping winning child 0x%08lx PID %ld %s\n"
+msgstr "�������� ������ �������������� ������� 0x%08lx PID %ld %s\n"
-#: job.c:424
-#, possible-c-format
-msgid "Reaping %s child 0x%08lx PID %d%s\n"
-msgstr "��������� ����������� %s ������ ������� 0x%08lx PID %d%s\n"
+#: job.c:647
+#, c-format
+msgid "Cleaning up temp batch file %s\n"
+msgstr "�������� ��������� �������� ���� %s\n"
-#: job.c:425
-msgid "losing"
-msgstr "��������"
+#: job.c:740
+#, c-format
+msgid "Removing child 0x%08lx PID %ld %s from chain.\n"
+msgstr "�������� ������� 0x%08lx PID %ld %s �� ������� �������� ��������.\n"
-#: job.c:425
-msgid "winning"
-msgstr "����������"
-
-#: job.c:512
-#, possible-c-format
-msgid "Removing child 0x%08lx PID %d%s from chain.\n"
-msgstr "�������� ������� 0x%08lx PID %d%s �� ������� �������� ��������.\n"
+#: job.c:797
+msgid "write jobserver"
+msgstr ""
-#: job.c:917
-#, possible-c-format
-msgid "Putting child 0x%08lx PID %05d%s on the chain.\n"
-msgstr "��������� ������� 0x%08lx PID %d%s � ������� �������� ��������.\n"
+#: job.c:799
+#, c-format
+msgid "Released token for child 0x%08lx (%s).\n"
+msgstr "������������� ����� ��� ������� 0x%08lx (%s).\n"
+
+#: job.c:1229 job.c:2218
+#, c-format
+msgid "process_easy() failed failed to launch process (e=%d)\n"
+msgstr "process_easy() �� ������ ��������� ������� (e=%d)\n"
+
+#: job.c:1233 job.c:2222
+#, c-format
+msgid "\nCounted %d args in failed launch\n"
+msgstr "\n��� ���������� ������� ��������� %d ����������\n"
+
+#: job.c:1293
+#, c-format
+msgid "Putting child 0x%08lx (%s) PID %ld%s on the chain.\n"
+msgstr "��������� ������� 0x%08lx (%s) PID %ld%s � ������� �������� ��������.\n"
+
+#: job.c:1490
+#, c-format
+msgid "Obtained token for child 0x%08lx (%s).\n"
+msgstr "������� ����� ��� ������� 0x%08lx (%s).\n"
+
+#: job.c:1496
+msgid "read jobs pipe"
+msgstr ""
-#: job.c:1140
+#: job.c:1566
msgid "cannot enforce load limits on this operating system"
msgstr "��� ������������ ������� �� ��������� ������������� ������� ��������"
-#: job.c:1142
+#: job.c:1568
msgid "cannot enforce load limit: "
msgstr "���������� ���������� ������� ��������: "
-#: job.c:1244
-#, possible-c-format
-msgid "internal error: `%s' command_state %d in child_handler"
-msgstr "���������� ������: `%s' command_state %d � child_handler"
+#: job.c:1671
+#, c-format
+msgid "internal error: `%s' command_state"
+msgstr "���������� ������: `%s' command_state"
+
+#: job.c:1756
+msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
+msgstr "-��������������, ����� CTRL-Y ��������� ���-��������.\n"
+
+#: job.c:1773
+msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
+msgstr ""
+"-��������������, �������� ��� ����������� �������� ���������\n"
+"��������� CTRL-Y �� DCL.\n"
+
+#: job.c:1886
+#, c-format
+msgid "BUILTIN [%s][%s]\n"
+msgstr "���������� [%s][%s]\n"
+
+#: job.c:1897
+#, c-format
+msgid "BUILTIN CD %s\n"
+msgstr "���������� CD %s\n"
+
+#: job.c:1915
+#, c-format
+msgid "BUILTIN RM %s\n"
+msgstr "���������� RM %s\n"
+
+#: job.c:1936
+#, c-format
+msgid "Unknown builtin command '%s'\n"
+msgstr "����������� ���������� ������� '%s'\n"
+
+#: job.c:1958
+msgid "Error, empty command\n"
+msgstr "������, ������ �������\n"
+
+#: job.c:1965 main.c:1270
+msgid "fopen (temporary file)"
+msgstr "fopen (��������� ����)"
+
+#: job.c:1970
+#, c-format
+msgid "Redirected input from %s\n"
+msgstr "����������� ���� ������������� �� %s\n"
+
+#: job.c:1977
+#, c-format
+msgid "Redirected error to %s\n"
+msgstr "����� ������ ������������� � %s\n"
-#: job.c:1350
-#, possible-c-format
+#: job.c:1984
+#, c-format
+msgid "Redirected output to %s\n"
+msgstr "����������� ����� ������������� � %s\n"
+
+#: job.c:2047
+#, c-format
msgid "Executing %s instead\n"
msgstr "������ ��������� ����������� %s\n"
-#: job.c:1381
-#, possible-c-format
+#: job.c:2144
+#, c-format
msgid "Error spawning, %d\n"
msgstr "������ ���������� ��������, %d\n"
-#: job.c:1442
-#, possible-c-format
+#: job.c:2247
+#, c-format
+msgid "make reaped child pid %d, still waiting for pid %d\n"
+msgstr "make ����� �������������� ������� pid %d, ��� ��� ������� pid %d\n"
+
+#: job.c:2266
+#, c-format
msgid "%s: Command not found"
msgstr "%s: ������� �� �������"
-#: job.c:1471
-#, possible-c-format
+#: job.c:2295
+#, c-format
msgid "%s: Shell program not found"
msgstr "%s: ��������� ��������� �� ������"
-#: main.c:224
+#: job.c:2476
+#, c-format
+msgid "$SHELL changed (was `%s', now `%s')"
+msgstr "���������� $SHELL ���������� (���� '%s', ������ '%s')"
+
+#: job.c:2882
+#, c-format
+msgid "Creating temporary batch file %s\n"
+msgstr "��������� ��������� �������� ���� %s\n"
+
+#: job.c:2924
+#, c-format
+msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
+msgstr "%s (������ %d) ������ �������� ���������� ���������� (!unixy && !batch_mode_shell)\n"
+
+#: main.c:259
msgid "Ignored for compatibility"
-msgstr "������������ ��� �������������"
+msgstr "������������ ��� �������������"
+
+#: main.c:261 main.c:288
+msgid "DIRECTORY"
+msgstr "�������"
-#: main.c:227
+#: main.c:262
msgid "Change to DIRECTORY before doing anything"
msgstr "������� � ������� ����� ������� ������"
-#: main.c:230
+#: main.c:265
msgid "Print lots of debugging information"
-msgstr "�������� ���������� ���������"
+msgstr "�������� ����� ���������� ���������"
+
+#: main.c:268
+msgid "FLAGS"
+msgstr "�����"
-#: main.c:233
+#: main.c:269
+msgid "Print various types of debugging information"
+msgstr "�������� ��������� ���� ���������� ����������"
+
+#: main.c:273
+msgid "Suspend process to allow a debugger to attach"
+msgstr "������������� �������, ����� ��������� ����������� ���������"
+
+#: main.c:277
msgid "Environment variables override makefiles"
-msgstr "���������� ����� ����������� ����������, ������������ � make-�����"
+msgstr ""
+"���������� ����� ����������� ����������, \n"
+"������������ � make-�����"
-#: main.c:236
+#: main.c:279 main.c:320 main.c:354
+msgid "FILE"
+msgstr "����"
+
+#: main.c:280
msgid "Read FILE as a makefile"
-msgstr "������� ���� ��� make-����"
+msgstr "������������ ���� � �������� make-�����"
-#: main.c:239
+#: main.c:283
msgid "Print this message and exit"
msgstr "�������� ��� ������� � �����"
-#: main.c:242
+#: main.c:286
msgid "Ignore errors from commands"
msgstr "������������ ������ ������"
-#: main.c:245
+#: main.c:289
msgid "Search DIRECTORY for included makefiles"
msgstr "������ ���������� make-����� � ��������"
-#: main.c:249
+#: main.c:294
msgid "Allow N jobs at once; infinite jobs with no arg"
msgstr ""
-"��������� ������������ �� � �������; ���� �������� �� �����,\n"
-" ����� ������� ������������"
+"��������� ������������ �� N �������; \n"
+"���� �������� �� �����, ����� ������� ������������"
-#: main.c:253
+#: main.c:301
msgid "Keep going when some targets can't be made"
-msgstr "���������� ������, ���� ���� ��������� ���� �� ����������"
+msgstr ""
+"���������� ������, ���� ���� ��������� ����\n"
+"�� ����� ���� ����������"
-#: main.c:258 main.c:263
+#: main.c:306 main.c:311
msgid "Don't start multiple jobs unless load is below N"
-msgstr "�� ��������� ����������� ������� ���� �������� �� �������� �� �"
+msgstr ""
+"�� ��������� ������������ ������,\n"
+"���� �������� �� �������� �� N"
-#: main.c:270
+#: main.c:318
msgid "Don't actually run any commands; just print them"
msgstr "�� ��������� �������, ������ ���������� ��"
-#: main.c:273
+#: main.c:321
msgid "Consider FILE to be very old and don't remake it"
msgstr "������� ���� ����� ������ � �� ������������ ���"
-#: main.c:276
+#: main.c:324
msgid "Print make's internal database"
msgstr "���������� ���������� ���� ������ make"
-#: main.c:279
+#: main.c:327
msgid "Run no commands; exit status says if up to date"
-msgstr "�� ��������� �������, ������������ �������� ���������� ������ �������������"
+msgstr ""
+"�� ��������� �������;\n"
+"��� ���������� ����������, ��� �� ��� �������"
-#: main.c:282
+#: main.c:330
msgid "Disable the built-in implicit rules"
msgstr "�� ������������ ���������� ������� �������"
-#: main.c:285
+# ��� ����� "variable settings"?
+#: main.c:333
+msgid "Disable the built-in variable settings"
+msgstr ""
+
+#: main.c:336
msgid "Don't echo commands"
-msgstr "�� �������� ����������� �������"
+msgstr "�� �������� ����������� �������"
-#: main.c:289
+#: main.c:340
msgid "Turns off -k"
msgstr "�������� ���� -k"
-#: main.c:292
+#: main.c:343
msgid "Touch targets instead of remaking them"
-msgstr "���������� ����� ������� �����, � �� ������������ ��"
+msgstr ""
+"���������� ����� ������� ����� � �������,\n"
+"� �� ������������ ��"
-#: main.c:295
+#: main.c:346
msgid "Print the version number of make and exit"
msgstr "�������� ���������� � ������ � �����"
-#: main.c:298
+#: main.c:349
msgid "Print the current directory"
msgstr "���������� ������� �������"
-#: main.c:301
+#: main.c:352
msgid "Turn off -w, even if it was turned on implicitly"
msgstr "�������� ���� -w, ���� ���� �� ��� ���� ������"
-#: main.c:304
+#: main.c:355
msgid "Consider FILE to be infinitely new"
msgstr "������� ���� ������������� �����"
-#: main.c:307
+#: main.c:358
msgid "Warn when an undefined variable is referenced"
-msgstr "�������� �������������� ��� ������ �� �������������� ����������"
+msgstr ""
+"�������� �������������� ��� ������\n"
+"�� �������������� ����������"
-#: main.c:394
+#: main.c:456
msgid "empty string invalid as file name"
msgstr "������ ������ ����������� � �������� ����� �����"
-#: main.c:781
-msgid "fopen (temporary file)"
-msgstr "fopen (��������� ����)"
+#: main.c:536
+#, c-format
+msgid "unknown debug level specification `%s'"
+msgstr "����������� ������ ������� ������ ������� `%s'"
+
+#: main.c:576
+#, c-format
+msgid "%s: Interrupt/Exception caught (code = 0x%x, addr = 0x%x)\n"
+msgstr "%s: ������� ���������� ��� ���������� (��� = 0x%x, ����� = 0x%x)\n"
+
+#: main.c:583
+#, c-format
+msgid ""
+"\n"
+"Unhandled exception filter called from program %s\n"
+"ExceptionCode = %x\n"
+"ExceptionFlags = %x\n"
+"ExceptionAddress = %x\n"
+msgstr ""
+
+#: main.c:591
+#, c-format
+msgid "Access violation: write operation at address %x\n"
+msgstr "��������� �������: �������� ������ �� ������ %x\n"
+
+#: main.c:592
+#, c-format
+msgid "Access violation: read operation at address %x\n"
+msgstr "��������� �������: �������� ������ ������ %x\n"
+
+#: main.c:657
+#, c-format
+msgid "find_and_set_shell setting default_shell = %s\n"
+msgstr "find_and_set_shell ������������� default_shell = %s\n"
+
+#: main.c:700
+#, c-format
+msgid "find_and_set_shell path search set default_shell = %s\n"
+msgstr "find_and_set_shell: ����� � ����� ������������� default_shell = %s\n"
+
+#: main.c:1051
+#, c-format
+msgid "%s is suspending for 30 seconds..."
+msgstr "%s ������������������ �� 30 ������..."
+
+#: main.c:1053
+msgid "done sleep(30). Continuing.\n"
+msgstr "sleep(30) ��������. ����������.\n"
-#: main.c:787
+#: main.c:1260
+msgid "Makefile from standard input specified twice."
+msgstr "Makefile �� ������������ ����� ������ ������."
+
+#: main.c:1276
msgid "fwrite (temporary file)"
msgstr "fwrite (��������� ����)"
-#: main.c:930
-msgid "Updating makefiles...."
-msgstr "���������� make-������..."
+#: main.c:1378
+msgid "Do not specify -j or --jobs if sh.exe is not available."
+msgstr "�� ���������� -j ��� --jobs, ���� ���� sh.exe."
+
+#: main.c:1379
+msgid "Resetting make for single job mode."
+msgstr "make ����� ����������� � ������ ��������� ������."
+
+#: main.c:1416
+msgid "Parallel jobs (-j) are not supported on this platform."
+msgstr "������������ ������ (-j) �� �������������� �� ���� ���������."
+
+#: main.c:1417
+msgid "Resetting to single job (-j1) mode."
+msgstr "������������ ����� ��������� ������ (-j1)."
+
+#: main.c:1431
+msgid "internal error: multiple --jobserver-fds options"
+msgstr "���������� ������: ��������� ������ --jobserver-fds"
+
+#: main.c:1439
+#, c-format
+msgid "internal error: invalid --jobserver-fds string `%s'"
+msgstr "���������� ������: ������������ ������ --jobserver-fds: `%s'"
+
+#: main.c:1449
+msgid "warning: -jN forced in submake: disabling jobserver mode."
+msgstr "��������������: � ���-Makefile ������������� ����� -jN; ����� ������� ����� ��������"
+
+#: main.c:1459
+msgid "dup jobserver"
+msgstr ""
+
+#: main.c:1462
+msgid "warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+msgstr ""
+"��������������: ������ ����� ����������: ������������ -j1.\n"
+"�������� `+' � ������� � ������������ make."
+
+#: main.c:1485
+msgid "creating jobs pipe"
+msgstr ""
+
+#: main.c:1495
+msgid "init jobserver pipe"
+msgstr ""
+
+#: main.c:1580
+msgid "Updating makefiles....\n"
+msgstr "���������� make-������....\n"
-#: main.c:955
-#, possible-c-format
+#: main.c:1605
+#, c-format
msgid "Makefile `%s' might loop; not remaking it.\n"
msgstr "Make-���� `%s', ��������, ��������, �� �� ����� ��������������.\n"
-#: main.c:1029
-#, possible-c-format
+#. The update failed and this makefile was not
+#. from the MAKEFILES variable, so we care.
+#: main.c:1679
+#, c-format
msgid "Failed to remake makefile `%s'."
msgstr "������� ����������� make-���� `%s' ���������."
-#: main.c:1044
-#, possible-c-format
+#: main.c:1695
+#, c-format
msgid "Included makefile `%s' was not found."
msgstr "���������� make-���� `%s' �� ������."
-#: main.c:1049
-#, possible-c-format
+#. A normal makefile. We must die later.
+#: main.c:1700
+#, c-format
msgid "Makefile `%s' was not found"
msgstr "Make-���� `%s' �� ������"
-#: main.c:1108
+#: main.c:1768
msgid "Couldn't change back to original directory."
msgstr "���������� ������� � �������������� �������."
-#: main.c:1142
+#: main.c:1802
msgid "Re-executing:"
msgstr "��������� ����������:"
-#: main.c:1186
-msgid "Updating goal targets...."
-msgstr "���������� �����..."
+#: main.c:1833
+msgid "unlink (temporary file): "
+msgstr "unlink (��������� ����)"
-#: main.c:1211
+#: main.c:1855
msgid "No targets specified and no makefile found"
msgstr "�� ������ ���� � �� ������ make-����"
-#: main.c:1213
+#: main.c:1857
msgid "No targets"
msgstr "��� �����"
-#: main.c:1439
-#, possible-c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "���� `-%c' ������ �������������� � ����� ������������� ����������"
+#. Update the goals.
+#: main.c:1862
+msgid "Updating goal targets....\n"
+msgstr "���������� ����� ����������...\n"
+
+#: main.c:1888
+msgid "warning: Clock skew detected. Your build may be incomplete."
+msgstr "��������������: ������������ ��� �����. ������ ����� ���� ��������."
-#: main.c:1490
-#, possible-c-format
+#: main.c:2043
+#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "�������������: %s [����]... [����]...\n"
-#: main.c:1492
+#: main.c:2045
msgid "Options:\n"
msgstr "�����:\n"
-#: main.c:1967
-#, possible-c-format
-msgid "%sGNU Make version %s"
-msgstr "%sGNU Make ������ %s"
+#: main.c:2126
+msgid "\nReport bugs to <bug-make@gnu.org>.\n"
+msgstr "\n��������� �� ������� �� ������ <bug-make@gnu.org>.\n"
-#: main.c:1971
-#, possible-c-format
+#: main.c:2235
+#, c-format
+msgid "the `-%c' option requires a positive integral argument"
+msgstr "���� `-%c' ������ �������������� � ����� ������������� ����������"
+
+#: main.c:2659
+#, fuzzy, c-format
msgid ""
", by Richard Stallman and Roland McGrath.\n"
-"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc.\n"
+"%sBuilt for %s\n"
+"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n"
+"%s\tFree Software Foundation, Inc.\n"
"%sThis is free software; see the source for copying conditions.\n"
"%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
"%sPARTICULAR PURPOSE.\n"
"\n"
+"%sReport bugs to <bug-make@gnu.org>.\n"
+"\n"
msgstr ""
", ������ Richard Stallman � Roland McGrath.\n"
-"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc.\n"
+"%s������� ��� %s\n"
+"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
+"%s\tFree Software Foundation, Inc.\n"
"%s��� ��������� ���������; ����������� �� �������� ��������������� ��������\n"
"%s� �������� ������. �� �� ������������� ��������; ���� ��������\n"
-"%s������������ �������� ��� ����������� ��� ���������� ����.\n"
+"%s������������ �������� ��� ����������� ��� �����-���� ����.\n"
+"\n"
+"%s��������� �� ������� �� ������ <bug-make@gnu.org>.\n"
"\n"
-#: main.c:1993
-#, possible-c-format
+#: main.c:2685
+#, c-format
msgid "\n# Make data base, printed on %s"
msgstr "\n# ���� ������ Make, ���������� %s"
-#: main.c:2002
-#, possible-c-format
+#: main.c:2694
+#, c-format
msgid "\n# Finished Make data base on %s\n"
msgstr "\n# ������ ���� ������ Make ��������� %s\n"
-#: main.c:2053
+#: main.c:2749
msgid "Entering"
-msgstr "���� �"
+msgstr ""
-#: main.c:2053
+#: main.c:2749
msgid "Leaving"
-msgstr "����� ��"
+msgstr ""
-#: main.c:2072
+#: main.c:2768
+#, fuzzy
msgid "an unknown directory"
-msgstr "����������� �������"
+msgstr "����� �� ������������ ��������"
-#: main.c:2074
-#, possible-c-format
+#: main.c:2770
+#, fuzzy, c-format
msgid "directory `%s'\n"
-msgstr "������� `%s'\n"
+msgstr "����� �� �������� `%s'\n"
-#: misc.c:212 misc.c:260
+#: misc.c:307
msgid ". Stop.\n"
msgstr ". �������.\n"
-#: misc.c:277
-msgid "Unknown error 12345678901234567890"
-msgstr "����������� ������ 12345678901234567890"
-
-#: misc.c:282
-#, possible-c-format
+#: misc.c:329
+#, c-format
msgid "Unknown error %d"
msgstr "����������� ������ %d"
-#: misc.c:318 misc.c:330 read.c:2151
+#: misc.c:369 misc.c:384 misc.c:402 read.c:2708
msgid "virtual memory exhausted"
msgstr "����������� ������ ���������"
-#: misc.c:536
-#, possible-c-format
-msgid "%s access: user %d (real %d), group %d (real %d)\n"
+#. All the other debugging messages go to stdout,
+#. but we write this one to stderr because it might be
+#. run in a child fork whose stdout is piped.
+#: misc.c:653
+#, c-format
+msgid "%s access: user %lu (real %lu), group %lu (real %lu)\n"
msgstr ""
-"����� ������� � %s: ������������ %d (�������������� %d),\n"
-"������ %d (�������������� %d)\n"
+"����� ������� � %s: ������������ %lu (�������������� %lu),\n"
+"������ %lu (�������������� %lu)\n"
-#: misc.c:556
+#: misc.c:674
msgid "Initialized"
msgstr "���������������"
-#: misc.c:635
-msgid "User"
-msgstr "������������"
+#: read.c:153
+msgid "Reading makefiles...\n"
+msgstr "������ make-������...\n"
-#~ #: misc.c:683
-#~ msgid "Make"
-#~ msgstr ""
-
-#: misc.c:717
-msgid "Child"
-msgstr "�������"
-
-#: read.c:129
-msgid "Reading makefiles..."
-msgstr "������ make-������..."
-
-#: read.c:298
-#, possible-c-format
+#: read.c:337
+#, c-format
msgid "Reading makefile `%s'"
msgstr "������ make-����� `%s'"
-#: read.c:300
+#: read.c:339
msgid " (no default goal)"
msgstr " (��� ���� �� ���������)"
-#: read.c:302
+#: read.c:341
msgid " (search path)"
msgstr " (���� ������)"
-#: read.c:304
+#: read.c:343
msgid " (don't care)"
msgstr " (������������ ������)"
-#: read.c:306
+#: read.c:345
msgid " (no ~ expansion)"
msgstr " (�� ���������� ������ `~') "
-#: read.c:466
+#: read.c:525
msgid "invalid syntax in conditional"
msgstr "�������� ��������� � �������� ���������"
-#: read.c:474
+#: read.c:534
msgid "extraneous `endef'"
msgstr "�������� `endef'"
-#: read.c:500 read.c:522
+#: read.c:546 read.c:573 variable.c:873
+msgid "empty variable name"
+msgstr "������ ��� ����������"
+
+#: read.c:564
msgid "empty `override' directive"
msgstr "������ ��������� `override'"
-#: read.c:584
-#, possible-c-format
+#: read.c:587
+msgid "invalid `override' directive"
+msgstr "������������ ��������� `override'"
+
+#: read.c:671
+#, c-format
msgid "no file name for `%sinclude'"
msgstr "�� ������ ��� ����� ��� `%sinclude'"
-#: read.c:670
+#. This line starts with a tab but was not caught above
+#. because there was no preceding target, and the line
+#. might have been usable as a variable definition.
+#. But now it is definitely lossage.
+#: read.c:738
msgid "commands commence before first target"
msgstr "������� ��������� �� ������� ����������� ����"
-#: read.c:714
+#: read.c:787
msgid "missing rule before commands"
msgstr "����� ��������� ��������� �������"
-#: read.c:733
-msgid "missing separator"
-msgstr "�������� �����������"
+#. There's no need to be ivory-tower about this: check for
+#. one of the most common bugs found in makefiles...
+#: read.c:873
+#, c-format
+msgid "missing separator%s"
+msgstr "�������� �����������%s"
-#: read.c:782
+#: read.c:875
+msgid " (did you mean TAB instead of 8 spaces?)"
+msgstr "(�� ����� �� �� � ���� TAB ������ ������ ��������?)"
+
+#: read.c:1011
msgid "missing target pattern"
msgstr "�������� ������� ����"
-#: read.c:784
+#: read.c:1013
msgid "multiple target patterns"
-msgstr "�� ���� ������� ����"
+msgstr "��������� �������� ����"
-#: read.c:789
+#: read.c:1017
msgid "target pattern contains no `%%'"
msgstr "������� ���� �� �������� `%%'"
-#: read.c:829
+#: read.c:1058
msgid "missing `endif'"
msgstr "��������� `endif'"
-#: read.c:887
+#: read.c:1117
msgid "Extraneous text after `endef' directive"
msgstr "�������� ����� ����� ��������� `endef'"
-#: read.c:917
+#. No `endef'!!
+#: read.c:1147
msgid "missing `endef', unterminated `define'"
msgstr "��������� `endif', ������������� `define'"
-#: read.c:973 read.c:1120
-#, possible-c-format
+#: read.c:1201 read.c:1357
+#, c-format
msgid "Extraneous text after `%s' directive"
msgstr "�������� ����� ����� ��������� `%s'"
-#: read.c:977
-#, possible-c-format
+#: read.c:1204
+#, c-format
msgid "extraneous `%s'"
msgstr "�������� `%s'"
-#: read.c:982
+#: read.c:1209
msgid "only one `else' per conditional"
msgstr "� �������� ��������� �������� ������ ���� `else'"
-#: read.c:1230
+#: read.c:1471
+msgid "Malformed per-target variable definition"
+msgstr "������������ ������ ������� ���������� ��� ����"
+
+#: read.c:1553
msgid "mixed implicit and static pattern rules"
msgstr "������� ������� ������� � ������� �� ������������ ���������"
-#: read.c:1233
+#: read.c:1556
msgid "mixed implicit and normal rules"
msgstr "������� ������� � ������� �������"
-#: read.c:1273
-#, possible-c-format
+#: read.c:1597
+#, c-format
msgid "target `%s' doesn't match the target pattern"
msgstr "���� `%s' �� ������������� ������� �����"
-#: read.c:1305 read.c:1407
-#, possible-c-format
+#: read.c:1619
+#, c-format
+msgid "target `%s' leaves prerequisite pattern empty"
+msgstr "���� `%s' ��������� ������ ������ �����������"
+
+#: read.c:1635 read.c:1735
+#, c-format
msgid "target file `%s' has both : and :: entries"
msgstr "������� ���� `%s' ����� ��������� � � `:', � � `::' "
-#: read.c:1313
-#, possible-c-format
+#: read.c:1641
+#, c-format
msgid "target `%s' given more than once in the same rule."
msgstr "���� `%s' ������� ��������� ��� � ����� �������"
-#: read.c:1322
-#, possible-c-format
+#: read.c:1650
+#, c-format
msgid "warning: overriding commands for target `%s'"
-msgstr "��������������: ���������� ������ ��� ���� `%s'"
+msgstr "��������������: ��������������� ������ ��� ���� `%s'"
-#: read.c:1325
-#, possible-c-format
+#: read.c:1653
+#, c-format
msgid "warning: ignoring old commands for target `%s'"
-msgstr "��������������: ������������� ������ ������ ��� ���� `%s'"
-
-#: read.c:1815
+msgstr "��������������: ������ ������� ��� ���� `%s' ������������"
+
+#. This only happens when the first thing on the line is a '\0'.
+#. It is a pretty hopeless case, but (wonder of wonders) Athena
+#. lossage strikes again! (xmkmf puts NULs in its makefiles.)
+#. There is nothing really to be done; we synthesize a newline so
+#. the following line doesn't appear to be part of this line.
+#: read.c:2153
msgid "warning: NUL character seen; rest of line ignored"
msgstr "��������������: �������� ������ NUL; ������������ �� ����� ������"
-#: remake.c:212
-#, possible-c-format
+#: remake.c:227
+#, c-format
msgid "Nothing to be done for `%s'."
msgstr "���� `%s' �� ������� ���������� ������."
-#: remake.c:213
-#, possible-c-format
+#: remake.c:228
+#, c-format
msgid "`%s' is up to date."
msgstr "`%s' �� ������� ����������."
-#: remake.c:310
-#, possible-c-format
+#: remake.c:296
+#, c-format
+msgid "Pruning file `%s'.\n"
+msgstr "���������� ���� `%s'.\n"
+
+#: remake.c:350
+#, c-format
msgid "Considering target file `%s'.\n"
msgstr "��������� �������� ����� `%s'.\n"
-#: remake.c:316
-#, possible-c-format
+#: remake.c:357
+#, c-format
msgid "Recently tried and failed to update file `%s'.\n"
msgstr "���������� ������� �������� ���� `%s' ����������� ���������.\n"
-#: remake.c:320
-#, possible-c-format
+#: remake.c:361
+#, c-format
msgid "File `%s' was considered already.\n"
msgstr "���� `%s' ��� ��� ���������.\n"
-#: remake.c:330
-#, possible-c-format
+#: remake.c:371
+#, c-format
msgid "Still updating file `%s'.\n"
msgstr "���� `%s' ����������� � ������ ������.\n"
-#: remake.c:333
-#, possible-c-format
+#: remake.c:374
+#, c-format
msgid "Finished updating file `%s'.\n"
msgstr "���������� ����� `%s' ���������.\n"
-#: remake.c:354
-#, possible-c-format
+#: remake.c:395
+#, c-format
msgid "File `%s' does not exist.\n"
msgstr "���� `%s' �� ����������.\n"
-#: remake.c:364 remake.c:728
-#, possible-c-format
+#: remake.c:405 remake.c:825
+#, c-format
msgid "Found an implicit rule for `%s'.\n"
msgstr "������� ������� ������� ��� `%s'.\n"
-#: remake.c:366 remake.c:730
-#, possible-c-format
+#: remake.c:407 remake.c:827
+#, c-format
msgid "No implicit rule found for `%s'.\n"
-msgstr "�� ������� ������� ������ ��� `%s'.\n"
+msgstr "�� ������� �������� ������� ��� `%s'.\n"
-#: remake.c:372 remake.c:736
-#, possible-c-format
+#: remake.c:413 remake.c:833
+#, c-format
msgid "Using default commands for `%s'.\n"
msgstr "������������� ������ �� ��������� ��� `%s'.\n"
-#: remake.c:392 remake.c:760
-#, possible-c-format
+#: remake.c:433 remake.c:857
+#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "����������� ����������� %s <- %s ���������."
-#: remake.c:474
-#, possible-c-format
-msgid "Finished dependencies of target file `%s'.\n"
+#: remake.c:511
+#, c-format
+msgid "Finished prerequisites of target file `%s'.\n"
msgstr "���������� �����, �� ������� ������� ������� ���� `%s', ���������.\n"
-#: remake.c:480
-#, possible-c-format
-msgid "The dependencies of `%s' are being made.\n"
-msgstr "����, �� ������� ������� `%s', ���� �������.\n"
+#: remake.c:517
+#, c-format
+msgid "The prerequisites of `%s' are being made.\n"
+msgstr "����, �� ������� ������� `%s', � ��������� ������ ����������.\n"
-#: remake.c:493
-#, possible-c-format
+#: remake.c:530
+#, c-format
msgid "Giving up on target file `%s'.\n"
msgstr "��������� ������� �� ������� ����� `%s'.\n"
-#: remake.c:497
-#, possible-c-format
+#: remake.c:535
+#, c-format
msgid "Target `%s' not remade because of errors."
msgstr "���� `%s' �� ���� ����������� ��-�� ������."
-#: remake.c:542
-#, possible-c-format
-msgid "Dependency `%s' does not exist.\n"
-msgstr "����������� `%s' �� ����������.\n"
-
-#: remake.c:544
-#, possible-c-format
-msgid "Dependency `%s' is %s than dependent `%s'.\n"
-msgstr "���� `%s' ������������ %s ��� ��������� �� ��� `%s'.\n"
+#: remake.c:583
+#, c-format
+msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+msgstr "����������� `%s' ���� `%s' �� ����������.\n"
-#: remake.c:545
-msgid "newer"
-msgstr "�����"
+#: remake.c:588
+#, c-format
+msgid "Prerequisite `%s' is newer than target `%s'.\n"
+msgstr "����������� `%s' �����, ��� ���� `%s'.\n"
-#: remake.c:545
-msgid "older"
-msgstr "������"
+#: remake.c:591
+#, c-format
+msgid "Prerequisite `%s' is older than target `%s'.\n"
+msgstr "����������� `%s' ������, ��� ���� `%s'.\n"
-#: remake.c:556
-#, possible-c-format
-msgid "Target `%s' is double-colon and has no dependencies.\n"
+#: remake.c:609
+#, c-format
+msgid "Target `%s' is double-colon and has no prerequisites.\n"
msgstr "���� `%s' ��������� � ����� ����������� � �� ����� ������������.\n"
-#: remake.c:561
-#, possible-c-format
-msgid "No commands for `%s' and no dependencies actually changed.\n"
+#: remake.c:615
+#, c-format
+msgid "No commands for `%s' and no prerequisites actually changed.\n"
msgstr "������� ��� `%s' �� ������, � ����������� �� ���� ��������.\n"
-#: remake.c:566
-#, possible-c-format
-msgid "No need to remake target `%s'.\n"
-msgstr "��� ������������� ������������ ���� `%s'.\n"
+#: remake.c:623
+#, c-format
+msgid "No need to remake target `%s'"
+msgstr "��� ������������� ������������ ���� `%s'."
-#: remake.c:571
-#, possible-c-format
+#: remake.c:625
+#, c-format
+msgid "; using VPATH name `%s'"
+msgstr "; ������������ VPATH-��� `%s'"
+
+#: remake.c:645
+#, c-format
msgid "Must remake target `%s'.\n"
msgstr "���������� ����������� ���� `%s'.\n"
-#: remake.c:578
-#, possible-c-format
+#: remake.c:651
+#, c-format
+msgid " Ignoring VPATH name `%s'.\n"
+msgstr " ������������ VPATH-��� `%s'.\n"
+
+#: remake.c:660
+#, c-format
msgid "Commands of `%s' are being run.\n"
msgstr "������� ��� `%s' ����������� � ��������� �����.\n"
-#: remake.c:585
-#, possible-c-format
+#: remake.c:667
+#, c-format
msgid "Failed to remake target file `%s'.\n"
-msgstr "������� ���������� �������� ����� `%s' ����������.\n"
+msgstr "������� ������������ �������� ����� `%s' ����������.\n"
-#: remake.c:588
-#, possible-c-format
+#: remake.c:670
+#, c-format
msgid "Successfully remade target file `%s'.\n"
-msgstr "������� ���� `%s' ������� ����������.\n"
+msgstr "������� ���� `%s' ������� ����������.\n"
-#: remake.c:591
-#, possible-c-format
+#: remake.c:673
+#, c-format
msgid "Target file `%s' needs remade under -q.\n"
-msgstr "������� ���� `%s' ������� ���������� � ������ -q.\n"
+msgstr "������� ���� `%s' ������� ������������ � ������ -q.\n"
-#: remake.c:880
-#, possible-c-format
+#: remake.c:974
+#, c-format
msgid "%sNo rule to make target `%s'%s"
msgstr "%s��� ������� ��� ������ ���� `%s'%s"
-#: remake.c:882
-#, possible-c-format
+#: remake.c:976
+#, c-format
msgid "%sNo rule to make target `%s', needed by `%s'%s"
msgstr "%s��� ������� ��� ������ ���� `%s', ��������� ��� `%s'%s"
-#: remake.c:1053
-#, possible-c-format
-msgid "*** File `%s' has modification time in the future"
-msgstr "*** ���� `%s' ��� ������� � �������"
-
-#: remote-cstms.c:94
-#, possible-c-format
-msgid "Customs won't export: %s\n"
-msgstr ""
-
-#: remote-cstms.c:129
-msgid "exporting: Couldn't create return socket."
-msgstr "���������������: ���������� ������� ������������ �����."
-
-#: remote-cstms.c:138
-msgid "exporting: "
-msgstr "���������������: "
-
-#: remote-cstms.c:171
-#, possible-c-format
-msgid "exporting: %s"
-msgstr "���������������: %s"
-
-#: remote-cstms.c:185
-#, possible-c-format
-msgid "Job exported to %s ID %u\n"
-msgstr "������� �������������� �� %s ID %u\n"
+#: remake.c:1177
+#, c-format
+msgid "*** Warning: File `%s' has modification time in the future (%s > %s)"
+msgstr "*** ���� `%s' ��� ������� � ������� (%s > %s)"
-#: rule.c:556
-msgid "\n# Implicit Rules"
-msgstr "\n# ������� �������"
+#. Give a warning if there is no pattern, then remove the
+#. pattern so it's ignored next time.
+#: remake.c:1291
+#, c-format
+msgid ".LIBPATTERNS element `%s' is not a pattern"
+msgstr "������� .LIBPATTERNS `%s' �� �������� ��������"
-#: rule.c:571
+#: rule.c:671
msgid "\n# No implicit rules."
msgstr "\n# ������� ������ ���."
-#: rule.c:574
-#, possible-c-format
+#: rule.c:674
+#, c-format
msgid "\n# %u implicit rules, %u"
msgstr "\n# ������� ������: %u, ������������: %u"
-#: rule.c:583
+#: rule.c:683
msgid " terminal."
msgstr "."
-#: rule.c:587
-#, possible-c-format
+#: rule.c:691
+#, c-format
msgid "BUG: num_pattern_rules wrong! %u != %u"
msgstr "������: �������� �������� num_pattern_rules! %u != %u"
-#: variable.c:658 variable.c:660
-msgid "empty variable name"
-msgstr "������ ��� ����������"
-
-#: variable.c:742
-msgid "makefile"
-msgstr "Make-����"
-
-#: variable.c:745
-msgid "environment under -e"
-msgstr "����� ���� -e"
-
-#: variable.c:751
-msgid "`override' directive"
-msgstr "��������� `override'"
-
-#: variable.c:822
-msgid "# No variables."
-msgstr "# ���������� ���."
-
-#: variable.c:825
-#, possible-c-format
-msgid "# %u variables in %u hash buckets.\n"
-msgstr "# %u ���������� � %u ������� ���-�������.\n"
-
-#: variable.c:828
-#, possible-c-format
-msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-msgstr "# � ������� %.1f ���������� � ������, ����. %u � ����� ������.\n"
-
-#: variable.c:835
-#, possible-c-format
-msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-msgstr "# � ������� %d.%d ���������� � ������, ����. %u � ����� ������.\n"
-
-#: variable.c:850
-msgid "\n# Variables\n"
-msgstr "\n# ����������\n"
-
-#: vpath.c:455
-msgid "\n# VPATH Search Paths\n"
-msgstr "\n# ���� ������ VPATH\n"
-
-#: vpath.c:472
-msgid "# No `vpath' search paths."
-msgstr "# �� ��������� ���� ������ `vpath'."
-
-#: vpath.c:474
-#, possible-c-format
-msgid "\n# %u `vpath' search paths.\n"
-msgstr "\n# %u `vpath' ���� ������.\n"
+#: rule.c:695
+msgid "\n# Pattern-specific variable values"
+msgstr ""
-#: vpath.c:477
-msgid "\n# No general (`VPATH' variable) search path."
-msgstr "\n# �� ��������� ����� (���������� `VPATH') ���� ������."
+#: rule.c:710
+msgid "\n# No pattern-specific variable values."
+msgstr ""
-#: vpath.c:483
-msgid ""
-"\n"
-"# General (`VPATH' variable) search path:\n"
-"# "
+#: rule.c:713
+#, c-format
+msgid "\n# %u pattern-specific variable values"
msgstr ""
-"\n"
-"# ����� (���������� `VPATH') ���� ������:\n"
-"# "
-#: getloadavg.c:948
-msgid "Error getting load average"
-msgstr "������ ��������� �������� � ������� ��������"
-
-#: getloadavg.c:952
-#, possible-c-format
-msgid "1-minute: %f "
-msgstr "1 ������: %f "
-
-#: getloadavg.c:954
-#, possible-c-format
-msgid "5-minute: %f "
-msgstr "5 �����: %f "
-
-#: getloadavg.c:956
-#, possible-c-format
-msgid "15-minute: %f "
-msgstr "15 �����: %f "
-
-#~ # ��������� getopt ���������, �.�. ��� ��������� � ���
-#~ # ���������� ������ ���� ����������, � �������� � ��������� ������ make
-#~ #
-#~ #: getopt.c:565
-#~ #, possible-c-format
-#~ msgid "%s: option `%s' is ambiguous\n"
-#~ msgstr ""
-
-#~ #: getopt.c:589
-#~ #, possible-c-format
-#~ msgid "%s: option `--%s' doesn't allow an argument\n"
-#~ msgstr ""
-
-#~ #: getopt.c:594
-#~ #, possible-c-format
-#~ msgid "%s: option `%c%s' doesn't allow an argument\n"
-#~ msgstr ""
-
-#~ #: getopt.c:611
-#~ #, possible-c-format
-#~ msgid "%s: option `%s' requires an argument\n"
-#~ msgstr ""
-
-#~ #: getopt.c:640
-#~ #, possible-c-format
-#~ msgid "%s: unrecognized option `--%s'\n"
-#~ msgstr ""
-
-#~ #: getopt.c:644
-#~ #, possible-c-format
-#~ msgid "%s: unrecognized option `%c%s'\n"
-#~ msgstr ""
-
-#~ #: getopt.c:670
-#~ #, possible-c-format
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr ""
-
-#~ #: getopt.c:673
-#~ #, possible-c-format
-#~ msgid "%s: invalid option -- %c\n"
-#~ msgstr ""
-
-#~ #: getopt.c:709
-#~ #, possible-c-format
-#~ msgid "%s: option requires an argument -- %c\n"
-#~ msgstr ""
-
-#~ #: getopt.c:777 getopt1.c:141
-#~ msgid "digits occur in two different argv-elements.\n"
-#~ msgstr ""
-
-#~ #: getopt.c:779 getopt1.c:143
-#~ #, possible-c-format
-#~ msgid "option %c\n"
-#~ msgstr ""
-
-#~ #: getopt.c:783 getopt1.c:147
-#~ msgid "option a\n"
-#~ msgstr ""
-
-#~ #: getopt.c:787 getopt1.c:151
-#~ msgid "option b\n"
-#~ msgstr ""
-
-#~ #: getopt.c:791 getopt1.c:155
-#~ #, possible-c-format
-#~ msgid "option c with value `%s'\n"
-#~ msgstr ""
-
-#~ #: getopt.c:798 getopt1.c:166
-#~ #, possible-c-format
-#~ msgid "?? getopt returned character code 0%o ??\n"
-#~ msgstr ""
-
-#~ #: getopt.c:804 getopt1.c:172
-#~ msgid "non-option ARGV-elements: "
-#~ msgstr ""
-
-#~ #: getopt1.c:159
-#~ #, possible-c-format
-#~ msgid "option d with value `%s'\n"
-#~ msgstr ""
-
-#: signame.c:57
+#: signame.c:97
msgid "unknown signal"
msgstr "����������� ������"
-#: signame.c:107
+#: signame.c:108
msgid "Hangup"
-msgstr "����� ������������ �����"
+msgstr "����� ������������ �����"
-#: signame.c:110
+#: signame.c:111
msgid "Interrupt"
-msgstr "����������"
+msgstr "����������"
-#: signame.c:113
+#: signame.c:114
msgid "Quit"
msgstr "��������� ����������"
-#: signame.c:116
+#: signame.c:117
msgid "Illegal Instruction"
msgstr "������������ ����������"
-#: signame.c:119
+#: signame.c:120
msgid "Trace/breakpoint trap"
msgstr "���������� �� ����������� �����"
-#: signame.c:124
+#: signame.c:125
msgid "Aborted"
msgstr "��������"
-#: signame.c:127
+#: signame.c:128
msgid "IOT trap"
msgstr "������ IOT"
-#: signame.c:130
+#: signame.c:131
msgid "EMT trap"
-msgstr "������ ������������"
+msgstr "������ ��������"
-#: signame.c:133
+#: signame.c:134
msgid "Floating point exception"
msgstr "������ �������� � ��������� ������"
-#: signame.c:136
+#: signame.c:137
msgid "Killed"
msgstr "�����������"
-#: signame.c:139
+#: signame.c:140
msgid "Bus error"
-msgstr "�������� ��������� � ������"
+msgstr "�������� ��������� � ������"
-#: signame.c:142
+#: signame.c:143
msgid "Segmentation fault"
-msgstr "��������� ���� ������� � ������"
+msgstr "��������� ���� ������� � ������"
-#: signame.c:145
+#: signame.c:146
msgid "Bad system call"
msgstr "������������ ��������� �����"
-#: signame.c:148
+#: signame.c:149
msgid "Broken pipe"
msgstr "����� ������"
-#: signame.c:151
+#: signame.c:152
msgid "Alarm clock"
msgstr "������ �� �������"
-#: signame.c:154
+#: signame.c:155
msgid "Terminated"
msgstr "����������"
-#: signame.c:157
+#: signame.c:158
msgid "User defined signal 1"
msgstr "������������ ������������� ������ 1"
-#: signame.c:160
+#: signame.c:161
msgid "User defined signal 2"
msgstr "������������ ������������� ������ 2"
-#: signame.c:165 signame.c:168
+#: signame.c:166 signame.c:169
msgid "Child exited"
msgstr "������� �������� ������"
-#: signame.c:171
+#: signame.c:172
msgid "Power failure"
msgstr "����� �������"
-#: signame.c:174
+#: signame.c:175
msgid "Stopped"
msgstr "�������"
-#: signame.c:177
+#: signame.c:178
msgid "Stopped (tty input)"
msgstr "������� (���� � ���������) "
-#: signame.c:180
+#: signame.c:181
msgid "Stopped (tty output)"
msgstr "������� (����� �� ��������)"
-#: signame.c:183
+#: signame.c:184
msgid "Stopped (signal)"
msgstr "������� (������)"
-#: signame.c:186
+#: signame.c:187
msgid "CPU time limit exceeded"
msgstr "�������� ������ ������������� �������"
-#: signame.c:189
+#: signame.c:190
msgid "File size limit exceeded"
msgstr "�������� ������ ������� �����"
-#: signame.c:192
+#: signame.c:193
msgid "Virtual timer expired"
msgstr "����������� ����� �������"
-#: signame.c:195
+#: signame.c:196
msgid "Profiling timer expired"
msgstr "����� �������������� �������"
-#: signame.c:201
+#. "Window size changed" might be more accurate, but even if that
+#. is all that it means now, perhaps in the future it will be
+#. extended to cover other kinds of window changes.
+#: signame.c:202
msgid "Window changed"
msgstr "���� ��������"
-#: signame.c:204
+#: signame.c:205
msgid "Continued"
msgstr "�������������"
-#: signame.c:207
+#: signame.c:208
msgid "Urgent I/O condition"
-msgstr "������� ����������� ����/�����"
+msgstr "������� ����������� �����/������"
-#: signame.c:214 signame.c:223
+#. "I/O pending" has also been suggested. A disadvantage is
+#. that signal only happens when the process has
+#. asked for it, not everytime I/O is pending. Another disadvantage
+#. is the confusion from giving it a different name than under Unix.
+#: signame.c:215 signame.c:224
msgid "I/O possible"
msgstr "�������� ����/�����"
-#~ #: signame.c:217
-#~ msgid "SIGWIND"
-#~ msgstr ""
+#: signame.c:218
+msgid "SIGWIND"
+msgstr ""
-#~ #: signame.c:220
-#~ msgid "SIGPHONE"
-#~ msgstr ""
+#: signame.c:221
+msgid "SIGPHONE"
+msgstr ""
-#: signame.c:226
+#: signame.c:227
msgid "Resource lost"
msgstr "������ �������"
-#: signame.c:229
+#: signame.c:230
msgid "Danger signal"
msgstr "������ ���������"
-#: signame.c:232
+#: signame.c:233
msgid "Information request"
msgstr "������ ����������"
-#: signame.c:286
-#, possible-c-format
-msgid "%s: unknown signal"
-msgstr "%s: ����������� ������"
+#: signame.c:236
+msgid "Floating point co-processor not available"
+msgstr "����������� � ��������� ������ ����������"
+
+#: variable.c:1079
+msgid "default"
+msgstr "�� ���������"
+
+#: variable.c:1082
+msgid "environment"
+msgstr "���������� � �����"
+
+#: variable.c:1085
+msgid "makefile"
+msgstr "Make-����"
+
+#: variable.c:1088
+msgid "environment under -e"
+msgstr "����� ���� -e"
+
+#: variable.c:1091
+msgid "command line"
+msgstr "���������� � ��������� ������"
+
+#: variable.c:1094
+msgid "`override' directive"
+msgstr "��������� `override'"
+
+#: variable.c:1097
+msgid "automatic"
+msgstr "��������������"
+
+#: variable.c:1167
+msgid "# No variables."
+msgstr "# ���������� ���."
+
+#: variable.c:1170
+#, c-format
+msgid "# %u variables in %u hash buckets.\n"
+msgstr "# %u ���������� � %u ������� ���-�������.\n"
+
+#: variable.c:1173
+#, c-format
+msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
+msgstr "# � ������� %.1f ���������� � ������, ����. %u � ����� ������.\n"
+
+#: variable.c:1180
+#, c-format
+msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
+msgstr "# � ������� %d.%d ���������� � ������, ����. %u � ����� ������.\n"
+
+#: variable.c:1195
+msgid "\n# Variables\n"
+msgstr "\n# ����������\n"
+
+#: vpath.c:552
+msgid "\n# VPATH Search Paths\n"
+msgstr "\n# ���� ������ VPATH\n"
+
+#: vpath.c:569
+msgid "# No `vpath' search paths."
+msgstr "# �� ��������� ���� ������ `vpath'."
+
+#: vpath.c:571
+#, c-format
+msgid "\n# %u `vpath' search paths.\n"
+msgstr "\n# %u ����� ������ �� `vpath'\n"
+
+#: vpath.c:574
+msgid "\n# No general (`VPATH' variable) search path."
+msgstr "\n# �� ��������� ����� (���������� `VPATH') ���� ������."
+
+#: vpath.c:580
+msgid ""
+"\n"
+"# General (`VPATH' variable) search path:\n"
+"# "
+msgstr ""
+"\n"
+"# ����� (���������� `VPATH') ���� ������:\n"
+"# "
+
+#: remote-cstms.c:127
+#, c-format
+msgid "Customs won't export: %s\n"
+msgstr ""
+
+#: vmsfunctions.c:80
+#, c-format
+msgid "sys$search failed with %d\n"
+msgstr "sys$search ������� ��� ������ %d\n"
+
+#~ msgid "%s: Timestamp out of range; substituting %s"
+#~ msgstr "%s: ��������� ����� ������� �� ������� ���������; ����������� %s"
+
+#~ msgid "Current time"
+#~ msgstr "������� �����"
+
+#~ msgid "# File is very old."
+#~ msgstr "# ���� ����� ������."
+
+#~ msgid "first argument to `word' function must be greater than 0"
+#~ msgstr "������ �������� ������� `word' ������ ���� ������ ����"
-#: signame.c:299
-msgid "Signal 12345678901234567890"
-msgstr "������ 12345678901234567890"
+#~ msgid "Entering an unknown directory"
+#~ msgstr "���� � ����������� �������"
-#: signame.c:304
-#, possible-c-format
-msgid "Signal %d"
-msgstr "������ %d"
+#~ msgid "Entering directory `%s'\n"
+#~ msgstr "���� � ������� `%s'\n"
diff --git a/job.c b/job.c
index 0334290..83ffc33 100644
--- a/job.c
+++ b/job.c
@@ -436,8 +436,8 @@ reap_children (block, err)
we'll keep reaping children. */
- while ((children != 0 || shell_function_pid != 0) &&
- (block || REAP_MORE))
+ while ((children != 0 || shell_function_pid != 0)
+ && (block || REAP_MORE))
{
int remote = 0;
register int pid;
@@ -500,9 +500,6 @@ reap_children (block, err)
{
/* A remote status command failed miserably. Punt. */
remote_status_lose:
- if (EINTR_SET)
- continue;
-
pfatal_with_name ("remote_status");
}
else
@@ -511,7 +508,6 @@ reap_children (block, err)
#if !defined(__MSDOS__) && !defined(_AMIGA) && !defined(WINDOWS32)
if (any_local)
{
- local_wait:
#ifdef VMS
vmsWaitForChildren (&status);
pid = c->pid;
@@ -529,10 +525,6 @@ reap_children (block, err)
if (pid < 0)
{
- /* EINTR? Try again. */
- if (EINTR_SET)
- goto local_wait;
-
/* The wait*() failed miserably. Punt. */
pfatal_with_name ("wait");
}
@@ -737,7 +729,7 @@ reap_children (block, err)
update_status to its also_make files. */
notice_finished_file (c->file);
- DB (DB_JOBS, (_("Removing child 0x%08lx PID %ld %s from chain.\n"),
+ DB (DB_JOBS, (_("Removing child 0x%08lx PID %ld%s from chain.\n"),
(unsigned long int) c, (long) c->pid,
c->remote ? _(" (remote)") : ""));
@@ -792,9 +784,8 @@ free_child (child)
/* Write a job token back to the pipe. */
- while (write (job_fds[1], &token, 1) != 1)
- if (!EINTR_SET)
- pfatal_with_name (_("write jobserver"));
+ if (write (job_fds[1], &token, 1) != 1)
+ pfatal_with_name (_("write jobserver"));
DB (DB_JOBS, (_("Released token for child 0x%08lx (%s).\n"),
(unsigned long int) child, child->file->name));
@@ -848,6 +839,26 @@ unblock_sigs ()
}
#endif
+#ifdef MAKE_JOBSERVER
+/* Set the child handler action flags to FLAGS. */
+static void
+set_child_handler_action_flags (flags)
+ int flags;
+{
+ struct sigaction sa;
+ bzero ((char *) &sa, sizeof sa);
+ sa.sa_handler = child_handler;
+ sa.sa_flags = flags;
+#if defined SIGCHLD
+ sigaction (SIGCHLD, &sa, NULL);
+#endif
+#if defined SIGCLD && SIGCLD != SIGCHLD
+ sigaction (SIGCLD, &sa, NULL);
+#endif
+}
+#endif
+
+
/* Start a job to run the commands specified in CHILD.
CHILD is updated to reflect the commands and ID of the child process.
@@ -1489,34 +1500,73 @@ new_job (file)
while (1)
{
char token;
+ int got_token;
+ int saved_errno;
+
+ DB (DB_JOBS, ("Need a job token; we %shave children\n",
+ children ? "" : "don't "));
/* If we don't already have a job started, use our "free" token. */
if (!children)
break;
/* Read a token. As long as there's no token available we'll block.
- If we get a SIGCHLD we'll return with EINTR. If one happened
- before we got here we'll return immediately with EBADF because
- the signal handler closes the dup'd file descriptor. */
+ We enable interruptible system calls before the read(2) so that if
+ we get a SIGCHLD while we're waiting, we'll return with EINTR and
+ we can process the death(s) and return tokens to the free pool.
+
+ Once we return from the read, we immediately reinstate restartable
+ system calls. This allows us to not worry about checking for
+ EINTR on all the other system calls in the program.
+
+ There is one other twist: there is a span between the time
+ reap_children() does its last check for dead children and the time
+ the read(2) call is entered, below, where if a child dies we won't
+ notice. This is extremely serious as it could cause us to
+ deadlock, given the right set of events.
+
+ To avoid this, we do the following: before we reap_children(), we
+ dup(2) the read FD on the jobserver pipe. The read(2) call below
+ uses that new FD. In the signal handler, we close that FD. That
+ way, if a child dies during the section mentioned above, the
+ read(2) will be invoked with an invalid FD and will return
+ immediately with EBADF. */
+
+ /* Make sure we have a dup'd FD. */
+ if (job_rfd < 0)
+ {
+ DB (DB_JOBS, ("Duplicate the job FD\n"));
+ job_rfd = dup (job_fds[0]);
+ }
- if (read (job_rfd, &token, 1) == 1)
+ /* Reap anything that's currently waiting. */
+ reap_children (0, 0);
+
+ /* If our "free" token has become available, use it. */
+ if (!children)
+ break;
+
+ /* Set interruptible system calls, and read() for a job token. */
+ set_child_handler_action_flags (0);
+ got_token = read (job_rfd, &token, 1);
+ saved_errno = errno;
+ set_child_handler_action_flags (SA_RESTART);
+
+ /* If we got one, we're done here. */
+ if (got_token == 1)
{
DB (DB_JOBS, (_("Obtained token for child 0x%08lx (%s).\n"),
(unsigned long int) c, c->file->name));
break;
}
+ /* If the error _wasn't_ expected (EINTR or EBADF), punt. Otherwise,
+ go back and reap_children(), and try again. */
+ errno = saved_errno;
if (errno != EINTR && errno != EBADF)
pfatal_with_name (_("read jobs pipe"));
-
- /* Re-dup the read side of the pipe, so the signal handler can
- notify us if we miss a child. */
- if (job_rfd < 0)
- job_rfd = dup (job_fds[0]);
-
- /* Something's done. We don't want to block for a whole child,
- just reap whatever's there. */
- reap_children (0, 0);
+ if (errno == EBADF)
+ DB (DB_JOBS, ("Read returned EBADF.\n"));
}
#endif
diff --git a/main.c b/main.c
index 66369a4..6a7e09d 100644
--- a/main.c
+++ b/main.c
@@ -448,6 +448,27 @@ int fatal_signal_mask;
#endif
#endif
+#if !defined HAVE_BSD_SIGNAL && !defined bsd_signal
+# if !defined HAVE_SIGACTION
+# define bsd_signal signal
+# else
+static RETSIGTYPE
+(*bsd_signal) PARAMS ((int)) (sig, func)
+ int sig;
+ RETSIGTYPE (*func) PARAMS ((int));
+{
+ struct sigaction act, oact;
+ act.sa_handler = func;
+ act.sa_flags = SA_RESTART;
+ sigemptyset (&act.sa_mask);
+ sigaddset (&act.sa_mask, sig);
+ if (sigaction (sig, &act, &oact) != 0)
+ return SIG_ERR;
+ return oact.sa_handler;
+}
+# endif
+#endif
+
static struct file *
enter_command_line_file (name)
char *name;
@@ -839,8 +860,8 @@ int main (int argc, char ** argv)
#endif
#define FATAL_SIG(sig) \
- if (signal ((sig), fatal_error_signal) == SIG_IGN) \
- (void) signal ((sig), SIG_IGN); \
+ if (bsd_signal (sig, fatal_error_signal) == SIG_IGN) \
+ bsd_signal (sig, SIG_IGN); \
else \
ADD_SIG (sig);
@@ -879,10 +900,10 @@ int main (int argc, char ** argv)
#ifdef HAVE_WAIT_NOHANG
# if defined SIGCHLD
- (void) signal (SIGCHLD, SIG_DFL);
+ (void) bsd_signal (SIGCHLD, SIG_DFL);
# endif
# if defined SIGCLD && SIGCLD != SIGCHLD
- (void) signal (SIGCLD, SIG_DFL);
+ (void) bsd_signal (SIGCLD, SIG_DFL);
# endif
#endif
@@ -1345,34 +1366,18 @@ int main (int argc, char ** argv)
If none of these are true, we don't need a signal handler at all. */
{
extern RETSIGTYPE child_handler PARAMS ((int sig));
-
-# if defined HAVE_SIGACTION
- struct sigaction sa;
-
- bzero ((char *)&sa, sizeof (struct sigaction));
- sa.sa_handler = child_handler;
-# if defined SA_INTERRUPT
- /* This is supposed to be the default, but what the heck... */
- sa.sa_flags = SA_INTERRUPT;
-# endif
-# define HANDLESIG(s) sigaction (s, &sa, NULL)
-# else
-# define HANDLESIG(s) signal (s, child_handler)
-# endif
-
- /* OK, now actually install the handlers. */
# if defined SIGCHLD
- (void) HANDLESIG (SIGCHLD);
+ bsd_signal (SIGCHLD, child_handler);
# endif
# if defined SIGCLD && SIGCLD != SIGCHLD
- (void) HANDLESIG (SIGCLD);
+ bsd_signal (SIGCLD, child_handler);
# endif
}
#endif
/* Let the user send us SIGUSR1 to toggle the -d flag during the run. */
#ifdef SIGUSR1
- (void) signal (SIGUSR1, debug_signal_handler);
+ bsd_signal (SIGUSR1, debug_signal_handler);
#endif
/* Define the initial list of suffixes for old-style rules. */
@@ -1527,9 +1532,8 @@ int main (int argc, char ** argv)
want job_slots to be 0 to indicate we're using the jobserver. */
while (--job_slots)
- while (write (job_fds[1], &c, 1) != 1)
- if (!EINTR_SET)
- pfatal_with_name (_("init jobserver pipe"));
+ if (write (job_fds[1], &c, 1) != 1)
+ pfatal_with_name (_("init jobserver pipe"));
/* Fill in the jobserver_fds struct for our children. */
diff --git a/make.h b/make.h
index bc4c1d4..6ce11d1 100644
--- a/make.h
+++ b/make.h
@@ -111,14 +111,6 @@ Boston, MA 02111-1307, USA. */
extern int errno;
#endif
-/* A shortcut for EINTR checking. Note you should be careful when negating
- this! That might not mean what you want if EINTR is not available. */
-#ifdef EINTR
-# define EINTR_SET (errno == EINTR)
-#else
-# define EINTR_SET (0)
-#endif
-
#ifndef isblank
# define isblank(c) ((c) == ' ' || (c) == '\t')
#endif
@@ -149,6 +141,10 @@ extern int errno;
# define sigmask(sig) (1 << ((sig) - 1))
#endif
+#ifndef HAVE_SA_RESTART
+# define SA_RESTART 0
+#endif
+
#ifdef HAVE_LIMITS_H
# include <limits.h>
#endif
diff --git a/make.texinfo b/make.texinfo
index 98a6985..1a4b029 100644
--- a/make.texinfo
+++ b/make.texinfo
@@ -2223,7 +2223,7 @@ SUBDIRS = foo bar baz
subdirs: $(SUBDIRS)
$(SUBDIRS):
- $(MAKE) -C $@
+ $(MAKE) -C $@@
foo: baz
@end group
diff --git a/read.c b/read.c
index ecb5cb4..6b66a81 100644
--- a/read.c
+++ b/read.c
@@ -1490,8 +1490,11 @@ record_target_var (filenames, defn, two_colon, origin, flocp)
current_variable_set_list = global;
gv = lookup_variable (v->name, len);
if (gv && (gv->origin == o_env_override || gv->origin == o_command))
- define_variable_in_set (v->name, len, gv->value, gv->origin,
- gv->recursive, vlist->set, flocp);
+ {
+ v = define_variable_in_set (v->name, len, gv->value, gv->origin,
+ gv->recursive, vlist->set, flocp);
+ v->append = 0;
+ }
}
/* Free name if not needed further. */
diff --git a/remake.c b/remake.c
index 06e8d31..029cd91 100644
--- a/remake.c
+++ b/remake.c
@@ -933,13 +933,8 @@ touch_file (file)
{
struct stat statbuf;
char buf;
- int status;
- do
- status = fstat (fd, &statbuf);
- while (status < 0 && EINTR_SET);
-
- if (status < 0)
+ if (fstat (fd, &statbuf) < 0)
TOUCH_ERROR ("touch: fstat: ");
/* Rewrite character 0 same as it already is. */
if (read (fd, &buf, 1) < 0)
@@ -1239,13 +1234,12 @@ name_mtime (name)
{
struct stat st;
- while (stat (name, &st) != 0)
- if (!EINTR_SET)
- {
- if (errno != ENOENT && errno != ENOTDIR)
- perror_with_name ("stat:", name);
- return NONEXISTENT_MTIME;
- }
+ if (stat (name, &st) != 0)
+ {
+ if (errno != ENOENT && errno != ENOTDIR)
+ perror_with_name ("stat:", name);
+ return NONEXISTENT_MTIME;
+ }
return FILE_TIMESTAMP_STAT_MODTIME (name, st);
}
diff --git a/variable.c b/variable.c
index f28e83c..aec6eda 100644
--- a/variable.c
+++ b/variable.c
@@ -207,6 +207,7 @@ lookup_variable (name, length)
sptr++;
}
+ *nptr = '\0';
return define_variable (vname, length, nvalue, o_env, 1);
}