diff options
-rw-r--r-- | ChangeLog | 65 | ||||
-rw-r--r-- | README.template | 42 | ||||
-rw-r--r-- | configure.in | 3 | ||||
-rw-r--r-- | expand.c | 23 | ||||
-rw-r--r-- | function.c | 50 | ||||
-rw-r--r-- | i18n/de.po | 2593 | ||||
-rw-r--r-- | job.c | 21 | ||||
-rw-r--r-- | main.c | 75 | ||||
-rw-r--r-- | make.h | 1 | ||||
-rw-r--r-- | remake.c | 26 | ||||
-rw-r--r-- | tests/ChangeLog | 20 | ||||
-rw-r--r-- | tests/scripts/features/double_colon | 9 | ||||
-rw-r--r-- | tests/scripts/features/reinvoke | 3 | ||||
-rw-r--r-- | tests/scripts/functions/call | 18 | ||||
-rw-r--r-- | tests/scripts/options/dash-k | 107 | ||||
-rw-r--r-- | variable.c | 38 | ||||
-rw-r--r-- | variable.h | 12 |
17 files changed, 1672 insertions, 1434 deletions
@@ -1,3 +1,25 @@ +2000-03-27 Paul D. Smith <psmith@gnu.org> + + * remake.c (start_updating, finish_updating, is_updating): Fix + PR/1671; circular dependencies in double-colon rules are not + diagnosed. These macros set the updating flag in the root + double-colon file instead of the current one, if it's part of a + double-colon list. This solution provided by Tim Magill + <magill@gate.net>; I just changed the macro names :). + (update_file_1): Call them. + (check_dep): Call them. + + The change to not automatically evaluate the $(call ...) + function's arguments breaks recursive use of call. Although using + $(if ...) and $(foreach ...) in $(call ...) macros is important, + the error conditions generated are simply to obscure for me to + feel comfortable with. If a method is devised to get both + working, we'll revisit. For now, remove this change. + + * function.c (function_table): Turn on the expand bit for func_call. + (func_call): Don't expand arguments for builtin functions; that + will have already been done. + 2000-03-26 Paul D. Smith <psmith@gnu.org> * file.c (remove_intermediates): Never remove targets explicitly @@ -23,6 +45,48 @@ * make.h: Ditto. Reported by Marco Franzen <Marco.Franzen@Thyron.com>. +2000-03-08 Tim Magill <magill@gate.net> + + * remake.c (update_file): Return the exit status of the pruned + file when pruning, not just 0. Fixes PR/1634. + +2000-02-24 Paul D. Smith <psmith@gnu.org> + + * configure.in: Close a minor potential security hole; if you're + reading makefiles from stdin (who does that?) you could run into a + race condition with the temp file using mktemp() or tmpnam(). Add + a check for mkstemp() and fdopen(). + * main.c (open_tmpfile): New function to open a temporary file. + If we have mkstemp() (and fdopen()), use that. If not use + mktemp() or tmpnam(). If we have fdopen(), use open() to open the + file O_CREAT|O_EXCL. If not, fall back to normal fopen() (insecure). + (main): Call it. + * job.c (child_execute_job) [VMS]: Call it. + + * variable.c (lookup_variable): If we find a variable which is + being expanded, then note it but keep looking through the rest of + the set list to see if we can find one that isn't. If we do, + return that. If we don't, return the original. Fix for PR/1610. + + While implementing this I realized that it also solves PR/1380 in + a much more elegant way. I don't know what I was smoking before. + So, remove the hackage surrounding the original fix for that (see + below). Change this function back to lookup_variable and remove + the extra setlist argument. + * variable.h (recursively_expand_setlist): Remove the macro, + rename the prototype, and remove the extra setlist argument. + (lookup_variable): Ditto. + * expand.c (recursively_expand): Rename and remove the extra + setlist argument. + (reference_variable): Use lookup_variable() again. + (allocated_variable_append): Remove the extra setlist argument. + +2000-02-21 Paul D. Smith <psmith@gnu.org> + + * README.template: A few updates. + + * i18n/de.po: New version from the German translation team. + 2000-02-09 Paul D. Smith <psmith@gnu.org> * Version 3.78.91 released. @@ -42,6 +106,7 @@ implementing expansion of these references separately from the "normal" expansion, say, instead of using the same codepath. Actually, it's already "worse enough" :-/. + Fix for PR/1380. * variable.h (recursively_expand_setlist): Rename recursively_expand to add a struct variable_set_list argument, and diff --git a/README.template b/README.template index 55001a4..f131fd6 100644 --- a/README.template +++ b/README.template @@ -19,6 +19,13 @@ Some systems' Make programs are broken and cannot process the Makefile for GNU Make. If you get errors from your system's Make when building GNU Make, try using `build.sh' instead. + +GNU Make is free software. See the file COPYING for copying conditions. + + +Documentation +------------- + GNU make is fully documented in the GNU Make manual, which is contained in this distribution as the file make.texinfo. You can also find on-line and preformatted (PostScript and DVI) versions at the FSF's web @@ -30,6 +37,10 @@ site. There is information there about ordering hardcopy documentation. You can also find the latest versions of GNU Make from there. + +Bug Reporting +------------- + You can send GNU make bug reports to <bug-make@gnu.org>. Please see the section of the GNU make manual entitled `Problems and Bugs' for information on submitting useful and complete bug reports. @@ -49,17 +60,36 @@ If you need help using GNU make, try these forums: news:gnu.utils.help news:gnu.utils.bug -Also: + +CVS Access +---------- + +The GNU make source repository is available via anonymous CVS from the +GNU Subversions CVS server; look here for details: + + http://www.gnu.org/software/devel.html + +Please note: you won't be able to build GNU make from CVS without +installing appropriate maintainer's tools, such as automake, autoconf, +GNU make, and GCC. There are no instructions on this included with the +tree, so you must be familiar with the installation and use of these +tools. We make no guarantees about the contents or quality of the +latest code in the CVS repository: it is not unheard of for code that is +known to be broken to be checked in. Use at your own risk. + + +Ports +----- - See README.customs for details on integrating GNU make with the Customs distributed build environment from the Pmake distribution. - See readme.vms for details about GNU Make on OpenVMS. - - See README.W32 for details about GNU Make on Windows NT, 95, or 98. - - See README.Amiga for details about GNU Make on AmigaDOS. + - See README.W32 for details about GNU Make on Windows NT, 95, or 98. + - See README.DOS for compilation instructions on MS-DOS and MS-Windows using DJGPP tools. @@ -67,8 +97,10 @@ Also: of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more information. - -GNU Make is free software. See the file COPYING for copying conditions. +Please note there are two _separate_ ports of GNU make for Microsoft +systems: a native Windows tool built with (for example) MSVC or Cygwin, +and a DOS-based tool built with DJGPP. Please be sure you are looking +at the right README! System-specific Notes diff --git a/configure.in b/configure.in index 83fbb52..ebe276a 100644 --- a/configure.in +++ b/configure.in @@ -60,7 +60,7 @@ AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl # clock_gettime is in -lposix4 in Solaris 2.6. AC_CHECK_LIB(posix4, clock_gettime) -AC_CHECK_FUNCS(memmove strchr memcpy strdup psignal mktemp pstat_getdynamic \ +AC_CHECK_FUNCS(memmove strchr memcpy strdup psignal mkstemp mktemp fdopen \ clock_gettime dup2 getcwd sigsetmask sigaction getgroups \ setlinebuf seteuid setegid setreuid setregid pipe \ strerror strsignal) @@ -74,6 +74,7 @@ AC_FUNC_SETVBUF_REVERSED AC_FUNC_SELECT AC_CHECK_LIB(kstat, kstat_open) dnl _Must_ come before AC_FUNC_GETLOADAVG. +AC_CHECK_FUNCS(pstat_getdynamic) dnl Supposedly in AC_FUNC_GETLOADAVG, but...? AC_FUNC_GETLOADAVG # Check out the wait reality. @@ -91,13 +91,11 @@ initialize_variable_output () /* Recursively expand V. The returned string is malloc'd. */ -static char *allocated_variable_append PARAMS ((struct variable *v, - struct variable_set_list *l)); +static char *allocated_variable_append PARAMS ((struct variable *v)); char * -recursively_expand_setlist (v, list) +recursively_expand (v) register struct variable *v; - struct variable_set_list *list; { char *value; @@ -109,7 +107,7 @@ recursively_expand_setlist (v, list) v->expanding = 1; if (v->append) - value = allocated_variable_append (v, list); + value = allocated_variable_append (v); else value = allocated_variable_expand (v->value); v->expanding = 0; @@ -144,10 +142,9 @@ reference_variable (o, name, length) unsigned int length; { register struct variable *v; - struct variable_set_list *setlist; char *value; - v = lookup_variable_setlist (name, length, &setlist); + v = lookup_variable (name, length); if (v == 0) warn_undefined (name, length); @@ -155,7 +152,7 @@ reference_variable (o, name, length) if (v == 0 || *v->value == '\0') return o; - value = (v->recursive ? recursively_expand_setlist (v, setlist) : v->value); + value = (v->recursive ? recursively_expand (v) : v->value); o = variable_buffer_output (o, value, strlen (value)); @@ -472,9 +469,8 @@ variable_expand_for_file (line, file) context of the next variable set, then we append the expanded value. */ static char * -allocated_variable_append (v, list) +allocated_variable_append (v) struct variable *v; - struct variable_set_list *list; { struct variable_set_list *save; int len = strlen (v->name); @@ -486,12 +482,9 @@ allocated_variable_append (v, list) variable_buffer = 0; - if (!list) - list = current_variable_set_list; - - assert(list->next != 0); + assert(current_variable_set_list->next != 0); save = current_variable_set_list; - current_variable_set_list = list->next; + current_variable_set_list = current_variable_set_list->next; var[0] = '$'; var[1] = '('; @@ -1536,7 +1536,10 @@ func_shell (char *o, char **argv, const char *funcname) if (command_argv == 0) return o; - + /* Note the mktemp() is a security hole, but this only runs on Amiga. + Ideally we would use main.c:open_tmpfile(), but this uses a special + Open(), not fopen(), and I'm not familiar enough with the code to mess + with it. */ strcpy (tmp_output, "t:MakeshXXXXXXXX"); mktemp (tmp_output); child_stdout = Open (tmp_output, MODE_NEWFILE); @@ -1662,7 +1665,7 @@ static struct function_table_entry function_table[] = { STRING_SIZE_TUPLE("words"), 1, 1, 1, func_words}, { STRING_SIZE_TUPLE("origin"), 1, 1, 1, func_origin}, { STRING_SIZE_TUPLE("foreach"), 3, 3, 0, func_foreach}, - { STRING_SIZE_TUPLE("call"), 1, 0, 0, func_call}, + { STRING_SIZE_TUPLE("call"), 1, 0, 1, func_call}, { STRING_SIZE_TUPLE("error"), 1, 1, 1, func_error}, { STRING_SIZE_TUPLE("warning"), 1, 1, 1, func_error}, { STRING_SIZE_TUPLE("if"), 2, 3, 0, func_if}, @@ -1824,60 +1827,38 @@ func_call (o, argv, funcname) int i; const struct function_table_entry *entry_p; - fname = expand_argument (argv[0], NULL); - /* There is no way to define a variable with a space in the name, so strip leading and trailing whitespace as a favor to the user. */ - cp = fname; - while (*cp != '\0' && isspace ((unsigned char)*cp)) - ++cp; - argv[0] = cp; + fname = argv[0]; + while (*fname != '\0' && isspace ((unsigned char)*fname)) + ++fname; - cp += strlen(cp) - 1; - while (cp > argv[0] && isspace ((unsigned char)*cp)) + cp = fname + strlen(fname) - 1; + while (cp > fname && isspace ((unsigned char)*cp)) --cp; cp[1] = '\0'; /* Calling nothing is a no-op */ - if (*argv[0] == '\0') - { - free (fname); - return o; - } + if (*fname == '\0') + return o; /* Are we invoking a builtin function? */ - entry_p = lookup_function (function_table, argv[0]); + entry_p = lookup_function (function_table, fname); if (entry_p) { - char **av; - - free (fname); - /* How many arguments do we have? */ for (i=0; argv[i+1]; ++i) ; - /* If we need to expand arguments, do it now. */ - if (entry_p->expand_args) - for (av=argv+1; *av; ++av) - *av = expand_argument (*av, NULL); - - o = expand_builtin_function (o, i, argv+1, entry_p); - - /* What we expanded we must free... */ - if (entry_p->expand_args) - for (av=argv+1; *av; ++av) - free (*av); - - return o; + return expand_builtin_function (o, i, argv+1, entry_p); } /* Not a builtin, so the first argument is the name of a variable to be expanded and interpreted as a function. Create the variable reference. */ - flen = strlen (argv[0]); + flen = strlen (fname); body = alloca (flen + 4); body[0] = '$'; @@ -1905,6 +1886,5 @@ func_call (o, argv, funcname) pop_variable_scope (); - free (fname); return o + strlen(o); } @@ -1,1772 +1,1831 @@ -# This is the german message translation file for GNU-make 3.76.1 +# This is the german message translation file for GNU-make 3.78.90 # Copyright (C) 1996, 1997 Free Software Foundation, Inc. # Jochen Hein <jochen.hein@informatik.tu-clausthal.de>, 1996. # Alexander Mader <mader@wias-berlin.de>, 1997. +# Alexander Mader <aumader@gmx.net>, 2000. # msgid "" msgstr "" -"Project-Id-Version: make 3.76.1\n" -"POT-Creation-Date: 1997-09-27 11:44+0200\n" -"PO-Revision-Date: 1997-09-27 17:33 MET DST\n" -"Last-Translator: Alexander Mader <mader@wias-berlin.de>\n" +"Project-Id-Version: make 3.78.90\n" +"POT-Creation-Date: 2000-02-03 17:32+0100\n" +"PO-Revision-Date: 2000-02-17 13:23+01:00\n" +"Last-Translator: Alexander Mader <aumader@gmx.net>\n" "Language-Team: German <de@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" -#: make-3.76.1/vpath.c:568 +#: ar.c:50 #, c-format -msgid "" -"\n" -"# %u `vpath' search paths.\n" -msgstr "\n# %u «vpath» Suchpfade.\n" +msgid "attempt to use unsupported feature: `%s'" +msgstr "Versuch, eine nicht unterstützte Funktionalität zu verwenden: »%s«." -#: make-3.76.1/file.c:661 -#, c-format -msgid "" -"\n" -"# %u files in %u hash buckets.\n" -msgstr "\n# %u Dateien zu %u hash-Werten.\n" +#: ar.c:141 +msgid "touch archive member is not available on VMS" +msgstr "" +"VMS stellt nicht die Möglichkeit einer Änderung \n" +"der Zeitmarken von Archiveinträgen zur Verfügung." -#: make-3.76.1/rule.c:574 +#: ar.c:173 #, c-format -msgid "" -"\n" -"# %u implicit rules, %u" -msgstr "\n# %u implizite Regeln, %u" - -#: make-3.76.1/dir.c:848 -msgid "" -"\n" -"# Directories\n" -msgstr "\n# Verzeichnisse\n" +msgid "touch: Archive `%s' does not exist" +msgstr "touch: Archiv »%s« existiert nicht." -#: make-3.76.1/file.c:635 -msgid "" -"\n" -"# Files" -msgstr "\n# Dateien" +#: ar.c:176 +#, c-format +msgid "touch: `%s' is not a valid archive" +msgstr "touch: »%s« ist kein gültiges Archiv." -#: make-3.76.1/main.c:2359 +#: ar.c:183 #, c-format -msgid "" -"\n" -"# Finished Make data base on %s\n" -msgstr "\n# «Make» Datenbank beendet zur Zeit %s.\n" +msgid "touch: Member `%s' does not exist in `%s'" +msgstr "touch: Eintrag »%s« existiert nicht in »%s«." -#: make-3.76.1/vpath.c:577 -msgid "" -"\n" -"# General (`VPATH' variable) search path:\n" -"# " +#: ar.c:190 +#, c-format +msgid "touch: Bad return code from ar_member_touch on `%s'" msgstr "" -"\n" -"# Allgemeiner (Variable «VPATH») Suchpfad:\n" -"# " - -#: make-3.76.1/rule.c:556 -msgid "" -"\n" -"# Implicit Rules" -msgstr "\n# Implizite Regeln" +"touch: Ungünstiger Rückgabewert beim Zugriff \n" +"von ar_member_touch auf »%s«." -#: make-3.76.1/main.c:2350 +#: arscan.c:71 #, c-format -msgid "" -"\n" -"# Make data base, printed on %s" -msgstr "\n# «Make» Datenbank, ausgegeben zur Zeit %s." +msgid "lbr$set_module failed to extract module info, status = %d" +msgstr "»lbr$set_module« konnte keine Modulinformation auslesen; Status = %d." -#: make-3.76.1/file.c:658 -msgid "" -"\n" -"# No files." -msgstr "\n# Keine Dateien." +#: arscan.c:155 +#, c-format +msgid "lbr$ini_control failed with status = %d" +msgstr "»lbr$ini_control« schlug mit Status = %d fehl." -#: make-3.76.1/vpath.c:571 -msgid "" -"\n" -"# No general (`VPATH' variable) search path." -msgstr "\n# Kein allgemeiner (Variable «VPATH») Suchpfad." +#: arscan.c:166 +#, c-format +msgid "unable to open library `%s' to lookup member `%s'" +msgstr "" +"Konnte die Bibliothek »%s« auf der Suche \n" +"nach dem Eintrag »%s« nicht öffnen." -#: make-3.76.1/rule.c:571 -msgid "" -"\n" -"# No implicit rules." -msgstr "\n# Keine impliziten Regeln vorhanden." +#: arscan.c:820 +#, c-format +msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n" +msgstr "" +"Eintrag »%s« %s: \n" +"%ld bytes an Position %ld (%ld).\n" -#: make-3.76.1/vpath.c:549 -msgid "" -"\n" -"# VPATH Search Paths\n" -msgstr "\n# VPATH Suchpfade\n" +#: arscan.c:821 +msgid " (name might be truncated)" +msgstr " (der Name ist möglicherweise gekürzt)" -#: make-3.76.1/variable.c:979 -msgid "" -"\n" -"# Variables\n" -msgstr "\n# Variablen\n" +#: arscan.c:823 +#, c-format +msgid " Date %s" +msgstr " Datum %s" -#: make-3.76.1/job.c:1032 make-3.76.1/job.c:1629 +#: arscan.c:824 #, c-format -msgid "" -"\n" -"Counted %d args in failed launch\n" -msgstr "\n%d Argumente gehörten zum fehlgeschlagenen Prozessstart.\n" +msgid " uid = %d, gid = %d, mode = 0%o.\n" +msgstr " Nutzer-ID = %d, Gruppen-ID = %d, Modus = 0%o.\n" -#: make-3.76.1/main.c:492 +#: commands.c:391 +msgid "*** Break.\n" +msgstr "*** Abbruch.\n" + +#: commands.c:483 #, c-format -msgid "" -"\r\n" -"Unhandled exception filter called from program %s\r\n" -msgstr "" -"\\r\n" -"Das Programm %s rief einen Ausnahmefilter auf, \n" -"der nicht bearbeitet wird.\\r\n" +msgid "*** [%s] Archive member `%s' may be bogus; not deleted" +msgstr "*** [%s] Archiveintrag »%s« ist wohl falsch; nicht gelöscht." -#: make-3.76.1/arscan.c:721 +#: commands.c:486 #, c-format -msgid " Date %s" -msgstr " Datum %s" +msgid "*** Archive member `%s' may be bogus; not deleted" +msgstr "*** Archiveintrag »%s« ist wohl falsch; nicht glöscht." -#: make-3.76.1/remake.c:603 +#: commands.c:498 #, c-format -msgid " Ignoring VPATH name `%s'.\n" -msgstr " Ignoriere VPATH-Name «%s».\n" +msgid "*** [%s] Deleting file `%s'" +msgstr "*** [%s] Datei »%s« wird gelöscht." -#: make-3.76.1/arscan.c:722 +#: commands.c:500 #, c-format -msgid " uid = %d, gid = %d, mode = 0%o.\n" -msgstr " Nutzer-ID = %d, Gruppen-ID = %d, Modus = 0%o.\n" +msgid "*** Deleting file `%s'" +msgstr "*** Datei »%s« wird gelöscht." -#: make-3.76.1/commands.c:537 +#: commands.c:538 +msgid "# commands to execute" +msgstr "# Auszuführende Kommandos" + +#: commands.c:541 msgid " (built-in):" msgstr " (eingebaut):" -#: make-3.76.1/job.c:239 -msgid " (core dumped)" -msgstr " (Speicherauszug erstellt)" +#: commands.c:543 +#, c-format +msgid " (from `%s', line %lu):\n" +msgstr " (aus »%s«, Zeile %lu):\n" -#: make-3.76.1/read.c:318 -msgid " (don't care)" -msgstr " (macht nichts)" +#: dir.c:902 +msgid "\n# Directories\n" +msgstr "\n# Verzeichnisse\n" -#: make-3.76.1/commands.c:539 +#: dir.c:910 #, c-format -msgid " (from `%s', line %u):\n" -msgstr " (aus «%s», Zeile %u):\n" +msgid "# %s: could not be stat'd.\n" +msgstr "# %s: Konnte den Status nicht feststellen.\n" -#: make-3.76.1/job.c:230 -msgid " (ignored)" -msgstr " (ignoriert)" +#: dir.c:913 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "" +"# %s ( Schlüssel (key) %s, letzte Änderung (mtime) %d): \n" +"Konnte nicht geöffnet werden.\n" -#: make-3.76.1/arscan.c:719 -msgid " (name might be truncated)" -msgstr " (der Name ist möglicherweise gekürzt)" +#: dir.c:917 +#, c-format +msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" +msgstr "" +"# %s (Gerät %d, I-Knoten (inode) [%d,%d,%d]): \n" +"Konnte nicht geöffnet werden.\n" -#: make-3.76.1/read.c:314 -msgid " (no default goal)" -msgstr " (kein Standard-Ziel)" +#: dir.c:922 +#, c-format +msgid "# %s (device %ld, inode %ld): could not be opened.\n" +msgstr "" +"# %s (Gerät %ld, I-Knoten (inode) %ld): \n" +"Konnte nicht geöffnet werden.\n" -#: make-3.76.1/read.c:320 -msgid " (no ~ expansion)" -msgstr " (keine ~-Erweiterung)" +#: dir.c:939 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (Schlüssel (key) %s, letzte Änderung (mtime) %d): " -#: make-3.76.1/job.c:332 make-3.76.1/job.c:504 make-3.76.1/job.c:591 -#: make-3.76.1/job.c:1093 -msgid " (remote)" -msgstr " (entfernt)" +#: dir.c:943 +#, c-format +msgid "# %s (device %d, inode [%d,%d,%d]): " +msgstr "# %s (Gerät %d, I-Knoten (inode) [%d,%d,%d]): " -#: make-3.76.1/read.c:316 -msgid " (search path)" -msgstr " (Suchpfad)" +#: dir.c:948 +#, c-format +msgid "# %s (device %ld, inode %ld): " +msgstr "# %s (Gerät %ld, I-Knoten (inode) %ld): " + +#: dir.c:954 dir.c:974 +msgid "No" +msgstr "Keine" -#: make-3.76.1/dir.c:902 make-3.76.1/dir.c:922 +#: dir.c:957 dir.c:977 msgid " files, " msgstr " Dateien, " -#: make-3.76.1/dir.c:907 +#: dir.c:959 dir.c:979 +msgid "no" +msgstr "keine" + +#: dir.c:962 msgid " impossibilities" msgstr " Unmöglichkeiten" -#: make-3.76.1/dir.c:927 +#: dir.c:966 +msgid " so far." +msgstr " bisher." + +#: dir.c:982 #, c-format msgid " impossibilities in %u directories.\n" msgstr " Unmöglichkeiten in %u Verzeichnissen.\n" -#: make-3.76.1/file.c:563 make-3.76.1/file.c:583 -msgid " not" -msgstr " nicht" +#: expand.c:105 +#, c-format +msgid "Recursive variable `%s' references itself (eventually)" +msgstr "Rekursive Variable »%s« referenziert sich (schließlich) selbst." -#: make-3.76.1/job.c:491 -msgid " remote" -msgstr " entfernter" +#: expand.c:130 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "Warnung: undefinierte Variable »%.*s«" -#: make-3.76.1/dir.c:911 -msgid " so far." -msgstr " bisher." +#: expand.c:245 +msgid "unterminated variable reference" +msgstr "Nicht abgeschlossene Variablenreferenz." -#: make-3.76.1/rule.c:583 -msgid " terminal." -msgstr " Terminal." +#: file.c:308 +#, c-format +msgid "Commands were specified for file `%s' at %s:%lu," +msgstr "" +"Die Kommandos wurden für die Datei »%s« angegeben \n" +"an der Stelle %s:%lu," -#: make-3.76.1/getopt1.c:134 +#: file.c:314 #, c-format -msgid " with arg %s" -msgstr "mit Argument %s" +msgid "Commands for file `%s' were found by implicit rule search," +msgstr "" +"Die Kommandos für die Datei »%s« wurden aufgrund \n" +"der Suche nach impliziten Regeln gefunden," -#: make-3.76.1/file.c:561 -msgid "# A default or MAKEFILES makefile." -msgstr "# Ein Standardwert oder MAKEFILES «make»-Steuerdatei." +#: file.c:318 +#, c-format +msgid "but `%s' is now considered the same file as `%s'." +msgstr "" +"aber »%s« wird jetzt als dieselbe Datei \n" +"wie »%s« betrachtet." -#: make-3.76.1/file.c:570 -msgid "# Also makes:" -msgstr "# Erzeugt außerdem:" +#: file.c:322 +#, c-format +msgid "Commands for `%s' will be ignored in favor of those for `%s'." +msgstr "" +"Die Kommandos für »%s« werden ignoriert, \n" +"die für »%s« werden bevorzugt." + +#: file.c:343 +#, c-format +msgid "can't rename single-colon `%s' to double-colon `%s'" +msgstr "" +"»%s« mit einfachem Doppelpunkt kann nicht in \n" +"»%s« mit doppeltem Doppelpunkt geändert werden." + +#: file.c:348 +#, c-format +msgid "can't rename double-colon `%s' to single-colon `%s'" +msgstr "" +"»%s« mit doppeltem Doppelpunkt kann nicht in \n" +"»%s« mit einfachem Doppelpunkt geändert werden." + +#: file.c:415 +#, c-format +msgid "*** Deleting intermediate file `%s'" +msgstr "*** Löschen der Zwischendatei »%s«." + +#: file.c:623 +msgid "# Not a target:" +msgstr "# Dies ist kein Ziel:" -#: make-3.76.1/file.c:559 +#: file.c:631 +msgid "# Precious file (prerequisite of .PRECIOUS)." +msgstr "# Wertvolle Datei (Voraussetzung von .PRECIOUS)." + +#: file.c:633 +msgid "# Phony target (prerequisite of .PHONY)." +msgstr "# Vorgetäuschtes Ziel (Voraussetzung von .PHONY)." + +#: file.c:635 msgid "# Command-line target." msgstr "# Kommandozeilen-Ziel (target)." -#: make-3.76.1/file.c:587 -msgid "# Commands currently running (THIS IS A BUG)." -msgstr "# Z.Zt. ausgeführte Kommandos (DAS IST EIN BUG)." +#: file.c:637 +msgid "# A default or MAKEFILES makefile." +msgstr "# Ein Standardwert oder MAKEFILES »make«-Steuerdatei." -#: make-3.76.1/file.c:590 -msgid "# Dependencies commands running (THIS IS A BUG)." -msgstr "# Z.Zt. ausgeführte Kommandos für Abhängigkeiten (DAS IST EIN BUG)." +#: file.c:639 +msgid "# Implicit rule search has been done." +msgstr "# Suche nach impliziten Regeln wurde durchgeführt." -#: make-3.76.1/file.c:606 -msgid "# Failed to be updated." -msgstr "# Aktualisierung fehlgeschlagen." - -#: make-3.76.1/file.c:578 -msgid "# File does not exist." -msgstr "# Die Datei existiert nicht." +#: file.c:640 +msgid "# Implicit rule search has not been done." +msgstr "# Suche nach impliziten Regeln wurde nicht durchgeführt." -#: make-3.76.1/file.c:582 +#: file.c:642 #, c-format -msgid "# File has%s been updated.\n" -msgstr "# Datei wurde%s aktualisiert.\n" +msgid "# Implicit/static pattern stem: `%s'\n" +msgstr "# Ersetzung für implizites/statisches Muster: »%s«\n" -#: make-3.76.1/file.c:567 -msgid "# File is an intermediate dependency." +#: file.c:644 +msgid "# File is an intermediate prerequisite." msgstr "# Datei ist ein Zwischenschritt in den Abhängigkeiten." -#: make-3.76.1/file.c:562 -#, c-format -msgid "# Implicit rule search has%s been done.\n" -msgstr "# Implizite Regelsuche wurde%s durchgeführt.\n" +#: file.c:647 +msgid "# Also makes:" +msgstr "# Erzeugt außerdem:" + +#: file.c:653 +msgid "# Modification time never checked." +msgstr "# Zeit der letzten Änderung wurde nicht überprüft." -#: make-3.76.1/file.c:565 +#: file.c:655 +msgid "# File does not exist." +msgstr "# Die Datei existiert nicht." + +#: file.c:660 #, c-format -msgid "# Implicit/static pattern stem: `%s'\n" -msgstr "# Ersetzung für implizites/statisches Muster: «%s»\n" +msgid "# Last modified %s\n" +msgstr "# Zuletzt geändert %s.\n" -#: make-3.76.1/file.c:616 -msgid "# Invalid value in `command_state' member!" -msgstr "# Ungültiger Wert im «command_state»-Eintrag!" +#: file.c:663 +msgid "# File has been updated." +msgstr "# Datei wurde aktualisiert." -#: make-3.76.1/file.c:609 -msgid "# Invalid value in `update_status' member!" -msgstr "# Ungültiger Wert in «update_status»-Eintrag!" +#: file.c:663 +msgid "# File has not been updated." +msgstr "# Datei wurde nicht aktualisiert." -#: make-3.76.1/file.c:580 -#, c-format -msgid "# Last modified %.24s (%ld)\n" -msgstr "# Zuletzt geändert %.24s (%ld).\n" +#: file.c:667 +msgid "# Commands currently running (THIS IS A BUG)." +msgstr "# Z.Zt. ausgeführte Kommandos (DAS IST EIN BUG)." -#: make-3.76.1/file.c:576 -msgid "# Modification time never checked." -msgstr "# Zeit der letzten Änderung wurde nicht überprüft." +#: file.c:670 +msgid "# Dependencies commands running (THIS IS A BUG)." +msgstr "# Z.Zt. ausgeführte Kommandos für Abhängigkeiten (DAS IST EIN BUG)." -#: make-3.76.1/file.c:603 +#: file.c:679 +msgid "# Successfully updated." +msgstr "# Erfolgreich aktualisiert." + +#: file.c:683 msgid "# Needs to be updated (-q is set)." msgstr "# Eine Aktualisierung ist notwendig (-q ist angegeben)." -#: make-3.76.1/file.c:557 -msgid "# Phony target (dependency of .PHONY)." -msgstr "# «Phony»-Ziel (abhängig von .PHONY)." +#: file.c:686 +msgid "# Failed to be updated." +msgstr "# Aktualisierung fehlgeschlagen." -#: make-3.76.1/file.c:555 -msgid "# Precious file (dependency of .PRECIOUS)." -msgstr "# «Precious»-Datei (abhängig von .PRECIOUS)." +#: file.c:689 +msgid "# Invalid value in `update_status' member!" +msgstr "# Ungültiger Wert in »update_status«-Eintrag!" -#: make-3.76.1/file.c:599 -msgid "# Successfully updated." -msgstr "# Erfolgreich aktualisiert." +#: file.c:696 +msgid "# Invalid value in `command_state' member!" +msgstr "# Ungültiger Wert im »command_state«-Eintrag!" -#: make-3.76.1/commands.c:534 -msgid "# commands to execute" -msgstr "# Auszuführende Kommandos" +#: file.c:715 +msgid "\n# Files" +msgstr "\n# Dateien" -#: make-3.76.1/dir.c:894 -#, c-format -msgid "# %s (device %d, inode %d): " -msgstr "# %s (Gerät %d, I-Knoten (inode) %d): " +#: file.c:738 +msgid "\n# No files." +msgstr "\n# Keine Dateien." -#: make-3.76.1/dir.c:889 +#: file.c:741 #, c-format -msgid "# %s (device %d, inode [%d,%d,%d]): " -msgstr "# %s (Gerät %d, I-Knoten (inode) [%d,%d,%d]): " +msgid "\n# %u files in %u hash buckets.\n" +msgstr "\n# %u Dateien zu %u hash-Werten.\n" -#: make-3.76.1/dir.c:863 +#: file.c:743 #, c-format -msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" +msgid "# average %.3f files per bucket, max %u files in one bucket.\n" msgstr "" -"# %s (Gerät %d, I-Knoten (inode) [%d,%d,%d]): \n" -"Konnte nicht geöffnet werden.\n" +"# durchschnittlich %.3f Dateien je hash-Wert,\n" +"max. %u Dateien zu einem hash-Wert.\n" -#: make-3.76.1/dir.c:868 -#, c-format -msgid "# %s (device %ld, inode %ld): could not be opened.\n" -msgstr "" -"# %s (Gerät %ld, I-Knoten (inode) %ld): \n" -"Konnte nicht geöffnet werden.\n" +#: function.c:737 +msgid "non-numeric first argument to `word' function" +msgstr "Nicht-numerisches erstes Argument zur »word«-Funktion." -#: make-3.76.1/dir.c:885 -#, c-format -msgid "# %s (key %s, mtime %d): " -msgstr "# %s (Schlüssel (key) %s, letzte Änderung (mtime) %d): " +#: function.c:741 +msgid "the `word' function takes a positive index argument" +msgstr "Die »word«-Funktion erwartet als Argument einen positiven Index." -#: make-3.76.1/dir.c:859 -#, c-format -msgid "# %s (key %s, mtime %d): could not be opened.\n" -msgstr "" -"# %s ( Schlüssel (key) %s, letzte Änderung (mtime) %d): \n" -"Konnte nicht geöffnet werden.\n" +#: function.c:766 +msgid "non-numeric first argument to `wordlist' function" +msgstr "Nicht-numerisches erstes Argument für die »wordlist«-Funktion." -#: make-3.76.1/dir.c:856 -#, c-format -msgid "# %s: could not be stat'd.\n" -msgstr "# %s: Konnte den Status nicht feststellen.\n" +#: function.c:769 +msgid "non-numeric second argument to `wordlist' function" +msgstr "Nicht-numerisches zweites Argument zur »wordlist«-Funktion." -#: make-3.76.1/variable.c:954 +#: function.c:1211 #, c-format -msgid "# %u variables in %u hash buckets.\n" -msgstr "# %u Variablen für %u hash-Werte.\n" +msgid "create_child_process: DuplicateHandle(In) failed (e=%d)\n" +msgstr "»create_child_process«: »DuplicateHandle(In)« schlug fehl (e=%d).\n" -#: make-3.76.1/vpath.c:566 -msgid "# No `vpath' search paths." -msgstr "# Keine «vpath» Suchpfade." +#: function.c:1222 +#, c-format +msgid "create_child_process: DuplicateHandle(Err) failed (e=%d)\n" +msgstr "»create_child_process«: »DuplicateHandle(Err)« schlug fehl (e=%d).\n" -#: make-3.76.1/variable.c:951 -msgid "# No variables." -msgstr "# Keine Variablen vorhanden." +#: function.c:1227 +#, c-format +msgid "CreatePipe() failed (e=%d)\n" +msgstr "»CreatePipe()« schlug fehl (e=%d).\n" -#: make-3.76.1/file.c:547 -msgid "# Not a target:" -msgstr "# Dies ist kein Ziel:" +#: function.c:1232 +msgid "windows32_openpipe (): process_init_fd() failed\n" +msgstr "windows32_openpipe (): process_init_fd() schlug fehl\n" -#: make-3.76.1/file.c:663 +#: function.c:1471 #, c-format -msgid "# average %.1f files per bucket, max %u files in one bucket.\n" -msgstr "" -"# durchschnittlich %.1f Dateien je hash-Wert,\n" -"max. %u Dateien zu einem hash-Wert.\n" +msgid "Cleaning up temporary batch file %s\n" +msgstr "Lösche temporäre Stapelverarbeitungsdatei %s.\n" -#: make-3.76.1/variable.c:957 +#: function.c:1688 #, c-format -msgid "# average of %.1f variables per bucket, max %u in one bucket.\n" -msgstr "# Durchschnittlich %.1f Variablen pro Wert, max %u je Wert.\n" +msgid "Insufficient number of arguments (%d) to function `%s'" +msgstr "Zuwenig Argumente (%d) für die Funktion »%s«." -#: make-3.76.1/variable.c:964 +#: function.c:1692 #, c-format -msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n" -msgstr "# Durchschnittlich %d.%d Variablen pro Wert, max %u je Wert.\n" +msgid "Unimplemented on this platform: function `%s'" +msgstr "Auf dieser Rechneronfiguration nicht implementiert: Funktion »%s«." -#: make-3.76.1/job.c:1877 +#: function.c:1745 #, c-format -msgid "$SHELL changed (was `%s', now `%s')" -msgstr "$SHELL gewechselt (war «%s», ist «%s»)." +msgid "unterminated call to function `%s': missing `%c'" +msgstr "Nicht beendeter Aufruf der Funktion »%s«: »%c« fehlt." -#. 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. -#: make-3.76.1/misc.c:567 +#: getopt.c:675 #, c-format -msgid "%s access: user %d (real %d), group %d (real %d)\n" -msgstr "%s Zugriff: Nutzer %d (real %d), Gruppe %d (real %d)\n" +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: Option »%s« ist mehrdeutig.\n" -#: make-3.76.1/job.c:496 +#: getopt.c:699 #, c-format -msgid "%s finished." -msgstr "%s beendet." +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: Option »--%s« erlaubt kein Argument.\n" -#: make-3.76.1/main.c:783 +#: getopt.c:704 #, c-format -msgid "%s is suspending for 30 seconds..." -msgstr "%s setzt für 30 Sekunden aus..." +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: Option »%c%s« erlaubt kein Argument.\n" -#: make-3.76.1/job.c:1673 +#: getopt.c:721 getopt.c:894 #, c-format -msgid "%s: Command not found" -msgstr "%s: Kommando nicht gefunden." +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: Option »%s« erfordert ein Argument.\n" -#: make-3.76.1/main.c:483 +#: getopt.c:750 #, c-format -msgid "%s: Interrupt/Exception caught " -msgstr "%s: hat Unterbrechung/Ausnahme bemerkt " +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: unerkannte Option »--%s«.\n" -#: make-3.76.1/job.c:1702 +#: getopt.c:754 #, c-format -msgid "%s: Shell program not found" -msgstr "%s: Shell-Programm wurde nicht gefunden." +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: unerkannte Option »%c%s«\n" -#. 1003.2 specifies the format of this message. -#: make-3.76.1/getopt.c:786 +#: getopt.c:780 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: unerlaubte Option -- %c\n" -#: make-3.76.1/getopt.c:789 +#: getopt.c:783 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: ungültige Option -- %c.\n" -#: make-3.76.1/getopt.c:710 +#: getopt.c:813 getopt.c:943 #, c-format -msgid "%s: option `%c%s' doesn't allow an argument\n" -msgstr "%s: Option «%c%s» erlaubt kein Argument.\n" +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: Option erfordert ein Argument -- %c.\n" -#: make-3.76.1/getopt.c:681 +#: getopt.c:860 #, c-format -msgid "%s: option `%s' is ambiguous\n" -msgstr "%s: Option «%s» ist mehrdeutig.\n" +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: Option »-W %s« ist mehrdeutig.\n" -#: make-3.76.1/getopt.c:727 make-3.76.1/getopt.c:900 +#: getopt.c:878 #, c-format -msgid "%s: option `%s' requires an argument\n" -msgstr "%s: Option «%s» erfordert ein Argument.\n" +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: Option »-W %s« erlaubt kein Argument.\n" -#: make-3.76.1/getopt.c:705 +#: implicit.c:40 #, c-format -msgid "%s: option `--%s' doesn't allow an argument\n" -msgstr "%s: Option «--%s» erlaubt kein Argument.\n" +msgid "Looking for an implicit rule for `%s'.\n" +msgstr "Suche nach einer impliziten Regel für »%s«.\n" -#: make-3.76.1/getopt.c:884 +#: implicit.c:56 #, c-format -msgid "%s: option `-W %s' doesn't allow an argument\n" -msgstr "%s: Option «-W %s» erlaubt kein Argument.\n" +msgid "Looking for archive-member implicit rule for `%s'.\n" +msgstr "Suche nach einer impliziten Regel für Archiveinträge für »%s«.\n" -#: make-3.76.1/getopt.c:866 -#, c-format -msgid "%s: option `-W %s' is ambiguous\n" -msgstr "%s: Option «-W %s» ist mehrdeutig.\n" +#: implicit.c:201 +msgid "Avoiding implicit rule recursion.\n" +msgstr "Vermeide Rekursion in den impliziten Regeln.\n" -#. 1003.2 specifies the format of this message. -#: make-3.76.1/getopt.c:819 make-3.76.1/getopt.c:949 +#: implicit.c:339 #, c-format -msgid "%s: option requires an argument -- %c\n" -msgstr "%s: Option erfordert ein Argument -- %c.\n" +msgid "Trying pattern rule with stem `%.*s'.\n" +msgstr "Versuche Muster-Regel mit Ersetzung »%.*s«.\n" -#: make-3.76.1/signame.c:291 +#: implicit.c:380 #, c-format -msgid "%s: unknown signal" -msgstr "%s: unbekanntes Signal" +msgid "Rejecting impossible implicit prerequisite `%s'.\n" +msgstr "Unmögliche implizite Voraussetzung »%s« abgelehnt.\n" -#. +option or -option -#: make-3.76.1/getopt.c:760 +#: implicit.c:381 #, c-format -msgid "%s: unrecognized option `%c%s'\n" -msgstr "%s: unerkannte Option «%c%s»\n" +msgid "Rejecting impossible rule prerequisite `%s'.\n" +msgstr "Unmögliche Voraussetzung »%s« abgelehnt.\n" -#. --option -#: make-3.76.1/getopt.c:756 +#: implicit.c:391 #, c-format -msgid "%s: unrecognized option `--%s'\n" -msgstr "%s: unerkannte Option «--%s».\n" +msgid "Trying implicit prerequisite `%s'.\n" +msgstr "Versuche implizite Voraussetzung »%s«.\n" -#: make-3.76.1/main.c:2322 +#: implicit.c:392 #, c-format -msgid "%sGNU Make version %s" -msgstr "%sGNU Make Version %s" +msgid "Trying rule prerequisite `%s'.\n" +msgstr "Versuche Voraussetzung »%s«.\n" -#: make-3.76.1/remake.c:916 +#: implicit.c:413 #, c-format -msgid "%sNo rule to make target `%s'%s" -msgstr "%sKeine Regel, um «%s» zu erstellen%s" +msgid "Found prerequisite `%s' as VPATH `%s'\n" +msgstr "Fand die Voraussetzung »%s« als VPATH »%s«.\n" -#: make-3.76.1/remake.c:918 +#: implicit.c:430 #, c-format -msgid "%sNo rule to make target `%s', needed by `%s'%s" -msgstr "" -"%sKeine Regel vorhanden, um das Target «%s», \n" -" benötigt von «%s», zu erstellen%s" +msgid "Looking for a rule with intermediate file `%s'.\n" +msgstr "Suche nach einer Regel mit der Zwischen-Datei »%s«.\n" -#: make-3.76.1/commands.c:482 +#: job.c:252 #, c-format -msgid "*** Archive member `%s' may be bogus; not deleted" -msgstr "*** Archiveintrag «%s» ist wohl falsch; nicht glöscht." +msgid "*** [%s] Error 0x%x%s" +msgstr "*** [%s] Fehler 0x%x%s" -#: make-3.76.1/commands.c:387 -msgid "*** Break.\n" -msgstr "*** Abbruch.\n" +#: job.c:252 +msgid " (ignored)" +msgstr " (ignoriert)" -#: make-3.76.1/commands.c:496 +#: job.c:255 #, c-format -msgid "*** Deleting file `%s'" -msgstr "*** Datei «%s» wird gelöscht." +msgid "[%s] Error %d (ignored)" +msgstr "[%s] Fehler %d (ignoriert)" -#: make-3.76.1/file.c:389 +#: job.c:256 #, c-format -msgid "*** Deleting intermediate file `%s'" -msgstr "*** Löschen der Zwischendatei «%s»." +msgid "*** [%s] Error %d" +msgstr "*** [%s] Fehler %d" + +#: job.c:261 +msgid " (core dumped)" +msgstr " (Speicherauszug erstellt)" -#: make-3.76.1/job.c:305 +#: job.c:401 +#, c-format +msgid "Got a SIGCHLD; %u unreaped children.\n" +msgstr "Erhielt Signal »SIGCHLD«; %u unbeendete Kindprozesse.\n" + +#: job.c:450 msgid "*** Waiting for unfinished jobs...." msgstr "*** Warte auf noch nicht beendete Prozesse...." -#: make-3.76.1/main.c:1565 -msgid "*** Warning: Clock skew detected. Your build may be incomplete." -msgstr "" -"*** Warnung: Mit der Uhr stimmt etwas nicht. \n" -" Die Bearbeitung könnte unvollständig sein." - -#: make-3.76.1/remake.c:1102 +#: job.c:479 #, c-format -msgid "*** Warning: File `%s' has modification time in the future" -msgstr "*** Warnung: Datei «%s» hat Änderungszeit aus der Zukunft!" +msgid "Live child 0x%08lx (%s) PID %ld %s\n" +msgstr "Aktiver Kindprozess 0x%08lx (%s) PID %ld %s\n" + +#: job.c:481 job.c:641 job.c:739 job.c:1292 +msgid " (remote)" +msgstr " (entfernt)" -#: make-3.76.1/commands.c:479 +#: job.c:638 #, c-format -msgid "*** [%s] Archive member `%s' may be bogus; not deleted" -msgstr "*** [%s] Archiveintrag «%s» ist wohl falsch; nicht gelöscht." +msgid "Reaping losing child 0x%08lx PID %ld %s\n" +msgstr "Sammle erfolglosen Kindprozess 0x%08lx PID %ld %s\n" -#: make-3.76.1/commands.c:494 +#: job.c:639 #, c-format -msgid "*** [%s] Deleting file `%s'" -msgstr "*** [%s] Datei «%s» wird gelöscht." +msgid "Reaping winning child 0x%08lx PID %ld %s\n" +msgstr "Sammle erfolgreichen Kindprozess 0x%08lx PID %ld %s\n" -#: make-3.76.1/job.c:234 +#: job.c:644 #, c-format -msgid "*** [%s] Error %d" -msgstr "*** [%s] Fehler %d" +msgid "Cleaning up temp batch file %s\n" +msgstr "Lösche temporäre Stapelverarbeitungsdatei »%s«.\n" -#: make-3.76.1/job.c:230 +#: job.c:737 #, c-format -msgid "*** [%s] Error 0x%x%s" -msgstr "*** [%s] Fehler 0x%x%s" +msgid "Removing child 0x%08lx PID %ld %s from chain.\n" +msgstr "Entferne Kindprozeß 0x%08lx PID %ld %s aus der Kette.\n" -#: make-3.76.1/misc.c:212 make-3.76.1/misc.c:260 -msgid ". Stop.\n" -msgstr ". Schluss.\n" +#: job.c:794 +msgid "write jobserver" +msgstr "Schreibe Job-Server" -#: make-3.76.1/getloadavg.c:1056 +#: job.c:796 #, c-format -msgid "1-minute: %f " -msgstr "1-Minuten-Schnitt: %f " +msgid "Released token for child 0x%08lx (%s).\n" +msgstr "Marke des Kindprozesses 0x%08lx PID (%s) freigegeben.\n" -#: make-3.76.1/getloadavg.c:1060 +#: job.c:1226 job.c:2222 #, c-format -msgid "15-minute: %f " -msgstr "15-Minuten-Schnitt: %f " +msgid "process_easy() failed failed to launch process (e=%d)\n" +msgstr "»process_easy()« konnte den Prozess nicht starten (e=%d).\n" -#: make-3.76.1/getloadavg.c:1058 +#: job.c:1230 job.c:2226 #, c-format -msgid "5-minute: %f " -msgstr "5-Minuten-Schnitt: %f " +msgid "\nCounted %d args in failed launch\n" +msgstr "\n%d Argumente gehörten zum fehlgeschlagenen Prozessstart.\n" -#: make-3.76.1/remake.c:574 +#: job.c:1290 #, c-format -msgid "; using VPATH name `%s'" -msgstr "; benutze VPATH-Name «%s»" +msgid "Putting child 0x%08lx (%s) PID %ld%s on the chain.\n" +msgstr "Nehme Kindprozess 0x%08lx (%s) PID %ld%s in die Kette auf.\n" -#: make-3.76.1/getopt.c:1038 make-3.76.1/getopt1.c:174 +#: job.c:1487 #, c-format -msgid "?? getopt returned character code 0%o ??\n" -msgstr "?? «getopt» lieferte Zeichencode 0%o ??\n" +msgid "Obtained token for child 0x%08lx (%s).\n" +msgstr "Marke für den Kindprozeß 0x%08lx (%s) erhalten.\n" -#: make-3.76.1/signame.c:126 -msgid "Aborted" -msgstr "Abgebrochen (Aborted)" +#: job.c:1493 +msgid "read jobs pipe" +msgstr "Lese Pipe für die Jobs" + +#: job.c:1562 +msgid "cannot enforce load limits on this operating system" +msgstr "" +"Auf diesem Betriebssystem kann die Einhaltung\n" +"der Lastbeschränkung nicht erzwungen werden." -#: make-3.76.1/main.c:503 +#: job.c:1564 +msgid "cannot enforce load limit: " +msgstr "Lasteinschränkung kann nicht erzwungen werden: " + +#: job.c:1667 #, c-format -msgid "Access violation: %s operation at address %x\r\n" -msgstr "Zugriffsverstoß: %soperation an Adresse %x\\r\n" +msgid "internal error: `%s' command_state" +msgstr "Interner Fehler: »%s« command_state" -#: make-3.76.1/signame.c:153 -msgid "Alarm clock" -msgstr "Wecksignal" +#: job.c:1974 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Datei %s auf Standarteingabe umgeleitet.\n" -#: make-3.76.1/main.c:266 -msgid "Allow N jobs at once; infinite jobs with no arg" -msgstr "" -"Erlaube N Jobs gleichzeitig; unbegrenzte Anzahl \n" -"von Jobs ohne Argument." +#: job.c:1981 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Fehlerausgabe nach %s umgeleitet.\n" -#: make-3.76.1/implicit.c:201 +#: job.c:1988 #, c-format -msgid "Avoiding implicit rule recursion.%s%s\n" -msgstr "Vermeide Rekursion in den impliziten Regeln.%s%s\n" +msgid "Redirected output to %s\n" +msgstr "Ausgabe nach %s umgeleitet.\n" -#: make-3.76.1/rule.c:587 +#: job.c:2051 #, c-format -msgid "BUG: num_pattern_rules wrong! %u != %u" -msgstr "BUG: «num_pattern_rules» falsch! %u != %u" +msgid "Executing %s instead\n" +msgstr "%s wird stattdessen ausgeführt.\n" -#: make-3.76.1/signame.c:147 -msgid "Bad system call" -msgstr "Falscher Systemaufruf" +#: job.c:2251 +#, c-format +msgid "make reaped child pid %d, still waiting for pid %d\n" +msgstr "" +"»make« registrierte die Beendigung des Kindprozesses mit ID %d,\n" +"wartet jedoch noch auf den Prozess mit ID %d.\n" -#: make-3.76.1/signame.c:150 -msgid "Broken pipe" -msgstr "Zerstörte Pipe" +#: job.c:2270 +#, c-format +msgid "%s: Command not found" +msgstr "%s: Kommando nicht gefunden." -#: make-3.76.1/signame.c:141 -msgid "Bus error" -msgstr "Bus-Fehler" +#: job.c:2299 +#, c-format +msgid "%s: Shell program not found" +msgstr "%s: Shell-Programm wurde nicht gefunden." -#: make-3.76.1/signame.c:188 -msgid "CPU time limit exceeded" -msgstr "CPU-Zeitschranke überschritten" +#: job.c:2480 +#, c-format +msgid "$SHELL changed (was `%s', now `%s')" +msgstr "$SHELL gewechselt (war »%s«, ist »%s«)." -#: make-3.76.1/main.c:239 -msgid "Change to DIRECTORY before doing anything" -msgstr "Wechsle in das VERZEICHNIS bevor etwas anderes ausgeführt wird." +#: job.c:2886 +#, c-format +msgid "Creating temporary batch file %s\n" +msgstr "Erstelle temporäre Stapelverarbeitungsdatei %s\n" -#: make-3.76.1/misc.c:748 -msgid "Child" -msgstr "Kindprozess" +#: job.c:2928 +#, c-format +msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" +msgstr "%s (Zeile %d) Falscher Shell-Kontext (!unixy && !batch_mode_shell)\n" -#: make-3.76.1/signame.c:167 make-3.76.1/signame.c:170 -msgid "Child exited" -msgstr "Kindprozeß beendet" +#: main.c:457 +msgid "empty string invalid as file name" +msgstr "Eine leere Zeichenkette ist als Dateiname ungültig." -#: make-3.76.1/remake.c:395 make-3.76.1/remake.c:796 +#: main.c:537 #, c-format -msgid "Circular %s <- %s dependency dropped." -msgstr "Zirkuläre Datei %s <- %s Abhängigkeit wird nicht verwendet." +msgid "unknown debug level specification `%s'" +msgstr "Unbekanntes Debug-Level angegeben »%s«" -#: make-3.76.1/file.c:298 +#: main.c:577 #, c-format -msgid "Commands for `%s' will be ignored in favor of those for `%s'." -msgstr "" -"Die Kommandos für «%s» werden ignoriert, \n" -"die für «%s» werden bevorzugt." +msgid "%s: Interrupt/Exception caught (code = 0x%x, addr = 0x%x)\n" +msgstr "%s: bekam Unterbrechung/Ausnahme signalisiert (Kode = 0x%x, Adr = 0x%x)\n" -#: make-3.76.1/file.c:290 +#: main.c:584 #, c-format -msgid "Commands for file `%s' were found by implicit rule search," +msgid "" +"\n" +"Unhandled exception filter called from program %s\n" +"ExceptionCode = %x\n" +"ExceptionFlags = %x\n" +"ExceptionAddress = %x\n" msgstr "" -"Die Kommandos für die Datei «%s» wurden aufgrund \n" -"der Suche nach impliziten Regeln gefunden," +"\n" +"Das Programm %s rief einen Ausnahmefilter auf, \n" +"der nicht bearbeitet wurde.\n" +"ExceptionCode = %x\n" +"ExceptionFlags = %x\n" +"ExceptionAddress = %x\n" -#: make-3.76.1/remake.c:614 +#: main.c:592 #, c-format -msgid "Commands of `%s' are being run.\n" -msgstr "Die Kommandos von «%s» werden gerade ausgeführt.\n" +msgid "Access violation: write operation at address %x\n" +msgstr "Zugriffsverletzung: Schreiboperation an Adresse %x\n" -#: make-3.76.1/file.c:284 +#: main.c:593 #, c-format -msgid "Commands were specified for file `%s' at %s:%u," -msgstr "" -"Die Kommandos wurden für die Datei «%s» angegeben \n" -"an der Stelle %s:%u," +msgid "Access violation: read operation at address %x\n" +msgstr "Zugriffsverletzung: Leseoperation an Adresse %x\n" -#: make-3.76.1/main.c:321 -msgid "Consider FILE to be infinitely new" -msgstr "Betrachte die DATEI stets als neu." +#: main.c:658 +#, c-format +msgid "find_and_set_shell setting default_shell = %s\n" +msgstr "find_and_set_shell setzt default_shell = %s\n" -#: make-3.76.1/main.c:290 -msgid "Consider FILE to be very old and don't remake it" -msgstr "Betrachte DATEI als sehr alt und erzeuge sie nicht neu." +#: main.c:701 +#, c-format +msgid "find_and_set_shell path search set default_shell = %s\n" +msgstr "find_and_set_shell Suchpfad gesetzt; default_shell = %s\n" -#: make-3.76.1/remake.c:313 +#: main.c:1004 #, c-format -msgid "Considering target file `%s'.\n" -msgstr "Betrachte Target-Datei «%s».\n" +msgid "%s is suspending for 30 seconds..." +msgstr "%s setzt für 30 Sekunden aus..." -#: make-3.76.1/signame.c:206 -msgid "Continued" -msgstr "Fortgesetzt" +#: main.c:1006 +msgid "done sleep(30). Continuing.\n" +msgstr "«sleep(30)» ist abgeschlossen. Es geht weiter.\n" -#: make-3.76.1/main.c:1454 -msgid "Couldn't change back to original directory." -msgstr "Konnte nicht in das ursprüngliche Verzeichnis wechseln." +#: main.c:1227 +msgid "Makefile from standard input specified twice." +msgstr "Das Makefile wurde zweimal über die Standardeingabe angegeben." -#: make-3.76.1/function.c:434 -#, c-format -msgid "CreatePipe() failed (e=%d)\n" -msgstr "«CreatePipe()» schlug fehl (e=%d).\n" +#: main.c:1231 +msgid "fopen (temporary file)" +msgstr "fopen (temporäre Datei)" -#: make-3.76.1/remote-cstms.c:94 -#, c-format -msgid "Customs won't export: %s\n" -msgstr "Customs wird nicht exportieren: %s\n" +#: main.c:1237 +msgid "fwrite (temporary file)" +msgstr "fwrite (temporäre Datei)" -#: make-3.76.1/main.c:238 make-3.76.1/main.c:261 -msgid "DIRECTORY" -msgstr "VERZEICHNIS" +#: main.c:1346 +msgid "Do not specify -j or --jobs if sh.exe is not available." +msgstr "" +"Wenn »sh.exe« nicht vorhanden ist, \n" +"sollten Sie nicht »-j« oder »--jobs« angeben." -#: make-3.76.1/signame.c:231 -msgid "Danger signal" -msgstr "Gefahrensignal" +#: main.c:1347 +msgid "Resetting make for single job mode." +msgstr "»make« wird so umgestellt, dass nur ein Job laufen kann." -#: make-3.76.1/remake.c:545 -#, c-format -msgid "Dependency `%s' does not exist.\n" -msgstr "Abhängigkeit «%s» existiert nicht.\n" +#: main.c:1384 +msgid "Parallel jobs (-j) are not supported on this platform." +msgstr "" +"Parallele Abarbeitung (-j) \n" +"wird auf dieser Plattform nicht unterstützt." -#: make-3.76.1/remake.c:547 -#, c-format -msgid "Dependency `%s' is %s than dependent `%s'.\n" -msgstr "Die Abhängigkeit «%s» ist %s als die abhängige Datei «%s».\n" +#: main.c:1385 +msgid "Resetting to single job (-j1) mode." +msgstr "Umstellung auf Einzel-Job-Verarbeitung (-j1)." -#: make-3.76.1/main.c:299 -msgid "Disable the built-in implicit rules" -msgstr "Deaktivieren der eingebauten impliziten Regeln." +#: main.c:1399 +msgid "internal error: multiple --jobserver-fds options" +msgstr "Interner Fehler: mehrfache --jobserver-fds Optionen" -#: make-3.76.1/main.c:1151 -msgid "Do not specify -j or --jobs if sh.exe is not available." +#: main.c:1407 +#, c-format +msgid "internal error: invalid --jobserver-fds string `%s'" +msgstr "Interner Fehler: Falsche --jobserver-fds Angabe »%s«" + +#: main.c:1417 +msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" -"Wenn «sh.exe» nicht vorhanden ist, \n" -"sollten Sie nicht «-j» oder «--jobs» angeben." +"Warnung: -jN in »make«-Verarbeitungszweig erzwungen: \n" +"Jobserver-Modus nicht verfügbar" -#: make-3.76.1/main.c:287 -msgid "Don't actually run any commands; just print them" -msgstr "Kommandos nur anzeigen, nicht ausführen." +#: main.c:1427 +msgid "dup jobserver" +msgstr "Jobserver verdoppelt" -#: make-3.76.1/main.c:302 -msgid "Don't echo commands" -msgstr "Gebe die Kommandos nicht aus." +#: main.c:1430 +msgid "warning: jobserver unavailable: using -j1. Add `+' to parent make rule." +msgstr "Warnung: Kein Jobserver verfügbar: setzen -j1. Fügen »+« zur Ursprungsregel hinzu." -#: make-3.76.1/main.c:275 make-3.76.1/main.c:280 -msgid "Don't start multiple jobs unless load is below N" -msgstr "Nur bei Belastung unterhalb N mehrere Prozesse starten." +#: main.c:1453 +msgid "creating jobs pipe" +msgstr "Öffnen der Pipe für die Jobs" -#: make-3.76.1/signame.c:132 -msgid "EMT trap" -msgstr "EMT abfangen (EMT trap)" +#: main.c:1463 +msgid "init jobserver pipe" +msgstr "Initialisierung der Pipe für den jobserver" -#: make-3.76.1/main.c:2413 -msgid "Entering" -msgstr "Wechsel in das Verzeichnis" +#: main.c:1548 +msgid "Updating makefiles....\n" +msgstr "Aktualisiere »make«-Steuerdateien....\n" -#: make-3.76.1/main.c:250 -msgid "Environment variables override makefiles" -msgstr "Umgebungsvariablen überschreiben «make»-Steuerdateien." +#: main.c:1573 +#, c-format +msgid "Makefile `%s' might loop; not remaking it.\n" +msgstr "" +"»make«-Steuerdatei »%s« könnte eine Schleife enthalten; \n" +"es wird nicht neu erzeugt.\n" -#. Fill message buffer with a default message in
-#. * case FormatMessage fails
-#. -#: make-3.76.1/w32/subproc/w32err.c:20 +#: main.c:1647 #, c-format -msgid "Error %ld" -msgstr "Fehler %ld" +msgid "Failed to remake makefile `%s'." +msgstr "Konnte die »make«-Steuerdatei »%s« nicht neu erstellen." -#: make-3.76.1/getloadavg.c:1052 -msgid "Error getting load average" -msgstr "Fehler beim Bestimmen der durchschnittlichen Last." +#: main.c:1663 +#, c-format +msgid "Included makefile `%s' was not found." +msgstr "Die eingebundene »make«-Steuerdatei »%s« wurde nicht gefunden." -#: make-3.76.1/vmsfunctions.c:23 -msgid "Error mallocing for FAB\n" -msgstr "Fehler bei Speicherzuteilung (xmalloc) für «FAB».\n" +#: main.c:1668 +#, c-format +msgid "Makefile `%s' was not found" +msgstr "Die »make«-Steuerdatei »%s« wurde nicht gefunden" -#: make-3.76.1/vmsfunctions.c:27 -msgid "Error mallocing for NAM\n" -msgstr "Fehler bei Speicherzuteilung (xmalloc) für «NAM».\n" +#: main.c:1736 +msgid "Couldn't change back to original directory." +msgstr "Konnte nicht in das ursprüngliche Verzeichnis wechseln." -#: make-3.76.1/vmsfunctions.c:69 -msgid "Error mallocing for direct\n" -msgstr "Fehler bei Speicherzuteilung (xmalloc) für «direct».\n" +#: main.c:1770 +msgid "Re-executing:" +msgstr "Erneute Ausführung:" -#: make-3.76.1/vmsfunctions.c:32 -msgid "Error mallocing for searchspec\n" -msgstr "Fehler bei Speicherzuteilung (xmalloc) für «searchspec».\n" +#: main.c:1801 +msgid "unlink (temporary file): " +msgstr "unlink (temporäre Datei): " -#: make-3.76.1/job.c:1556 -#, c-format -msgid "Error spawning, %d\n" -msgstr "Fehler beim Starten eines Kindprozesses, %d.\n" +#: main.c:1823 +msgid "No targets specified and no makefile found" +msgstr "Keine Targets angegeben und keine »make«-Steuerdatei gefunden." + +#: main.c:1825 +msgid "No targets" +msgstr "Keine Targets." -#: make-3.76.1/main.c:497 +#: main.c:1830 +msgid "Updating goal targets....\n" +msgstr "Aktualisieren der Ziele....\n" + +#: main.c:1856 +msgid "warning: Clock skew detected. Your build may be incomplete." +msgstr "" +"Warnung: Mit der Uhr stimmt etwas nicht. \n" +"Die Bearbeitung könnte unvollständig sein." + +#: main.c:2011 #, c-format -msgid "ExceptionAddress = %x\r\n" -msgstr "Ausnahmeadresse (ExceptionAddress) = %x\\r\n" +msgid "Usage: %s [options] [target] ...\n" +msgstr "Syntax: %s [Optionen] [Target] ...\n" + +#: main.c:2013 +msgid "Options:\n" +msgstr "Optionen:\n" + +#: main.c:2094 +msgid "\nReport bugs to <bug-make@gnu.org>.\n" +msgstr "\nFehlermeldungen an <bug-make@gnu.org>.\n" -#: make-3.76.1/main.c:493 +#: main.c:2203 #, c-format -msgid "ExceptionCode = %x\r\n" -msgstr "Ausnahmekode (ExceptionCode) = %x\\r\n" +msgid "the `-%c' option requires a positive integral argument" +msgstr "Die Option »-%c« verlangt eine positive ganze Zahl als Argument." -#: make-3.76.1/main.c:495 +#: main.c:2627 #, c-format -msgid "ExceptionFlags = %x\r\n" -msgstr "Ausnahmemerkmale (ExceptionFlags) = %x\\r\n" +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" +"%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 "" +", von Richard Stallman und Roland McGrath.\n" +"%sErstellt für %s\n" +"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n" +"%s\tFree Software Foundation, Inc.\n" +"%sDies ist Freie Software; siehe die Programmquellen für Vervielfältigungsbedingungen.\n" +"%sEs gibt KEINE Gewährleistung; nicht einmal für VERMARKTUNG oder NUTZBARKEIT FÜR EINEN\n" +"%sBESONDEREN ZWECK.\n" +"\n" +"%sFehlermeldungen an <bug-make@gnu.org>.\n" +"\n" -#: make-3.76.1/job.c:1525 +#: main.c:2653 #, c-format -msgid "Executing %s instead\n" -msgstr "%s wird stattdessen ausgeführt.\n" +msgid "\n# Make data base, printed on %s" +msgstr "\n# »Make« Datenbank, ausgegeben zur Zeit %s." -#: make-3.76.1/read.c:1011 make-3.76.1/read.c:1167 +#: main.c:2662 #, c-format -msgid "Extraneous text after `%s' directive" -msgstr "Überflüssiger Text nach einer «%s»-Anweisung" +msgid "\n# Finished Make data base on %s\n" +msgstr "\n# »Make« Datenbank beendet zur Zeit %s.\n" -#: make-3.76.1/read.c:926 -msgid "Extraneous text after `endef' directive" -msgstr "Überflüssiger Text nach einer «endef»-Anweisung" +#: main.c:2717 +msgid "Entering" +msgstr "Wechsel in das Verzeichnis" + +#: main.c:2717 +msgid "Leaving" +msgstr "Verlassen des Verzeichnisses" -#: make-3.76.1/main.c:252 make-3.76.1/main.c:289 make-3.76.1/main.c:320 -msgid "FILE" -msgstr "DATEI" +#: main.c:2736 +msgid "an unknown directory" +msgstr "ein unbekanntes Verzeichnis" -#. The update failed and this makefile was not -#. from the MAKEFILES variable, so we care. -#: make-3.76.1/main.c:1359 +#: main.c:2738 #, c-format -msgid "Failed to remake makefile `%s'." -msgstr "Konnte die «make»-Steuerdatei «%s» nicht neu erstellen." +msgid "directory `%s'\n" +msgstr "Verzeichnis »%s«\n" -#: make-3.76.1/remake.c:621 -#, c-format -msgid "Failed to remake target file `%s'.\n" -msgstr "Fehler beim Aktualisieren der Target-Datei «%s».\n" +#: misc.c:307 +msgid ". Stop.\n" +msgstr ". Schluss.\n" -#: make-3.76.1/remake.c:357 +#: misc.c:329 #, c-format -msgid "File `%s' does not exist.\n" -msgstr "Die Datei «%s» existiert nicht.\n" +msgid "Unknown error %d" +msgstr "Unbekannter Fehler %d." + +#: misc.c:369 misc.c:384 misc.c:402 read.c:2695 +msgid "virtual memory exhausted" +msgstr "Der virtuelle Speicher ist verbraucht." -#: make-3.76.1/remake.c:323 +#: misc.c:653 #, c-format -msgid "File `%s' was considered already.\n" -msgstr "Die Datei «%s» wurde bereits betrachtet.\n" +msgid "%s access: user %lu (real %lu), group %lu (real %lu)\n" +msgstr "%s Zugriff: Nutzer %lu (tatsächlich %lu), Gruppe %lu (tatsächlich %lu)\n" -#: make-3.76.1/signame.c:191 -msgid "File size limit exceeded" -msgstr "Dateigrößenschranke überschritten" +#: misc.c:674 +msgid "Initialized" +msgstr "Initialisiert" -#: make-3.76.1/remake.c:477 -#, c-format -msgid "Finished dependencies of target file `%s'.\n" -msgstr "Fertig mit den Abhängigkeiten für die Target-Datei «%s».\n" +#: read.c:153 +msgid "Reading makefiles...\n" +msgstr "Lese »make«-Steuerdateien ...\n" -#: make-3.76.1/remake.c:336 +#: read.c:334 #, c-format -msgid "Finished updating file `%s'.\n" -msgstr "Aktualisierung der Datei «%s» beendet.\n" +msgid "Reading makefile `%s'" +msgstr "Lese »make«-Steuerdatei »%s«" -#: make-3.76.1/signame.c:237 -msgid "Floating point co-processor not available" -msgstr "Es ist kein Koprozessor für Fließkommaoperationen vorhanden." +#: read.c:336 +msgid " (no default goal)" +msgstr " (kein Standard-Ziel)" -#: make-3.76.1/signame.c:135 -msgid "Floating point exception" -msgstr "Gleitkommafehler" +#: read.c:338 +msgid " (search path)" +msgstr " (Suchpfad)" -#: make-3.76.1/remake.c:367 make-3.76.1/remake.c:764 -#, c-format -msgid "Found an implicit rule for `%s'.\n" -msgstr "Eine implizite Regel für «%s» gefunden.\n" +#: read.c:340 +msgid " (don't care)" +msgstr " (macht nichts)" -#: make-3.76.1/implicit.c:405 -#, c-format -msgid "Found dependency `%s' as VPATH `%s'\n" -msgstr "Fand die Abhängigkeit «%s» als VPATH «%s».\n" +#: read.c:342 +msgid " (no ~ expansion)" +msgstr " (keine ~-Erweiterung)" -#: make-3.76.1/remake.c:496 -#, c-format -msgid "Giving up on target file `%s'.\n" -msgstr "Die Arbeit an der Target-Datei «%s» wurde aufgegeben.\n" +#: read.c:522 +msgid "invalid syntax in conditional" +msgstr "Ungültige Syntax in der Bedingung." -#: make-3.76.1/job.c:274 -#, c-format -msgid "Got a SIGCHLD; %d unreaped children.\n" -msgstr "Erhielt ein SIGCHLD; %d unbeendete Kindprozesse.\n" +#: read.c:531 +msgid "extraneous `endef'" +msgstr "Überflüssiges »endef«." -#: make-3.76.1/signame.c:109 -msgid "Hangup" -msgstr "Aufgelegt" +#: read.c:543 read.c:570 variable.c:840 +msgid "empty variable name" +msgstr "Leerer Variablenname" -#: make-3.76.1/signame.c:216 make-3.76.1/signame.c:225 -msgid "I/O possible" -msgstr "I/O möglich" +#: read.c:561 +msgid "empty `override' directive" +msgstr "Leere »override« Anweisung." -#: make-3.76.1/signame.c:129 -msgid "IOT trap" -msgstr "IOT abfangen (IOT trap)" +#: read.c:584 +msgid "invalid `override' directive" +msgstr "Ungültige »override«-Anweisung" -#: make-3.76.1/main.c:259 -msgid "Ignore errors from commands" -msgstr "Ignoriere Fehler in den Kommandos." +#: read.c:668 +#, c-format +msgid "no file name for `%sinclude'" +msgstr "Kein Dateiname für »%sinclude«." -#: make-3.76.1/main.c:236 -msgid "Ignored for compatibility" -msgstr "Aus Kompatibilitätsgründen ignoriert." +#: read.c:735 +msgid "commands commence before first target" +msgstr "Kommandos beginnen vor dem ersten Target." -#: make-3.76.1/signame.c:118 -msgid "Illegal Instruction" -msgstr "Illegaler Befehl" +#: read.c:783 +msgid "missing rule before commands" +msgstr "Es fehlt eine Regel vor den Kommandos." -#. An included makefile. We don't need -#. to die, but we do want to complain. -#: make-3.76.1/main.c:1374 +#: read.c:869 #, c-format -msgid "Included makefile `%s' was not found." -msgstr "Die eingebundene «make»-Steuerdatei «%s» wurde nicht gefunden." +msgid "missing separator%s" +msgstr "Fehlendes Trennzeichen%s." -#: make-3.76.1/signame.c:234 -msgid "Information request" -msgstr "Informationsanforderung" +#: read.c:871 +msgid " (did you mean TAB instead of 8 spaces?)" +msgstr " (Meinten Sie TAB anstelle von 8 Leerzeichen?)" -#: make-3.76.1/misc.c:587 -msgid "Initialized" -msgstr "Initialisiert" +#: read.c:1007 +msgid "missing target pattern" +msgstr "Es fehlt ein Target-Muster" -#: make-3.76.1/signame.c:112 -msgid "Interrupt" -msgstr "Abgebrochen (Interrupt)" +#: read.c:1009 +msgid "multiple target patterns" +msgstr "Mehrfache Target-Muster." -#: make-3.76.1/remote-cstms.c:185 -#, c-format -msgid "Job exported to %s ID %u\n" -msgstr "Job nach %s ID %u exportiert\n" +#: read.c:1013 +msgid "target pattern contains no `%%'" +msgstr "Target-Muster enthält kein »%%«" -#: make-3.76.1/main.c:270 -msgid "Keep going when some targets can't be made" -msgstr "Weiterlaufen, auch wenn einige Targets nicht erzeugt werden konnten." +#: read.c:1054 +msgid "missing `endif'" +msgstr "Fehlendes »endif«" -#: make-3.76.1/signame.c:138 -msgid "Killed" -msgstr "Abgebrochen (Killed)" +#: read.c:1113 +msgid "Extraneous text after `endef' directive" +msgstr "Überflüssiger Text nach einer »endef«-Anweisung" -#: make-3.76.1/main.c:2413 -msgid "Leaving" -msgstr "Verlassen des Verzeichnisses" +#: read.c:1142 +msgid "missing `endef', unterminated `define'" +msgstr "Fehlendes »endef«, nicht abgeschlossenes »define«" -#: make-3.76.1/job.c:330 +#: read.c:1196 read.c:1352 #, c-format -msgid "Live child 0x%08lx PID %d%s\n" -msgstr "Aktiver Kind-Prozeß 0x%08lx PID %d%s\n" +msgid "Extraneous text after `%s' directive" +msgstr "Überflüssiger Text nach einer »%s«-Anweisung" -#: make-3.76.1/implicit.c:421 +#: read.c:1199 #, c-format -msgid "Looking for a rule with %s file `%s'.\n" -msgstr "Suche nach einer Regel, in der als %s die Datei «%s» vorkommt.\n" +msgid "extraneous `%s'" +msgstr "Überflüssiges »%s«" -#: make-3.76.1/implicit.c:38 -#, c-format -msgid "Looking for an implicit rule for `%s'.\n" -msgstr "Suche nach einer impliziten Regel für «%s».\n" +#: read.c:1204 +msgid "only one `else' per conditional" +msgstr "Es ist nur ein »else« je Verzweigung erlaubt." -#: make-3.76.1/implicit.c:53 -#, c-format -msgid "Looking for archive-member implicit rule for `%s'.\n" -msgstr "Suche nach einer impliziten Regel für Archiveinträge für «%s».\n" +#: read.c:1466 +msgid "Malformed per-target variable definition" +msgstr "Falsche Ziel-bezogene Variablendefinition" -#: make-3.76.1/main.c:1287 +#: read.c:1548 +msgid "mixed implicit and static pattern rules" +msgstr "Implizite und statische Muster-Regel vermischt." + +#: read.c:1551 +msgid "mixed implicit and normal rules" +msgstr "Implizite und normale Regel vermischt." + +#: read.c:1592 #, c-format -msgid "Makefile `%s' might loop; not remaking it.\n" -msgstr "" -"«make»-Steuerdatei «%s» könnte eine Schleife enthalten; \n" -"es wird nicht neu erzeugt.\n" +msgid "target `%s' doesn't match the target pattern" +msgstr "Target »%s« passt nicht zum Target-Muster" -#. A normal makefile. We must die later. -#: make-3.76.1/main.c:1379 +#: read.c:1624 read.c:1722 #, c-format -msgid "Makefile `%s' was not found" -msgstr "Die «make»-Steuerdatei «%s» wurde nicht gefunden" +msgid "target file `%s' has both : and :: entries" +msgstr "Target »%s« enthält sowohl »:« als auch »::« Einträge" -#: make-3.76.1/arscan.c:718 +#: read.c:1629 #, c-format -msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n" -msgstr "" -"Eintrag «%s» %s: \n" -"%ld bytes an Position %ld (%ld).\n" +msgid "target `%s' given more than once in the same rule." +msgstr "Target »%s« steht mehrfach in derselben Regel." -#: make-3.76.1/remake.c:594 +#: read.c:1638 #, c-format -msgid "Must remake target `%s'.\n" -msgstr "Das Target «%s» muß neu erzeugt werden.\n" +msgid "warning: overriding commands for target `%s'" +msgstr "Warnung: Überschreibe die Kommandos für das Target »%s«." -#: make-3.76.1/amiga.c:48 -msgid "MyExecute: Cannot allocate space for calling a command" -msgstr "MyExecute: Kann keinen Speicher für Kommandoaufruf belegen." +#: read.c:1640 +#, c-format +msgid "warning: ignoring old commands for target `%s'" +msgstr "Warnung: Ignoriere alte Kommandos für das Target »%s«." -#: make-3.76.1/dir.c:899 make-3.76.1/dir.c:919 -msgid "No" -msgstr "Keine" +#: read.c:2140 +msgid "warning: NUL character seen; rest of line ignored" +msgstr "Warnung: NUL-Zeichen gelesen; der Rest der Zeile wird ignoriert." -#: make-3.76.1/remake.c:564 +#: remake.c:220 #, c-format -msgid "No commands for `%s' and no dependencies actually changed.\n" -msgstr "Keine Kommandos für «%s» und keine Abhängigkeit wurde verändert.\n" +msgid "Nothing to be done for `%s'." +msgstr "Für das Target »%s« gibt es nichts zu tun." -#: make-3.76.1/remake.c:369 make-3.76.1/remake.c:766 +#: remake.c:221 #, c-format -msgid "No implicit rule found for `%s'.\n" -msgstr "Keine implizite Regel für «%s» gefunden.\n" +msgid "`%s' is up to date." +msgstr "»%s« ist bereits aktualisiert." -#: make-3.76.1/remake.c:572 +#: remake.c:289 #, c-format -msgid "No need to remake target `%s'" -msgstr "Es ist nicht notwendig, das Target «%s» neu zu erzeugen." +msgid "Pruning file `%s'.\n" +msgstr "Die Datei »%s« wird \"gestutzt\" (der Abhängigkeitsgraph).\n" -#: make-3.76.1/main.c:1560 -msgid "No targets" -msgstr "Keine Targets." - -#: make-3.76.1/main.c:1558 -msgid "No targets specified and no makefile found" -msgstr "Keine Targets angegeben und keine «make»-Steuerdatei gefunden." +#: remake.c:343 +#, c-format +msgid "Considering target file `%s'.\n" +msgstr "Betrachte Target-Datei »%s«.\n" -#: make-3.76.1/remake.c:215 +#: remake.c:350 #, c-format -msgid "Nothing to be done for `%s'." -msgstr "Für das Target «%s» gibt es nichts zu tun." +msgid "Recently tried and failed to update file `%s'.\n" +msgstr "" +"Versuchte gerade die Datei »%s« zu aktualisieren, \n" +"dies schlug aber fehl.\n" -#: make-3.76.1/main.c:1866 -msgid "Options:\n" -msgstr "Optionen:\n" +#: remake.c:354 +#, c-format +msgid "File `%s' was considered already.\n" +msgstr "Die Datei »%s« wurde bereits betrachtet.\n" -#: make-3.76.1/signame.c:173 -msgid "Power failure" -msgstr "Stromausfall" +#: remake.c:364 +#, c-format +msgid "Still updating file `%s'.\n" +msgstr "Die Datei »%s« wird immer noch aktualisiert.\n" -#: make-3.76.1/main.c:242 -msgid "Print lots of debugging information" -msgstr "Gebe viele Informationen zur Fehlersuche aus." +#: remake.c:367 +#, c-format +msgid "Finished updating file `%s'.\n" +msgstr "Aktualisierung der Datei »%s« beendet.\n" -#: make-3.76.1/main.c:293 -msgid "Print make's internal database" -msgstr "Gib die interne Datenbank von «make» aus." +#: remake.c:388 +#, c-format +msgid "File `%s' does not exist.\n" +msgstr "Die Datei »%s« existiert nicht.\n" -#: make-3.76.1/main.c:315 -msgid "Print the current directory" -msgstr "Gib das aktuelle Verzeichnis aus." +#: remake.c:398 remake.c:818 +#, c-format +msgid "Found an implicit rule for `%s'.\n" +msgstr "Eine implizite Regel für »%s« gefunden.\n" -#: make-3.76.1/main.c:312 -msgid "Print the version number of make and exit" -msgstr "Gib die Versionsnummer von «make» aus und beende." +#: remake.c:400 remake.c:820 +#, c-format +msgid "No implicit rule found for `%s'.\n" +msgstr "Keine implizite Regel für »%s« gefunden.\n" -#: make-3.76.1/main.c:256 -msgid "Print this message and exit" -msgstr "Gib diese Nachricht aus und beende." +#: remake.c:406 remake.c:826 +#, c-format +msgid "Using default commands for `%s'.\n" +msgstr "Verwende die Standard-Kommandos für »%s«.\n" -#: make-3.76.1/signame.c:197 -msgid "Profiling timer expired" -msgstr "Profiling Timer erloschen" +#: remake.c:426 remake.c:850 +#, c-format +msgid "Circular %s <- %s dependency dropped." +msgstr "Zirkuläre Datei %s <- %s Abhängigkeit wird nicht verwendet." -#: make-3.76.1/job.c:1091 +#: remake.c:504 #, c-format -msgid "Putting child 0x%08lx PID %05d%s on the chain.\n" -msgstr "Nehme Kindprozeß 0x%08lx PID %05d%s in die Kette auf.\n" +msgid "Finished prerequisites of target file `%s'.\n" +msgstr "Fertig mit den Voraussetzungen für die Ziel-Datei »%s«.\n" -#: make-3.76.1/signame.c:115 -msgid "Quit" -msgstr "Quit" +#: remake.c:510 +#, c-format +msgid "The prerequisites of `%s' are being made.\n" +msgstr "Die Voraussetzungen von »%s« werden fertiggestellt.\n" -#: make-3.76.1/main.c:1488 -msgid "Re-executing:" -msgstr "Erneute Ausführung:" +#: remake.c:523 +#, c-format +msgid "Giving up on target file `%s'.\n" +msgstr "Die Arbeit an der Target-Datei »%s« wurde aufgegeben.\n" -#: make-3.76.1/main.c:253 -msgid "Read FILE as a makefile" -msgstr "Lese die Datei DATEI als «make»-Steuerdatei." +#: remake.c:528 +#, c-format +msgid "Target `%s' not remade because of errors." +msgstr "Das Target »%s« wurde wegen Fehlern nicht aktualisiert." -#: make-3.76.1/read.c:312 +#: remake.c:576 #, c-format -msgid "Reading makefile `%s'" -msgstr "Lese «make»-Steuerdatei «%s»" +msgid "Prerequisite `%s' of target `%s' does not exist.\n" +msgstr "" +"Die Datei »%s«, Voraussetzung für das Ziel »%s«, \n" +"existiert nicht.\n" -#: make-3.76.1/read.c:138 -msgid "Reading makefiles..." -msgstr "Lese «make»-Steuerdateien ..." +#: remake.c:581 +#, c-format +msgid "Prerequisite `%s' is newer than target `%s'.\n" +msgstr "Die Datei »%s« ist jünger als das davon abhängige Ziel »%s«.\n" -#: make-3.76.1/job.c:501 +#: remake.c:584 #, c-format -msgid "Reaping %s child 0x%08lx PID %d%s\n" -msgstr "Sammle %s Kindprozeß 0x%08lx PID %d%s\n" +msgid "Prerequisite `%s' is older than target `%s'.\n" +msgstr "Die Datei »%s« ist älter als das davon abhängige Ziel »%s«.\n" -#: make-3.76.1/remake.c:319 +#: remake.c:602 #, c-format -msgid "Recently tried and failed to update file `%s'.\n" +msgid "Target `%s' is double-colon and has no prerequisites.\n" msgstr "" -"Versuchte gerade die Datei «%s» zu aktualisieren, \n" -"dies schlug aber fehl.\n" +"Das Ziel »%s« hat einen doppelten Doppelpunkt \n" +"und keine Voraussetzungen.\n" -#: make-3.76.1/expand.c:92 make-3.76.1/expand.c:97 +#: remake.c:608 #, c-format -msgid "Recursive variable `%s' references itself (eventually)" -msgstr "Rekursive Variable «%s» referenziert sich (schließlich) selbst." +msgid "No commands for `%s' and no prerequisites actually changed.\n" +msgstr "" +"Kein Kommando für »%s« und keine Voraussetzung \n" +"wurde tatsächlich verändert.\n" -#. If this dependency has already been ruled -#. "impossible", then the rule fails and don't -#. bother trying it on the second pass either -#. since we know that will fail too. -#: make-3.76.1/implicit.c:376 +#: remake.c:616 #, c-format -msgid "Rejecting impossible %s dependency `%s'.\n" -msgstr "Unmögliche %s Abhängigkeit «%s» abgelehnt.\n" +msgid "No need to remake target `%s'" +msgstr "Es ist nicht notwendig, das Target »%s« neu zu erzeugen." -#: make-3.76.1/job.c:589 +#: remake.c:618 #, c-format -msgid "Removing child 0x%08lx PID %d%s from chain.\n" -msgstr "Entferne Kindprozeß 0x%08lx PID %d%s aus der Kette.\n" +msgid "; using VPATH name `%s'" +msgstr "; benutze VPATH-Name »%s«" -#: make-3.76.1/main.c:1152 -msgid "Resetting make for single job mode." -msgstr "«make» wird so umgestellt, dass nur ein Job laufen kann." +#: remake.c:638 +#, c-format +msgid "Must remake target `%s'.\n" +msgstr "Das Target »%s« muß neu erzeugt werden.\n" -#: make-3.76.1/signame.c:228 -msgid "Resource lost" -msgstr "Ressource verloren gegangen" +#: remake.c:644 +#, c-format +msgid " Ignoring VPATH name `%s'.\n" +msgstr " Ignoriere VPATH-Name »%s«.\n" -#: make-3.76.1/main.c:296 -msgid "Run no commands; exit status says if up to date" -msgstr "" -"Keine Kommandos ausführen; der Exit-Status gibt an, ob die Dateien\n" -"aktuell sind." +#: remake.c:653 +#, c-format +msgid "Commands of `%s' are being run.\n" +msgstr "Die Kommandos von »%s« werden gerade ausgeführt.\n" -#: make-3.76.1/main.c:262 -msgid "Search DIRECTORY for included makefiles" -msgstr "Durchsuche das VERZEICHNIS nach eingebundenen «make»-Steuerdateien." +#: remake.c:660 +#, c-format +msgid "Failed to remake target file `%s'.\n" +msgstr "Fehler beim Aktualisieren der Target-Datei »%s«.\n" -#: make-3.76.1/signame.c:144 -msgid "Segmentation fault" -msgstr "Adressierungsdefekt" +#: remake.c:663 +#, c-format +msgid "Successfully remade target file `%s'.\n" +msgstr "Die Target-Datei »%s« wurde erfolgreich aktualisiert.\n" -#: make-3.76.1/remake.c:333 +#: remake.c:666 #, c-format -msgid "Still updating file `%s'.\n" -msgstr "Die Datei «%s» wird immer noch aktualisiert.\n" +msgid "Target file `%s' needs remade under -q.\n" +msgstr "Target »%s« muss bei -q aktualisiert werden.\n" -#: make-3.76.1/signame.c:176 -msgid "Stopped" -msgstr "Angehalten" +#: remake.c:967 +#, c-format +msgid "%sNo rule to make target `%s'%s" +msgstr "%sKeine Regel, um »%s« zu erstellen%s" -#: make-3.76.1/signame.c:185 -msgid "Stopped (signal)" -msgstr "Angehalten (signal)" +#: remake.c:969 +#, c-format +msgid "%sNo rule to make target `%s', needed by `%s'%s" +msgstr "" +"%sKeine Regel vorhanden, um das Target »%s«, \n" +" benötigt von »%s«, zu erstellen%s" -#: make-3.76.1/signame.c:179 -msgid "Stopped (tty input)" -msgstr "Angehalten (tty input)" +#: remake.c:1170 +#, c-format +msgid "*** Warning: File `%s' has modification time in the future (%s > %s)" +msgstr "*** Warnung: Datei »%s« hat Änderungszeit aus der Zukunft (%s > %s)!" -#: make-3.76.1/signame.c:182 -msgid "Stopped (tty output)" -msgstr "Angehalten (tty output)" +#: remake.c:1284 +#, c-format +msgid ".LIBPATTERNS element `%s' is not a pattern" +msgstr ".LIBPATTERNS Element `%s' ist kein Muster" -#: make-3.76.1/remake.c:624 +#: remote-cstms.c:127 #, c-format -msgid "Successfully remade target file `%s'.\n" -msgstr "Die Target-Datei «%s» wurde erfolgreich aktualisiert.\n" +msgid "Customs won't export: %s\n" +msgstr "Customs wird nicht exportieren: %s\n" -#: make-3.76.1/main.c:246 -msgid "Suspend process to allow a debugger to attach" -msgstr "Setze Prozess aus, um das Einklinken eines Debuggers zu ermöglichen." +#: rule.c:671 +msgid "\n# No implicit rules." +msgstr "\n# Keine impliziten Regeln vorhanden." -#: make-3.76.1/remake.c:559 +#: rule.c:674 #, c-format -msgid "Target `%s' is double-colon and has no dependencies.\n" -msgstr "" -"Das Target «%s» hat einen doppelten Doppelpunkt \n" -"und keine Abhängigkeiten.\n" +msgid "\n# %u implicit rules, %u" +msgstr "\n# %u implizite Regeln, %u" -#: make-3.76.1/remake.c:500 -#, c-format -msgid "Target `%s' not remade because of errors." -msgstr "Das Target «%s» wurde wegen Fehlern nicht aktualisiert." +#: rule.c:683 +msgid " terminal." +msgstr " Terminal." -#: make-3.76.1/remake.c:627 +#: rule.c:691 #, c-format -msgid "Target file `%s' needs remade under -q.\n" -msgstr "Target «%s» muss bei -q aktualisiert werden.\n" +msgid "BUG: num_pattern_rules wrong! %u != %u" +msgstr "BUG: »num_pattern_rules« falsch! %u != %u" -#: make-3.76.1/signame.c:156 -msgid "Terminated" -msgstr "Abgebrochen (Terminated)" +#: rule.c:695 +msgid "\n# Pattern-specific variable values" +msgstr "\n# Musterspezifische Variablenwerte" + +#: rule.c:710 +msgid "\n# No pattern-specific variable values." +msgstr "\n# Keine Musterspezifischen Variablenwerte" -#: make-3.76.1/remake.c:483 +#: rule.c:713 #, c-format -msgid "The dependencies of `%s' are being made.\n" -msgstr "Die Abhängigkeiten von «%s» werden festgestellt.\n" +msgid "\n# %u pattern-specific variable values" +msgstr "\n# %u Musterspezifische Variablenwerte" -#: make-3.76.1/main.c:309 -msgid "Touch targets instead of remaking them" -msgstr "" -"Die Targets werden nur als aktualisiert markiert,\n" -"nicht tatsächlich erneuert." +#: signame.c:97 +msgid "unknown signal" +msgstr "Unbekanntes Signal" -#: make-3.76.1/signame.c:121 +#: signame.c:108 +msgid "Hangup" +msgstr "Aufgelegt" + +#: signame.c:111 +msgid "Interrupt" +msgstr "Abgebrochen (Interrupt)" + +#: signame.c:114 +msgid "Quit" +msgstr "Quit" + +#: signame.c:117 +msgid "Illegal Instruction" +msgstr "Illegaler Befehl" + +#: signame.c:120 msgid "Trace/breakpoint trap" msgstr "Verfolgen/anhalten abfangen (Trace/breakpoint trap)" -#: make-3.76.1/implicit.c:384 -#, c-format -msgid "Trying %s dependency `%s'.\n" -msgstr "Versuche %s Abhängigkeit «%s».\n" - -#: make-3.76.1/implicit.c:337 -#, c-format -msgid "Trying pattern rule with stem `%.*s'.\n" -msgstr "Versuche Muster-Regel mit Ersetzung «%.*s».\n" +#: signame.c:125 +msgid "Aborted" +msgstr "Abgebrochen (Aborted)" -#: make-3.76.1/main.c:318 -msgid "Turn off -w, even if it was turned on implicitly" -msgstr "Schalte -w aus, selbst wenn es implizit eingeschaltet wurde." +#: signame.c:128 +msgid "IOT trap" +msgstr "IOT abfangen (IOT trap)" -#: make-3.76.1/main.c:306 -msgid "Turns off -k" -msgstr "Schaltet -k ab." +#: signame.c:131 +msgid "EMT trap" +msgstr "EMT abfangen (EMT trap)" -#: make-3.76.1/misc.c:282 -#, c-format -msgid "Unknown error %d" -msgstr "Unbekannter Fehler %d." +#: signame.c:134 +msgid "Floating point exception" +msgstr "Gleitkommafehler" -#: make-3.76.1/misc.c:277 -msgid "Unknown error 12345678901234567890" -msgstr "Unbekannter Fehler 12345678901234567890" +#: signame.c:137 +msgid "Killed" +msgstr "Abgebrochen (Killed)" -#: make-3.76.1/job.c:491 -#, c-format -msgid "Unknown%s job %d" -msgstr "Unbekannter%s Job %d" +#: signame.c:140 +msgid "Bus error" +msgstr "Bus-Fehler" -#: make-3.76.1/main.c:1532 -msgid "Updating goal targets...." -msgstr "Aktualisieren der Targets...." +#: signame.c:143 +msgid "Segmentation fault" +msgstr "Adressierungsdefekt" -#: make-3.76.1/main.c:1262 -msgid "Updating makefiles...." -msgstr "Aktualisiere «make»-Steuerdateien...." +#: signame.c:146 +msgid "Bad system call" +msgstr "Falscher Systemaufruf" -#: make-3.76.1/signame.c:209 -msgid "Urgent I/O condition" -msgstr "Dringende I/O-Bedingung" +#: signame.c:149 +msgid "Broken pipe" +msgstr "Zerstörte Pipe" -#: make-3.76.1/main.c:1864 -#, c-format -msgid "Usage: %s [options] [target] ...\n" -msgstr "Syntax: %s [Optionen] [Target] ...\n" +#: signame.c:152 +msgid "Alarm clock" +msgstr "Wecksignal" -#: make-3.76.1/misc.c:666 -msgid "User" -msgstr "Nutzer" +#: signame.c:155 +msgid "Terminated" +msgstr "Abgebrochen (Terminated)" -#: make-3.76.1/signame.c:159 +#: signame.c:158 msgid "User defined signal 1" msgstr "Nutzersignal 1" -#: make-3.76.1/signame.c:162 +#: signame.c:161 msgid "User defined signal 2" msgstr "Nutzersignal 2" -#: make-3.76.1/remake.c:375 make-3.76.1/remake.c:772 -#, c-format -msgid "Using default commands for `%s'.\n" -msgstr "Verwende die Standard-Kommandos für «%s».\n" +#: signame.c:166 signame.c:169 +msgid "Child exited" +msgstr "Kindprozeß beendet" + +#: signame.c:172 +msgid "Power failure" +msgstr "Stromausfall" + +#: signame.c:175 +msgid "Stopped" +msgstr "Angehalten" + +#: signame.c:178 +msgid "Stopped (tty input)" +msgstr "Angehalten (tty input)" + +#: signame.c:181 +msgid "Stopped (tty output)" +msgstr "Angehalten (tty output)" -#: make-3.76.1/signame.c:194 +#: signame.c:184 +msgid "Stopped (signal)" +msgstr "Angehalten (signal)" + +#: signame.c:187 +msgid "CPU time limit exceeded" +msgstr "CPU-Zeitschranke überschritten" + +#: signame.c:190 +msgid "File size limit exceeded" +msgstr "Dateigrößenschranke überschritten" + +#: signame.c:193 msgid "Virtual timer expired" msgstr "Virtueller Timer erloschen" -#: make-3.76.1/main.c:324 -msgid "Warn when an undefined variable is referenced" -msgstr "" -"Gib eine Warnung aus, wenn eine undefinierte Variable referenziert wird." +#: signame.c:196 +msgid "Profiling timer expired" +msgstr "Profiling Timer erloschen" -#: make-3.76.1/signame.c:203 +#: signame.c:202 msgid "Window changed" msgstr "Fenster hat sich verändert" -#: make-3.76.1/job.c:233 -#, c-format -msgid "[%s] Error %d (ignored)" -msgstr "[%s] Fehler %d (ignoriert)" +#: signame.c:205 +msgid "Continued" +msgstr "Fortgesetzt" -#: make-3.76.1/remake.c:216 -#, c-format -msgid "`%s' is up to date." -msgstr "«%s» ist bereits aktualisiert." +#: signame.c:208 +msgid "Urgent I/O condition" +msgstr "Dringende I/O-Bedingung" -#: make-3.76.1/variable.c:880 -msgid "`override' directive" -msgstr "«override»-Anweisung" +#: signame.c:215 signame.c:224 +msgid "I/O possible" +msgstr "I/O möglich" -#: make-3.76.1/main.c:2432 -msgid "an unknown directory" -msgstr "ein unbekanntes Verzeichnis" +#: signame.c:218 +msgid "SIGWIND" +msgstr "SIGWIND" -#: make-3.76.1/w32/subproc/sub_proc.c:971 -#, c-format -msgid "arg with white space or doublequotes: %s\n" -msgstr "Argument mit Leerzeichen oder Anführungszeichen: %s\n" +#: signame.c:221 +msgid "SIGPHONE" +msgstr "SIGPHONE" -#: make-3.76.1/ar.c:49 -#, c-format -msgid "attempt to use unsupported feature: `%s'" -msgstr "Versuch, eine nicht unterstützte Funktionalität zu verwenden: «%s»." +#: signame.c:227 +msgid "Resource lost" +msgstr "Ressource verloren gegangen" -#: make-3.76.1/function.c:756 make-3.76.1/variable.c:883 -msgid "automatic" -msgstr "automatisch" +#: signame.c:230 +msgid "Danger signal" +msgstr "Gefahrensignal" -#: make-3.76.1/file.c:294 -#, c-format -msgid "but `%s' is now considered the same file as `%s'." -msgstr "" -"aber «%s» wird jetzt als dieselbe Datei \n" -"wie «%s» betrachtet." +#: signame.c:233 +msgid "Information request" +msgstr "Informationsanforderung" -#: make-3.76.1/file.c:324 +#: signame.c:236 +msgid "Floating point co-processor not available" +msgstr "Es ist kein Koprozessor für Fließkommaoperationen vorhanden." + +#: variable.c:1128 +msgid "# No variables." +msgstr "# Keine Variablen vorhanden." + +#: variable.c:1131 #, c-format -msgid "can't rename double-colon `%s' to single-colon `%s'" -msgstr "" -"«%s» mit doppeltem Doppelpunkt kann nicht in \n" -"«%s» mit einfachem Doppelpunkt geändert werden." +msgid "# %u variables in %u hash buckets.\n" +msgstr "# %u Variablen für %u hash-Werte.\n" -#: make-3.76.1/file.c:319 +#: variable.c:1134 #, c-format -msgid "can't rename single-colon `%s' to double-colon `%s'" -msgstr "" -"«%s» mit einfachem Doppelpunkt kann nicht in \n" -"«%s» mit doppeltem Doppelpunkt geändert werden." +msgid "# average of %.1f variables per bucket, max %u in one bucket.\n" +msgstr "# Durchschnittlich %.1f Variablen pro Wert, max %u je Wert.\n" -#: make-3.76.1/job.c:1316 -msgid "cannot enforce load limit: " -msgstr "Lasteinschränkung kann nicht erzwungen werden: " +#: variable.c:1141 +#, c-format +msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n" +msgstr "# Durchschnittlich %d.%d Variablen pro Wert, max %u je Wert.\n" -#. An errno value of zero means getloadavg is just unsupported. -#: make-3.76.1/job.c:1314 -msgid "cannot enforce load limits on this operating system" -msgstr "" -"Auf diesem Betriebssystem kann die Einhaltung\n" -"der Lastbeschränkung nicht erzwungen werden." +#: variable.c:1156 +msgid "\n# Variables\n" +msgstr "\n# Variablen\n" -#: make-3.76.1/function.c:750 make-3.76.1/variable.c:877 -msgid "command line" -msgstr "Kommandozeile" +#: vpath.c:552 +msgid "\n# VPATH Search Paths\n" +msgstr "\n# VPATH Suchpfade\n" -#: make-3.76.1/read.c:700 -msgid "commands commence before first target" -msgstr "Kommandos beginnen vor dem ersten Target." +#: vpath.c:569 +msgid "# No `vpath' search paths." +msgstr "# Keine »vpath« Suchpfade." -#: make-3.76.1/function.c:429 +#: vpath.c:571 #, c-format -msgid "create_child_process: DuplicateHandle(Err) failed (e=%d)\n" -msgstr "«create_child_process»: «DuplicateHandle(Err)» schlug fehl (e=%d).\n" +msgid "\n# %u `vpath' search paths.\n" +msgstr "\n# %u »vpath« Suchpfade.\n" -#: make-3.76.1/function.c:419 -#, c-format -msgid "create_child_process: DuplicateHandle(In) failed (e=%d)\n" -msgstr "«create_child_process»: «DuplicateHandle(In)» schlug fehl (e=%d).\n" +#: vpath.c:574 +msgid "\n# No general (`VPATH' variable) search path." +msgstr "\n# Kein allgemeiner (Variable »VPATH«) Suchpfad." -#: make-3.76.1/getopt.c:1017 make-3.76.1/getopt1.c:149 -msgid "digits occur in two different argv-elements.\n" +#: vpath.c:580 +msgid "" +"\n" +"# General (`VPATH' variable) search path:\n" +"# " msgstr "" -"Zahlen erscheinen in zwei verschiedenen \n" -"Einträgen des «argv»-Vektors.\n" +"\n" +"# Allgemeiner (Variable »VPATH«) Suchpfad:\n" +"# " -#: make-3.76.1/main.c:2434 -#, c-format -msgid "directory `%s'\n" -msgstr "Verzeichnis «%s»\n" +#~ msgid "\n# Implicit Rules" +#~ msgstr "\n# Implizite Regeln" -#: make-3.76.1/main.c:785 -msgid "done sleep(30). Continuing.\n" -msgstr "«sleep(30)» ist abgeschlossen. Es geht weiter.\n" +#~ msgid " not" +#~ msgstr " nicht" -#: make-3.76.1/read.c:528 make-3.76.1/read.c:550 -msgid "empty `override' directive" -msgstr "Leere «override» Anweisung." +#~ msgid " remote" +#~ msgstr " entfernter" -#: make-3.76.1/w32/subproc/sub_proc.c:924 -#, c-format -msgid "empty string arg: %s\n" -msgstr "Argument ist leere Zeichenkette: %s.\n" +#~ msgid " with arg %s" +#~ msgstr "mit Argument %s" -#: make-3.76.1/main.c:417 -msgid "empty string invalid as file name" -msgstr "Eine leere Zeichenkette ist als Dateiname ungültig." +#~ msgid "%s finished." +#~ msgstr "%s beendet." -#: make-3.76.1/variable.c:705 make-3.76.1/variable.c:707 -msgid "empty variable name" -msgstr "Leerer Variablenname" +#~ msgid "%s: unknown signal" +#~ msgstr "%s: unbekanntes Signal" -#: make-3.76.1/function.c:741 make-3.76.1/variable.c:868 -msgid "environment" -msgstr "Umgebung" +#~ msgid "%sGNU Make version %s" +#~ msgstr "%sGNU Make Version %s" -#: make-3.76.1/function.c:747 -msgid "environment override" -msgstr "Umgebung überschrieben" +#~ msgid "1-minute: %f " +#~ msgstr "1-Minuten-Schnitt: %f " -#: make-3.76.1/variable.c:874 -msgid "environment under -e" -msgstr "Umgebung per -e" +#~ msgid "15-minute: %f " +#~ msgstr "15-Minuten-Schnitt: %f " -#: make-3.76.1/job.c:1605 -msgid "execve: " -msgstr "«execve»: " +#~ msgid "5-minute: %f " +#~ msgstr "5-Minuten-Schnitt: %f " -#: make-3.76.1/job.c:1704 make-3.76.1/job.c:1709 -msgid "execvp: " -msgstr "«execvp»: " +#~ msgid "?? getopt returned character code 0%o ??\n" +#~ msgstr "?? »getopt« lieferte Zeichencode 0%o ??\n" -#: make-3.76.1/function.c:439 -msgid "expand_function: process_init_fd() failed\n" -msgstr "«expand_function»: «process_init_fd()» schlug fehl.\n" +#~ msgid "Allow N jobs at once; infinite jobs with no arg" +#~ msgstr "" +#~ "Erlaube N Jobs gleichzeitig; unbegrenzte Anzahl \n" +#~ "von Jobs ohne Argument." -#: make-3.76.1/function.c:449 -#, c-format -msgid "expand_function: unable to launch process (e=%d)\n" -msgstr "«expand_function»: Der Prozess kann nicht gestartet werden (e=%d).\n" +#~ msgid "Change to DIRECTORY before doing anything" +#~ msgstr "Wechsle in das VERZEICHNIS bevor etwas anderes ausgeführt wird." -#: make-3.76.1/remote-cstms.c:138 -msgid "exporting: " -msgstr "Export: " +#~ msgid "Child" +#~ msgstr "Kindprozess" -#: make-3.76.1/remote-cstms.c:171 -#, c-format -msgid "exporting: %s" -msgstr "Export: %s" +#~ msgid "Consider FILE to be infinitely new" +#~ msgstr "Betrachte die DATEI stets als neu." -#: make-3.76.1/remote-cstms.c:129 -msgid "exporting: Couldn't create return socket." -msgstr "Export: Konnte Rückverbindung nicht herstellen." +#~ msgid "Consider FILE to be very old and don't remake it" +#~ msgstr "Betrachte DATEI als sehr alt und erzeuge sie nicht neu." -#: make-3.76.1/read.c:1015 -#, c-format -msgid "extraneous `%s'" -msgstr "Überflüssiges «%s»" +#~ msgid "DIRECTORY" +#~ msgstr "VERZEICHNIS" -#: make-3.76.1/read.c:502 -msgid "extraneous `endef'" -msgstr "Überflüssiges «endef»." +#~ msgid "Dependency `%s' does not exist.\n" +#~ msgstr "Abhängigkeit »%s« existiert nicht.\n" -#: make-3.76.1/main.c:1039 -msgid "fopen (temporary file)" -msgstr "fopen (temporäre Datei)" +#~ msgid "Disable the built-in implicit rules" +#~ msgstr "Deaktivieren der eingebauten impliziten Regeln." -#: make-3.76.1/main.c:1045 -msgid "fwrite (temporary file)" -msgstr "fwrite (temporäre Datei)" +#~ msgid "Don't actually run any commands; just print them" +#~ msgstr "Kommandos nur anzeigen, nicht ausführen." -#: make-3.76.1/main.c:689 make-3.76.1/main.c:1000 -msgid "getcwd: " -msgstr "«getcwd»: " +#~ msgid "Don't echo commands" +#~ msgstr "Gebe die Kommandos nicht aus." -#: make-3.76.1/main.c:691 make-3.76.1/main.c:1002 -#, c-format -msgid "getwd: %s" -msgstr "«getwd»: %s" +#~ msgid "Don't start multiple jobs unless load is below N" +#~ msgstr "Nur bei Belastung unterhalb N mehrere Prozesse starten." -#: make-3.76.1/implicit.c:377 make-3.76.1/implicit.c:385 -msgid "implicit" -msgstr "implizite" +#~ msgid "Environment variables override makefiles" +#~ msgstr "Umgebungsvariablen überschreiben »make«-Steuerdateien." -#: make-3.76.1/implicit.c:422 -msgid "intermediate" -msgstr "Zwischenstufe" +#~ msgid "Error %ld" +#~ msgstr "Fehler %ld" -#: make-3.76.1/job.c:1419 -#, c-format -msgid "internal error: `%s' command_state %d in child_handler" -msgstr "Interner Fehler: «%s» command_state %d in child_handler." +#~ msgid "Error getting load average" +#~ msgstr "Fehler beim Bestimmen der durchschnittlichen Last." -#: make-3.76.1/read.c:494 -msgid "invalid syntax in conditional" -msgstr "Ungültige Syntax in der Bedingung." +#~ msgid "Error mallocing for FAB\n" +#~ msgstr "Fehler bei Speicherzuteilung (xmalloc) für »FAB«.\n" -#: make-3.76.1/arscan.c:154 -#, c-format -msgid "lbr$ini_control failed with status = %d" -msgstr "«lbr$ini_control» schlug mit Status = %d fehl." +#~ msgid "Error mallocing for NAM\n" +#~ msgstr "Fehler bei Speicherzuteilung (xmalloc) für »NAM«.\n" -#: make-3.76.1/arscan.c:72 -#, c-format -msgid "lbr$set_module failed to extract module info, status = %d" -msgstr "«lbr$set_module» konnte keine Modulinformation auslesen; Status = %d." +#~ msgid "Error mallocing for direct\n" +#~ msgstr "Fehler bei Speicherzuteilung (xmalloc) für »direct«.\n" -#: make-3.76.1/job.c:502 -msgid "losing" -msgstr "erfolglosen" +#~ msgid "Error mallocing for searchspec\n" +#~ msgstr "Fehler bei Speicherzuteilung (xmalloc) für »searchspec«.\n" -#: make-3.76.1/job.c:1654 -#, c-format -msgid "make reaped child pid %d, still waiting for pid %d\n" -msgstr "" -"«make» registrierte die Beendigung des Kindprozesses mit ID %d,\n" -"wartet jedoch noch auf den Prozess mit ID %d.\n" +#~ msgid "Error spawning, %d\n" +#~ msgstr "Fehler beim Starten eines Kindprozesses, %d.\n" -#. No `endef'!! -#: make-3.76.1/read.c:955 -msgid "missing `endef', unterminated `define'" -msgstr "Fehlendes «endef», nicht abgeschlossenes «define»" +#~ msgid "ExceptionAddress = %x\\r\n" +#~ msgstr "Ausnahmeadresse (ExceptionAddress) = %x\\r\n" -#: make-3.76.1/read.c:864 -msgid "missing `endif'" -msgstr "Fehlendes «endif»" +#~ msgid "ExceptionCode = %x\\r\n" +#~ msgstr "Ausnahmekode (ExceptionCode) = %x\\r\n" -#: make-3.76.1/read.c:744 -msgid "missing rule before commands" -msgstr "Es fehlt eine Regel vor den Kommandos." +#~ msgid "ExceptionFlags = %x\\r\n" +#~ msgstr "Ausnahmemerkmale (ExceptionFlags) = %x\\r\n" -#: make-3.76.1/read.c:763 -msgid "missing separator" -msgstr "Fehlendes Trennzeichen." +#~ msgid "FILE" +#~ msgstr "DATEI" -#: make-3.76.1/read.c:817 -msgid "missing target pattern" -msgstr "Es fehlt ein Target-Muster" +#~ msgid "Ignore errors from commands" +#~ msgstr "Ignoriere Fehler in den Kommandos." -#: make-3.76.1/read.c:1280 -msgid "mixed implicit and normal rules" -msgstr "Implizite und normale Regel vermischt." +#~ msgid "Ignored for compatibility" +#~ msgstr "Aus Kompatibilitätsgründen ignoriert." -#: make-3.76.1/read.c:1277 -msgid "mixed implicit and static pattern rules" -msgstr "Implizite und statische Muster-Regel vermischt." +#~ msgid "Job exported to %s ID %u\n" +#~ msgstr "Job nach %s ID %u exportiert\n" -#: make-3.76.1/read.c:819 -msgid "multiple target patterns" -msgstr "Mehrfache Target-Muster." +#~ msgid "Keep going when some targets can't be made" +#~ msgstr "Weiterlaufen, auch wenn einige Targets nicht erzeugt werden konnten." -#: make-3.76.1/vmsfunctions.c:227 -msgid "never" -msgstr "niemals" +#~ msgid "MyExecute: Cannot allocate space for calling a command" +#~ msgstr "MyExecute: Kann keinen Speicher für Kommandoaufruf belegen." -#: make-3.76.1/remake.c:548 -msgid "newer" -msgstr "jünger" +#~ msgid "Print lots of debugging information" +#~ msgstr "Gebe viele Informationen zur Fehlersuche aus." -#: make-3.76.1/dir.c:904 make-3.76.1/dir.c:924 -msgid "no" -msgstr "keine" +#~ msgid "Print make's internal database" +#~ msgstr "Gib die interne Datenbank von »make« aus." -#: make-3.76.1/read.c:634 -#, c-format -msgid "no file name for `%sinclude'" -msgstr "Kein Dateiname für «%sinclude»." +#~ msgid "Print the current directory" +#~ msgstr "Gib das aktuelle Verzeichnis aus." -#: make-3.76.1/function.c:1175 make-3.76.1/function.c:1177 -msgid "non-numeric first argument to `word' function" -msgstr "Nicht-numerisches erstes Argument zur «word»-Funktion." +#~ msgid "Print the version number of make and exit" +#~ msgstr "Gib die Versionsnummer von »make« aus und beende." -#: make-3.76.1/function.c:1242 make-3.76.1/function.c:1244 -msgid "non-numeric first argument to `wordlist' function" -msgstr "Nicht-numerisches erstes Argument für die «wordlist»-Funktion." +#~ msgid "Print this message and exit" +#~ msgstr "Gib diese Nachricht aus und beende." -#: make-3.76.1/function.c:1271 make-3.76.1/function.c:1273 -msgid "non-numeric second argument to `wordlist' function" -msgstr "Nicht-numerisches zweites Argument zur «wordlist»-Funktion." +#~ msgid "Read FILE as a makefile" +#~ msgstr "Lese die Datei DATEI als »make«-Steuerdatei." -#: make-3.76.1/getopt.c:1044 make-3.76.1/getopt1.c:180 -msgid "non-option ARGV-elements: " -msgstr "Einträge im «argv»-Vektor, die nicht Option sind: " +#~ msgid "Run no commands; exit status says if up to date" +#~ msgstr "" +#~ "Keine Kommandos ausführen; der Exit-Status gibt an, ob die Dateien\n" +#~ "aktuell sind." -#: make-3.76.1/remake.c:548 -msgid "older" -msgstr "älter" +#~ msgid "Search DIRECTORY for included makefiles" +#~ msgstr "Durchsuche das VERZEICHNIS nach eingebundenen »make«-Steuerdateien." -#: make-3.76.1/read.c:1020 -msgid "only one `else' per conditional" -msgstr "Es ist nur ein «else» je Verzweigung erlaubt." +#~ msgid "Suspend process to allow a debugger to attach" +#~ msgstr "Setze Prozess aus, um das Einklinken eines Debuggers zu ermöglichen." -#: make-3.76.1/getopt.c:1019 make-3.76.1/getopt1.c:151 -#, c-format -msgid "option %c\n" -msgstr "Option %c\n" +#~ msgid "Touch targets instead of remaking them" +#~ msgstr "" +#~ "Die Targets werden nur als aktualisiert markiert,\n" +#~ "nicht tatsächlich erneuert." -#: make-3.76.1/getopt1.c:132 -#, c-format -msgid "option %s" -msgstr "Option %s" +#~ msgid "Trying %s dependency `%s'.\n" +#~ msgstr "Versuche %s Abhängigkeit »%s«.\n" -#: make-3.76.1/getopt.c:1023 make-3.76.1/getopt1.c:155 -msgid "option a\n" -msgstr "Option a\n" +#~ msgid "Turn off -w, even if it was turned on implicitly" +#~ msgstr "Schalte -w aus, selbst wenn es implizit eingeschaltet wurde." -#: make-3.76.1/getopt.c:1027 make-3.76.1/getopt1.c:159 -msgid "option b\n" -msgstr "Option b\n" +#~ msgid "Turns off -k" +#~ msgstr "Schaltet -k ab." -#: make-3.76.1/getopt.c:1031 make-3.76.1/getopt1.c:163 -#, c-format -msgid "option c with value `%s'\n" -msgstr "Option c mit Wert `%s'\n" +#~ msgid "Unknown error 12345678901234567890" +#~ msgstr "Unbekannter Fehler 12345678901234567890" -#: make-3.76.1/getopt1.c:167 -#, c-format -msgid "option d with value `%s'\n" -msgstr "Option d mit Wert «%s»\n" +#~ msgid "Unknown%s job %d" +#~ msgstr "Unbekannter%s Job %d" -#: make-3.76.1/w32/subproc/sub_proc.c:918 -#, c-format -msgid "original arg: %s\n" -msgstr "Ursprüngliches Argument: %s\n" +#~ msgid "User" +#~ msgstr "Nutzer" -#: make-3.76.1/function.c:753 make-3.76.1/read.c:524 -msgid "override" -msgstr "überschreiben" +#~ msgid "Warn when an undefined variable is referenced" +#~ msgstr "Gib eine Warnung aus, wenn eine undefinierte Variable referenziert wird." -#: make-3.76.1/w32/subproc/sub_proc.c:976 -#, c-format -msgid "plain arg: %s\n" -msgstr "Pures Argument: %s\n" +#~ msgid "arg with white space or doublequotes: %s\n" +#~ msgstr "Argument mit Leerzeichen oder Anführungszeichen: %s\n" -#: make-3.76.1/w32/subproc/sub_proc.c:520 -#, c-format -msgid "process_begin: CreateProcess(%s, %s, ...) failed.\n" -msgstr "«process_begin»: «CreateProcess(%s, %s, ...)» schlug fehl.\n" +#~ msgid "automatic" +#~ msgstr "automatisch" -#: make-3.76.1/job.c:1028 make-3.76.1/job.c:1625 -#, c-format -msgid "process_easy() failed failed to launch process (e=%d)\n" -msgstr "«process_easy()» konnte den Prozess nicht starten (e=%d).\n" +#~ msgid "command line" +#~ msgstr "Kommandozeile" -#: make-3.76.1/w32/subproc/sub_proc.c:1111 -#, c-format -msgid "process_easy: DuplicateHandle(Err) failed (e=%d)\n" -msgstr "«process_easy»: «DuplicateHandle(Err)» schlug fehl (e=%d).\n" +#~ msgid "digits occur in two different argv-elements.\n" +#~ msgstr "" +#~ "Zahlen erscheinen in zwei verschiedenen \n" +#~ "Einträgen des »argv«-Vektors.\n" -#: make-3.76.1/w32/subproc/sub_proc.c:1087 -#, c-format -msgid "process_easy: DuplicateHandle(In) failed (e=%d)\n" -msgstr "«process_easy»: «DuplicateHandle(In)» schlug fehl (e=%d).\n" +#~ msgid "empty string arg: %s\n" +#~ msgstr "Argument ist leere Zeichenkette: %s.\n" -#: make-3.76.1/w32/subproc/sub_proc.c:1099 -#, c-format -msgid "process_easy: DuplicateHandle(Out) failed (e=%d)\n" -msgstr "«process_easy»: «DuplicateHandle(Out)» schlug fehl (e=%d).\n" +#~ msgid "environment" +#~ msgstr "Umgebung" -#: make-3.76.1/main.c:504 -msgid "read" -msgstr "Lese" +#~ msgid "environment override" +#~ msgstr "Umgebung überschrieben" -#: make-3.76.1/implicit.c:377 make-3.76.1/implicit.c:385 -msgid "rule" -msgstr "explizite" +#~ msgid "environment under -e" +#~ msgstr "Umgebung per -e" -#: make-3.76.1/vmsfunctions.c:81 -#, c-format -msgid "sys$search failed with %d\n" -msgstr "«sys$search» schlug mit %d fehl.\n" +#~ msgid "execve: " +#~ msgstr "»execve«: " -#: make-3.76.1/read.c:1320 -#, c-format -msgid "target `%s' doesn't match the target pattern" -msgstr "Target «%s» passt nicht zum Target-Muster" +#~ msgid "execvp: " +#~ msgstr "»execvp«: " -#: make-3.76.1/read.c:1360 -#, c-format -msgid "target `%s' given more than once in the same rule." -msgstr "Target «%s» steht mehrfach in derselben Regel." +#~ msgid "expand_function: unable to launch process (e=%d)\n" +#~ msgstr "»expand_function«: Der Prozess kann nicht gestartet werden (e=%d).\n" -#: make-3.76.1/read.c:1352 make-3.76.1/read.c:1454 -#, c-format -msgid "target file `%s' has both : and :: entries" -msgstr "Target «%s» enthält sowohl «:» als auch «::» Einträge" +#~ msgid "exporting: " +#~ msgstr "Export: " -#: make-3.76.1/read.c:824 -msgid "target pattern contains no `%%'" -msgstr "Target-Muster enthält kein «%%»" +#~ msgid "exporting: %s" +#~ msgstr "Export: %s" -#: make-3.76.1/main.c:1813 -#, c-format -msgid "the `-%c' option requires a positive integral argument" -msgstr "Die Option «-%c» verlangt eine positive ganze Zahl als Argument." +#~ msgid "exporting: Couldn't create return socket." +#~ msgstr "Export: Konnte Rückverbindung nicht herstellen." -#: make-3.76.1/function.c:1185 make-3.76.1/function.c:1188 -msgid "the `word' function takes a one-origin index argument" -msgstr "Die «word»-Funktion erwartet ein eindeutiges Index-Argument." +#~ msgid "getcwd: " +#~ msgstr "»getcwd«: " -#: make-3.76.1/remake.c:845 -#, c-format -msgid "touch %s" -msgstr "%s wird als aktualisiert markiert." +#~ msgid "getwd: %s" +#~ msgstr "»getwd«: %s" -#: make-3.76.1/ar.c:140 -msgid "touch archive member is not available on VMS" -msgstr "" -"VMS stellt nicht die Möglichkeit einer Änderung \n" -"der Zeitmarken von Archiveinträgen zur Verfügung." +#~ msgid "implicit" +#~ msgstr "implizite" -#: make-3.76.1/ar.c:172 -#, c-format -msgid "touch: Archive `%s' does not exist" -msgstr "touch: Archiv «%s» existiert nicht." +#~ msgid "intermediate" +#~ msgstr "Zwischenstufe" -#: make-3.76.1/ar.c:187 -#, c-format -msgid "touch: Bad return code from ar_member_touch on `%s'" -msgstr "" -"touch: Ungünstiger Rückgabewert beim Zugriff \n" -"von ar_member_touch auf «%s»." +#~ msgid "losing" +#~ msgstr "erfolglosen" -#: make-3.76.1/ar.c:181 -#, c-format -msgid "touch: Member `%s' does not exist in `%s'" -msgstr "touch: Eintrag «%s» existiert nicht in «%s»." +#~ msgid "never" +#~ msgstr "niemals" -#: make-3.76.1/ar.c:175 -#, c-format -msgid "touch: `%s' is not a valid archive" -msgstr "touch: «%s» ist kein gültiges Archiv." +#~ msgid "newer" +#~ msgstr "jünger" -#: make-3.76.1/arscan.c:165 -#, c-format -msgid "unable to open library `%s' to lookup member `%s'" -msgstr "" -"Konnte die Bibliothek «%s» auf der Suche \n" -"nach dem Eintrag «%s» nicht öffnen." +#~ msgid "non-option ARGV-elements: " +#~ msgstr "Einträge im »argv«-Vektor, die nicht Option sind: " -#: make-3.76.1/function.c:729 -msgid "undefined" -msgstr "nicht definiert" +#~ msgid "older" +#~ msgstr "älter" -#. There is too much variation in Sys V signal numbers and names, so -#. we must initialize them at runtime. -#: make-3.76.1/signame.c:59 -msgid "unknown signal" -msgstr "Unbekanntes Signal" +#~ msgid "option %c\n" +#~ msgstr "Option %c\n" -#. It disappeared; so what. -#: make-3.76.1/commands.c:499 make-3.76.1/file.c:403 -msgid "unlink: " -msgstr "Verbindung verloren (unlink): " +#~ msgid "option %s" +#~ msgstr "Option %s" -#: make-3.76.1/function.c:1541 -#, c-format -msgid "unterminated call to function `%s': missing `%c'" -msgstr "Nicht beendeter Aufruf der Funktion «%s»: «%c» fehlt." +#~ msgid "option a\n" +#~ msgstr "Option a\n" -#: make-3.76.1/expand.c:223 make-3.76.1/expand.c:225 -msgid "unterminated variable reference" -msgstr "Nicht abgeschlossene Variablenreferenz." +#~ msgid "option b\n" +#~ msgstr "Option b\n" -#: make-3.76.1/misc.c:318 make-3.76.1/misc.c:330 make-3.76.1/read.c:2238 -msgid "virtual memory exhausted" -msgstr "Der virtuelle Speicher ist verbraucht." +#~ msgid "option c with value `%s'\n" +#~ msgstr "Option c mit Wert `%s'\n" -#: make-3.76.1/read.c:1882 -msgid "warning: NUL character seen; rest of line ignored" -msgstr "Warnung: NUL-Zeichen gelesen; der Rest der Zeile wird ignoriert." +#~ msgid "option d with value `%s'\n" +#~ msgstr "Option d mit Wert »%s«\n" -#: make-3.76.1/read.c:1372 -#, c-format -msgid "warning: ignoring old commands for target `%s'" -msgstr "Warnung: Ignoriere alte Kommandos für das Target «%s»." +#~ msgid "original arg: %s\n" +#~ msgstr "Ursprüngliches Argument: %s\n" -#: make-3.76.1/read.c:1369 -#, c-format -msgid "warning: overriding commands for target `%s'" -msgstr "Warnung: Überschreibe die Kommandos für das Target «%s»." +#~ msgid "override" +#~ msgstr "überschreiben" -#: make-3.76.1/expand.c:120 -#, c-format -msgid "warning: undefined variable `%.*s'" -msgstr "Warnung: undefinierte Variable «%.*s»" +#~ msgid "plain arg: %s\n" +#~ msgstr "Pures Argument: %s\n" + +#~ msgid "process_begin: CreateProcess(%s, %s, ...) failed.\n" +#~ msgstr "»process_begin«: »CreateProcess(%s, %s, ...)« schlug fehl.\n" + +#~ msgid "process_easy: DuplicateHandle(Err) failed (e=%d)\n" +#~ msgstr "»process_easy«: »DuplicateHandle(Err)« schlug fehl (e=%d).\n" + +#~ msgid "process_easy: DuplicateHandle(In) failed (e=%d)\n" +#~ msgstr "»process_easy«: »DuplicateHandle(In)« schlug fehl (e=%d).\n" + +#~ msgid "process_easy: DuplicateHandle(Out) failed (e=%d)\n" +#~ msgstr "»process_easy«: »DuplicateHandle(Out)« schlug fehl (e=%d).\n" + +#~ msgid "read" +#~ msgstr "Lese" + +#~ msgid "rule" +#~ msgstr "explizite" + +#~ msgid "sys$search failed with %d\n" +#~ msgstr "»sys$search« schlug mit %d fehl.\n" + +#~ msgid "touch %s" +#~ msgstr "%s wird als aktualisiert markiert." + +#~ msgid "undefined" +#~ msgstr "nicht definiert" + +#~ msgid "unlink: " +#~ msgstr "Verbindung verloren (unlink): " -#: make-3.76.1/job.c:502 -msgid "winning" -msgstr "erfolgreichen" +#~ msgid "winning" +#~ msgstr "erfolgreichen" -#: make-3.76.1/main.c:504 -msgid "write" -msgstr "Schreib" +#~ msgid "write" +#~ msgstr "Schreib" @@ -1795,7 +1795,7 @@ child_execute_job (argv, child) int status; char *cmd = alloca (strlen (argv) + 512), *p, *q; char ifile[256], ofile[256], efile[256]; - char comname[50]; + char *comname = 0; char procname[100]; /* Parse IO redirection. */ @@ -1944,8 +1944,6 @@ child_execute_job (argv, child) is desired. Forcing commands with newlines into DCLs allows to store search lists on user mode logicals. */ - comname[0] = '\0'; - if (strlen (cmd) > MAXCMDLEN || (have_redirection != 0) || (have_newline != 0)) @@ -1962,12 +1960,9 @@ child_execute_job (argv, child) return 0; } - strcpy (comname, "sys$scratch:CMDXXXXXX.COM"); - (void) mktemp (comname); - - outfile = fopen (comname, "w"); + outfile = open_tmpfile (&comname, "sys$scratch:CMDXXXXXX.COM"); if (outfile == 0) - pfatal_with_name (comname); + pfatal_with_name (_("fopen (temporary file)")); if (ifile[0]) { @@ -2150,7 +2145,7 @@ child_execute_job (argv, child) fflush (stdout); } - if (comname[0] && !ISDB (DB_JOBS)) + if (comname && !ISDB (DB_JOBS)) unlink (comname); return (status & 1); @@ -2465,10 +2460,10 @@ construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr) slow_flag = strcmp((s1 ? s1 : ""), (s2 ? s2 : "")); - if (s1); - free(s1); - if (s2); - free(s2); + if (s1) + free (s1); + if (s2) + free (s2); } if (slow_flag) goto slow; @@ -68,7 +68,6 @@ extern void exit PARAMS ((int)) __attribute__ ((noreturn)); # endif extern double atof (); #endif -extern char *mktemp (); static void print_data_base PARAMS ((void)); static void print_version PARAMS ((void)); @@ -728,6 +727,51 @@ msdos_return_to_initial_directory () } #endif +extern char *mktemp (); +extern int mkstemp (); + +FILE * +open_tmpfile(name, template) + char **name; + const char *template; +{ + int fd; + +#if defined HAVE_MKSTEMP || defined HAVE_MKTEMP +# define TEMPLATE_LEN strlen (template) +#else +# define TEMPLATE_LEN L_tmpnam +#endif + *name = xmalloc (TEMPLATE_LEN + 1); + strcpy (*name, template); + +#if defined HAVE_MKSTEMP && defined HAVE_FDOPEN + /* It's safest to use mkstemp(), if we can. */ + fd = mkstemp (*name); + if (fd == -1) + return 0; + return fdopen (fd, "w"); +#else +# ifdef HAVE_MKTEMP + (void) mktemp (*name); +# else + (void) tmpnam (*name); +# endif + +# ifdef HAVE_FDOPEN + /* Can't use mkstemp(), but guard against a race condition. */ + fd = open (*name, O_CREAT|O_EXCL|O_WRONLY, 0600); + if (fd == -1) + return 0; + return fdopen (fd, "w"); +# else + /* Not secure, but what can we do? */ + return fopen (*name, "w"); +# endif +#endif +} + + #ifndef _AMIGA int main (argc, argv, envp) @@ -1212,24 +1256,16 @@ int main (int argc, char ** argv) into a temporary file and read from that. */ FILE *outfile; - /* Make a unique filename. */ -#ifdef HAVE_MKTEMP + if (stdin_nm) + fatal (NILF, _("Makefile from standard input specified twice.")); #ifdef VMS - static char name[] = "sys$scratch:GmXXXXXX"; +# define TMP_TEMPLATE "sys$scratch:GmXXXXXX" #else - static char name[] = "/tmp/GmXXXXXX"; +# define TMP_TEMPLATE "/tmp/GmXXXXXX" #endif - (void) mktemp (name); -#else - static char name[L_tmpnam]; - (void) tmpnam (name); -#endif - - if (stdin_nm) - fatal (NILF, _("Makefile from standard input specified twice.")); - outfile = fopen (name, "w"); + outfile = open_tmpfile (&stdin_nm, TMP_TEMPLATE); if (outfile == 0) pfatal_with_name (_("fopen (temporary file)")); while (!feof (stdin)) @@ -1243,16 +1279,9 @@ int main (int argc, char ** argv) /* Replace the name that read_all_makefiles will see with the name of the temporary file. */ - { - char *temp; - /* SGI compiler requires alloca's result be assigned simply. */ - temp = (char *) alloca (sizeof (name)); - bcopy (name, temp, sizeof (name)); - makefiles->list[i] = temp; - } + makefiles->list[i] = xstrdup (stdin_nm); /* Make sure the temporary file will not be remade. */ - stdin_nm = savestring (name, sizeof (name) -1); f = enter_file (stdin_nm); f->updated = 1; f->update_status = 0; @@ -2683,7 +2712,7 @@ die (status) print_version (); /* Wait for children to die. */ - for (err = status != 0; job_slots_used > 0; err = 0) + for (err = (status != 0); job_slots_used > 0; err = 0) reap_children (1, err); /* Let the remote job module clean up its state. */ @@ -407,6 +407,7 @@ extern int alpha_compare PARAMS ((const void *, const void *)); extern void print_spaces PARAMS ((unsigned int)); extern char *find_char_unquote PARAMS ((char *, char *, int)); extern char *find_percent PARAMS ((char *)); +extern FILE *open_tmpfile PARAMS ((char **, const char *)); #ifndef NO_ARCHIVES extern int ar_name PARAMS ((char *)); @@ -43,6 +43,18 @@ Boston, MA 02111-1307, USA. */ extern int try_implicit_rule PARAMS ((struct file *file, unsigned int depth)); +/* The test for circular dependencies is based on the 'updating' bit in + `struct file'. However, double colon targets have seperate `struct + file's; make sure we always use the base of the double colon chain. */ + +#define start_updating(_f) (((_f)->double_colon ? (_f)->double_colon : (_f))\ + ->updating = 1) +#define finish_updating(_f) (((_f)->double_colon ? (_f)->double_colon : (_f))\ + ->updating = 0) +#define is_updating(_f) (((_f)->double_colon ? (_f)->double_colon : (_f))\ + ->updating) + + /* Incremented when a command is started (under -n, when one would be). */ unsigned int commands_started = 0; @@ -282,7 +294,7 @@ update_file (file, depth) if (f->considered == considered) { DBF (DB_VERBOSE, _("Pruning file `%s'.\n")); - return 0; + return f->command_state == cs_finished ? f->update_status : 0; } /* This loop runs until we start commands for a double colon rule, or until @@ -368,7 +380,7 @@ update_file_1 (file, depth) ++depth; /* Notice recursive update of the same file. */ - file->updating = 1; + start_updating (file); /* Looking at the file's modtime beforehand allows the possibility that its name may be changed by a VPATH search, and thus it may @@ -416,7 +428,7 @@ update_file_1 (file, depth) mtime = file_mtime (d->file); check_renamed (d->file); - if (d->file->updating) + if (is_updating (d->file)) { error (NILF, _("Circular %s <- %s dependency dropped."), file->name, d->file->name); @@ -494,7 +506,7 @@ update_file_1 (file, depth) } } - file->updating = 0; + finish_updating (file); DBF (DB_VERBOSE, _("Finished prerequisites of target file `%s'.\n")); @@ -788,7 +800,7 @@ check_dep (file, depth, this_mtime, must_make_ptr) int dep_status = 0; ++depth; - file->updating = 1; + start_updating (file); if (!file->intermediate) /* If this is a non-intermediate file, update it and record @@ -840,7 +852,7 @@ check_dep (file, depth, this_mtime, must_make_ptr) d = file->deps; while (d != 0) { - if (d->file->updating) + if (is_updating (d->file)) { error (NILF, _("Circular %s <- %s dependency dropped."), file->name, d->file->name); @@ -879,7 +891,7 @@ check_dep (file, depth, this_mtime, must_make_ptr) } } - file->updating = 0; + finish_updating (file); return dep_status; } diff --git a/tests/ChangeLog b/tests/ChangeLog index 4d859ad..55e56f8 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,8 +1,28 @@ +2000-03-27 Paul D. Smith <psmith@gnu.org> + + * scripts/features/reinvoke: Make more robust by touching "b" + first, to ensure it's not newer than "a". + Reported by Marco Franzen <Marco.Franzen@Thyron.com>. + + * scripts/functions/call: Whoops. The fix to PR/1527 caused + recursive invocations of $(call ...) to break. I can't come up + with any way to get both working at the same time, so I backed out + the fix to 1527 and added a test case for recursive calls. + + * scripts/features/double_colon: Test that circular dependencies + in double-colon rule sets are detected correctly (PR/1671). + 2000-03-26 Paul D. Smith <psmith@gnu.org> * scripts/targets/INTERMEDIATE: Test that make doesn't remove .INTERMEDIATE files when given on the command line (PR/1669). +2000-03-08 Paul D. Smith <psmith@gnu.org> + + * scripts/options/dash-k: Add a test for error detection by + multiple targets depending on the same prerequisite with -k. + For PR/1634. + 2000-02-07 Paul D. Smith <psmith@gnu.org> * scripts/features/escape: Add a test for backslash-escaped spaces diff --git a/tests/scripts/features/double_colon b/tests/scripts/features/double_colon index 75060c5..e0e53f0 100644 --- a/tests/scripts/features/double_colon +++ b/tests/scripts/features/double_colon @@ -36,6 +36,9 @@ two: ; @echo two f1.h f2.h: ; @echo $@ +d :: ; @echo ok +d :: d ; @echo oops + EOF close(MAKEFILE); @@ -95,6 +98,12 @@ $answer = "f2.h\nfoo SECOND\n"; $answer = "f2.h\nfoo SECOND\n"; &compare_output($answer, &get_logfile(1)); +# TEST 8: Test circular dependency check; PR/1671 + +&run_make_with_options($makefile, "d", &get_logfile, 0); +$answer = "ok\n$make_name: Circular d <- d dependency dropped.\noops\n"; +&compare_output($answer, &get_logfile(1)); + # TEST 8: I don't grok why this is different than the above, but it is... # # Hmm... further testing indicates this might be timing-dependent? diff --git a/tests/scripts/features/reinvoke b/tests/scripts/features/reinvoke index 713580c..dacfd33 100644 --- a/tests/scripts/features/reinvoke +++ b/tests/scripts/features/reinvoke @@ -65,7 +65,8 @@ EOM close(MAKEFILE); -&touch('a','b'); +&touch('b'); +&touch('a'); sleep(2); &touch('c'); diff --git a/tests/scripts/functions/call b/tests/scripts/functions/call index 8b6aa36..bdb8e89 100644 --- a/tests/scripts/functions/call +++ b/tests/scripts/functions/call @@ -26,23 +26,35 @@ my-notdir = $(call notdir,$(1)) my-foreach = $(foreach $(1),$(2),$(3)) my-if = $(if $(1),$(2),$(3)) +# Test recursive invocations of call with different arguments +# +one = $(1) $(2) $(3) +two = $(call one,$(1),foo,$(2)) + + all: ; @echo '$(call reverse,bar,foo)'; \ echo '$(call map,origin,MAKE reverse map)'; \ echo '$(call my-notdir,a/b c/d e/f)'; \ echo '$(call my-foreach)'; \ echo '$(call my-foreach,a,,,)'; \ - echo '$(call my-foreach,a,x y z,$(a)$(a))'; \ echo '$(call my-if,a,b,c)'; \ - echo '$(call my-if,,$(warning don't print this),ok)' + echo '$(call two,bar,baz)' EOMAKE +# These won't work until/unless PR/1527 is resolved. +# echo '$(call my-foreach,a,x y z,$(a)$(a))'; \ +# echo '$(call my-if,,$(warning don't print this),ok)' +# +# $answer = "xx yy zz\nok\n"; + # END of Contents of MAKEFILE close(MAKEFILE); &run_make_with_options($makefile, "", &get_logfile); -$answer = "foo bar\ndefault file file\nb d f\n\n\nxx yy zz\nb\nok\n"; +$answer = "foo bar\ndefault file file\nb d f\n\n\nb\nbar foo baz\n"; + &compare_output($answer, &get_logfile(1)); 1; diff --git a/tests/scripts/options/dash-k b/tests/scripts/options/dash-k index a5baaf7..fe5689e 100644 --- a/tests/scripts/options/dash-k +++ b/tests/scripts/options/dash-k @@ -1,36 +1,37 @@ -$description = "The following test creates a makefile to test the -k option.\n" - ."Normally, make gives up immediately if an error happens \n" - ."that make has not been told to ignore. However, if the -k\n" - ."option is specified, make continues to consider the other\n" - ."dependencies of the pending targets."; - -$details = "The makefile created in this test is a simulation of building \n" - ."a small product. However, the trick to this one is that one \n" - ."of the dependencies of the main target does not exist. \n" - ."Without the -k option, make would fail immediately and not \n" - ."build any part of the target. What we are looking for here, \n" - ."is that make builds the rest of the dependencies even though \n" - ."it knows that at the end it will fail to rebuild the main target."; +# -*-perl-*- + +$description = "Test the make -k (don't stop on error) option.\n"; + +$details = "\ +The makefile created in this test is a simulation of building +a small product. However, the trick to this one is that one +of the dependencies of the main target does not exist. +Without the -k option, make would fail immediately and not +build any part of the target. What we are looking for here, +is that make builds the rest of the dependencies even though +it knows that at the end it will fail to rebuild the main target."; open(MAKEFILE,"> $makefile"); # The Contents of the MAKEFILE ... -print MAKEFILE "VPATH = $workdir\n"; -print MAKEFILE "edit: main.o kbd.o commands.o display.o \n"; -print MAKEFILE "\t\@echo cc -o edit main.o kbd.o commands.o display.o \n"; +print MAKEFILE <<EOF; +VPATH = $workdir +edit: main.o kbd.o commands.o display.o +\t\@echo cc -o edit main.o kbd.o commands.o display.o -print MAKEFILE "main.o : main.c defs.h\n"; -print MAKEFILE "\t\@echo cc -c main.c\n"; +main.o : main.c defs.h +\t\@echo cc -c main.c -print MAKEFILE "kbd.o : kbd.c defs.h command.h\n"; -print MAKEFILE "\t\@echo cc -c kbd.c\n"; +kbd.o : kbd.c defs.h command.h +\t\@echo cc -c kbd.c -print MAKEFILE "commands.o : command.c defs.h command.h\n"; -print MAKEFILE "\t\@echo cc -c commands.c\n"; +commands.o : command.c defs.h command.h +\t\@echo cc -c commands.c -print MAKEFILE "display.o : display.c defs.h buffer.h\n"; -print MAKEFILE "\t\@echo cc -c display.c\n"; +display.o : display.c defs.h buffer.h +\t\@echo cc -c display.c +EOF # END of Contents of MAKEFILE @@ -45,29 +46,55 @@ close(MAKEFILE); &touch(@files_to_touch); -if ($vos) -{ - $error_code = 3307; +if ($vos) { + $error_code = 3307; } -else -{ - $error_code = 512; +else { + $error_code = 512; } -&run_make_with_options($makefile,"-k",&get_logfile,$error_code); +&run_make_with_options($makefile, "-k", &get_logfile, $error_code); # Create the answer to what should be produced by this Makefile -$answer = "cc -c main.c\n" - ."$make_name: *** No rule to make target `kbd.c', needed by `kbd.o'.\n" - ."cc -c commands.c\n" - ."cc -c display.c\n" - ."$make_name: Target `edit' not remade because of errors.\n"; +$answer = "cc -c main.c +$make_name: *** No rule to make target `kbd.c', needed by `kbd.o'. +cc -c commands.c +cc -c display.c +$make_name: Target `edit' not remade because of errors.\n"; # COMPARE RESULTS -if (&compare_output($answer,&get_logfile(1))) -{ - unlink @files_to_touch; -} +&compare_output($answer, &get_logfile(1)); + +unlink(@files_to_touch) unless $keep; + + +# TEST 1: Make sure that top-level targets that depend on targets that +# previously failed to build, aren't attempted. Regression for PR/1634. + +$makefile2 = &get_tmpfile; + +open(MAKEFILE, "> $makefile2"); +print MAKEFILE <<'EOF'; +.SUFFIXES: + +all: exe1 exe2; @echo making $@ + +exe1 exe2: lib; @echo cp $^ $@ + +lib: foo.o; @echo cp $^ $@ + +foo.o: ; exit 1 +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2, "-k", &get_logfile, $error_code); + +$answer = "exit 1 +$make_name: *** [foo.o] Error 1 +$make_name: Target `all' not remade because of errors.\n"; + +&compare_output($answer, &get_logfile(1)); 1; @@ -136,17 +136,18 @@ define_variable_in_set (name, length, value, origin, recursive, set, flocp) Returns address of the `struct variable' containing all info on the variable, or nil if no such variable is defined. - If LISTP is not nil, return a pointer to the setlist where - the variable was found. If the variable wasn't found, the - value of LISTP is unchanged. */ + If we find a variable which is in the process of being expanded, + try to find one further up the set_list chain. If we don't find + one that isn't being expanded, return a pointer to whatever we + _did_ find. */ struct variable * -lookup_variable_setlist (name, length, listp) +lookup_variable (name, length) char *name; unsigned int length; - struct variable_set_list **listp; { register struct variable_set_list *setlist; + struct variable *firstv = 0; register unsigned int i; register unsigned int rawhash = 0; @@ -161,21 +162,31 @@ lookup_variable_setlist (name, length, listp) register unsigned int hashval = rawhash % set->buckets; register struct variable *v; + /* Look through this set list. */ for (v = set->table[hashval]; v != 0; v = v->next) if (*v->name == *name && strneq (v->name + 1, name + 1, length - 1) - && v->name[length] == 0) - { - if (listp) - *listp = setlist; - return v; - } + && v->name[length] == '\0') + break; + + /* If we didn't find anything, go to the next set list. */ + if (!v) + continue; + + /* If it's not being expanded already, we're done. */ + if (!v->expanding) + return v; + + /* It is, so try to find another one. If this is the first one we've + seen, keep a pointer in case we don't find anything else. */ + if (!firstv) + firstv = v; } #ifdef VMS /* since we don't read envp[] on startup, try to get the variable via getenv() here. */ - + if (!firstv) { char *vname = alloca (length + 1); char *value; @@ -229,10 +240,9 @@ lookup_variable_setlist (name, length, listp) return define_variable (vname, length, value, o_env, 1); } } - #endif /* VMS */ - return 0; + return firstv; } /* Lookup a variable whose name is a string starting at NAME @@ -95,10 +95,7 @@ extern char *patsubst_expand PARAMS ((char *o, char *text, char *pattern, char * char *pattern_percent, char *replace_percent)); /* expand.c */ -extern char *recursively_expand_setlist PARAMS ((struct variable *v, - struct variable_set_list *l)); - -#define recursively_expand(v) recursively_expand_setlist((v),(struct variable_set_list *)0) +extern char *recursively_expand PARAMS ((struct variable *v)); /* variable.c */ extern struct variable_set_list *create_new_variable_set PARAMS ((void)); @@ -111,12 +108,7 @@ extern void print_variable_set PARAMS ((struct variable_set *set, char *prefix)) extern void merge_variable_set_lists PARAMS ((struct variable_set_list **setlist0, struct variable_set_list *setlist1)); extern struct variable *try_variable_definition PARAMS ((const struct floc *flocp, char *line, enum variable_origin origin, int target_var)); -extern struct variable *lookup_variable_setlist - PARAMS ((char *name, unsigned int length, - struct variable_set_list **lisp)); - -#define lookup_variable(n,l) lookup_variable_setlist((n),(l),\ - (struct variable_set_list **)0) +extern struct variable *lookup_variable PARAMS ((char *name, unsigned int length)); extern struct variable *define_variable_in_set PARAMS ((char *name, unsigned int length, char *value, |