summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJinWang An <jinwang.an@samsung.com>2021-12-28 15:15:18 +0900
committerJinWang An <jinwang.an@samsung.com>2021-12-28 15:15:18 +0900
commit62e818d0e4e064f6da403cbf516dc7a7301ec569 (patch)
tree6460e009c267f3712a693403b2dbdf161ab0941b
parente15597c3e85dedc015ff923a88febd46a1551f71 (diff)
downloadmake-62e818d0e4e064f6da403cbf516dc7a7301ec569.tar.gz
make-62e818d0e4e064f6da403cbf516dc7a7301ec569.tar.bz2
make-62e818d0e4e064f6da403cbf516dc7a7301ec569.zip
Imported Upstream version 4.1upstream/4.1
-rw-r--r--AUTHORS2
-rw-r--r--ChangeLog5633
-rw-r--r--Makefile.DOS14
-rw-r--r--Makefile.am17
-rw-r--r--Makefile.ami2
-rw-r--r--Makefile.in448
-rw-r--r--NEWS60
-rw-r--r--NMakefile18
-rw-r--r--README4
-rw-r--r--README.Amiga2
-rw-r--r--README.DOS6
-rw-r--r--README.OS22
-rw-r--r--README.VMS2
-rw-r--r--README.W324
-rw-r--r--README.customs2
-rw-r--r--SMakefile12
-rw-r--r--acinclude.m42
-rw-r--r--aclocal.m4752
-rw-r--r--amiga.c4
-rw-r--r--amiga.h2
-rw-r--r--ar.c65
-rw-r--r--arscan.c283
-rwxr-xr-xbuild.sh.in12
-rw-r--r--build_w32.bat19
-rw-r--r--commands.c23
-rw-r--r--commands.h2
-rw-r--r--config.ami10
-rw-r--r--config.h-vms36
-rw-r--r--config.h.W3213
-rw-r--r--config.h.in9
-rw-r--r--config/ChangeLog49
-rw-r--r--config/Makefile.am2
-rw-r--r--config/Makefile.in110
-rwxr-xr-xconfig/ar-lib270
-rwxr-xr-xconfig/compile10
-rw-r--r--config/config.guess192
-rw-r--r--config/config.sub32
-rwxr-xr-xconfig/depcomp455
-rw-r--r--config/dospaths.m42
-rwxr-xr-xconfig/install-sh14
-rwxr-xr-xconfig/mdate-sh15
-rwxr-xr-xconfig/missing414
-rw-r--r--config/texinfo.tex171
-rw-r--r--configh.dos8
-rwxr-xr-xconfigure2092
-rw-r--r--configure.ac34
-rw-r--r--configure.bat2
-rw-r--r--debug.h2
-rw-r--r--default.c78
-rw-r--r--dep.h2
-rw-r--r--dir.c13
-rw-r--r--doc/Makefile.am13
-rw-r--r--doc/Makefile.in189
-rw-r--r--doc/fdl.texi2
-rw-r--r--doc/make.info341
-rw-r--r--doc/make.info-14826
-rw-r--r--doc/make.info-24680
-rw-r--r--doc/make.texi108
-rw-r--r--doc/stamp-vti8
-rw-r--r--doc/version.texi8
-rw-r--r--dosbuild.bat2
-rw-r--r--expand.c14
-rw-r--r--file.c35
-rw-r--r--filedef.h4
-rw-r--r--function.c143
-rw-r--r--getloadavg.c2
-rw-r--r--getopt.c2
-rw-r--r--getopt.h2
-rw-r--r--getopt1.c2
-rw-r--r--gettext.h2
-rw-r--r--glob/ChangeLog6
-rw-r--r--glob/Makefile.in193
-rw-r--r--glob/glob.c5
-rw-r--r--gmk-default.scm2
-rw-r--r--gnumake.h2
-rw-r--r--guile.c15
-rw-r--r--hash.c2
-rw-r--r--implicit.c2
-rw-r--r--job.c391
-rw-r--r--job.h6
-rw-r--r--load.c37
-rw-r--r--loadapi.c13
-rw-r--r--main.c424
-rw-r--r--make.12
-rw-r--r--make_msvc_net2003.vcproj4
-rw-r--r--makefile.com36
-rw-r--r--makefile.vms88
-rw-r--r--makeint.h76
-rw-r--r--misc.c12
-rw-r--r--output.c165
-rw-r--r--output.h2
-rw-r--r--po/ChangeLog93
-rw-r--r--po/Makevars2
-rw-r--r--po/POTFILES.in2
-rw-r--r--po/be.gmobin7574 -> 7250 bytes
-rw-r--r--po/be.po729
-rw-r--r--po/cs.gmobin46061 -> 44904 bytes
-rw-r--r--po/cs.po763
-rw-r--r--po/da.gmobin25052 -> 24537 bytes
-rw-r--r--po/da.po744
-rw-r--r--po/de.gmobin15562 -> 46111 bytes
-rw-r--r--po/de.po1879
-rw-r--r--po/es.gmobin26931 -> 45174 bytes
-rw-r--r--po/es.po2443
-rw-r--r--po/fi.gmobin20417 -> 19871 bytes
-rw-r--r--po/fi.po743
-rw-r--r--po/fr.gmobin26484 -> 44572 bytes
-rw-r--r--po/fr.po1256
-rw-r--r--po/ga.gmobin20848 -> 20299 bytes
-rw-r--r--po/ga.po744
-rw-r--r--po/gl.gmobin23719 -> 23164 bytes
-rw-r--r--po/gl.po744
-rw-r--r--po/he.gmobin11862 -> 11497 bytes
-rw-r--r--po/he.po745
-rw-r--r--po/hr.gmobin26062 -> 25498 bytes
-rw-r--r--po/hr.po746
-rw-r--r--po/id.gmobin20627 -> 42957 bytes
-rw-r--r--po/id.po1480
-rw-r--r--po/it.gmobin45617 -> 44464 bytes
-rw-r--r--po/it.po763
-rw-r--r--po/ja.gmobin25372 -> 48160 bytes
-rw-r--r--po/ja.po1953
-rw-r--r--po/ko.gmobin11938 -> 46044 bytes
-rw-r--r--po/ko.po2127
-rw-r--r--po/lt.gmobin7754 -> 7400 bytes
-rw-r--r--po/lt.po728
-rw-r--r--po/make.pot713
-rw-r--r--po/nl.gmobin44804 -> 43672 bytes
-rw-r--r--po/nl.po765
-rw-r--r--po/pl.gmobin44940 -> 43817 bytes
-rw-r--r--po/pl.po763
-rw-r--r--po/pt_BR.gmobin25786 -> 25254 bytes
-rw-r--r--po/pt_BR.po744
-rw-r--r--po/ru.gmobin57185 -> 55757 bytes
-rw-r--r--po/ru.po772
-rw-r--r--po/sv.gmobin43854 -> 42718 bytes
-rw-r--r--po/sv.po765
-rw-r--r--po/tr.gmobin21193 -> 20668 bytes
-rw-r--r--po/tr.po744
-rw-r--r--po/uk.gmobin56603 -> 55097 bytes
-rw-r--r--po/uk.po763
-rw-r--r--po/vi.gmobin47627 -> 46511 bytes
-rw-r--r--po/vi.po807
-rw-r--r--po/zh_CN.gmobin19609 -> 19093 bytes
-rw-r--r--po/zh_CN.po748
-rw-r--r--read.c154
-rw-r--r--remake.c153
-rw-r--r--remote-cstms.c60
-rw-r--r--remote-stub.c2
-rw-r--r--rule.c13
-rw-r--r--rule.h4
-rw-r--r--signame.c2
-rw-r--r--strcache.c2
-rw-r--r--subproc.bat2
-rw-r--r--tests/ChangeLog.1 (renamed from tests/ChangeLog)2
-rw-r--r--tests/NEWS2
-rw-r--r--tests/README2
-rw-r--r--tests/config-flags.pm19
-rw-r--r--tests/config-flags.pm.in19
-rwxr-xr-xtests/config_flags_pm.com53
-rwxr-xr-xtests/mkshadow2
-rwxr-xr-xtests/run_make_tests.com272
-rw-r--r--tests/run_make_tests.pl77
-rw-r--r--tests/scripts/features/archives22
-rw-r--r--tests/scripts/features/load14
-rw-r--r--tests/scripts/features/loadapi12
-rw-r--r--tests/scripts/features/output-sync7
-rw-r--r--tests/scripts/functions/file17
-rw-r--r--tests/scripts/misc/utf814
-rw-r--r--tests/scripts/options/dash-q44
-rw-r--r--tests/scripts/variables/GNUMAKEFLAGS4
-rw-r--r--tests/scripts/variables/special24
-rw-r--r--tests/test_driver.pl268
-rw-r--r--variable.c52
-rw-r--r--variable.h12
-rw-r--r--version.c6
-rw-r--r--vmsdir.h2
-rw-r--r--vmsfunctions.c207
-rw-r--r--vmsify.c25
-rw-r--r--vmsjobs.c463
-rw-r--r--vpath.c2
-rw-r--r--w32/Makefile.am4
-rw-r--r--w32/Makefile.in335
-rw-r--r--w32/compat/dirent.c286
-rw-r--r--w32/compat/posixfcn.c32
-rw-r--r--w32/include/dirent.h14
-rw-r--r--w32/include/dlfcn.h2
-rw-r--r--w32/include/pathstuff.h2
-rw-r--r--w32/include/sub_proc.h10
-rw-r--r--w32/include/w32err.h2
-rw-r--r--w32/pathstuff.c32
-rw-r--r--w32/subproc/NMakefile2
-rw-r--r--w32/subproc/build.bat2
-rw-r--r--w32/subproc/misc.c79
-rw-r--r--w32/subproc/proc.h12
-rw-r--r--w32/subproc/sub_proc.c2083
-rw-r--r--w32/subproc/w32err.c64
197 files changed, 25750 insertions, 28807 deletions
diff --git a/AUTHORS b/AUTHORS
index 14ae479..6539881 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -72,7 +72,7 @@ With suggestions/comments/bug reports from a cast of ... well ...
hundreds, anyway :)
-------------------------------------------------------------------------------
-Copyright (C) 1997-2013 Free Software Foundation, Inc.
+Copyright (C) 1997-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 5fcf273..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,5633 +0,0 @@
-2013-10-09 Paul Smith <psmith@gnu.org>
-
- Version 4.0 released.
-
- * configure.ac: Updated for the release.
- * NEWS: Updated for the release.
-
- * maintMakefile (tag-release): New target to add a Git tag.
- * read.c (eval): Typo fix.
- * ChangeLog.1: Typo fixes.
- * w32/subproc/sub_proc.c (process_cleanup): Typo fix.
-
-2013-10-07 Eli Zaretskii <eliz@gnu.org>
-
- * w32/compat/posixfcn.c (tmpfile): Move declaration of h before
- the first executable statement. Reported by Gisle Vanem
- <gvanem@yahoo.no>.
-
-2013-10-05 Paul Smith <psmith@gnu.org>
-
- * makeint.h (MAP_USERFUNC): A new map type for function names.
- * main.c (initialize_stopchar_map): Set up the function name map.
-
- * gnumake.h (gmk_func_ptr): Define a type for function pointers.
- (gmk_add_function): Convert the last argument to FLAGS.
- (GMK_FUNC_*): Define flags for the function. Change the default
- behavior to "expand" since that's the most common one.
-
- * function.c (function_table_entry): Use new function pointer type.
- (lookup_function): Accept any valid function name character based
- on the MAP_USERFUNC values.
- (define_new_function): Use the new calling signature. Verify that
- registered functions have valid names.
-
- * guile.c (guile_gmake_setup): Use new calling signatures.
- * loadapi.c (gmk_add_function): Ditto.
- * variable.h (define_new_function): Ditto.
-
- * doc/make.texi (Loaded Object API): Make the registered function
- API documentation more clear.
-
-2013-10-03 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (abspath): Reset root_len to one for Cygwin only when
- HAVE_DOS_PATHS is defined. Suggested by Christopher Faylor.
-
-2013-10-02 Eli Zaretskii <eliz@gnu.org>
-
- * w32/compat/posixfcn.c (tmpfile): New function, a replacement for
- the Windows libc version.
-
- Fix $abspath on Cygwin when HAVE_DOS_PATHS is in effect.
- * function.c (IS_ABSOLUTE) [__CYGWIN__]: Special definition for
- Cygwin.
- (abspath) [__CYGWIN__]: Reset root_len to 1 if the absolute file
- name has the Posix /foo/bar form.
- [HAVE_DOS_PATHS]: Use root_len instead of hard-coded 2.
-
-2013-10-01 Paul Smith <psmith@gnu.org>
-
- * configure.ac: Update version to 3.99.93.
- * NEWS: Ditto.
-
-2013-09-30 Paul Smith <psmith@gnu.org>
-
- * guile.c: Portability fixes for Guile 1.8.
-
-2013-09-29 Paul Smith <psmith@gnu.org>
-
- * output.c (output_dump): Always write Enter/Leave messages to stdio.
- (log_working_directory): This now always writes to stdio, so we
- don't need the struct output parameter anymore.
- (output_start): Show the working directory when output_sync is not
- set or is recursive.
- * main.c (main): Ensure the special "already shown Enter message"
- token is removed from MAKE_RESTARTS before the user can see it.
- * function.c (func_shell_base): If the output_context stderr
- exists but is invalid, write to the real stderr.
- Fixes suggested by Frank Heckenbach <f.heckenbach@fh-soft.de>.
-
- * output.c: Guard unistd.h inclusion, add io.h.
- * gnumake.h: Move GMK_EXPORT before the declarations.
- * make_msvc_net2003.vcproj: Add missing files.
- Changes for MSVC suggested by Gerte Hoogewerf <g.hoogewerf@gmail.com>
-
- * function.c (func_shell_base) [EMX]: Fix EMX support for output-sync.
- * job.c (child_execute_job) [EMX]: Ditto.
- * job.h (child_execute_job) [EMX]: Ditto.
- * w32/compat/posixfcn.c: Invert the test for NO_OUTPUT_SYNC.
-
- * guile.c (GSUBR_TYPE): Pre-2.0 Guile doesn't provide a typedef
- for gsubr pointers. Create one.
- (guile_define_module): Use it.
- (internal_guile_eval): Force UTF-8 encoding for Guile strings.
-
- * main.c (main): Clear GNUMAKEFLAGS after parsing, to avoid
- proliferation of options.
- * NEWS: Document it.
- * doc/make.texi (Options/Recursion): Ditto.
-
-2013-09-23 Eli Zaretskii <eliz@gnu.org>
-
- * w32/compat/posixfcn.c: Fix the forgotten OUTPUT_SYNC conditional.
-
- * job.h: Ditto, but in a comment.
-
-2013-09-22 Paul Smith <psmith@gnu.org>
-
- * configure.ac: Update version to 3.99.92.
- * NEWS: Ditto.
-
- * implicit.c (pattern_search): After second expansion be sure to
- handle order-only markers inside the expansion properly.
- Fixes Savannah bug #31155.
-
- * guile.c (guile_define_module): Technically a void* cannot
- contain a pointer-to-function and some compilers warn about this.
- Cast the function pointers.
- * load.c (load_object): Ditto.
-
- * read.c (eval): If load_file() returns -1, don't add this to the
- "to be rebuilt" list.
- * doc/make.texi (load Directive): Document it.
-
- * guile.c (guile_gmake_setup): Don't initialize Guile so early.
- (func_guile): Lazily initialize Guile the first time the $(guile ..)
- function is invoked. Guile can steal file descriptors which
- confuses our jobserver FD checking, so we don't want to initialize
- it before we have to.
-
- VMS port updates by Hartmut Becker <becker.ismaning@freenet.de>
-
- * makefile.com: Add output to the filelist.
- * output.c (va_copy): Add an implementation of this macro for VMS.
- * commands.c: Ensure filedef.h is #included before dep.h.
- * dir.c: Ditto.
- * file.c: Ditto.
- * guile.c: Ditto.
- * main.c: Ditto.
- * misc.c: Ditto.
- * read.c: Ditto.
- * rule.c: Ditto.
- * variable.c: Ditto.
- * readme.vms: Renamed to README.VMS and updates for this release.
- * Makefile.am: Ditto.
- * NEWS: Ditto.
- * README.template: Ditto.
- * Makefile.DOS.template: Ditto.
-
-2013-09-21 Paul Smith <psmith@gnu.org>
-
- * maintMakefile (check-alt-config): Create a target to test
- alternative configurations. Each one will build make with a
- different configuration then run the test suite.
-
- Invert the output-sync #define to NO_OUTPUT_SYNC
-
- * configure.ac: Don't set OUTPUT_SYNC.
- * makeint.h: Ditto.
- * main.c: Use NO_OUTPUT_SYNC instead of OUTPUT_SYNC.
- * output.c: Ditto.
- * output.h: Ditto.
- * job.h: Ditto.
- * job.c: Ditto.
- * config.ami.template: Set NO_OUTPUT_SYNC.
- * config.h-vms.template: Ditto.
- * config.h.W32.template: Ditto.
- * configh.dos.template: Ditto.
-
- Output generated while reading makefiles should be synced.
-
- * main.c (make_sync): Define a context for syncing while reading
- makefiles and other top-level operations.
- (main): If we request syncing, enable it while we are parsing
- options, reading makefiles, etc. to capture that output. Just
- before we start to run rules, dump the output if any.
- (die): Dump any output we've been syncing before we die
- * output.h (OUTPUT_SET): Disable output_context if not syncout.
-
- Stderr generated from shell functions in recipes should be synced.
-
- * job.h (FD_STDIN, FD_STDOUT, FD_STDERR): Create new macros to
- avoid magic numbers.
- (child_execute_job): Take a FD for stderr.
- * job.c (child_execute_job): Handle STDERR FD's in addition to
- stdin and stdout.
- (start_job_command): Call child_execute_job() with the new STDERR
- parameter. Instead of performing the dup() here, send it to
- child_execute_job() where it's already being done.
- * function.c (func_shell_base): Pass the OUTPUT_CONTEXT stderr to
- child_execute_job() if it's set, otherwise FD_STDERR.
- * main.c (main): Pass FD_STDERR to child_execute_job().
-
-2013-09-19 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Set MAKE_RESTARTS to negative before re-exec if
- we've already generated an "Entering" message. If we are started
- and notice that MAKE_RESTARTS is negative, assume we already wrote
- "Entering" and don't write it again.
-
-2013-09-18 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Set starting_directory before we write any
- errors. Fixes Savannah bug #40043.
-
-2013-09-16 Eli Zaretskii <eliz@gnu.org>
-
- * output.c [WINDOWS32]: Include windows.h and sub_proc.h, to avoid
- compiler warnings for CLOSE_ON_EXEC.
-
-2013-09-16 Paul Smith <psmith@gnu.org>
-
- * configure.ac: Update version to 3.99.91.
- * NEWS: Ditto.
-
-2013-09-15 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Error Messages): Add a bit more info to the
- section on static pattern errors, since they're common.
- Fixes Savannah bug #31326.
-
- * read.c (eval_makefile): If the file open fails with an
- unrecoverable error, stop now rather than trying to make it.
- Fixes Savannah bug #27374.
-
- * main.c (main): Perform the validation of the jobserver FDs
- early, before we read makefiles, to ensure that something hasn't
- opened and used those FDs for some other reason.
- Fixes Savannah bug #39934.
-
- * main.c (main): Don't set MAKEFLAGS in the environment when we
- restart. We have the original command line flags so keep the
- original MAKEFLAGS settings as well.
- Fixes Savannah bug #39203.
-
-2013-09-14 Paul Smith <psmith@gnu.org>
-
- * main.c (decode_debug_flags): Add support for the "n" flag to
- disable all debugging.
- * make.1: Document the "n" (none) flag.
- * doc/make.texi (Options Summary): Ditto.
- * NEWS: Ditto.
- Fixes Savannah bug #35248.
-
- * misc.c (close_stdout): Move to output.c.
- * main.c (main): Move atexit call to output_init().
- * makeint.h: Remove close_stdout() declaration.
- * output.c (output_init): Add close_stdout at exit only if it's open.
- Fixes Savannah bug #33134. Suggested by David Boyce <dsb@boyski.com>.
-
-2013-09-14 Paul Smith <psmith@gnu.org>
-
- * misc.c (set_append_mode, open_tmpfd, open_tmpfile): Move to output.c.
- * misc.h: Ditto.
- * output.h: Ditto.
- * main.c (main): Move stdio init into output.c:output_init().
- Change open_tmpfile() to output_tmpfile().
- * output.c: Rename open_*() to output_*(). set_append_mode() and
- open_tmpfd() are static.
- (_outputs, log_working_directory): Accept a struct output and
- print to that rather than the global context.
- (output_dump): In recurse mode print enter/leave once for the
- whole makefile.
- (output_init): Initialize this processes stdio as well as child's.
-
- * vmsjobs.c: Reformat to be closer to convention.
-
-2013-09-12 Paul Smith <psmith@gnu.org>
-
- Rework output to handle synchronization and directory logging more
- reliably.
-
- * output.c: New file. Implement lazy synchronization and
- directory logging so that we manage them "just in time", and the
- destination of the output is set via a global state variable.
- * output.h: New file.
- * function.c (func_shell_base): Ensure the output is set up before
- running a shell command, in case it writes to stderr.
- (func_error): Use outputs() to generate output.
- * job.h (struct child): Add struct output to track the child's output.
- * job.c: Use struct output in the child structure to track output.
- (child_out, sync_init, assign_child_tempfiles, pump_from_tmp)
- (acquire_semaphore, release_semaphore, sync_output): Move most of
- the output_sync handling to output.c.
- (child_error): Set output, then use simple message() and error()
- not _s versions.
- * main.c (log_working_directory): Moved to output.c
- (trace_option, decode_trace_flags) Remove. Remove support for
- different trace modes; we don't use it anymore.
- (die) Invoke output_close() before we exit.
- * misc.c (message_s, error_s): Removed; no longer needed.
- (message, error, fatal, perror_with_name, pfatal_with_name): Moved
- to output.c.
- * makeint.h: Remove message_s(), error_s(), and
- log_working_directory(). Remove the TRACE_* macros.
- * doc/make.texi: Enhance documentation for output sync, and remove
- MODE assignment for --trace.
- * make.1: Remove MODE assignment for --trace.
- * Makefile.am: Add new files.
- * NMakefile.template: Ditto.
- * SMakefile.template: Ditto.
- * build_w32.bat: Ditto.
- * dosbuild.bat: Ditto.
- * make.lnk: Ditto.
- * make_nsvc_net2003.vcproj: Ditto.
- * makefile.vms: Ditto.
- * po/POTFILES.in: Ditto.
-
-2013-08-22 Petr Machata <pmachata@redhat.com>
-
- * function.c (func_shell_base): Get rid of any avoidable limit on
- stack size for processes spawned via $(shell).
-
-2013-07-22 Paul Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Use PARSE_SIMPLE_SEQ() even for
- non-second expansion prerequisites, to handle globbing in patterns.
- Fixes Savannah bug #39310.
-
- * dep.h (PARSE_SIMPLE_SEQ): Macro for simple file sequence parsing.
- * default.c (set_default_suffixes): Use it.
- * file.c (split_prereqs): Ditto.
- * main.c (main): Ditto.
- * read.c (eval): Ditto.
- * rule.c (install_pattern_rule): Ditto.
- * file.c (split_prereqs): Use PARSEFS_NONE instead of 0.
-
-2013-07-21 Paul Smith <psmith@gnu.org>
-
- Cleanups detected by cppcheck. Fixes Savannah bug #39158.
- * arscan.c (ar_scan): Reduce the scope of local variables.
- * dir.c (vms_hash): Ditto.
- (find_directory): Ditto.
- (file_impossible_p): Ditto.
- * expand.c (variable_expand_string): Ditto.
- * function.c (func_sort): Ditto.
- (func_and): Ditto.
- * job.c (reap_children): Ditto.
- (exec_command): Ditto.
- * main.c (main): Ditto.
- * misc.c (collapse_continuations): Ditto.
- * read.c (eval): Ditto.
- (parse_file_seq): Ditto.
- * vpath.c (gpath_search): Ditto.
- (selective_vpath_search): Ditto.
- * job.c (is_bourne_compatible_shell): Simplify for non-Windows systems.
- * remake.c (f_mtime): Remove duplicate test.
- * signame.c (strsignal): Fix bogus conditional.
-
- * job.c (assign_child_tempfiles): Assign OUTFD to -1 for safety.
- (start_job_command): Don't test output_sync and sync_cmd: redundant.
- Changes suggested by Frank Heckenbach <f.heckenbach@fh-soft.de>.
-
-2013-07-14 Paul Smith <psmith@gnu.org>
-
- * filedef.h (update_status): Convert UPDATE_STATUS from a char to
- an enumeration. Some systems declare "char" to be "unsigned"
- which broke the code (which expected to be able to use -1 as a
- flag). Using magic values was unpleasant, so rather than just
- force "signed char" I reworked it to use an enum.
-
- * dep.h (update_goal_chain): Return an update_status value not int.
- * remake.c (touch_file): Ditto.
- (update_goal_chain): Track the update_status enum.
-
- * file.c (enter_file): Use new enumeration values with update_status.
- (remove_intermediates): Ditto.
- (print_file): Ditto.
- * commands.c (execute_file_commands): Ditto.
- * job.c (reap_children): Ditto.
- (start_job_command): Ditto.
- (start_waiting_job): Ditto.
- * main.c (main): Ditto.
- * remake.c (update_file): Ditto.
- (complain): Ditto.
- (update_file_1): Ditto.
- (notice_finished_file): Ditto.
- (remake_file): Ditto.
- * vmsjobs.c (vmsHandleChildTerm): Ditto.
-
-2013-07-09 Paul Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Keep a local copy of the number of
- deps in deplist: the global max might change due to recursion.
- Fixes a bug reported by Martin d'Anjou <martin.danjou14@gmail.com>.
-
-2013-06-28 Paul Smith <psmith@gnu.org>
-
- * misc.c (set_append_mode): Set the O_APPEND flag on a file descriptor.
- (open_tmpfd): Set append mode on the temporary file descriptor.
- * main.c (main): Set append mode on stdout and stderr.
- * makeint.h (set_append_mode): Declare it.
-
-2013-06-22 Eli Zaretskii <eliz@gnu.org>
-
- * build_w32.bat (LinkGCC): Prevent a comment from being displayed
- at build time.
-
- * job.c (construct_command_argv_internal) [WINDOWS32]: Use
- case-insensitive comparison with internal commands of non-Unix
- shells.
-
- * main.c (find_and_set_default_shell): Don't use file_exists_p or
- dir_file_exists_p, as those call readdir, which can fail if PATH
- includes directories with non-ASCII characters, and that would
- cause Make to fail at startup with confusing diagnostics. See
- https://sourceforge.net/mailarchive/message.php?msg_id=30846737
- for the details.
-
-2013-06-22 Paul Smith <psmith@gnu.org>
-
- Improve performance by using a character map to determine where we
- want to stop searching strings, rather than discrete comparisons.
-
- * read.c (find_char_unquote): Pass a stop map instead of various
- flags and use that to check when to stop parsing the string.
- (eval): Use the new find_char_unquote() calling signature.
- (remove_comments): Ditto.
- (unescape_char): Ditto.
- (find_percent_cached): Ditto.
- (parse_file_seq): Use a stop-map flag.
- * main.c (stopchar_map): Character map definition.
- (initialize_stopchar_map): Initialize the map definition.
- (main): Invoke the map initialization function.
- * misc.c (end_of_token_w32): Remove unused function.
- * dir.c (dosify): Use STOP_SET to check for stop chars.
- * main.c (main): Ditto.
- * misc.c (end_of_token): Ditto.
- * function.c (subst_expand): Ditto.
- (func_notdir_suffix): Ditto.
- (func_basename_dir): Ditto.
- (abspath): Ditto.
- * job.c (is_bourne_compatible_shell): Ditto.
- * variable.c (parse_variable_definition): Ditto.
- * read.c (eval): Ditto.
- (conditional_line): Ditto.
- (find_percent_cached): Ditto.
- * dep.h (PARSE_FILE_SEQ): Update function declaration.
- * default.c (set_default_suffixes): Update PARSE_FILE_SEQ() call.
- * file.c (split_prereqs): Ditto.
- * function.c (string_glob): Ditto.
- * implicit.c (pattern_search): Ditto.
- * rule.c (install_pattern_rule): Ditto.
- * main.c (main): Ditto.
-
-2013-06-21 Paul Smith <psmith@gnu.org>
-
- * main.c (verify_flag): Global variable to determine whether to
- verify the database or not.
- (decode_debug_flags): If debug mode, enable verify_flag.
- (main): If MAKE_MAINTAINER_MODE, enable verify_flag, otherwise not.
- (die): Only verify the database if verify_flag is set.
- * file.c (enter_file): Don't check caching unless verify_flag.
- * makeint.h: Export verify_flag.
-
-2013-05-27 Paul Smith <psmith@gnu.org>
-
- * variable.c (define_automatic_variables): Create a new variable
- MAKE_HOST.
-
-2013-05-27 Hartmut Becker <becker.ismaning@freenet.de>
-
- * function.c (func_shell_base) [VMS]: Support VMS.
- * makefile.com [VMS]: Ditto.
- * makefile.vms [VMS]: Ditto.
- * makeint.h [VMS]: Ditto.
- * vmsjobs.c [VMS]: Ditto.
- * job.h: Define RECORD_SYNC_MUTEX() when OUTPUT_SYNC is not set.
- * load.c (unload_file): Fix signature if MAKE_LOAD is not set.
-
-2013-05-26 Paul Smith <psmith@gnu.org>
-
- * remake.c (f_mtime): Ensure that archive file names are in the
- string cache. Fixes Savannah bug #38442.
-
- * read.c (readline): To be safe, move the entire buffer if we
- detect a CR. Fixes Savannah bug #38945.
-
- * job.c (new_job): Compare OUT to the beginning of the OUT
- var/function, not IN. Fixes Savannah bug #39035.
-
-2013-05-22 Paul Smith <psmith@gnu.org>
-
- * main.c (switches[]): Order switches so simple flags all come first.
- (define_makeflags): Rework to make option passing more
- reliable and the code less tricksy. Ensure simple flags are kept
- in the initial batch of flags. Do not allow any flags with
- options in that batch. If there are only non-simple flags MAKEFLAGS
- begins with ' '.
- (print_data_base): Print the version. Fixes part of Savannah #35336.
-
- * read.c (eval_buffer): Initialize lineno.
-
-2013-05-18 Alexey Pavlov <alexpux@gmail.com> (tiny change)
-
- * w32/Makefile.am (libw32_a_SOURCES): Add compat/posixfcn.c.
-
- * configure.ac (OUTPUT_SYNC): Define for mingw32 target.
-
- * job.c (construct_command_argv_internal) <sh_cmds_dos>
- [WINDOWS32]: Add "move". Fixes Savannah bug #30714.
-
- * guile.c: Move inclusion of makeint.h before gnumake.h. This
- order must be observed when building Make, because gnumake.h must
- be included with GMK_BUILDING_MAKE defined, which makeint.h
- already does. Otherwise, the linker will look for, and fail to
- find, gmk_* functions in some external dynamic library.
-
-2013-05-17 Benno Schulenberg <bensberg@justemail.net>
-
- * main.c (decode_output_sync_flags): Fix output message.
- * read.c (EXTRANEOUS): Ditto.
- (record_files): Ditto.
- * remake.c (update_file_1): Ditto.
-
-2013-05-17 Eli Zaretskii <eliz@gnu.org>
-
- * main.c (prepare_mutex_handle_string): Define conditioned on
- OUTPUT_SYNC.
-
- * build_w32.bat: Copy config.h.W32 to config.h regardless of
- whether or not we are building from SCM.
-
-2013-05-17 Paul Smith <psmith@gnu.org>
-
- * configure.ac: Update version to 3.99.90.
- * NEWS: Ditto.
-
- * Source (*.[ch]): Remove TABs, use GNU coding styles.
-
- * ALL: Update copyright.
-
- * hash.c (CALLOC): Use xcalloc() to handle out of memory errors.
-
- * makeint.h: Prototype new unload_file() function.
- * load.c (unload_file): Create a function to unload a file.
- (struct load_list): Type to remember loaded objects.
- (loaded_syms): Global variable of remembered loaded objects so we
- can unload them later. We don't have to remove from the list
- because the only time we unload is if we're about to re-exec.
- (load_object): Remove unneeded extra DLP argument.
- (load_file): Remove unneeded extra DLP argument.
- * filedef.h (struct file): Remove the DLP pointer and add the
- LOADED bit flag. Saves 32/64 bytes per file, as this pointer is
- almost never needed.
- * read.c (eval): Set the new LOADED bit flag on the file.
- * file.c (rehash_file): Merge the loaded bitfield.
- * commands.c (execute_file_commands): Call unload_file() instead
- of dlclose() directly.
-
-2013-05-14 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Loaded Object API): Document the requirement for
- the plugin_is_GPL_compatible symbol.
- * load.c (load_object): Check for plugin_is_GPL_compatible symbol.
-
-2013-05-13 Paul Smith <psmith@gnu.org>
-
- * filedef.h (struct file): Add a builtin flag.
- * file.c (enter_file): Unset the builtin flag.
- (rehash_file): Ditto.
- (print_file): Don't print builtin files if we've omitted them.
- * default.c (undefine_default_variables): New function: go through
- the default variables and undefine them.
- (set_default_suffixes): Mark these suffix rules as builtin.
- * makeint.h: Prototype.
- * main.c (main): Handle addition of -r and -R to MAKEFLAGS in the
- makefile. Fixes Savannah bug #20501.
-
- * main.c (define_makeflags): Assign o_env_override level to
- MAKEFLAGS to ensure it's set even in the presence of -e.
- Fixes Savannah bug #2216.
-
- * makeint.h (TRACE_NONE, TRACE_RULE, TRACE_DIRECTORY): Define
- constants for the trace mode.
- * main.c: Add new --trace mode parsing.
- (decode_trace_flags): New function.
- (decode_switches): Call it.
- (define_makeflags): Fix a bug with long-name options.
- * misc.c (fatal): Remove special output-sync handling.
- * make.1: Document new --trace mode flags.
- * doc/make.texi (Options Summary): Ditto.
-
-2013-05-11 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (child_out): Output the newline following the message
- before fllush-ing the stream. Avoids displaying the following
- failure message, which goes to stderr, on the same line.
-
-2013-05-06 Eli Zaretskii <eliz@gnu.org>
-
- * gnumake.h (GMK_EXPORT) [_WIN32]: Move the dllexport declaration
- here from makeint.h.
-
- * makeint.h (GMK_BUILDING_MAKE) [WINDOWS32]: Define before
- including gnumake.h.
-
- * doc/make.texi (Loaded Object Example): Add a note about building
- shared objects on MS-Windows.
-
-2013-05-05 Paul Smith <psmith@gnu.org>
-
- * makeint.h (OUTPUT_SYNC_LINE, OUTPUT_SYNC_RECURSE): Rename
- output-sync options "job" to "line" and "make" to "recurse".
- * main.c (decode_output_sync_flags): Ditto.
- * job.c (reap_children): Ditto.
- (start_job_command): Ditto.
- * make.1: Ditto.
- * doc/make.texi (Parallel Output): Ditto.
-
- * job.c (child_out): Write newlines explicitly, and don't do
- anything if the message is empty.
- (sync_output): Put working dir messages around stdout AND stderr.
- (start_job_command): Move the tmp file assignment earlier. After
- we do it, write the command line to the temp file to get the order
- correct.
-
- * misc.c (message): Remove special handling for output_sync.
- (error): Ditto.
-
-2013-05-04 Paul Smith <psmith@gnu.org>
-
- * loadapi.c (gmk_alloc): New function.
- * gnumake.h: Add gmk_alloc(). Clean GMK_EXPORT a bit to avoid MAIN.
- * makeint.h (GMK_EXPORT): New handling, vs. MAIN.
- * doc/make.texi (Loaded Object API): Add information on the memory
- handling functions.
- (Loaded Object Example): Create an example.
-
- * job.c (pump_from_tmp): (Rename) Write to stdout/stderr using
- FILE* rather than fd. It's not a good idea to mix and match.
-
-2013-05-04 Eli Zaretskii <eliz@gnu.org>
-
- * makeint.h (ftruncate) [_MSC_VER]: Redirect to _chsize.
- (_S_ISDIR): If not defined (MinGW64), define to S_ISDIR.
-
-2013-05-04 Paul Smith <psmith@gnu.org>
-
- * job.c (child_out): Handle EINTR and incomplete write scenarios.
- (sync_init): New function: separate the initialization code.
- (assign_child_tempfiles): Remove truncation from this function,
- (sync_output): and add it here after output is generated.
- (reap_children): Always call sync_output() in case output_sync was
- reset after the child started, due to error.
- (start_job_command): Create new sync_cmd variable. Use new method
- for initializing the handle.
- If we're not syncing the output be sure any output we've saved is
- dumped immediately before starting the child.
-
-2013-05-04 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (start_job_command): Make the condition for creating a
- temporary output file be identical to the Posix code branch.
- Suggested by Frank Heckenbach <f.heckenbach@fh-soft.de>.
-
-2013-05-03 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/sub_proc.c: Include makeint.h. Remove a private
- incompatible prototype of xmalloc.
- (batch_file_with_spaces): New function, detects Windows batch
- files whose names include whitespace characters.
- (process_begin): If exec_name is a batch file with whitespace
- characters in its name, pass NULL as the first argument to
- CreateProcess. This avoids weird failures due to buggy quoting by
- CreateProcess. For the details, see the discussion starting at
- http://lists.gnu.org/archive/html/make-w32/2013-04/msg00008.html.
-
- * load.c (load_object, load_file): Accept an additional argument
- DLP and return in it a pointer that can be used to unload the
- dynamic object.
-
- * read.c (eval): Call load_file with an additional argument, and
- record the pointer returned there in the 'struct file' object of
- dynamic objects in that object's 'struct file'.
-
- * commands.c (execute_file_commands): Unload dynamic objects
- before remaking them, to avoid failure to remake if the OS doesn't
- allow overwriting objects that are in use.
-
- * filedef.h (struct file): New member dlopen_ptr.
-
- * gnumake.h (GMK_EXPORT): Define to dllexport/dllimport
- decorations for Windows and to nothing on other platforms.
- (gmk_eval, gmk_expand, gmk_add_function): Add GMK_EXPORT qualifier
- to prototypes.
-
- * makeint.h (MAIN): Define before including gnumake.h, to give
- correct dllexport decorations to exported functions.
- (load_file): Adjust prototype.
-
- * loadapi.c: Don't include gnumake.h, since makeint.h already
- includes it, and takes care of defining MAIN before doing so.
-
- * build_w32.bat (LinkGCC): Produce an import library for functions
- exported by Make for loadable dynamic objects.
-
- * w32/compat/posixfcn.c (dlclose): New function.
-
- * w32/include/dlfcn.h (dlclose): Add prototype.
-
-2013-05-01 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (start_job_command) [WINDOWS32]: Make the same fix for
- MS-Windows as the previous commit did for Posix platforms.
- (construct_command_argv_internal): Don't treat a backslash as an
- escape character before whitespace, if the shell is not a Posix
- shell. For the description of the problem, see
- http://lists.gnu.org/archive/html/make-w32/2013-04/msg00014.html.
-
-2013-05-01 Paul Smith <psmith@gnu.org>
-
- * job.c (start_job_command): Don't redirect output for recursive
- make jobs, unless we're in makefile synchronization mode.
-
-2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
-
- build: enable the 'silent-rules' automake options
-
- * configure.ac (AM_INIT_AUTOMAKE): Here. The future major Automake
- version 2.0 (ETA about one, one and half year from now) will enable
- it by default, so better prepare ourselves.
-
-2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
-
- build: require Autoconf >= 2.62 and Automake >= 1.11.1
-
- Older versions of those tools should be considered fully obsolete.
- Also, GNU make already requires Gettext >= 0.18.1, which has been
- released six months after Automake 1.11.1 and two years after
- Autoconf 2.62; so the new requirement shouldn't be problematic
- for people already bootstrapping GNU make from the Git repository.
-
- * configure.ac (AC_PREREQ): Require Autoconf 2.62 or later.
- (AM_INIT_AUTOMAKE): Require Automake 1.11.1 or later (1.11 had
- some serious bugs, and should not be used).
-
-2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
-
- build: get rid of 'HAVE_ANSI_COMPILER' C preprocessor conditional
-
- GNU make already assume C89 or later throughout the codebase, and
- that preprocessor conditional was no longer used anyway.
-
- * configure.ac: Remove AC_DEFINE of HAVE_ANSI_COMPILER.
- * config.ami.template: Remove #define of HAVE_ANSI_COMPILER.
- * config.h-vms.template: Likewise.
- * config.h.W32.template: Likewise.
- * configh.dos.template: Likewise.
-
-2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
-
- cosmetics: fix few innocuous typos
-
- Most of these were found using Lucas De Marchi's 'codespell' tool.
-
- * ChangeLog: Fix minor typos.
- * ChangeLog.2: Likewise.
- * README.Amiga: Likewise.
- * TODO.private: Likewise.
- * function.c: Likewise.
- * glob/glob.h: Likewise.
- * job.c: Likewise.
- * main.c: Likewise.
- * readme.vms: Likewise.
- * remake.c: Likewise.
- * tests/ChangeLog: Likewise.
- * tests/NEWS: Likewise.
- * tests/README: Likewise.
- * tests/scripts/variables/private: Likewise.
- * vmsdir.h: Likewise.
- * signame.c: Likewise. While at it, improve line wrapping in the
- touched comment.
-
-2013-04-29 Eli Zaretskii <eliz@gnu.org>
-
- * w32/include/dlfcn.h: New file.
-
- * w32/compat/posixfcn.c: Include dlfcn.h.
- (dlopen, dlerror, dlsym) [MAKE_LOAD]: New functions, in support of
- dynamic loading.
-
- * config.h.W32.template (MAKE_LOAD): Define.
-
- * load.c (load_object) [HAVE_DOS_PATHS]: Support backslashes and
- drive letters in file names of dynamic objects.
-
- * job.c (construct_command_argv_internal) [WINDOWS32]: Return
- right after generating new_argv for one_shell case. This fixes
- the Windows build for both Unixy shell and stock Windows shells.
-
-2013-04-28 Eli Zaretskii <eliz@gnu.org>
-
- * dir.c (local_stat) [WINDOWS32]: Use the wrapper on MS-Windows.
- If the argument ends in "dir/.", make sure the parent dir exists
- and is indeed a directory. Fixes Savannah bug #37065.
-
-2013-04-28 Paul Smith <psmith@gnu.org>
-
- * makeint.h (message_s, error_s): Functions that print to strings
- rather than directly to files.
- * misc.c (message_s, error_s): Create them.
- * job.c (child_error): Print error messages to the output sync
- logs, if one exists, rather then directly to the terminal.
- (reap_children): Move the per-line sync after child_error().
-
- * configure.ac: Remove support for pre-ANSI variadic function calls.
- * makeint.h: Ditto.
- * misc.c: Ditto.
- * config.ami.template: Ditto.
- * config.h-vms.template: Ditto.
- * config.h.W32.template: Ditto.
- * configh.dos.template: Ditto.
-
- Implement a "per-job" output synchronization option.
-
- * main.c (decode_output_sync_flags): Recognize the new option.
- * makeint.h (OUTPUT_SYNC_JOB): Add new values for "job"
- * job.c (assign_child_tempfiles): In per-job mode, truncate the
- temp file for re-use by the next job.
- (sync_output): Don't close the temp files as we may still use them.
- (free_child): Close the temp files here as we definitely don't
- need them.
- (new_job): In per-job output mode, sync_output() after each job.
- * job.h (struct child): Avoid ifdefs.
- * make.1: Add new options to the man page.
- * doc/make.texi (Parallel Output): Break documentation on input
- and output into separate sections for readability. Document the
- new "job" and "none" modes.
-
-2013-04-27 Paul Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): Fix oneshell support
- for non-POSIX-sh shells.
-
- * load.c (load_object): Extract all POSIX-isms into a separate
- function for portability.
- (load_file): Check the .LOADED variable first and don't invoke
- load_object() if it's already been loaded.
-
-2013-04-27 Eli Zaretskii <eliz@gnu.org>
-
- * read.c (record_files): Pay attention to .ONESHELL in MS-Windows.
-
- * job.c (construct_command_argv_internal): Support .ONESHELL on
- MS-Windows, when the shell is not a Unixy shell.
-
-2013-04-27 Eli Zaretskii <eliz@gnu.org>
-
- * job.c: Fix compilation error on GNU/Linux due to "label at end
- of compound statement".
-
-2013-04-27 Frank Heckenbach <f.heckenbach@fh-soft.de> (tiny change)
-
- * job.c (sync_output): Don't discard the output if
- acquire_semaphore fails; instead, dump the output unsynchronized.
-
-2013-04-27 Eli Zaretskii <eliz@gnu.org>
-
- Support --output-sync on MS-Windows.
- * w32/compat/posixfcn.c: New file, with emulations of Posix
- functions and Posix functionality for MS-Windows.
-
- * w32/subproc/sub_proc.c: Include io.h.
- (process_noinherit): New function, forces a file descriptor to not
- be inherited by child processes.
- (process_easy): Accept two additional arguments, and use them to
- set up the standard output and standard error handles of the child
- process.
-
- * w32/include/sub_proc.h (process_easy): Adjust prototype.
- (process_noinherit): Add prototype.
-
- * read.c [WINDOWS32]: Include windows.h and sub_proc.h.
-
- * makeint.h (LOCALEDIR) [WINDOWS32}: Define to NULL if not
- defined. This is needed because the MS-Windows build doesn't have
- a canonical place for LOCALEDIR.
- (WIN32_LEAN_AND_MEAN) [WINDOWS32]: Define, to avoid getting from
- windows.h header too much stuff that could conflict with the code.
-
- * main.c <sync_mutex>: New static variable.
- <switches>: Add support for "--sync-mutex" switch.
- (decode_output_sync_flags): Decode the --sync-mutex= switch.
- (prepare_mutex_handle_string) [WINDOWS32]: New function.
- (main): Add "output-sync" to .FEATURES.
-
- * job.h (CLOSE_ON_EXEC) [WINDOWS32]: Define to call
- process_noinherit.
- (F_GETFD, F_SETLKW, F_WRLCK, F_UNLCK, struct flock) [WINDOWS32]:
- New macros.
- (RECORD_SYNC_MUTEX): New macro, a no-op for Posix platforms.
- (sync_handle_t): New typedef.
-
- * job.c <sync_handle>: Change type to sync_handle_t.
- (FD_NOT_EMPTY): Seek to the file's end. Suggested by Frank
- Heckenbach <f.heckenbach@fh-soft.de>.
- (pump_from_tmp_fd) [WINDOWS32]: Switch to_fd to binary mode for
- the duration of this function, and then change back before
- returning.
- (start_job_command) [WINDOWS32]: Support output_sync mode on
- MS-Windows. Use a system-wide mutex instead of locking
- stdout/stderr. Call process_easy with two additional arguments:
- child->outfd and child->errfd.
- (exec_command) [WINDOWS32]: Pass two additional arguments, both
- -1, to process_easy, to adjust for the changed function signature.
-
- * function.c (windows32_openpipe) [WINDOWS32]: This function now
- returns an int, which is -1 if it fails and zero otherwise. It
- also calls 'error' instead of 'fatal', to avoid exiting
- prematurely.
- (func_shell_base) [WINDOWS32]: Call perror_with_name if
- windows32_openpipe fails, now that it always returns. This avoids
- a compiler warning that error_prefix is not used in the MS-Windows
- build.
-
- * config.h.W32.template (OUTPUT_SYNC): Define.
-
- * build_w32.bat: Add w32/compat/posixfcn.c to compilation and
- linking commands.
-
-2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
-
- * README.git: Our autoconf input file is 'configure.ac', not
- 'configure.in'. Adjust accordingly.
- * build_w32.bat: Likewise.
- * config.h-vms.template: Likewise.
- * Makefile.DOS.template: Likewise.
-
-2013-04-16 Paul Smith <psmith@gnu.org>
-
- * misc.c (open_tmpfd): Add a new function that returns a temporary
- file by file descriptor.
- (open_tmpfile): Move here from main.c.
- * job.c (assign_child_tempfiles): Use the new open_tmpfd().
-
-2013-04-15 Paul Smith <psmith@gnu.org>
-
- * makeint.h (OUTPUT_SYNC_TARGET, OUTPUT_SYNC_MAKE): Rename.
- * job.c (start_job_command): Use new constants.
- * main.c: New -O argument format.
-
- * doc/make.texi (Options Summary): Document the argument to -O.
- * make.1: Ditto.
-
- * main.c (define_makeflags): Don't add space between a single-char
- option and its argument.
-
-2013-04-06 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Implicit Variables): Clarify LDFLAGS vs. LDLIBS.
- Fixes Savannah bug #37970.
-
- * remake.c (check_dep): Reconsider files waiting on prerequisites,
- as they may have finished. Fixes Savannah bug #37703.
-
-2013-02-28 Paul Smith <psmith@gnu.org>
-
- * function.c (func_realpath): On Solaris (at least) realpath() can
- fail due to EINTR, so loop it. Fixes Savannah bug #38420.
-
-2013-02-25 Paul Smith <psmith@gnu.org>
-
- Add a proposed supported API for GNU make loaded objects.
-
- * doc/make.texi (Loaded Object API): Document it.
- * Makefile.am (make_SOURCES): Add new loadapi.c.
- * dep.h: Remove eval_buffer(); moved to loadapi.c:gmk_eval().
- * read.c (eval_buffer): Change eval_buffer() signature.
- * main.c (main): Change eval_buffer() signature.
- * variable.h (define_new_function): Change func_ptr signature.
- * load.c (SYMBOL_EXTENSION): Change the extension.
- * loadapi.c: Implement the new API.
- * gnumake.h (gmk_eval): New function prototype.
- (gmk_expand) Ditto.
- (gmk_add_function) Ditto.
- * gmk-default.scm (gmk-eval): Remove: now implemented in guile.c.
- * guile.c (guile_expand_wrapper): Use gmk_expand()
- (guile_eval_wrapper): Implement eval here to avoid double-expansion.
- (guile_define_module): Define gmk-eval.
- (func_guile): Use new func_ptr calling model.
- (guile_gmake_setup): Use gmk_add_function() to declare $(guile ...)
- * function.c (function_table_entry): Provide alternative func_ptr.
- (func_eval): New signature for eval_buffer();
- (function_table_init): New initialization for function_table_entry.
- (expand_builtin_function): Support alternative invocation signature.
- (define_new_function): Ditto.
-
-2013-01-20 Paul Smith <psmith@gnu.org>
-
- * gnumake.h: New file to contain externally-visible content.
- * makeint.h: Include gnumake.h. Move gmk_floc type to gnumake.h.
- * Makefile.am (include_HEADERS): Install the gnumake.h header.
-
- * makeint.h: Change struct floc to gmk_floc typedef.
- * Many: Use the new typedef.
-
- * make.h: Rename to makeint.h.
- * Many: Use the new name makeint.h.
-
-2013-01-19 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (load Directive): Update to discuss location of
- loaded object file.
- (Remaking Loaded Objects): Document remaking of loaded objects.
-
- * main.c (main): Rename READ_MAKEFILES to READ_FILES.
- * read.c: Change READ_MAKEFILES to READ_FILES since it now
- contains loaded object files as well.
- (read_all_makefiles): Ditto.
- (eval_makefile): Ditto.
- (eval): Add any loaded file to the READ_FILES list, so that it
- will be considered for re-build.
-
- * load.c (load_file): Return the simple filename (no symbol) in
- the LDNAME argument (now a const char **).
- This filename should no longer have "./" prepended: modify the
- function to always check the current directory if the name has no
- "/", before using the normal methods.
- * make.h: Change the load_file() prototype.
-
- * README.git: Add a bit more documentation on Git workflow & rules.
-
-2013-01-13 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Restore all make flags after re-exec is complete.
- Fixes Savannah bug #38051.
-
-2013-01-12 Paul Smith <psmith@gnu.org>
-
- Convert CVS archive to Git.
-
- * configure.in: Rename to configure.ac.
- * README.cvs: Rename to README.git and rework for Git.
- * maintMakefile: Use git clean for cleanup.
- * ChangeLog: Use new Git repository URL.
- * ChangeLog.2: Ditto.
- * Makefile.am: Change documentation for Git
- * Makefile.DOS.template: Ditto.
- * README.template: Ditto.
- * build_w32.bat: Ditto.
- * prepare_w32.bat: Ditto.
- * .cvsignore: Rename to .gitignore, and change to Git format.
-
-2012-12-08 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (create_batch_file): Fix last change: always increment the
- counter of batch files before trying to use it.
-
-2012-12-07 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (construct_command_argv_internal): Remove " from
- sh_chars_dos[]. Ignore an escaped backslash inside a string
- quoted with "..". This lifts the 4KB or 8KB command-line length
- limitation imposed by the Windows shells when a command uses quoted
- strings, because we now don't call the shell in that case.
-
- * job.c (create_batch_file): Declare the counter of batch files
- static, to avoid having 2 jobs using the same file name and
- stepping on each other's toes. When all 64K names are used up,
- make one more loop looking for slots that became vacant. This
- avoids leaving behind temporary batch files in the temporary
- directory, which happens frequently on a fast machine when using
- parallel builds.
- (reap_children): Add debug message for when removal of a temporary
- batch file fails.
-
-2012-10-29 Paul Smith <psmith@gnu.org>
-
- New feature: "load" directive for dynamically-loaded objects.
-
- * NEWS: Document new "load" directive.
- * doc/make.texi (Extending make): New chapter on extensions to make.
- * configure.in: Check for dlopen/dlsym/dlerror and -ldl.
- * Makefile.am (make_SOURCES): Add new file load.c.
- * make.h: Prototype for load_file().
- * main.c (main): Add "load" to .FEATURES if it's available.
- * read.c (eval): Parse "load" and "-load" directives.
-
-2012-09-29 Paul Smith <psmith@gnu.org>
-
- * configure.in: Require a new version of gettext (1.18.1).
- Fixes Savannah bug #37307.
-
-2012-09-09 Paul Smith <psmith@gnu.org>
-
- * configure.in (bsd_signal): Define _GNU_SOURCE, a la make.h.
- Fixes Savannah bug #32247.
-
- * remake.c (update_file_1): Force intermediate files to be
- considered, not pruned, if their non-intermediate parent needs to
- be remade. Fixes Savannah bug #30653.
-
- * job.c (construct_command_argv_internal): Keep the command line
- on the heap for very long lines. Fixes Savannah bug #36451.
-
- * function.c (func_realpath): BSD realpath(3) doesn't fail if the
- file does not exist: use stat. Fixes Savannah bug #35919.
-
- * file.c (expand_deps): Duplicate the current variable buffer, not
- the old pointer. Fixes Savannah bug #36925.
-
- * read.c (eval): If we detect an initial UTF-8 BOM, skip it.
- Fixes Savannah bug #36529.
- (record_target_var): Remove unused variable "fname".
- (eval): Use the correct pointer when adding to the variable buffer.
- Fixes Savannah bug #36106.
-
-2012-09-09 Eli Zaretskii <eliz@gnu.org>
-
- * read.c (unescape_char): Fix a thinko in the last change.
-
-2012-09-09 Paul Smith <psmith@gnu.org>
-
- * default.c (default_variables): Use a correct default LIBPPATERNS
- for MacOS. Fixes Savannah bug #37197.
-
- * read.c (record_files): Reset the default macro values if .POSIX
- is set. Fixes Savannah bug #37069.
- (parse_file_seq): Break out of an infinite loop if we're not
- making progress when parsing archive references.
-
-2012-09-01 Eli Zaretskii <eliz@gnu.org>
-
- * README.W32.template: Update for job-server and Guile support.
-
- * read.c (unescape_char): Advance 'p' after copying the unescaped
- characters. Otherwise the backslashes are incorrectly erased from
- the original string.
-
-2012-03-05 Paul Smith <psmith@gnu.org>
-
- Update copyright notices to use year ranges, as allowed by
- clarifications in the GNU Maintainer's Manual.
-
-2012-03-04 Paul Smith <psmith@gnu.org>
-
- * read.c (unescape_char): New function to remove escapes from a char.
- (record_files): Call it on the dependency string to unescape ":".
- Fixes Savannah bug #12126 and bug #16545.
-
- * make.h (CSTRLEN): Determine the length of a constant string.
- * main.c: Use the new macro.
- * read.c: Ditto.
- * variable.h: Ditto.
- * function.c: Simplify checks for function alternatives.
-
- * expand.c (variable_append): If the current set is local and the
- next one is not a parent, then treat the next set as
- local as well. Fixes Savannah bug #35468.
-
-2012-03-03 Paul Smith <psmith@gnu.org>
-
- * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Add support for AIX 5.2+
- nanosecond timestamps. Fixes Savannah bug #32485.
-
- Convert uses of `foo' for quoting to 'foo' to reflect changes in
- the GNU Coding Standards. Fixes Savannah bug #34530.
-
- * job.c (construct_command_argv_internal): In oneshell we need to
- break the SHELLFLAGS up for argv. Fixes Savannah bug #35397.
-
- * function.c (func_filter_filterout): Recompute the length of each
- filter word in case it was compressed due to escape chars. Don't
- reset the string as it's freed. Fixes Savannah bug #35410.
-
- * misc.c (collapse_continuations): Only use POSIX-style
- backslash/newline handling if the .POSIX target is set.
- Addresses Savannah bug #16670 without backward-incompatibility.
- * NEWS: Document behavior change.
- * doc/make.texi (Splitting Lines): New section describing how to
- use backslash/newline to split long lines.
-
-2012-02-26 Paul Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Check the stem length to avoid
- stack overflows in stem_str. Fixes Savannah bug #35525.
-
-2012-02-03 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/sub_proc.c (proc_stdin_thread, proc_stdout_thread)
- (proc_stderr_thread, process_pipe_io): Ifdef away unused
- functions.
-
- * w32/subproc/w32err.c (map_windows32_error_to_string) [_MSC_VER]:
- Don't use TLS storage for szMessageBuffer. Ifdef away special
- code for handling Winsock error codes. Make the function return a
- `const char *'. Suggested by Ozkan Sezer. Fixes Savannah bug #34832.
-
-2012-01-29 Paul Smith <psmith@gnu.org>
-
- * gmk-default.scm (to-string-maybe): Variables map to empty strings.
- In Guile 2.0, (define ...) results in a variable object so make
- sure that maps to an empty string in make.
-
- * variable.c (parse_variable_definition): New POSIX assignment ::=
- Take a struct variable to return more information after parsing.
- (assign_variable_definition): New parse_variable_definition() call.
- * variable.h: New declaration of parse_variable_definition().
- * read.c (do_define): New parse_variable_definition() call.
- (parse_var_assignment): Ditto.
- (get_next_mword): Parse ::= as a variable assignment.
- * doc/make.texi (Flavors): Describe the new ::= syntax.
- * NEWS: Mention the ::= operator.
-
- * variable.h (struct variable): Rearrange elts to reduce struct size.
-
- * function.c (func_file): Create a new function, $(file ...)
- * doc/make.texi (File Function): Document the $(file ..) function.
- * NEWS: Announce it.
-
- * gmk-default.scm (to-string-maybe): Use a more portable way to
- test for unprintable characters.
- * configure.in [GUILE]: Guile 1.6 doesn't have pkg-config
- * build_w32.bat: Ditto.
-
-2012-01-28 Eli Zaretskii <eliz@gnu.org>
-
- * config.h.W32.template: Update from config.h.in.
-
- Support a Windows build with Guile.
-
- * README.W32.template: Update with instructions for building with
- Guile.
-
- * build_w32.bat: Support building with Guile.
-
- * make.h [HAVE_STDINT_H]: Include stdint.h.
-
- * main.c (main, clean_jobserver): Move declarations of variables
- not used in the WINDOWS32 build to the #else branch, to avoid
- compiler warnings.
-
- Fix failures on MS-Windows when Make's standard handles are invalid.
- This can happen when Make is invoked from a GUI application.
-
- * w32/subproc/sub_proc.c (process_init_fd): Don't dereference
- pproc if it is a NULL pointer.
- (process_begin, process_cleanup): Don't try to close pipe handles
- whose value is INVALID_HANDLE_VALUE.
- (process_easy): Initialize hIn, hOut, and hErr to
- INVALID_HANDLE_VALUE. If DuplicateHandle fails with
- ERROR_INVALID_HANDLE, duplicate a handle for the null device
- instead of STD_INPUT_HANDLE, STD_OUTPUT_HANDLE or
- STD_ERROR_HANDLE. Don't try to close pipe handles whose value is
- INVALID_HANDLE_VALUE.
-
- * function.c (windows32_openpipe): Initialize hIn and hErr to
- INVALID_HANDLE_VALUE. If DuplicateHandle fails with
- ERROR_INVALID_HANDLE, duplicate a handle for the null device
- instead of STD_INPUT_HANDLE or STD_ERROR_HANDLE. Fix indentation.
- Don't try to close handles whose value is INVALID_HANDLE_VALUE.
-
-2012-01-25 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (define_new_function): Fix format strings in calls to
- `fatal'.
-
-2012-01-17 Paul Smith <psmith@gnu.org>
-
- * guile.c (func_guile): Handle NULL returns from Guile.
-
-2012-01-16 Paul Smith <psmith@gnu.org>
-
- * make.h (PATH_SEPARATOR_CHAR): Allow resetting for crosscompiling
- for Windows. Patch by Chris Sutcliffe <ir0nh34d@gmail.com>
- Fixes Savannah bug #34818.
-
-2012-01-15 Paul Smith <psmith@gnu.org>
-
- * variable.h: Prototype an interface for defining new make functions.
- * function.c (define_new_function): Define it.
- (func_guile): Remove the "guile" function.
- (function_table_init): Ditto.
- * guile.c (func_guile): Add the "guile" function here.
- (setup_guile): Call define_new_function() to define it.
- (guile_eval_string): Obsolete.
-
- * all: Update copyright notices.
-
-2012-01-12 Paul Smith <psmith@gnu.org>
-
- Support GNU Guile as an embedded extension language for GNU make.
-
- * NEWS: Note the new Guile capability.
- * Makefile.am (EXTRA_DIST, make_SOURCES): Add new guile source files.
- (AM_CFLAGS): Add Guile compiler flags.
- (guile): Add a rule for converting default SCM into a C header.
- * configure.in: Add support for --with-guile.
- Also, convert the entire file to properly escaped autoconf m4, and
- utilize newer features such as AS_IF() and AS_CASE().
- * doc/make.texi (Guile Function): Document the GNU guile integration.
- * make.h (guile_eval_string, guile_boot): Prototypes for Guile.
- * main.c (main): Run guile_boot() to handle main().
- (real_main): All the previous content of main() is here.
- (real_main): Add "guile" to the .FEATURES variable.
- * function.c (func_guile): Call Guile.
- * guile.c: New file implementing GNU make integration with GNU Guile.
- * gmk-default.scm: The integration of GNU make with Guile uses
- Guile itself for much of the parsing and conversion of return
- types, etc. This implementation is embedded into GNU make.
- * config.h-vms.template: Disable Guile support.
- * config.h.W32.template: Ditto.
- * configh.dos.template: Ditto.
- * config.ami.template: Ditto.
- * makefile.vms: Add new Guile files.
- * Makefile.DOS.template: Ditto.
- * Makefile.ami: Ditto.
- * NMakefile.template: Ditto.
- * SMakefile.template: Ditto.
- * build_w32.bat: Ditto.
- * dosbuild.bat: Ditto.
- * make_msvc_net2001.vcproj: Ditto.
-
-2011-11-15 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Use %ld when printing DWORD values.
- * job.c (new_job): Ditto.
- * w32/include/sub_proc.h: Use const.
- * w32/subproc/sub_proc.c (open_jobserver_semaphore): Use const.
- Fixes Savannah bug #34830. Changes suggested by Ozkan Sezer.
-
- * configure.in (MAKE_JOBSERVER): Enable jobserver on W32 systems.
- * config.h.W32.template (MAKE_JOBSERVER): Ditto.
-
-2011-11-14 Paul Smith <psmith@gnu.org>
-
- * read.c (eval): parse_file_seq() might shorten the string due to
- backslash removal. Start parsing again at the colon.
- Fixes Savannah bug #33399.
-
-2011-11-13 Paul Smith <psmith@gnu.org>
-
- * file.c (file_timestamp_cons): Match up data types to avoid warnings.
- * filedef.h: Ditto.
- * misc.c (concat): Ditto.
- * read.c (eval): Assign value to avoid warnings.
- * function.c (func_shell_base): Use fork() instead of vfork() to
- avoid warnings.
- * make.h (INTEGER_TYPE_SIGNED): Use <=0 to avoid warnings.
- Fixes Savannah bug #34608.
-
- * job.c (construct_command_argv): Remove _p.
- (construct_command_argv_internal): Remove _ptr.
- Fixes Savannah bug #32567.
-
- * main.c (clean_jobserver): Don't write the free token to the pipe.
- Change suggested by Tim Newsome <tnewsome@aristanetworks.com>
-
- * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Add support for Darwin.
- * filedef.h (FILE_TIMESTAMP_STAT_MODTIME): Ditto.
- Patch provided by Troy Runkel <Troy.Runkel@mathworks.com>
-
-2011-10-11 Troy Runkel <Troy.Runkel@mathworks.com>
-
- * config.h.W32: Enable job server support for Windows.
- * main.c [WINDOWS32]: Include sub_proc.h
- (main): Create a named semaphore to implement the job server.
- (clean_jobserver): Free the job server semaphore when make is finished.
- * job.c [WINDOWS32]: Define WAIT_NOHANG
- (reap_children): Support non-blocking wait for child processes.
- (free_child): Release job server semaphore when child process finished.
- (job_noop): Don't define function on Windows.
- (set_child_handler_action_flags): Don't define function on Windows.
- (new_job): Wait for job server semaphore or child process termination.
- (exec_command): Pass new parameters to process_wait_for_any.
- * w32/include/sub_proc.h [WINDOWS32]: New/updated EXTERN_DECL entries.
- * w32/subproc/sub_proc.c [WINDOWS32]: Added job server implementation.
- (open_jobserver_semaphore): Open existing job server semaphore by name.
- (create_jobserver_semaphore): Create new job server named semaphore.
- (free_jobserver_semaphore): Close existing job server semaphore.
- (acquire_jobserver_semaphore): Decrement job server semaphore count.
- (release_jobserver_semaphore): Increment job server semaphore count.
- (has_jobserver_semaphore): Returns whether job server semaphore exists.
- (get_jobserver_semaphore_name): Returns name of job server semaphore.
- (wait_for_semaphore_or_child_process): Wait for either the job server
- semaphore to become signalled or a child process to terminate.
- (process_wait_for_any_private): Support for non-blocking wait for child.
- (process_wait_for_any): Added support for non-blocking wait for child.
- (process_file_io): Pass new parameters to process_wait_for_any_private.
-
-2011-09-18 Paul Smith <psmith@gnu.org>
-
- * main.c (main): If we're re-exec'ing and we're the master make,
- then restore the job_slots value so it goes back into MAKEFLAGS
- properly. See Savannah bug #33873.
-
- * remake.c (library_search): STD_DIRS is computed when other
- static vars like buflen etc. are computed, so it must be static
- as well. See Savannah bug #32511.
-
-2011-09-16 Paul Smith <psmith@gnu.org>
-
- * maintMakefile (do-po-update): Apparently we have to avoid
- certificate checks on the http://translationproject.org site now.
-
-2011-09-12 Paul Smith <psmith@gnu.org>
-
- * read.c (eval): Ensure exported variables are defined in the
- global scope. Fixes Savannah bug #32498.
-
-2011-09-11 Paul Smith <psmith@gnu.org>
-
- * Makefile.am (dist-hook): Remove w32/Makefile and .deps/ from the
- dist file. Fixes Savannah bug #31489.
-
- * doc/make.texi (Complex Makefile): Add a hint about using
- #!/usr/bin/make (for Savannah support request #106459)
-
-2011-09-02 Paul Smith <psmith@gnu.org>
-
- * remake.c (touch_file): If we have both -n and -t, -n takes
- precedence. Patch from Michael Witten <mfwitten@gmail.com>
-
-2011-08-29 Paul Smith <psmith@gnu.org>
-
- * expand.c (variable_expand_string): Always allocate a new buffer
- for a string we're expanding. The string we're working on can get
- freed while we work on it (for example if it's the value of a
- variable which modifies itself using an eval operation).
- See Savannah patch #7534 for the original report by Lubomir Rintel.
-
-2011-06-12 Paul Smith <psmith@gnu.org>
-
- * read.c (parse_file_seq): Move the check for empty members out of
- the loop so we can go to the next member properly.
- Another fix for Savannah bug #30612.
-
- * config.h-vms.template: Newer versions of VMS have strncasecmp()
- Patch provided by: Hartmut Becker <becker.ismaning@freenet.de>
-
-2011-05-07 Paul Smith <psmith@gnu.org>
-
- * expand.c (variable_append): Add a LOCAL argument to track
- whether this is the first invocation or not. If it's not and
- private_var is set, then skip this variable and try the next one.
- Fixes Savannah bug #32872.
-
- * read.c (parse_file_seq): Ensure existence checks use glob().
-
-2011-05-07 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (construct_command_argv_internal): Don't assume shellflags
- is always non-NULL. Escape-protect characters special to the
- shell when copying the value of SHELL into new_line. Fixes
- Savannah bug #23922.
-
-2011-05-02 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Special Variables): Add documentation for the new
- words in .FEATURES. Fixes Savannah bug #32058.
- (Flavor Function): Rewrite the section on the flavor function.
- Fixes Savannah bug #31582.
-
- * function.c (func_sort): Use the same algorithm to count the
- number of words we will get after the split, as we use to split.
- Based on a patch from Matthias Hopf. Fixes Savannah bug #33125.
-
- * make.h: Make global variable stack_limit extern.
- Fixes Savannah bug #32753.
-
-2011-05-01 Paul Smith <psmith@gnu.org>
-
- * read.c (parse_file_seq): Don't try to invoke glob() unless there
- are potential wildcard characters in the filename. Performance
- enhancement suggested by Michael Meeks <michael.meeks@novell.com>
-
-2011-04-29 Boris Kolpackov <boris@codesynthesis.com>
-
- * read.c (eval_makefile): Delay caching of the file name until after
- all the expansions and searches.
-
-2011-04-17 David A. Wheeler <dwheeler@dwheeler.com>
-
- * doc/make.texi (Reading Makefiles): Document "!=".
- (Setting): Ditto.
- (Features): Ditto.
- * variable.h (enum variable_flavor): New type "f_shell".
- * variable.c (shell_result): Send a string to the shell and store
- the output.
- (do_variable_definition): Handle f_shell variables: expand the
- value, then send it to the shell and store the result.
- (parse_variable_definition): Parse "!=" shell assignments.
- * read.c (get_next_mword): Treat "!=" as a varassign word.
- * function.c (fold_newlines): If trim_newlines is set remove all
- trailing newlines; otherwise remove only the last newline.
- (func_shell_base): Move the guts of the shell function here.
- (func_shell): Call func_shell_base().
-
-2011-02-21 Paul Smith <psmith@gnu.org>
-
- * strcache.c (various): Increase performance based on comments
- from Ralf Wildenhues <Ralf.Wildenhues@gmx.de>. Stop looking for
- a buffer when we find the first one that fits, not the best fit.
- If there is not enough free space in a buffer move it to a
- separate list so we don't have to walk it again.
- * make.h (NDEBUG): Turn off asserts unless maintainer mode is set.
- (strcache_add_len, strcache_setbufsize): Use unsigned length/size.
- * maintMakefile (AM_CPPFLAGS): Enable MAKE_MAINTAINER_MODE.
-
- * remake.c (complain): Move translation lookups closer to use.
-
-2011-02-13 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi: Clean up references to "static" variables and
- semicolon errors. Patch from Michael Witten <mfwitten@gmail.com>.
-
-2010-12-27 Paul Smith <psmith@gnu.org>
-
- * make.1: Update the header/footer info in the man page.
-
-2010-11-28 Paul Smith <psmith@gnu.org>
-
- * read.c (record_target_var): Don't reset v if it's the same as
- the global version. Fixes Savannah bug #31743.
-
-2010-11-06 Paul Smith <psmith@gnu.org>
-
- * variable.c (print_auto_variable): Print auto variables; ignore others.
- (print_noauto_variable): Print non-auto variables; ignore others.
- (print_variable_set): Allow the caller to select which type to print.
- (print_target_variables): Show all the non-auto variables for a target.
-
- * default.c (install_default_suffix_rules): Initialize recipe_prefix.
- * rule.c (install_pattern_rule): Ditto.
- * read.c (record_files): Pass in the current recipe prefix. Remember
- it in the struct command for these targets.
- (eval): Remember the value of RECIPEPREFIX when we start parsing.
- Do not remove recipe prefixes from the recipe here: we'll do it later.
- * job.c (start_job_command): Remove recipe prefix characters early,
- before we print the output or chop it up.
- * file.c (print_file): If recipe_prefix is not standard, reset it
- in -p output. Assign target variables in -p output as well.
-
- * commands.c (chop_commands): Max command lines is USHRT_MAX.
- Set any_recurse as a bitfield.
- * make.h (USHRT_MAX): Define if not set.
-
-2010-10-27 Paul Smith <psmith@gnu.org>
-
- * commands.h (struct commands): Rearrange to make better use of
- memory. Add new recipe_prefix value.
-
-2010-10-26 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Setting): Document the treatment of
- backslash-newline in variable values.
- * misc.c (collapse_continuations): Do not collapse multiple
- backslash-newlines into a single space. Fixes Savannah bug #16670.
-
-2010-08-29 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Implicit Variables): Document LDLIBS and LOADLIBES.
- Fixes Savannah bug #30807.
- (Instead of Execution): Mention that included makefiles are still
- rebuilt even with -n. Fixes Savannah bug #30762.
-
- * configure.in: Bump to 3.82.90.
-
- * make.h: Add trace_flag variable.
- * main.c (switches): Add --trace option.
- (trace_flag): Declare variable.
- * job.c (start_job_command): Show recipe if trace_flag is set.
- (new_job): Show trace messages if trace_flag is set.
- * doc/make.texi (Options Summary): Document the new --trace option.
- * make.1: Add --trace documentation.
- * NEWS: Mention --trace.
-
- * job.c (child_error): Show recipe filename/linenumber on error.
- Also show "(ignored)" when appropriate even for signals/coredumps.
- * NEWS: Mention file/linenumber change.
-
- * main.c (main): Print version info when DB_BASIC is set.
-
- * job.c (construct_command_argv_internal): If shellflags is not
- set, choose an appropriate default value. Fixes Savannah bug #30748.
-
-2010-08-27 Eli Zaretskii <eliz@gnu.org>
-
- * variable.c (define_automatic_variables) [__MSDOS__ || WINDOWS32]:
- Remove trailing backslashes in $(@D), $(<D), etc., for consistency
- with forward slashes. Fixes Savannah bug #30795.
-
-2010-08-13 Paul Smith <psmith@gnu.org>
-
- * NEWS: Accidentally forgot to back out the sorted wildcard
- enhancement in 3.82, so update NEWS.
- Also add NEWS about the error check for explicit and pattern
- targets in the same rule, added to 3.82.
-
- * main.c (main): Add "oneshell" to $(.FEATURES) (forgot to add
- this in 3.82!)
-
- * read.c (parse_file_seq): Fix various errors parsing archives
- with multiple objects in the parenthesis, as well as wildcards.
- Fixes Savannah bug #30612.
-
-2010-08-10 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Expand MAKEFLAGS before adding it to the
- environment when re-exec'ing. Fixes Savannah bug #30723.
-
-2010-08-07 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/build.bat: Make all 3 cl.exe compile command lines
- use the same /I switches. Fixes Savannah bug #30662.
-
- * function.c (func_shell) [WINDOWS32]: Reset just_print_flag
- around the call to construct_command_argv, so that a temporary
- batch file _is_ created when needed for $(shell).
- Fixes Savannah bug #16362.
-
-2010-08-07 Juan Manuel Guerrero <juan.guerrero@gmx.de>
-
- * configh.dos.template (HAVE_STRNCASECMP): Define.
-
-2010-07-28 Paul Smith <psmith@gnu.org>
-
- Version 3.82 released.
-
- * configure.in: Change release version.
- * NEWS: Change the date.
-
- * read.c (parse_file_seq): Remove GLOB_NOSORT for
- backward-compatibility. We'll add it back in next release.
- * NEWS: Note it.
-
-2010-07-24 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (pid2str) [WINDOWS32]: Fix CPP conditionals for using %Id
- format.
-
-2010-07-18 Paul Smith <psmith@gnu.org>
-
- * configure.in: Switch bsd_signal to AC_CHECK_DECLS() to make sure
- we have a declaration. Fixes Savannah bug #25713 (maybe?)
- * doc/make.texi (Complex Makefile): Cleanup variable assignments.
- (One Shell): New subsection for the .ONESHELL special target.
-
- Patches by Ozkan Sezer <sezeroz@gmail.com>:
-
- * misc.c (strncasecmp): Local implementation for systems without.
- * config.h.W32.template (HAVE_STRNICMP): Define on Windows.
- * configure.in: Check for strncasecmp/strncmpi/strnicmp.
- * job.c [WINDOWS32]: Don't define dup2 on Windows.
- (pid2str): Use "%Id" even with MSVC
- (exec_command): Cast to pid_t when calling pid2str().
- * w32/subproc/sub_proc.c [WINDOWS32]: Include config.h first.
- Use stddef.h on MSVC to get intptr_t.
- * w32/subproc/misc.c [WINDOWS32]: Include config.h first.
- * w32/compat/dirent.c [WINDOWS32]: Include config.h first.
- (readdir): Cast -1 to correct type for d_ino.
- * w32/pathstuff.c [WINDOWS32]: Ensure make.h is included first.
- * make.h [WINDOWS32]: Don't prototype alloca() on Windows.
- Add configuration for strncasecmp().
- * main.c (ADD_SIG) [WINDOWS32]: Avoid warnings in MSVC.
- * config.h.W32.template [WINDOWS32]: Don't warn on unsafe
- functions or variables.
- * NMakefile.template [WINDOWS32]: Remove /MACHINE:I386.
- * main.c (clean_jobserver): Cast due to MSVC brokenness.
- (decode_switches): Ditto.
- * vpath.c (construct_vpath_list): Ditto.
- * rule.c (freerule): Ditto.
- * ar.c (ar_glob): Ditto.
-
-2010-07-16 Boris Kolpackov <boris@codesynthesis.com>
-
- * misc.c (concat): Fix buffer overrun.
-
-2010-07-12 Paul Smith <psmith@gnu.org>
-
- Update copyrights to add 2010.
-
- * build_w32.bat: Support for MSVC Windows x86_64 builds.
- * job.c: Don't define execve() on MSVC/64bit.
- Patch by Viktor Szakats. Fixes Savannah bug #27590.
-
-2010-07-12 Eli Zaretskii <eliz@gnu.org>
-
- * make.h (alloca) [!__GNUC__]: Don't define prototype.
- (int w32_kill): Use pid_t for process ID argument.
- Fixes Savannah bug #27809.
-
-2010-07-12 Paul Smith <psmith@gnu.org>
-
- Integrated new .ONESHELL feature.
- Patch by David Boyce <dsb@boyski.com>. Modified by me.
-
- * NEWS: Add a note about the new feature.
- * job.c (is_bourne_compatible_shell): Determine whether we're
- using a standard POSIX shell or not.
- (start_job_command): Accept '-ec' as POSIX shell flags.
- (construct_command_argv_internal): If one_shell is set and we are
- using a POSIX shell, remove "interior" prefix characters such as
- "@", "+", "-". Also treat "\n" as a special character when
- choosing the slow path, if ONESHELL is set.
- * job.h (is_bourne_compatible_argv): Define the new function.
-
- * make.h (one_shell): New global variable to remember setting.
- * main.c: Declare it.
- * read.c (record_files): Set it.
- * commands.c (chop_commands): If one_shell is set, don't chop
- commands into multiple lines; just keep one line.
-
-2010-07-09 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/sub_proc.c: Include stdint.h.
- (sub_process_t): Use intptr_t for file handles and pid_t for
- process ID.
- (process_pipes, process_init_fd, process_begin): Use intptr_t for
- file handles and pid_t for process ID. Fixes Savannah bug #27809.
- Patch by Ozkan Sezer <sezeroz@gmail.com>
-
- * function.c (abspath): Support absolute file names in UNC format.
- Fixes Savannah bug #30312.
-
- * job.c (pid2str) [WINDOWS32]: Don't use %Id with GCC < 4.x.
- (exec_command) [WINDOWS32]: Use pid2str instead of non-portable
- %Id.
-
- * main.c (handle_runtime_exceptions): Use %p to print addresses,
- to DTRT on both 32-bit and 64-bit hosts. Savannah bug #27809.
-
- * job.c (w32_kill, start_job_command, create_batch_file): Use
- pid_t for process IDs and intptr_t for the 1st arg of
- _open_osfhandle.
- * function.c (windows32_openpipe): Use pid_t for process IDs and
- intptr_t for the 1st arg of _open_osfhandle.
- (func_shell): Use pid_t for process IDs.
- * main.c (main) [WINDOWS32]: Pacify the compiler.
- * config.h.W32.template (pid_t): Add a definition for 64-bit
- Windows builds that don't use GCC. Fixes Savannah bug #27809.
- Patch by Ozkan Sezer <sezeroz@gmail.com>
-
-2010-07-07 Paul Smith <psmith@gnu.org>
-
- * configure.in: Bump to a new prerelease version 3.81.91.
-
-2010-07-06 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Set a default value of "-c" for .SHELLFLAGS.
- * NEWS: Mention the new behavior of .POSIX and the new .SHELLFLAGS
- variable.
- * job.c (construct_command_argv): Retrieve the .SHELLFLAGS value
- and pass it to construct_command_argv_internal().
- (construct_command_argv_internal): If .SHELLFLAGS is non-standard
- use the slow path. Use that value instead of hard-coded "-c".
-
-2010-07-05 Paul Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): lastslash can be const.
- * dir.c (downcase): Remove unused variable.
- * hash.c (hash_init): Cast sizeof for error message.
- * arscan.c (ar_scan): Cast to char* for WINDOWS32.
- (ar_member_touch): Ditto.
- * ar.c (glob_pattern_p): Avoid symbol collision: open -> opened
- * signame.c (strsignal): Ditto: signal -> sig
- * job.c (create_batch_file): Ditto: error -> error_string
- (pid2str): Portably convert a pid_t into a string
- (reap_children): Use it.
- (start_waiting_job): Use it.
- Savannah bug #27809. Patch by Ozkan Sezer <sezeroz@gmail.com>
-
-2010-07-03 Paul Smith <psmith@gnu.org>
-
- * read.c (parse_file_seq): All archive groups must end with ')' as
- the LAST character in a word. If there is no word ending in ')'
- then it's not an archive group. Fixes Savannah bug #28525.
-
-2010-07-01 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Append optional features using separate calls.
- Not as efficient but not all compilers allow conditionals inside
- macro calls. Fixes Savannah bug #29244.
-
-2010-01-10 Paul Smith <psmith@gnu.org>
-
- * make.h (patheq): Rename strieq() to patheq() for clarity.
- * dir.c (dir_contents_file_exists_p): Use it.
-
- * dir.c (file_impossible): Convert xmalloc/memset to xcalloc.
- * file.c (enter_file): Ditto.
- * job.c (new_job): Ditto.
-
-2009-12-11 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (construct_command_argv_internal) <sh_cmds_dos>
- [WINDOWS32]: Add "echo." and a few more commands that are built
- into cmd.exe. Fixes Savannah bug #28126.
-
- * file.c (lookup_file) [HAVE_DOS_PATHS]: Treat '\\' like we do
- with '/'.
-
-2009-11-15 Paul Smith <psmith@gnu.org>
-
- Patches for VMS provided by Hartmut Becker <Hartmut.Becker@hp.com>
-
- * vmsjobs.c (ctrlYPressed) [VMS]: Deal with CTRL-Y.
- (vmsHandleChildTerm) [VMS]: Ditto.
- (astYHandler) [VMS]: Ditto.
- (tryToSetupYAst) [VMS]: Ditto.
- (child_execute_job) [VMS]: Ditto.
-
- * vmsify.c (trnlog) [VMS]: Fix const errors.
- (vmsify) [VMS]: Ditto.
-
- * readme.vms [VMS]: Update with notes for 3.82.
-
- * job.h (comname) [VMS]: Remember the temporary command filename
-
- * dir.c (vmsify) [VMS]: Fix const errors.
- (vms_hash) [VMS]: Ditto.
- (vmsstat_dir) [VMS]: Ditto.
- (find_directory) [VMS]: Fix case-insensitive option for VMS
- (dir_contents_file_exists_p) [VMS]: Ditto.
- (file_impossible) [VMS]: Ditto.
-
- * config.h-vms.template (HAVE_FDOPEN) [VMS]: Have it.
- (HAVE_STRCASECMP) [VMS]: Ditto.
-
- * arscan.c (VMS_get_member_info) [VMS]: Fix timezone computation.
- (ar_scan) [VMS]: Fix const error.
-
-2009-11-12 Boris Kolpackov <boris@codesynthesis.com>
-
- * vpath.c (vpath_search, selective_vpath_search): Add index arguments
- which allows the caller to get the index of the matching directory.
-
- * make.h (vpath_search): Update prototype.
-
- * remake.c (library_search): Implement linker-compatible library
- search. Use the new VPATH_SEARCH index functionality to keep track
- of the directory index for each match. Select the match with the
- lowest directory index.
-
- * implicit.c (pattern_search): Pass NULL for the index arguments in
- the VPATH_SEARCH call.
-
- * doc/make.texi (Directory Search for Link Libraries): Describe the
- new search behavior.
-
- * NEWS: Add a note about the new behavior.
-
-2009-10-25 Paul Smith <psmith@gnu.org>
-
- * AUTHORS, et.al.: Update copyright years.
-
- * implicit.c (stemlen_compare): Fix qsort() compare bug that
- caused implicit rules with equal stem lengths to be sorted
- indeterminately.
-
-2009-10-24 Paul Smith <psmith@gnu.org>
-
- * main.c (usage): Add --eval to the usage string.
- (switches): Add the --eval switch.
- (main): If --eval is given, add them to the simply-expanded variable
- -*-eval-flags-*- (necessary to allow recursion to work properly).
- (define_makeflags): Add -*-eval-flags-*- to MAKEFLAGS.
-
- * NEWS: Describe the new --eval command line argument.
- * doc/make.texi (Options Summary): Document --eval.
-
- * dep.h: eval_buffer() returns void.
- * read.c (eval_buffer): Ditto.
- (eval): Ditto.
-
- * variable.h (define_variable_cname): New macro for constant
- variable names.
- * default.c (set_default_suffixes): Use it.
- * main.c (main): Ditto.
- (handle_non_switch_argument): Ditto.
- (define_makeflags): Ditto.
- * read.c (read_all_makefiles): Ditto.
- * variable.c (define_automatic_variables): Ditto.
-
- * commands.c (dep_hash_cmp): Avoid casts.
- (dep_hash_1): Ditto.
- (dep_hash_2): Ditto.
-
-2009-10-22 Boris Kolpackov <boris@codesynthesis.com>
-
- * read.c (read_all_makefiles): Mark the default makefile dependency
- dontcare.
-
-2009-10-07 Boris Kolpackov <boris@codesynthesis.com>
-
- * read.c (do_undefine): Free the expanded variable name.
-
- * commands.c (dep_hash_cmp, set_file_variables): Move the order-only
- to normal upgrade logic from dep_hash_cmp to set_file_variables.
-
-2009-10-06 Boris Kolpackov <boris@codesynthesis.com>
-
- * dep.h (uniquize_deps): Remove.
-
- * read.c (uniquize_deps): Merge into set_file_variables in
- commands.c.
- (dep_hash_1, dep_hash_2, dep_hash_cmp): Move to commands.c.
-
- * commands.c (set_file_variables): Avoid modifying the dep
- chain to achieve uniqueness. Fixes savannah bug 25780.
-
- * implicit.c (pattern_search): Instead of re-setting all automatic
- variables for each rule we try, just update $*.
-
-2009-10-06 Boris Kolpackov <boris@codesynthesis.com>
-
- * variable.h (undefine_variable_in_set): New function declaration.
- (undefine_variable_global): New macro.
-
- * variable.c (undefine_variable_in_set): New function implementation.
-
- * read.c (vmodifiers): Add undefine_v modifier.
- (parse_var_assignment): Parse undefine.
- (do_undefine): Handle the undefine directive.
- (eval): Call do_undefine if undefine_v is set.
-
- * main.c (.FEATURES): Add a keyword to indicate the new feature.
-
- * doc/make.texi (Undefine Directive): Describe the new directive.
-
- * NEWS: Add a note about the new directive.
-
-2009-10-05 Boris Kolpackov <boris@codesynthesis.com>
-
- * implicit.c (pattern_search): Initialize file variables only
- if we need to parse a rule that requires the second expansion.
-
-2009-10-03 Paul Smith <psmith@gnu.org>
-
- * make.h: Include <alloca.h> even on systems where __GNUC__ is
- defined. Not sure why it was done the other way.
- Requested by David Boyce <dsb@boyski.com>.
-
-2009-09-30 Boris Kolpackov <boris@codesynthesis.com>
-
- * dep.h (dep): Add the DONTCARE bitfield.
-
- * filedef.h (file):Add the NO_DIAG bitfield.
-
- * read.c (eval_makefile): Set the DONTCARE flag in struct dep,
- not struct file (a file can be a dependency of many targets,
- some don't care, some do).
-
- * remake.c (update_goal_chain): Propagate DONTCARE from struct
- dep to struct file before updating the goal and restore it
- afterwards.
- (update_file): Don't prune the dependency graph if this target
- has failed but the diagnostics hasn't been issued.
- (complain): Scan the file's dependency graph to find the file
- that caused the failure.
- (update_file_1): Use NO_DIAG instead of DONTCARE to decide
- whether to print diagnostics.
-
- Fixes Savannah bugs #15110, #25493, #12686, and #17740.
-
-2009-09-28 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Pattern Intro): Move the match algorithm
- discussion into the "Pattern Match" node.
- (Pattern Match): Expand on the pattern rule matching algorithm.
-
-2009-09-28 Andreas Buening <andreas.buening@nexgo.de>
-
- * job.c (construct_command_argv_internal) [OS2]: Don't eat too
- much of the command line on a single pass.
-
-2009-09-28 Boris Kolpackov <boris@codesynthesis.com>
-
- * varible.c (create_pattern_var): Insert variables into the
- PATTERN_VARS list in the shortest patterns first order.
-
- * implicit.c (tryrule): Add STEMLEN and ORDER members. These are
- used to sort the rules.
- (stemlen_compare): Compare two tryrule elements.
- (pattern_search): Sort the rules so that they are in the shortest
- stem first order.
-
- * main.c (.FEATURES): Add a keyword to indicate the new behavior.
-
- * doc/make.texi (Pattern-specific Variable Values): Describe the
- new pattern-specific variables application order.
- (Introduction to Pattern Rules): Describe the new pattern rules
- search order.
-
- * NEWS: Add a note about the new behavior.
-
-2009-09-27 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Double-Colon): Mention that pattern rules with
- double-colons have a different meaning. Savannah bug #27497.
-
-2009-09-27 Juan Manuel Guerrero <juan.guerrero@gmx.de>
-
- * configh.dos.template: Remove unconditional definition of
- SYS_SIGLIST_DECLARED.
- Include <sys/version.h> because ports of GCC 4.3.0 and later no
- longer include it, so macros like __DJGPP_MINOR__ are no longer
- defined automatically.
-
- * Makefile.DOS.template (INCLUDES): Use $(prefix) and the
- corresponding variables to define LIBDIR, INCLUDEDIR and LOCALEDIR
- instead of using the hardcoded ones.
- (SUBDIRS): doc subdir added.
- (INFO_DEPS, DVIS): Values changed to 'make.info' and 'make.dvi'.
- (TEXI2HTML, TEXI2HTML_FLAGS): Removed. Use makeinfo --html to
- create html formated docs. texi2html may not be ported to DOS.
- (make.info, make.dvi, make.ps, make.html): Make targets depend on
- 'make.texi'.
- (.texi.info, .texi, .texi.dvi): Now invoked recursively. Change
- -I switch to look in ./ instead of ./doc.
- (html): Target depend on html-recursive instead of make_1.html.
- (make_1.html): Removed.
- (mostlyclean-aminfo): Use $(srcdir)/doc instead of ./ as prefix.
- (all-recursive): Allow for more than one subdir in the build
- process.
- (mostlyclean-recursive, clean-recursive, distclean-recursive)
- (maintainer-clean-recursive, check-recursive): Enter in doc/ too.
- (tags-recursive): Allow for more than one subdir in the build
- process.
- (info-recursive, dvi-recursive, ps-recursive, html-recursive): New
- targets. Enter into doc/ to produce the targets.
- (all-am): $(INFO_DEPS) replaced by info.
-
-2009-09-26 Paul Smith <psmith@gnu.org>
-
- * read.c (record_files): Use free_ns() to free struct nameseq.
- (eval): Ditto.
-
- * rule.c (freerule): Use free_dep_chain().
-
- * read.c (record_files): Free FILENAMES chain for implicit rules.
- (eval): Static pattern targets go into the string cache.
-
- * function.c (string_glob): Free NAME in the nameseq chain.
-
-2009-09-25 Boris Kolpackov <boris@codesynthesis.com>
-
- * implicit.c (pattern_search): Terminate early if we haven't
- found any rules to try (performance improvement).
-
-2009-09-25 Boris Kolpackov <boris@codesynthesis.com>
-
- * implicit.c (pattern_search): Merge three parallel arrays,
- TRYRULES, MATCHES, and CHECKED_LASTSLASH, into one array
- of struct TRYRULE. In the old version the latter two arrays
- had insufficient length.
-
-2009-09-24 Paul Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Add back support for order-only
- prerequisites for secondary expansion implicit rules, that were
- accidentally dropped. If we find a "|", enable order-only mode
- and set IGNORE_MTIME on all deps that are seen afterward.
- (pattern_search): Fix memory leaks: for intermediate files where
- we've already set the file variable and pattern variable sets, be
- sure to either save or free them as appropriate.
-
-2009-09-23 Paul Smith <psmith@gnu.org>
-
- Rework the way secondary expansion is stored, for efficiency.
- This changes secondary expansion so that ONLY WHEN we know we have
- a possibility of needing secondary expansion, do we defer the
- secondary expansion. This means more parsing the deps but we use
- a lot less memory (due to the strcache). Also, this fixes
- Savannah bug #18622.
-
- * read.c (eval): Don't parse the dep string here anymore.
- (record_files): Take the dep argument as an unparsed string. If
- secondary expansion is enabled AND the prereq string has a '$' in
- it, then set NEED_2ND_EXPANSION and keep the entire string.
- Otherwise, parse the dep string here to construct the dep list
- with the names in the strcache.
-
- * misc.c (copy_dep_chain): For NEED_2ND_EXPANSION, we need to
- duplicate the name string (others are in the strcache).
-
- * implicit.c: Remove struct idep and free_idep_chain(): unused.
- (struct patdeps): New structure to store prereq information.
- (pattern_search): Use the NEED_2ND_EXPANSION flag to determine
- which prerequisites need expansion, and expand only those.
-
- * file.c (split_prereqs): Break parse_prereqs() into two parts: this
- and enter_prereqs(). split_prereqs() takes a fully-expanded string
- and splits it into a DEP list, handling order-only prereqs.
- (enter_prereqs): This function enters a list of DEPs into the file
- database. If there's a stem defined, expand any pattern chars.
- (expand_deps): Only try to expand DEPs which have NEED_2ND_EXPANSION
- set. Use the above functions.
- (snap_deps): Only perform second expansion on prereqs that need it,
- as defined by the NEED_2ND_EXPANSION flag.
- (print_prereqs): New function to print the prereqs
- (print_file): Call print_prereqs() rather than print inline.
-
- * hash.h (STRING_COMPARE): Take advantage of strcache() by
- comparing pointers.
- (STRING_N_COMPARE): Ditto.
- (ISTRING_COMPARE): Ditto.
-
- * dep.h (PARSE_FILE_SEQ): New macro to reduce casts.
- (parse_file_seq): Return void*
- * read.c (parse_file_seq): Return void*.
- (eval): Invoke macroized version of parse_file_seq()
- * default.c (set_default_suffixes): Ditto.
- * file.c (split_prereqs): Ditto.
- * function.c (string_glob): Ditto.
- * main.c (main): Ditto.
- * rule.c (install_pattern_rule): Ditto.
-
- * filedef.h: Add split_prereqs(), enter_prereqs(), etc.
-
-2009-09-16 Paul Smith <psmith@gnu.org>
-
- * misc.c (alloc_dep, free_dep): Now that we have xcalloc(),
- convert to macros.
- * dep.h: Create alloc_dep() / free_dep() macros.
-
- * implicit.c (pattern_search): Take advantage of the new
- parse_file_seq() to add the directory prefix to each prereq.
-
- * dep.h: Remove multi_glob() and enhance parse_file_seq() to do it
- all. Avoid reversing chains. Support adding prefixes.
- * read.c (parse_file_seq): Rewrite to support globbing. Allow for
- cached/non-cached results.
- (eval): Remove multi_glob() & invoke new parse_file_seq().
- * rule.c (install_pattern_rule): Ditto.
- * main.c (main): Ditto.
- * implicit.c (pattern_search): Ditto.
- * function.c (string_glob): Ditto.
- * file.c (parse_prereqs): Ditto.
- * default.c (set_default_suffixes): Ditto.
-
- * variable.c (parse_variable_definition): Don't run off the end of
- the string if it ends in whitespace (found with valgrind).
-
- * commands.c (set_file_variables): Keep space for all targets in
- $? if -B is given (found with valgrind).
-
-2009-09-15 Paul Smith <psmith@gnu.org>
-
- * misc.c (concat): Make concat() variadic so it takes >3 arguments.
- (xcalloc): Add new function.
- * make.h: New declarations.
-
- * ar.c (ar_glob_match): New calling method for concat().
- * main.c (main): Ditto.
- (decode_env_switches): Ditto.
- * read.c (eval_makefile): Ditto.
- (tilde_expand): Ditto.
- (parse_file_seq): Ditto.
- * variable.c (target_environment): Ditto.
- (sync_Path_environment): Ditto.
-
- * ar.c (ar_glob_match): Use xcalloc().
- * dir.c (file_impossible): Ditto.
- * file.c (enter_file): Ditto.
- * job.c (new_job): Ditto.
- * read.c (parse_file_seq): Ditto.
- * vmsfunctions.c (opendir): Ditto.
-
-2009-09-14 Rafi Einstein <rafi.einstein@gmail.com> (tiny patch)
-
- * w32/subproc/sub_proc.c (process_begin): Check *ep non-NULL
- inside the loop that looks up environment for PATH.
-
-2009-08-31 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (windows32_openpipe): Update envp after calling
- sync_Path_environment.
-
-2009-08-02 Paul Smith <psmith@gnu.org>
-
- * remake.c (notice_finished_file): Ensure file->cmds is not null
- before looping through them. Fixes Savannah bug #21824.
-
- * doc/make.texi (Wildcard Examples): Clarify when objects is
- wildcard-expanded. Fixes Savannah bug #24509. Patch by Martin Dorey.
- (Include): Clarify the behavior of -include.
- Fixes Savannah bug #18963.
-
-2009-08-01 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Catalogue of Rules): Clarify where -c, -F,
- etc. come on the command line. Fixes Savannah bug #27093.
-
- * expand.c (expand_argument): If the argument is large enough use
- xmalloc() instead of alloca(). Fixes Savannah bug #27143.
-
- * variable.c (do_variable_definition): Avoid using alloca() to
- hold values, which can be large. Fixes Savannah bug #23960.
-
- * job.c (new_job): Use memmove() instead of strcpy() since both
- pointers are in the same memory block. Fixes Savannah bug #27148.
- Patch by Petr Machata.
-
-2009-07-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * job.c (construct_command_argv_internal): Add "ulimit" and
- "unset" to the sh_cmds for Unixy shells.
-
-2009-07-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.in: Move side-effects outside AC_CACHE_VAL arguments
- that set make_cv_sys_gnu_glob, so they are also correctly set
- when the cache has been populated before.
-
-2009-07-04 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (func_realpath) [!HAVE_REALPATH]: Require the file to
- exist, as realpath(3) does where it's supported.
-
-2006-07-04 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (IS_ABSOLUTE, ROOT_LEN): New macros.
- (abspath): Support systems that define HAVE_DOS_PATHS (have
- drive letters in their file names). Use IS_PATHSEP instead of a
- literal '/' comparison. Fixes Savannah bug #26886.
-
-2009-06-14 Paul Smith <psmith@gnu.org>
-
- * remake.c (update_file_1): Remember the original file we marked
- as updating, so we can clear that flag again. If we find a target
- via vpath, FILE might change.
- (check_dep): Ditto. Fixes Savannah bug #13529.
- Patch by Reid Madsen <reid.madsen@tek.com>.
-
-2009-06-13 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (MAKEFILES Variable): Be explicit that files
- included by MAKEFILES cannot give default goals.
- * read.c (eval): If set_default is not set, pass the no-default-goal
- value when we read included makefiles. Fixes Savannah bug #13401.
-
- * ar.c (ar_name): Ensure that targets with empty parens aren't
- considered archive member references: archive members must have a
- non-empty "member" string. Fixes Savannah bug #18435.
-
- * function.c (string_glob): Rely on multi_glob() to determine
- whether files exist or not. Remove call to file_exists_p() which
- is not always correct. Fixes Savannah bug #21231.
- * read.c (multi_glob): Add a new argument EXISTS_ONLY; if true
- then only files that really exist will be returned.
- * dep.h: Add new argument to multi_glob().
- * rule.c (install_pattern_rule): Ditto.
- * read.c (eval): Ditto.
- * main.c (main): Ditto.
- * implicit.c (pattern_search): Ditto.
- * file.c (parse_prereqs): Ditto.
- * default.c (set_default_suffixes): Ditto.
-
-2009-06-09 Paul Smith <psmith@gnu.org>
-
- * commands.c (set_file_variables): If always_make_flag is set,
- always add the prereq to $?. Fixes Savannah bug #17825.
-
- * remake.c (update_file_1): When rebuilding deps of FILE, also try
- to rebuild the deps of all the also_make targets for that file.
- Fixes Savannah bug #19108.
-
- * implicit.c (pattern_search): Undo test for is_target, added by
- BorisK on 21 Sep 2004. This goes against step 5c in the "Implicit
- Rule Search Algorithm". Fixes Savannah bug #17752.
-
- * main.c (clean_jobserver): Clear the jobserver_fds options and
- set job_slots to the default when we clean up.
- (define_makeflags): Return the new MAKEFLAGS value.
- (main): Reset MAKEFLAGS in the environment when we re-exec.
- Fixes Savannah bug #18124.
-
-2009-06-08 Paul Smith <psmith@gnu.org>
-
- * read.c (eval): Collapse continuations post-semicolon on target-
- specific variables. Fixes Savannah bug #17521.
-
-2009-06-07 Paul Smith <psmith@gnu.org>
-
- * job.c (reap_children): For older systems without waitpid() (are
- there any of these left?) run wait(2) inside EINTRLOOP to handle
- EINTR errors. Fixes Savannah bug #16401.
-
- * (various): Debug message cleanup. Fixes Savannah bug #16469.
-
- * main.c: Fix bsd_signal() typedef. Fixes Savannah bug #16473.
-
- * file.c (snap_deps): Set SNAPPED_DEPS at the start of snapping,
- not the end, to catch second expansion $(eval ...) defining new
- target/prereq relationships during snap_deps.
- Fixes Savannah bug #24622.
-
- * read.c (record_files): The second-expansion "f->updating" hack
- was not completely correct: if assumed that the target with
- commands always had prerequisites; if one didn't then the ordering
- was messed up. Fixed for now to use f->updating to decide whether
- to preserve the last element in the deps list... but this whole
- area of constructing and reversing the deps list is too confusing
- and needs to be reworked. Fixes Savannah bug #21198.
-
-2009-06-06 Paul Smith <psmith@gnu.org>
-
- * hash.c (hash_insert): Remove useless test for NULL.
- Fixes Savannah bug #21823.
-
- * make.h: Move SET_STACK_SIZE determination to make.h.
- * main.c (main): New global variable, STACK_LIMIT, holds the
- original stack limit when make was started.
- * job.c (start_job_command): Reset the stack limit, if we changed it.
- Fixes Savannah bug #22010.
-
- * remake.c (check_dep): Only set the target's state to not-started
- if it's not already running. Found this while testing -j10 builds
- of glibc: various targets were being rebuilt multiple times.
- Fix from Knut St. Osmundsen; fixes a problem reported in Savannah
- bug #15919.
-
- * read.c (multi_glob): Don't pass GLOB_NOCHECK to glob(3); instead
- handle the GLOB_NOMATCH error. This is to work around Sourceware.org
- Bugzilla bug 10246.
-
-2009-06-04 Paul Smith <psmith@gnu.org>
-
- * read.c (eval): Skip initial whitespace (ffeed, vtab, etc.)
-
- * maintMakefile: Modify access of config and gnulib Savannah
- modules to use GIT instead of CVS.
-
- * main.c (main): Initialize the LENGTH field in SHELL_VAR.
- Fixes Savannah bug #24655.
-
- * read.c (eval_buffer): Don't dereference reading_file if it's NULL;
- this can happen during some invocations of $(eval ...) for example.
- Fixes Savannah bug #24588. Patch by Lars Jessen <ljessen@ljessen.dk>
-
-2009-06-02 Paul Smith <psmith@gnu.org>
-
- * configure.in: Check for fileno()
- * read.c (eval_makefile): If fileno() is available, set CLOSE_ON_EXEC
- for the makefile file so invocations of $(shell ...) don't inherit it.
- Fixes Savannah bug #24277.
-
-2009-06-01 Paul Smith <psmith@gnu.org>
-
- * main.c (main): The previous fix for .DEFAULT_GOAL had issues;
- expansion was handled incorrectly. Rework the default goal
- handling to save the variable only. Remove default_goal_file and
- default_goal_name.
- * read.c (eval): Check default_goal_var, not default_goal_name.
- * read.c (record_target_var): Don't check default_goal_file here.
-
-2009-05-31 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Expand the .DEFAULT_GOAL variable before using
- it, and if the multi_glob() returns nothing (say it expanded to
- nothing but spaces) then don't crash. Fixes Savannah bug #25697.
-
- * doc/make.texi (Quick Reference): Add $(if ..), $(or ..), and
- $(and ..) to the reference. Fixes Savannah bug #25694.
-
- * make.1: Be clear that some recipes will be executed even with -n.
- * doc/make.texi: Ditto. Fixes Savannah bug #25460.
-
- * doc/make.texi (Override Directive): Make more clear how
- overrides and appends interact.
- Elucidates part of Savannah bug #26207.
-
- * read.c (record_target_var): Don't reset the origin on
- target-specific variables; try_variable_definition() will handle
- this correctly. Fixes Savannah bug #26207.
-
- * maintMakefile (do-po-update): Copy PO files into $(top_srcdir).
- Fixes Savannah bug #25712.
-
- * implicit.c (pattern_search): Keep a pointer to the beginning of
- the filename and save that instead of the constructed pointer.
- Fixes Savannah bug #26593.
- Patch by Mark Seaborn <mrs@mythic-beasts.com>
-
-2009-05-30 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Multi-Line): Add a description of the new abilities
- of define/endef. Rename "Sequences" to "Multi-Line" and fix some
- "command sequence" vs. "recipe" syntax.
- * read.c (do_define): Modify to allow assignment tokens (=, :=, etc.)
- after a define, to create variables with those flavors.
-
-2009-05-25 Paul Smith <psmith@gnu.org>
-
- Reworked the parser for variable assignments to allow multiple
- modifiers, and in any order. Also allows variable and
- prerequisites to be modifier names ('export', 'private', etc.)
-
- * NEWS: Add notes about user-visible changes.
-
- * read.c (struct vmodifiers): Remember what modifiers were seen.
- (parse_var_assignment): New function to parse variable assignments.
- (eval): Call the new function. Handle variable assignments earlier.
-
- * variable.c (parse_variable_definition): Only parse; don't create var.
- (assign_variable_definition): Call parse, then create the var.
-
-2009-05-24 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi: Fix the ISBN for the GNU make manual. Incorrect
- value noticed by Hans Stol <hans.stol@nc3a.nato.int>.
-
-2009-03-14 Eli Zaretskii <eliz@gnu.org>
-
- * w32/pathstuff.c (convert_Path_to_windows32): Fix last change.
- Fixes Savannah bug #25412.
-
- * w32/subproc/sub_proc.c <top level>: Update Copyright years. Add
- prototype for xmalloc.
- (find_file): Accept 3 arguments PATH_VAR, FULL_FNAME, and FULL_LEN
- instead of an LPOFSTRUCT pointer. Use xmalloc instead of malloc.
- Loop over an array of extensions, instead of duplicating the same
- code inline. Use SearchPath followed by CreateFile, instead of
- the obsolete OpenFile. Fixes Savannah bug #17277.
- (process_begin): Find $(PATH) in `envp', and pass a pointer to it
- to `find_file'. Fixes Savannah bug #25662.
-
-2009-03-07 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (func_shell): Don't close pipedes[1] if it is -1.
- Fixes Savannah bug #20495.
-
-2009-02-28 Ralf Wildenhues <address@hidden>
-
- * doc/make.texi (Instead of Execution): Document interaction of
- -t with phony targets.
-
-2009-02-23 Ramon Garcia <ramon.garcia.f@gmail.com>
-
- Introduce a new keyword "private" which applies to target-specific
- variables and prevents their values from being inherited.
-
- * variable.h (struct variable): Add private_var flag to each variable.
- Add a flag to specify which list entry switches to the parent target.
- * variable.c (define_variable_in_set): Initialize private_var flag.
- (lookup_variable): Skip private variables in parent contexts.
- (initialize_file_variables): Set next_is_parent appropriately.
- (print_variable): Show the private_var flag.
- * read.c (eval): Recognize the private keyword.
- (record_target_var): Set private_var.
- * doc/make.texi (Suppressing Inheritance): Add documentation.
-
-2008-10-26 Paul Smith <psmith@gnu.org>
-
- * configure.in: Check for strndup().
- * misc.c (xstrndup): Rename savestring to xstrndup. Use strndup
- if it's available.
- * make.h: Rename savestring to xstrndup.
- * commands.c (chop_commands): Ditto.
- * function.c (func_foreach): Ditto.
- * read.c (eval, record_files): Ditto.
- * variable.c (define_variable_in_set): Ditto.
-
-2008-09-30 Eli Zaretskii <eliz@gnu.org>
-
- * build_w32.bat (GCCBuild): Use "-gdwarf-2 -g3" instead of
- "-gstabs+ -ggdb3".
-
- * w32/subproc/build.bat (GCCBuild): Likewise.
-
-2008-09-30 David Russo <d-russo@ti.com> (tiny change)
-
- * job.c (construct_command_argv_internal): Avoid extra backslash
- in batch-mode Unixy shells. Under DB_JOBS, display the contents
- of the batch file.
-
-2008-05-31 Eli Zaretskii <eliz@gnu.org>
-
- * README.W32.template: Remove obsolete text about non-support for
- -jN without Unixy shell. Remove obsolete text about not supplying
- Visual Studio project files (we do supply them). Modify text to
- prefer GCC builds to MSC builds.
-
-2008-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/make.texi (Empty Targets): Fix typo.
-
-2008-03-27 Paul Smith <psmith@gnu.org>
-
- Fix Savannah bug #22379:
- * ar.c (ar_glob_match): Zero the allocated structure.
- * read.c (parse_file_seq): Ditto.
-
-2008-03-08 Brian Dessent <brian@dessent.net>
-
- * maintMakefile: Update Translation Project location.
-
-2008-01-26 Eli Zaretskii <eliz@gnu.org>
-
- * variable.c (target_environment): Don't use shell_var if its
- `value' field is NULL.
-
-2007-12-22 Eli Zaretskii <eliz@gnu.org>
-
- Suggested by Juan Manuel Guerrero <juan.guerrero@gmx.de>:
-
- * Makefile.DOS.template (info_TEXINFOS): Remove unused variable.
- (TEXINFOS): Value changed to `doc/make.texi'.
- (.SUFFIXES): Use .texi instead of .texinfo.
- (make.info, make.dvi): Depend on doc/make.texi.
- (.texi.info): New target, instead of ".texinfo.info". Change -I
- switch to $(MAKEINFO) to look in doc/. Use --no-split.
- (.texi): New target, instead of ".texinfo". Change -I switch to
- $(MAKEINFO) to look in doc/. Use --no-split.
- (.texi.dvi): New target, instead of ".texinfo.dvi". Change -I
- switch to $(MAKEINFO) to look in doc/.
- (install-info-am, uninstall-info): Don't look for "*.i[0-9]" and
- "*.i[0-9][0-9]" (due to --no-split above).
- (noinst_TEXINFOS, TEXI2HTML, TEXI2HTML_FLAGS): New variables.
- (html, make_1.html): New targets.
- (.PHONY): Add "html".
- (.SUFFIXES): Add .html.
-
-2007-12-22 Juan Manuel Guerrero <juan.guerrero@gmx.de> (tiny change)
-
- * configh.dos.template [__DJGPP__]: Replace HAVE_SYS_SIGLIST with
- HAVE_DECL_SYS_SIGLIST.
-
- * job.c (child_execute_job): Remove __MSDOS__ because MSDOS/DJGPP
- build does not use child_execute_job.
-
- * variable.c (define_automatic_variables) [__MSDOS__]: Always
- export the SHELL environment variable to the child.
-
-2007-12-22 Eli Zaretskii <eliz@gnu.org>
-
- * config.h.W32: Include sys/types.h.
- [!_PID_T_] (pid_t): Define only if not already defined by sys/types.h.
-
- * vpath.c (construct_vpath_list) [HAVE_DOS_PATHS]: Support VPATH
- values that use `:' in drive letters, when PATH_SEPARATOR_CHAR is
- also `:'.
-
-2007-11-04 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi: Convert references to "commands", "command
- lines", and "command script" to "recipe".
- * NEWS: Ditto.
- * commands.c, file.c, job.c, remake.c, read.c, variable.c, main.c:
- Ditto.
-
-2007-10-27 Bruno Haible <bruno@clisp.org>
-
- * remake.c (f_mtime): Print time difference values between 100 and
- ULONG_MAX in fixed-point notation rather than in exponention notation.
-
-2007-10-12 Eli Zaretskii <eliz@gnu.org>
-
- * variable.c (do_variable_definition): Allow $(SHELL) to expand to
- a more complex value than a simple shell: if it's not a default
- shell now then expand it and see if is a default shell then.
-
-2007-10-10 Eli Zaretskii <eliz@gnu.org>
-
- * dir.c (find_directory) [WINDOWS32]: Remove trailing slashes from
- pathnames, with const strings.
- * build_w32.bat [WINDOWS32]: If no config.h.W32 exists, create one
- from the template (used for building from CVS, not a dist).
-
-2007-10-10 Paul Smith <psmith@gnu.org>
-
- * make.h: Add a prototype for w32_kill() (change suggested by
- Yongwei Wu <wuyongwei@gmail.com>).
-
-2007-09-21 Eli Zaretskii <eliz@gnu.org>
-
- * w32/pathstuff.c (convert_Path_to_windows32): Handle quoted
- directories in Path.
-
-2007-09-12 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi: Applied wording cleanups from Savannah patch #6195.
- Provided by Diego Biurrun <diego@biurrun.de>
- (Complex Makefile): Remove .PHONY setting for tar: patch #6196.
- Provided by Diego Biurrun <diego@biurrun.de>
-
-2007-09-11 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Special Variables): Moved this into the "How to
- Use Variables" chapter. Added a table entry for .RECIPEPREFIX.
- (MAKEFILE_LIST) No longer a section; this was added into the
- "Special Variables" section.
- (Rule Introduction): Reference .RECIPEPREFIX.
- (Simple Makefile): Ditto.
- (Rule Syntax): Ditto.
- (Command Syntax): Ditto.
- (Error Messages): Ditto.
-
-2007-09-10 Paul Smith <psmith@gnu.org>
-
- * commands.c (print_commands): Don't print an extra line in the
- command scripts. Prefix the command scripts with cmd_prefix, not \t.
-
- * read.c (construct_include_path): Add the full string to the cache; we
- were chopping the last char.
-
- * NEWS: Announce the .RECIPEPREFIX special variable.
- * variable.c (lookup_special_var): Rename from handle_special_var().
- (lookup_variable): Call the new name.
- (set_special_var): New function: handle setting of special variables.
- When setting .RECIPEPREFIX, reset the cmd_prefix global variable.
- (do_variable_definition): Call it.
- * make.h (RECIPEPREFIX_DEFAULT): Define the default command prefix char.
- (RECIPEPREFIX_NAME): Define the command prefix special variable name.
- * main.c (main): Create the .RECIPEPREFIX special variable.
- * read.c (eval): Remove the cmd_prefix characters from the command
- scripts here, so they're not stored in the commands array at all,
- rather than waiting and stripping them out during command construction.
- * job.c (construct_command_argv_internal): Don't skip cmd_prefix here.
-
-2007-08-15 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (GNU Free Documentation License): The fdl.texi
- file has had the section info removed, so add some to make.texi
- before we include it.
-
-2007-08-15 Icarus Sparry <savannah@icarus.freeuk.com>
-
- * remake.c (check_dep): Reset the target state for intermediate
- files. They might have been considered before but not updated
- then (order-only for example) but they will be this time.
- Fixes Savannah bug #'s 3330 and 15919.
-
-2007-07-21 Eli Zaretskii <eliz@gnu.org>
-
- Fix Savannah bug #20549:
- * function.c (func_shell): Call construct_command_argv with zero
- value of FLAGS.
- * job.c (construct_command_argv_internal): New argument FLAGS; all
- callers changed.
- [WINDOWS32]: If FLAGS has the COMMANDS_RECURSE bit set, ignore
- just_print_flag.
- * job.h (construct_command_argv_internal): Update prototype.
-
-2007-07-13 Paul Smith <psmith@gnu.org>
-
- * file.c (expand_deps): Use variable_buffer as the start of the
- buffer, not the original pointer (in case it was reallocated).
- Fix suggested by Rafi Einstein <rafi.einstein@formalism-labs.com>.
- Fixes Savannah bug #20452.
-
-2007-07-04 Paul Smith <psmith@gnu.org>
-
- * (ALL FILES): Update to GPLv3.
- * (ALL FILES): Update copyright for 2007.
-
- * main.c (print_version): Move the host type info to the second line.
-
-2007-06-29 Thiemo Seufer <ths@mips.com>
-
- * maintMakefile: Update Translation Project location.
-
-2007-06-13 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Reading Makefiles): "Expansion of deferred" ->
- "Expansion of a deferred"
- Fixes Savannah bug #20018.
-
- * expand.c (variable_expand_for_file): Preserve the value of
- reading_file rather than setting it to 0 at the end.
- Fixes Savannah bug #20033.
-
-2007-05-11 Paul Smith <psmith@gnu.org>
-
- * job.c (new_job): Add debug info to specify where make found the
- command script it is running to build a target.
- Fixes Savannah bug #18617.
-
- * default.c (default_suffixes,default_suffix_rules,default_variables):
- Add support for Objective C. Fixes Savannah bug #16389.
- Based on a patch provided by Peter O'Gorman <peter@pogma.com>.
-
- * function.c (func_lastword): Initialize p.
-
- * doc/make.texi (Eval Function, Implicit Variables, Special Targets):
- Doc fixes noticed by Bob <twobanjobob@sbcglobal.net>. Patch from
- Dave Korn <dave.korn@artimi.com>
-
-2007-05-08 Paul Smith <psmith@gnu.org>
-
- Fix Savannah bug #19656:
-
- * configure.in: Check for strcasecmp(), strcmpi(), and stricmp().
-
- * make.h: Change all case-insensitive string compares to use
- strcasecmp() (from POSIX). If we don't have that but do have one
- of the others, define strcasecmp to be one of those instead. If
- we don't have any, declare a prototype for our own version.
-
- * misc.c (strcasecmp): Use this if we can't find any native
- case-insensitive string comparison function.
- * vmsfunctions.c: Remove strcmpi(); we'll use misc.c:strcasecmp().
- * main.c (find_and_set_default_shell): Use strcasecmp() instead of
- strcmpi().
- * job.c (_is_unixy_shell, construct_command_argv_internal): Use
- strcasecmp() instead of stricmp().
- * hash.h (ISTRING_COMPARE, return_ISTRING_COMPARE): Use strcasecmp()
- instead of strcmpi().
- * acinclude.m4: Remove the strcasecmp() check from here.
-
-2007-03-21 Paul Smith <psmith@gnu.org>
-
- * configure.in: Don't turn on case-insensitive file system support
- if --disable-... is given. Fixes Savannah bug #19348.
-
-2007-03-19 Paul Smith <psmith@gnu.org>
-
- * ALL: Use the strcache for all file name strings, or other
- strings which we will never free. The goal is to save memory by
- avoiding duplicate copies of strings. However, at the moment this
- doesn't save much memory in most situations: due to secondary
- expansion we actually save prerequisite lists twice (once before
- the secondary expansion, and then again after it's been parsed
- into individual file names in the dep list). We will resolve this
- in a future change, by doing the parsing up-front for targets
- where secondary expansion is not set.
-
- Moving things into the strcache also allows us to use const
- pointers in many more places.
-
-2007-01-03 Paul Smith <psmith@gnu.org>
-
- * make.h (ENULLLOOP): Reset errno after each failed invocation of
- the function, not just the first. Fixes Savannah bug #18680.
-
-2006-11-18 Paul Smith <psmith@gnu.org>
-
- * strcache.c (strcache_add_len): Don't allocate a new buffer
- unless the string is not already nil-terminated. Technically this
- is a violation of the standard, since we may be passed an array
- that is not long enough to test one past. However, in make this
- is never true since we only use nil-terminated strings or
- sub-strings thereof.
-
- * read.c (eval, do_define): Use cmd_prefix instead of '\t'.
-
- * main.c: New global cmd_prefix, defaults to '\t'.
- * job.c (construct_command_argv_internal): Use cmd_prefix instead
- of '\t'.
-
- * dir.c: Constified.
- (dir_contents_file_exists_p): Check for an error return from
- readdir(), just in case.
-
- * commands.c: Constified.
- * default.c: Constified.
- * expand.c: Constified.
- * function.c: Partial constification.
- * variable.c: Partial constification.
- * vmsify.c: Constification. Hard to test this but I hope I didn't
- screw it up!
- * vpath.c: Partial constification.
- * w32/pathstuff.c: Partial constification.
-
-2006-11-16 Eli Zaretskii <eliz@gnu.org>
-
- * main.c (main) [HAVE_DOS_PATHS]: Treat DOS style argv[0] with
- backslashes and drive letters as absolute.
-
-2006-10-22 Paul Smith <psmith@gnu.org>
-
- * main.c (struct command_switch): Use const and void*.
-
-2006-10-21 Paul Smith <psmith@gnu.org>
-
- * ar.c: Constified.
- * arscan.c: Constified.
-
-2006-09-30 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (MAKEFILE_LIST Variable): Modify reference to
- point to lastword since the example was updated.
- Fixes Savannah bug #16304.
- (Secondary Expansion): Correct example description.
- Fixes Savannah bug #16468.
- (Makefile Contents): Clarify that comments cannot appear within
- variable references or function calls.
- Fixes Savannah bug #16577.
- (Special Targets): Clarify how .NOTPARALLEL works in recursion.
- Fixes Savannah bug #17701.
- Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>:
- (Prerequisite Types): Added an example of using order-only
- prerequisites. Fixes Savannah bug #17880.
- (Rule Syntax): "lise" -> "list"
- (Multiple Rules): ... -> @dots{}
- (Splitting Lines): ditto.
-
- * remake.c (update_file_1): Prereqs that don't exist should be
- considered changed, for the purposes of $?.
- Fixes Savannah bug #16051.
-
- * make.1: Remove extraneous "+".
- Fixes Savannah bug #16652.
-
-2006-09-06 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Include sys/types.h when checking for sys/wait.h.
-
-2006-08-18 Eli Zaretskii <eliz@gnu.org>
-
- * configure.in (PATH_SEPARATOR_CHAR): Define to the value of
- $PATH_SEPARATOR.
-
- * make.h (PATH_SEPARATOR_CHAR): Define only if still undefined.
- Normally, it is defined in config.h.
-
- * config/dospaths.m4 <ac_cv_dos_paths>: Define to yes on Cygwin as
- well.
-
- * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]: Define
- sh_chars_sh for Windows platforms that emulate Unix.
-
-2006-05-07 Paul D. Smith <psmith@gnu.org>
-
- * README.OS2.template: Updates provided by Andreas Buening
- <andreas.buening@nexgo.de>.
-
-2006-04-30 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Include <direct.h> if HAVE_DIRECT_H.
- * config.h.W32.template (HAVE_DIRECT_H): Set it if it's available.
-
-2006-04-26 Paul D. Smith <psmith@gnu.org>
-
- * README.cvs: Add a reminder to notify the GNU translation robot.
-
- * doc/make.texi: Change @direcategory (requested by Karl Berry).
-
-2006-04-20 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile (po-check): Use Perl instead of grep -E, for systems
- that don't have extended grep.
- (cvsclean): Use $(PERL) instead of perl.
-
-2006-04-09 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile: Add some extra warning options (GCC 4.1 only?)
-
- * expand.c, implicit.c, main.c, read.c: Rename variables so that
- inner-scope variables don't mask outer-scope variables.
-
- * ar.c, arscan.c, commands.c, default.c, dir.c, expand.c, file.c:
- * function.c, getloadavg.c, implicit.c, job.c, main.c, misc.c, read.c:
- * remake.c, remote-cstms.c, rule.c, strcache.c, variable.c:
- * vmsfunctions.c, vmsify.c, vpath.c: Remove all casts of returned
- values from memory allocation functions: they return void* and so
- don't need to be cast. Also remove (char *) casts of arguments to
- xrealloc().
-
- * configure.in: Remove checks for memcpy/memmove/strchr.
-
- * make.h: Remove bcmp/bcopy/bzero/strchr/strrchr macros.
-
- * ar.c, arscan.c, commands.c, dir.c: Convert all bzero/bcopy/bcmp
- calls to memset/memcpy/memmove/memcmp calls.
- * expand.c, file.c, function.c, getloadavg.c, implicit.c: Ditto.
- * job.c, main.c, misc.c, read.c, remake.c, rule.c: Ditto.
- * variable.c, vpath.c: Ditto.
-
- * make.h (EXIT_FAILURE): Should be 1, not 0.
-
-2006-04-06 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Removed AM_C_PROTOTYPES. Starting now on we
- require an ISO C 1989 standard compiler and runtime library.
-
- * Makefile.am: Remove the ansi2knr feature.
-
- * make.h: Remove the PARAMS() macro definition and all uses of it.
-
- * amiga.h, ar.c, arscan.c: Remove all uses of the PARAMS() macro.
- * commands.c, commands.h, config.h-vms.template: Ditto.
- * dep.h, dir.c, expand.c, filedef.h, function.c: Ditto.
- * implicit.c, job.c, job.h, main.c, read.c, remake.c: Ditto.
- * rule.c, rule.h, variable.h, vmsdir.h, vmsjobs.c, vpath.c: Ditto.
-
- * NEWS: Update.
-
-2006-04-01 Paul D. Smith <psmith@gnu.org>
-
- Version 3.81 released.
-
- * NEWS: Updated for 3.81.
-
- * README.cvs: Mention that vpath builds are not supported out of
- CVS. Fixes Savannah bug #16236.
- Remove update of make.texi from the list of things to do; we use
- version.texi now.
-
-2006-03-26 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi: Clean up licensing. Use @copying and version.texi
- support from automake, as described in the Texinfo manual.
-
-2006-03-25 Eli Zaretskii <eliz@gnu.org>
-
- * implicit.c (pattern_search) [HAVE_DOS_PATHS]: Don't compare b
- with lastslash, since the latter points to filename, not to
- target.
- * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]:
- Declare and define sh_chars_sh[].
-
-2006-03-23 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Look for build.sh.in in $srcdir so it will be
- built for remote configurations as well.
-
- * Makefile.am: Make sure to clean up build.sh during distclean.
- Fixes Savannah bug #16166.
-
- * misc.c (log_access): Takes a const char *.
- * function.c (fold_newlines): Takes an unsigned int *.
- Both fixes for Savannah bug #16170.
-
-2006-03-22 Boris Kolpackov <boris@kolpackov.net>
-
- * implicit.c (pattern_search): Call set_file_variables only
- if we have prerequisites that need second expansion. Fixes
- Savannah bug #16140.
-
-2006-03-19 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_file): Add alloca(0) to clean up alloca'd
- memory on hosts that don't support it directly.
-
- * README.cvs: Add information on steps for making a release (to
- make sure I don't forget any).
-
- * main.c (clean_jobserver): Move jobserver cleanup code into a new
- function.
- (die): Cleanup code was removed from here; call the new function.
- (main): If we are re-execing, clean up the jobserver first so we
- don't leak file descriptors.
- Reported by Craig Fithian <craig.fithian@citigroup.com>
-
-2006-03-17 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile (do-po-update): Rewrite this rule to clean up and
- allow multiple concurrent runs.
- Patch from Joseph Myers <joseph@codesourcery.com>
-
-2006-03-17 Boris Kolpackov <boris@kolpackov.net>
-
- * dep.h (struct dep): Add the stem field.
- * misc.c (alloc_dep, free_dep): New functions.
- (copy_dep_chain): Copy stem.
- (free_dep_chain): Use free_dep.
- * read.c (record_files): Store stem in the dependency line.
- * file.c (expand_deps): Use stem stored in the dependency line. Use
- free_dep_chain instead of free_ns_chain.
- * implicit.c (pattern_search): Use alloc_dep and free_dep.
- * read.c (read_all_makefiles, eval_makefile, eval): Ditto.
- * main.c (main, handle_non_switch_argument): Ditto.
- * remake.c (check_dep): Ditto.
- * rule.c (convert_suffix_rule, freerule): Ditto.
-
-2006-03-14 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (variable_append): Instead of appending everything then
- expanding the result, we expand (or not, if it's simple) each part
- as we add it.
- (allocated_variable_append): Don't expand the final result.
- Fixes Savannah bug #15913.
-
-2006-03-09 Paul Smith <psmith@gnu.org>
-
- * remake.c (update_file_1): Revert the change of 3 Jan 2006 which
- listed non-existent files as changed. Turns out there's a bug in
- the Linux kernel builds which means that this change causes
- everything to rebuild every time. We will re-introduce this fix
- in the next release, to give them time to fix their build system.
- Fixes Savannah bug #16002.
- Introduces Savannah bug #16051.
-
- * implicit.c (pattern_search) [DOS_PATHS]: Look for DOS paths if
- we *don't* find UNIX "/".
- Reported by David Ergo <david.ergo@alterface.com>
-
-2006-03-04 Eli Zaretskii <eliz@gnu.org>
-
- * variable.c (do_variable_definition) [WINDOWS32]: Call the shell
- locator function find_and_set_default_shell if SHELL came from the
- command line.
-
-2006-02-20 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (merge_variable_set_lists): It's legal for *setlist0
- to be null; don't core in that case.
-
-2006-02-19 Paul D. Smith <psmith@gnu.org>
-
- * commands.c (set_file_variables): Realloc, not malloc, the static
- string values to avoid memory leaks.
-
- * expand.c (recursively_expand_for_file): Only set reading_file to
- an initialized value.
-
- * implicit.c (pattern_search): We need to make a copy of the stem
- if we get it from an intermediate dep, since those get freed.
-
- * file.c (lookup_file) [VMS]: Don't lowercase special targets that
- begin with ".".
- (enter_file) [VMS]: Ditto.
- Patch provided by Hartmut Becker <Hartmut.Becker@hp.com>.
-
-2006-02-24 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (construct_command_argv_internal): Fix last change.
-
- * w32/subproc/sub_proc.c (process_pipe_io): Make dwStdin,
- dwStdout, and dwStderr unsigned int: avoids compiler warnings in
- the calls to _beginthreadex.
-
- * expand.c (recursively_expand_for_file): Initialize `save' to
- prevent compiler warnings.
-
-2006-02-18 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (construct_command_argv_internal): Don't create a temporary
- script/batch file if we are under -n. Call _setmode to switch the
- script file stream to text mode.
-
-2006-02-17 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (merge_variable_set_lists): Don't try to merge the
- global_setlist. Not only is this useless, but it can lead to
- circularities in the linked list, if global_setlist->next in one
- list gets set to point to another list which also ends in
- global_setlist.
- Fixes Savannah bug #15757.
-
-2006-02-15 Paul D. Smith <psmith@gnu.org>
-
- Fix for Savannah bug #106.
-
- * expand.c (expanding_var): Keep track of which variable we're
- expanding. If no variable is being expanded, it's the same as
- reading_file.
- * make.h (expanding_var): Declare it.
- * expand.c (recursively_expand_for_file): Set expanding_var to the
- current variable we're expanding, unless there's no file info in
- it (could happen if it comes from the command line or a default
- variable). Restore it before we exit.
- * expand.c (variable_expand_string): Use the expanding_var file
- info instead of the reading_file info.
- * function.c (check_numeric): Ditto.
- (func_word): Ditto.
- (func_wordlist): Ditto.
- (func_error): Ditto.
- (expand_builtin_function): Ditto.
- (handle_function): Ditto.
-
-2006-02-14 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): Even if the included filenames expands to the
- empty string we still need to free the allocated buffer.
-
- * implicit.c (pattern_search): If we allocated a variable set for
- an impossible file, free it.
- * variable.c (free_variable_set): New function.
- * variable.h: Declare it.
-
- * read.c (read_all_makefiles): Makefile names are kept in the
- strcache, so there's never any need to alloc/free them.
- (eval): Ditto.
-
- * main.c (main): Add "archives" to the .FEATURES variable if
- archive support is enabled.
- * doc/make.texi (Special Variables): Document it.
-
-2006-02-13 Paul D. Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Add checking for DOS pathnames to
- the pattern rule target LASTSLASH manipulation.
- Fixes Savannah bug #11183.
-
-2006-02-11 Paul D. Smith <psmith@gnu.org>
-
- * (ALL FILES): Updated copyright and license notices.
-
-2006-02-10 Paul D. Smith <psmith@gnu.org>
-
- A new internal capability: the string cache is a read-only cache
- of strings, with a hash table interface for fast lookup. Nothing
- in the cache will ever be freed, so there's no need for reference
- counting, etc. This is the beginning of a full solution for
- Savannah bug #15182, but for now we only store makefile names here.
-
- * strcache.c: New file. Implement a read-only string cache.
- * make.h: Add prototypes for new functions.
- * main.c (initialize_global_hash_tables): Initialize the string cache.
- (print_data_base): Print string cache stats.
- * read.c (eval_makefile): Use the string cache to store makefile
- names. Rewrite the string allocation to be sure we free everything.
-
-2006-02-10 Eli Zaretskii <eliz@gnu.org>
-
- * dir.c (dir_contents_file_exists_p): Don't opendir if the
- directory time stamp didn't change, except on FAT filesystems.
- Suggested by J. David Bryan <jdbryan@acm.org>.
-
-2006-02-09 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_or): Implement a short-circuiting OR function.
- (func_and): Implement a short-circuiting AND function.
- (function_table_init): Update the table with the new functions.
- * doc/make.texi (Conditional Functions): Changed the "if" section
- to one on general conditional functions. Added documentation for
- $(and ...) and $(or ...) functions.
- * NEWS: Note new $(and ...) and $(or ...) functions.
-
-2006-02-08 Boris Kolpackov <boris@kolpackov.net>
-
- * job.h (struct child): Add the dontcare bitfield.
- * job.c (new_job): Cache dontcare flag.
- * job.c (reap_children): Use cached dontcare flag instead of the
- one in struct file. Fixes Savannah bug #15641.
-
-2006-02-06 Paul D. Smith <psmith@gnu.org>
-
- * vpath.c (selective_vpath_search): If the file we find has a
- timestamp from -o or -W, use that instead of the real time.
- * remake.c (f_mtime): If the mtime is a special token from -o or
- -W, don't overwrite it with the real mtime.
- Fixes Savannah bug #15341.
-
- Updates from Markus Mauhart <qwe123@chello.at>:
-
- * w32/subproc/sub_proc.c (process_begin): Remove no-op tests.
- (process_signal, process_last_err, process_exit_code): Manage
- invalid handle values.
- (process_{outbuf,errbuf,outcnt,errcnt,pipes}): Unused and don't
- manage invalid handles; remove them.
- * job.c (start_job_command) [WINDOWS32]: Jump out on error.
- * config.h.W32.template [WINDOWS32]: Set flags for Windows builds.
- * README.cvs: Updates for building from CVS.
-
-2006-02-05 Paul D. Smith <psmith@gnu.org>
-
- * file.c (enter_file): Keep track of the last double_colon entry,
- to avoid walking the list every time we want to add a new one.
- Fixes Savannah bug #15533.
- * filedef.h (struct file): Add a new LAST pointer.
-
- * dir.c (directory_contents_hash_cmp): Don't use subtraction to do
- the comparison. For 64-bits systems the result of the subtraction
- might not fit into an int. Use comparison instead.
- Fixes Savannah bug #15534.
-
- * doc/make.texi: Update the chapter on writing commands to reflect
- the changes made in 3.81 for backslash/newline and SHELL handling.
-
-2006-02-01 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (dir_contents_file_exists_p) [WINDOWS32]: Make sure
- variable st is not used when it's not initialized.
- Patch from Eli Zaretskii <eliz@gnu.org>.
-
-2006-01-31 Paul D. Smith <psmith@gnu.org>
-
- * README.W32.template: Applied patch #4785 from
- Markus Mauhart <qwe123@chello.at>.
- * README.cvs: Applied patch #4786 from
- Markus Mauhart <qwe123@chello.at>.
- * make_msvc_net2003.vcproj [WINDOWS32]: New version from
- J. Grant <jg@jguk.org>.
-
- * main.c: Update the copyright year in the version output.
- * prepare_w32.bat: Remove this file from the distribution.
-
-2006-01-21 Eli Zaretskii <eliz@gnu.org>
-
- * remake.c (update_goal_chain): Set g->changed instead of
- incrementing it, as it is only 8-bit wide, and could overflow if
- many commands got started in update_file.
-
- * w32/include/sub_proc.h: Add a prototype for process_used_slots.
-
- * w32/subproc/sub_proc.c: Change dimension of proc_array[] to
- MAXIMUM_WAIT_OBJECTS.
- (process_wait_for_any_private): Change dimension of handles[]
- array to MAXIMUM_WAIT_OBJECTS.
- (process_used_slots): New function.
- (process_register): Don't register more processes than the
- available number of slots.
- (process_easy): Don't start new processes if all slots are used up.
-
- * job.c (load_too_high, start_waiting_jobs) [WINDOWS32]: If there
- are already more children than sub_proc.c can handle, behave as if
- the load were too high.
- (start_job_command): Fix a typo in error message when process_easy
- fails.
-
-2006-01-14 Eli Zaretskii <eliz@gnu.org>
-
- * main.c (main) [WINDOWS32]: Don't refuse to run with -jN, even if
- the shell is not sh.exe.
-
- * job.c (create_batch_file): Renamed from create_batch_filename;
- all callers changed. Don't close the temporary file; return its
- file descriptor instead. New arg FD allows to return the file
- descriptor.
- (construct_command_argv_internal): Use _fdopen instead of fopen to
- open the batch file.
-
-2006-01-04 Paul D. Smith <psmith@gnu.org>
-
- * readme.vms: Updates for case-insensitive VMS file systems from
- Hartmut Becker <Hartmut.Becker@hp.com>.
- * dir.c (vms_hash): Ditto.
- * vmsify.c (copyto): Ditto.
- * vmsfunctions.c (readdir): Ditto.
-
- * make.1: Add a section on the exit codes for make.
-
- * doc/make.texi: A number of minor updates to the documentation.
-
-2006-01-03 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_file_1): Mark a prerequisite changed if it
- doesn't exist.
-
- * read.c (eval): Be sure to strip off trailing whitespace from the
- prerequisites list properly. Also, initialize all fields in
- struct dep when creating a new one.
-
-2005-12-28 Paul D. Smith <psmith@gnu.org>
-
- * config.h.W32.template [WINDOWS32]: Add in some pragmas to
- disable warnings for MSC.
- Patch by Rob Tulloh <rtulloh@yahoo.com>.
-
-2005-12-17 Eli Zaretskii <eliz@gnu.org>
-
- * doc/make.texi (Execution): Add a footnote about changes in
- handling of backslash-newline sequences. Mention the differences
- on MS-DOS and MS-Windows.
-
- * NEWS: More details about building the MinGW port and a pointer
- to README.W32. Fix the section name that describes the new
- backward-incompatible processing of backslash-newline sequences.
- The special processing of SHELL set to "cmd" is only relevant to
- MS-Windows, not MS-DOS.
-
-2005-12-17 Eli Zaretskii <eliz@gnu.org>
-
- * main.c (handle_runtime_exceptions): Cast exrec->ExceptionAddress
- to DWORD, to avoid compiler warnings.
- * job.c (exec_command): Cast hWaitPID and hPID to DWORD, and
- use %ld in format, to avoid compiler warnings.
-
- * doc/make.texi (Special Targets): Fix a typo.
- (Appending): Fix cross-reference to Setting.
- (Special Variables, Secondary Expansion, File Name Functions)
- (Flavor Function, Pattern Match, Quick Reference): Ensure two
- periods after a sentence.
- (Execution): Add @: after "e.g.".
- (Environment): Fix punctuation.
- (Target-specific, Call Function, Quick Reference): Add @: after "etc."
- (Shell Function, Target-specific): Add @: after "vs."
-
-2005-12-14 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_target_var): Initialize variable's export field
- with v_default instead of leaving it "initialized" by whatever
- garbage happened to be on the heap.
-
-2005-12-12 Paul D. Smith <psmith@gnu.org>
-
- * make.1: Fix some display errors and document all existing options.
- Patch by Mike Frysinger <vapier@gentoo.org>.
-
-2005-12-11 Paul D. Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): If 2nd expansion is not set for
- this implicit rule, replace the pattern with the stem directly,
- and don't re-expand the variable list. Along with the other
- .SECONDEXPANSION changes below, fixes bug #13781.
-
-2005-12-09 Boris Kolpackov <boris@kolpackov.net>
-
- * implicit.c (pattern_search): Mark other files that this rule
- builds as targets so that they are not treated as intermediates
- by the pattern rule search algorithm. Fixes bug #13022.
-
-2005-12-07 Boris Kolpackov <boris@kolpackov.net>
-
- * remake.c (notice_finished_file): Propagate the change of
- modification time to all the double-colon entries only if
- it is the last one to be updated. Fixes bug #14334.
-
-2005-11-17 Boris Kolpackov <boris@kolpackov.net>
-
- * function.c (func_flavor): Implement the flavor function which
- returns the flavor of a variable.
- * doc/make.texi (Functions for Transforming Text): Document it.
- * NEWS: Add it to the list of new functions.
-
-2005-11-14 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (construct_include_path): Set the .INCLUDE_DIRS special
- variable.
- * doc/make.texi (Special Variables): Document .INCLUDE_DIRS.
- * NEWS: Add .INCLUDE_DIRS to the list of new special variables.
-
-2005-10-26 Paul Smith <psmith@gnu.org>
-
- * read.c (record_files): Don't set deps flags if there are no deps.
- * maintMakefile: We only need to build the templates when we are
- creating a distribution, so don't do it for "all".
-
-2005-10-24 Paul D. Smith <psmith@gnu.org>
-
- Make secondary expansion optional: its enabled by declaring the
- special target .SECONDEXPANSION.
-
- * NEWS: Update information on second expansion capabilities.
- * doc/make.texi (Secondary Expansion): Document the
- .SECONDEXPANSION special target and its behavior.
- * dep.h (struct dep): Add a flag STATICPATTERN, set to true if the
- prerequisite list was found in a static pattern rule.
- (free_dep_chain): Declare a prototype.
- * file.c (parse_prereqs): New function: break out some complexity
- from expand_deps().
- (expand_deps): If we aren't doing second expansion, replace % with
- the stem for static pattern rules. Call the new function.
- * filedef.h (parse_prereqs): Declare a prototype.
- * implicit.c (pattern_search): Initialize the new staticpattern
- field.
- * main.c (second_expansion): Declare a global variable to remember
- if the special target has been seen. Initialize the new
- staticpattern field for prerequisites.
- * make.h: Extern for second_expansion.
- * misc.c (free_dep_chain): New function: frees a struct dep list.
- * read.c (read_all_makefiles): Initialize the staticpattern field.
- (eval_makefile): Ditto.
- (record_files): Check for the .SECONDEXPANSION target and set
- second_expansion global if it's found.
- Use the new free_dep_chain() instead of doing it by hand.
- Set the staticpattern field for prereqs of static pattern targets.
-
-2005-10-16 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Set CURDIR to be a file variable instead of a
- default, so that values of CURDIR inherited from the environment
- won't override the make value.
-
-2005-09-26 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): If the line is empty
- remember to free the temporary argv strings.
- Fixes bug # 14527.
-
-2005-09-16 Paul D. Smith <psmith@gnu.org>
-
- * job.c (start_job_command): The noerror flag is a boolean (single
- bit); set it appropriately.
- Reported by Mark Eichin <eichin@metacarta.com>
-
-2005-08-29 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_error): On Windows, output from $(info ...)
- seems to come in the wrong order. Try to force it with fflush().
-
-2005-08-10 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_files): Move code that sets stem for static
- pattern rules out of the if (!two_colon) condition so it is
- also executed for two-colon rules. Fixes Savannah bug #13881.
-
-2005-08-08 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Don't test that __STDC__ is non-0. Some compilers
- (Windows for example) set it to 0 to denote "ISO C + extensions".
- Fixes bug # 13594.
-
-2005-08-07 Paul D. Smith <psmith@gnu.org>
-
- * w32/pathstuff.c (getcwd_fs): Fix warning about assignment in a
- conditional (slightly different version of a fix from Eli).
-
- Fix a bug reported by Michael Matz <matz@suse.de>: patch included.
- If make is running in parallel without -k and two jobs die in a
- row, but not too close to each other, then make will quit without
- waiting for the rest of the jobs to die.
-
- * main.c (die): Don't reset err before calling reap_children() the
- second time: we still want it to be in the error condition.
- * job.c (reap_children): Use a static variable, rather than err,
- to control whether or not the error message should be printed.
-
-2005-08-06 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/sub_proc.c: Include signal.h.
- (process_pipe_io, process_file_io): Pass a pointer to a local
- DWORD variable to GetExitCodeProcess. If the exit code is
- CONTROL_C_EXIT, put SIGINT into pproc->signal.
-
- * job.c [WINDOWS32]: Include windows.h.
- (main_thread) [WINDOWS32]: New global variable.
- (reap_children) [WINDOWS32]: Get the handle for the main thread
- and store it in main_thread.
-
- * commands.c [WINDOWS32]: Include windows.h and w32err.h.
- (fatal_error_signal) [WINDOWS32]: Suspend the main thread before
- doing anything else. When we are done, close the main thread
- handle and exit with status 130.
-
-2005-07-30 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/sub_proc.c (process_begin): Don't pass a NULL
- pointer to fprintf.
-
- * main.c (find_and_set_default_shell): If found a DOSish shell,
- set sh_found and the value of default_shell, and report the
- findings in debug mode.
-
- * job.c (construct_command_argv_internal): Check unixy_shell, not
- no_default_sh_exe, to decide whether to use Unixy or DOSish
- builtin commands.
-
- * README.W32: Update with info about the MinGW build.
-
- * build_w32.bat: Support MinGW.
-
- * w32/subproc/build.bat: Likewise.
-
- * w32/subproc/sub_proc.c (process_easy): Fix format strings for
- printing DWORD args.
-
- * function.c (windows32_openpipe): Fix format strings for printing
- DWORD args.
-
- * job.c (reap_children) [WINDOWS32]: Don't declare 'status' and
- 'reap_mode'.
- (start_job_command): Fix format string for printing the result of
- process_easy.
- (start_job_command) [WINDOWS32]: Do not define.
- (exec_command): Fix format string for printing HANDLE args.
-
- * main.c (handle_runtime_exceptions): Fix sprintf format strings
- to avoid compiler warnings.
- (open_tmpfile): Declare fd only if HAVE_FDOPEN is defined.
- (Note: some of these fixes were submitted independently by J. Grant)
-
-2005-07-30 J. Grant <jg@jguk.org>
-
- * prepare_w32.bat: Copy config.h.w32 to config.h if not exist.
- * make_msvc_net2003.vcproj, make_msvc_net2003.sln: MSVC Project files.
- * Makefile.am (EXTRA_DIST): Add MSVC Project files.
-
-2005-07-15 Paul Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal) [DOS,WINDOWS32,OS/2]: If
- we don't have a POSIX shell, then revert to the old
- backslash-newline behavior (where they are stripped).
- Fixes bug #13665.
-
-2005-07-08 Paul D. Smith <psmith@gnu.org>
-
- * config.h.W32.template: Reorder to match the standard config.h,
- for easier comparisons.
- From J. Grant <jg@jguk.org>
-
- * maintMakefile: Remove .dep_segment before overwriting it, in
- case it's not writable or noclobber is set.
- * expand.c (variable_expand_string): Cast result of pointer
- arithmetic to avoid a warning.
- * main.c (switches): Add full-fledged final initializer.
-
-2005-07-06 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: IRIX has _sys_siglist. Tru64 UNIX has __sys_siglist.
- * signame.c (strsignal): If we found _sys_siglist[] or
- __sys_siglist[] use those instead of sys_siglist[].
- From Albert Chin <china@thewrittenword.com>
-
-2005-07-04 Paul D. Smith <psmith@gnu.org>
-
- * config.h-vms.template [VMS]: Latest VMS has its own glob() and
- globfree(); set up to use the GNU versions.
- From Martin Zinser <zinser@zinser.no-ip.info>
-
-2005-07-03 Paul D. Smith <psmith@gnu.org>
-
- From J. Grant <jg@jguk.org>:
-
- * README.W32.template: Update the Windows and tested MSVC versions.
- * NMakefile.template (CFLAGS_any): Change warning level from W3 to W4.
- * w32/subproc/NMakefile (CFLAGS_any): Ditto.
- * build_w32.bat: Ditto.
- * w32/subproc/build.bat: Ditto.
-
-2005-06-28 Paul D. Smith <psmith@gnu.org>
-
- * signame.c: HAVE_DECL_* macros are set to 0, not undef, if the
- declaration was checked but not present.
-
-2005-06-27 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (find_directory): Change type of fs_serno/fs_flags/fs_len
- to unsigned long. Fixes Savannah bug #13550.
-
- * w32/subproc/sub_proc.c: Remove (HANDLE) casts on lvalues.
- (process_pipe_io): Initialize tStdin/tStdout/tStderr variables.
- Fixes Savannah bug #13551.
-
-2005-06-26 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Fix bug in ANSI_STRING/strerror() handling; only define
- it if ANSI_STRING is not set.
-
-2005-06-25 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): If no filenames are passed to any of the
- "include" variants, don't print an error.
- * doc/make.texi (Include): Document this.
- Fixes Savannah bug #1761.
-
- * job.c (construct_command_argv_internal): Sanitize handling of
- backslash/newline pairs according to POSIX: that is, keep the
- backslash-newline in the command script, but remove a following
- TAB character, if present. In the fast path, make sure that the
- behavior matches what the shell would do both inside and outside
- of quotes. In the slow path, quote the backslash and put a
- literal newline in the string.
- Fixes Savannah bug #1332.
- * doc/make.texi (Execution): Document the new behavior and give
- some examples.
- * NEWS: Make a note of the new behavior.
-
- * make.h [WINDOWS32]: #include <direct.h>.
- Fixes Savannah bug #13478.
-
- * remake.c (name_mtime): If the stat() of a file fails and the -L
- option was given and the file is a symlink, take the best mtime of
- the symlink we can get as the mtime of the file and don't fail.
- Fixes Savannah bug #13280.
-
- * read.c (find_char_unquote): Accept a new argument IGNOREVARS.
- If it's set, then don't stop on STOPCHARs or BLANKs if they're
- inside a variable reference. Make this function static as it's
- only used here.
- (eval): Call find_char_unquote() with IGNOREVARS set when we're
- parsing an unexpanded line looking for semicolons.
- Fixes Savannah bug #1454.
- * misc.c (remove_comments): Move this to read.c and make it static
- as it's only used there. Call find_char_unquote() with new arg.
- * make.h: Remove prototypes for find_char_unquote() and
- remove_comments() since they're static now.
-
- * main.c (main): If we see MAKE_RESTARTS in the environment, unset
- its export flag and obtain its value. When we need to re-exec,
- increment the value and add it into the environment.
- * doc/make.texi (Special Variables): Document MAKE_RESTARTS.
- * NEWS: Mention MAKE_RESTARTS.
- * main.c (always_make_set): New variable. Change the -B option to
- set this one instead.
- (main): When checking makefiles, only set always_make_flag if
- always_make_set is set AND the restarts flag is 0. When building
- normal targets, set it IFF always_make_set is set.
- (main): Avoid infinite recursion with -W, too: only set what-if
- files to NEW before we check makefiles if we've never restarted
- before. If we have restarted, set what-if files to NEW _after_ we
- check makefiles.
- Fixes Savannah bug #7566:
-
-2005-06-17 Paul D. Smith <psmith@gnu.org>
-
- * default.c: Change VMS implicit rules to use $$$$ instead of $$
- in the prerequisites list.
-
-2005-06-12 Paul D. Smith <psmith@gnu.org>
-
- Fix Savannah bug # 1328.
-
- * configure.in: Check for atexit().
- * misc.c (close_stdout): Test stdout to see if writes to it have
- failed. If so, be sure to exit with a non-0 error code. Based on
- code found in gnulib.
- * make.h: Prototype.
- * main.c (main): Install close_stdout() with atexit().
-
-2005-06-10 Paul D. Smith <psmith@gnu.org>
-
- VMS build updates from Hartmut Becker <Hartmut.Becker@hp.com>:
-
- * vmsjobs.c [VMS]: Updates to compile on VMS: add some missing
- headers; make vmsWaitForChildren() static; extern vmsify().
- * job.c [VMS]: Move vmsWaitForChildren() prototype to be global.
- Don't create child_execute_job() here (it's in vmsjobs.c).
- * makefile.vms (job.obj) [VMS]: Add vmsjobs.c as a prerequisite.
-
-2005-06-09 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (push_new_variable_scope): File variables point
- directly to the global_setlist variable. So, inserting a new
- scope in front of that has no effect on those variables: they
- don't go through current_variable_set_list. If we're pushing a
- scope and the current scope is global, push it "the other way" so
- that the new setlist is in the global_setlist variable, and
- next points to a new setlist with the global variable set.
- (pop_variable_scope): Properly undo a push with the new
- semantics.
- Fixes Savannah bug #11913.
-
-2005-05-31 Boris Kolpackov <boris@kolpackov.net>
-
- * job.c (reap_children): Don't die of the command failed but
- the dontcare flag is set. Fixes Savannah bug #13216.
-
- * implicit.c (pattern_search): When creating a target from
- an implicit rule match, lookup pattern target and set precious
- flag in a newly created target. Fixes Savannah bug #13218.
-
-2005-05-13 Paul D. Smith <psmith@gnu.org>
-
- Implement "if... else if... endif" syntax.
-
- * read.c (eval): Push all checks for conditional words ("ifeq",
- "else", etc.) down into the conditional_line() function.
- (conditional_line): Rework to allow "else if..." clause. New
- return value -2 for lines which are not conditionals. The
- ignoring flag can now also be 2, which means "already parsed a
- true branch". If that value is seen no other branch of this
- conditional can be considered true. In the else parsing if there
- is extra text after the else, invoke conditional_line()
- recursively to see if it's another conditional. If not, it's an
- error. If so, raise the conditional value to this level instead
- of creating a new conditional nesting level. Special check for
- "else" and "endif", which aren't allowed on the "else" line.
- * doc/make.texi (Conditional Syntax): Document the new syntax.
-
-2005-05-09 Paul D. Smith <psmith@gnu.org>
-
- * Makefile.am (EXTRA_make_SOURCES): Add vmsjobs.c
- (MAYBE_W32): Rework how SUBDIRS are handled so that "make dist"
- recurses to the w32 directory, even on non-Windows systems. Use
- the method suggested in the automake manual.
- * configure.in: Add w32/Makefile to AC_CONFIG_FILES.
- * maintMakefile (gnulib-url): They moved the texinfo.tex files.
-
-2005-05-07 Paul D. Smith <psmith@gnu.org>
-
- * main.c (die): If we're dying with a fatal error (not that a
- command has failed), write back any leftover tokens before we go.
-
- * job.c (set_child_handler_action_flags): If there are jobs
- waiting for the load to go down, set an alarm to go off in 1
- second. This allows us to wake up from a potentially long-lasting
- read() and start a new job if the load has gone down. Turn it off
- after the read.
- (job_noop): Dummy signal handler function.
- (new_job): Invoke it with the new semantics.
-
- * docs/make.texi: Document secondary expansion. Various cleanups
- and random work.
-
-2005-05-03 Paul D. Smith <psmith@gnu.org>
-
- Rename .DEFAULT_TARGET to .DEFAULT_GOAL: in GNU make terminology
- the targets which are to ultimately be made are called "goals";
- see the GNU make manual. Also, MAKECMDGOALS, etc.
-
- * filedef.h, read.c, main.c: Change .DEFAULT_TARGET to
- .DEFAULT_GOAL, and default_target_name to default_goal_name.
- * doc/make.texi (Special Variables): Document .DEFAULT_GOAL.
-
-2005-05-02 Paul D. Smith <psmith@gnu.org>
-
- * job.c, vmsjobs.c (vmsWaitForChildren, vms_redirect,
- vms_handle_apos, vmsHandleChildTerm, reEnableAst, astHandler,
- tryToSetupYAst, child_execute_job) [VMS]: Move VMS-specific
- functions to vmsjobs.c. #include it into jobs.c.
-
- Grant Taylor <gtaylor@picante.com> reports that -j# can lose
- jobserver tokens. I found that this happens when an exported
- recursive variable contains a $(shell ...) function reference: in
- this situation we could "forget" to write back a token.
-
- * job.c, job.h: Add variable jobserver_tokens: counts the tokens
- we have. It's not reliable to depend on the number of children in
- our linked list so keep a separate count.
- (new_job): Check jobserver_tokens rather than children &&
- waiting_jobs. Increment jobserver_tokens when we get one.
- (free_child): If jobserver_tokens is 0, internal error. If it's
- >1, write a token back to the jobserver pipe (we don't write a
- token for the "free" job). Decrement jobserver_tokens.
-
- * main.c: Add variable master_job_slots.
- (main): Set it to hold the number of jobs requested if we're the
- master process, when using the jobserver.
- (die): Sanity checks: first test jobserver_tokens to make sure
- this process isn't holding any tokens we didn't write back.
- Second, if master_job_slots is set count the tokens left in the
- jobserver pipe and ensure it's the same as master_job_slots (- 1).
-
-2005-04-24 Paul D. Smith <psmith@gnu.org>
-
- Grant Taylor <gtaylor@picante.com> reports that -j# in conjunction
- with -l# can lose jobserver tokens, because waiting jobs are not
- consulted properly when checking for the "free" token.
-
- * job.c (free_child): Count waiting_jobs as having tokens.
- * job.c (new_job): Ditto. Plus, call start_waiting_jobs() here to
- handle jobs waiting for the load to drop.
-
-2005-04-23 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Be careful to not core if a variable setting in
- the environment doesn't contain an '='. This is illegal but can
- happen in broken setups.
- Reported by Joerg Schilling <schilling@fokus.fraunhofer.de>.
-
-2005-04-12 Paul D. Smith <psmith@gnu.org>
-
- The second expansion feature causes significant slowdown. Timing
- a complex makefile (GCC 4.1) shows a slowdown from .25s to just
- read the makefile before the feature, to 11+s to do the same
- operations after the feature. Additionally, memory usage
- increased drastically. To fix this I added some intelligence that
- avoids the overhead of the second expansion unless it's required.
-
- * dep.h: Add a new boolean field, need_2nd_expansion.
-
- * read.c (eval): When creating the struct dep for the target,
- check if the name contains a "$"; if so set need_2nd_expansion to 1.
- (record_files): If there's a "%" in a static pattern rule, it gets
- converted to "$*" so set need_2nd_expansion to 1.
-
- * file.c (expand_deps): Rework to be more efficient. Only perform
- initialize_file_variables(), set_file_variables(), and
- variable_expand_for_file() if the need_2nd_expansion is set.
-
- * implicit.c (pattern_search): Default need_2nd_expansion to 0.
- (pattern_search): Ditto.
- * main.c (handle_non_switch_argument): Ditto.
- (main): Ditto.
- * read.c (read_all_makefiles): Ditto.
- (eval_makefile): Ditto.
-
-2005-04-07 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main) [WINDOWS32]: Export PATH to sub-shells, not Path.
- * variable.c (sync_Path_environment): Ditto.
- Patch by Alessandro Vesely. Fixes Savannah bug #12209.
-
- * main.c (main): Define the .FEATURES variable.
- * NEWS: Announce .FEATURES.
- * doc/make.texi (Special Variables): Document .FEATURES.
-
- * remake.c (check_dep): If a file is .PHONY, update it even if
- it's marked intermediate. Fixes Savannah bug #12331.
-
-2005-03-15 Boris Kolpackov <boris@kolpackov.net>
-
- * file.c (expand_deps): Factor out the second expansion and
- prerequisite line parsing logic from snap_deps().
-
- * file.c (snap_deps): Use expand_deps(). Expand and parse
- prerequisites of the .SUFFIXES special target first. Fixes
- Savannah bug #12320.
-
-2005-03-13 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main) [MSDOS]: Export SHELL in MSDOS. Requested by Eli
- Zaretskii.
-
-2005-03-11 Paul D. Smith <psmith@gnu.org>
-
- * signame.c (strsignal): HAVE_DECL_SYS_SIGLIST is 0 when not
- available, not undefined (from Earnie Boyd).
-
-2005-03-10 Boris Kolpackov <boris@kolpackov.net>
-
- * implicit.c (pattern_search): Mark an intermediate target as
- precious if it happened to be a prerequisite of some (other)
- target. Fixes Savannah bug #12267.
-
-2005-03-09 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval_makefile): Add alloca(0).
- (eval_buffer): Ditto.
-
-2005-03-09 Boris Kolpackov <boris@kolpackov.net>
-
- * main.c (main): Use o_file instead of o_default when defining
- the .DEFAULT_TARGET special variable.
- * read.c (eval): Use define_variable_global() instead of
- define_variable() when setting new value for the .DEFAULT_TARGET
- special variable. Fixes Savannah bug #12266.
-
-2005-03-04 Boris Kolpackov <boris@kolpackov.net>
-
- * imlicit.c (pattern_search): Mark files for which an implicit
- rule has been found as targets. Fixes Savannah bug #12202.
-
-2005-03-04 Paul D. Smith <psmith@gnu.org>
-
- * AUTHORS: Update.
- * doc/make.texi (Automatic Variables): Document $|.
-
-2005-03-03 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_files): Instead of substituting % with
- actual stem value in dependency list replace it with $*.
- This fixes stem triple expansion bug.
-
- * implicit.c (pattern_search): Copy stem to a separate
- buffer and make it a properly terminated string. Assign
- this buffer instead of STEM (which is not terminated) to
- f->stem. Instead of substituting % with actual stem value
- in dependency list replace it with $*. This fixes stem
- triple expansion bug.
-
-2005-03-01 Paul D. Smith <psmith@gnu.org>
-
- * commands.c (fatal_error_signal) [WINDOWS32]: Don't call kill()
- on Windows, as it takes a handle not a pid. Just exit.
- Fix from patch #3679, provided by Alessandro Vesely.
-
- * configure.in: Update check for sys_siglist[] from autoconf manual.
- * signame.c (strsignal): Update to use the new autoconf macro.
-
-2005-03-01 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_files): Add a check for the list of prerequisites
- of a static pattern rule being empty. Fixes Savannah bug #12180.
-
-2005-02-28 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi (Text Functions): Update docs to allow the end
- ordinal for $(wordlist ...) to be 0.
- * function.c (func_wordlist): Fail if the start ordinal for
- $(wordlist ...) is <1. Matches documentation.
- Resolves Savannah support request #103195.
-
- * remake.c (update_goal_chain): Fix logic for stopping in -q:
- previously we were stopping when !-q, exactly the opposite. This
- has been wrong since version 1.34, in 1994!
- (update_file): If we got an error don't break out to run more
- double-colon rules: just return immediately.
- Fixes Savannah bug #7144.
-
-2005-02-27 Paul D. Smith <psmith@gnu.org>
-
- * misc.c (end_of_token): Make argument const.
- * make.h: Update prototype.
-
- * function.c (abspath, func_realpath, func_abspath): Use
- PATH_VAR() and GET_PATH_MAX instead of PATH_MAX.
- * dir.c (downcase): Use PATH_VAR() instead of PATH_MAX.
- * read.c (record_files): Ditto.
- * variable.c (do_variable_definition): Ditto.
-
- * function.c (func_error): Create a new function $(info ...) that
- simply prints the message to stdout with no extras.
- (function_table_init): Add new function to the table.
- * NEWS: Add $(info ...) reference.
- * doc/make.texi (Make Control Functions): Document it.
-
- New feature: if the system supports symbolic links, and the user
- provides the -L/--check-symlink-time flag, then use the latest
- mtime between the symlink(s) and the target file.
-
- * configure.in (MAKE_SYMLINKS): Check for lstat() and
- readlink(). If both are available, define MAKE_SYMLINKS.
- * main.c: New variable: check_symlink_flag.
- (usage): Add a line for -L/--check-symlink-times to the help string.
- (switches): Add -L/--check-symlink-times command line argument.
- (main): If MAKE_SYMLINKS is not defined but the user specified -L,
- print a warning and disable it again.
- * make.h: Declare check_symlink_flag.
- * remake.c (name_mtime): If MAKE_SYMLINKS and check_symlink_flag,
- if the file is a symlink then check each link in the chain and
- choose the NEWEST mtime we find as the mtime for the file. The
- newest mtime might be the file itself!
- * NEWS: Add information about this new feature.
- * doc/make.texi (Options Summary): Add -L/--check-symlink-times docs.
-
- Avoid core dumps described in Savannah bug # 12124:
-
- * file.c: New variable snapped_deps remember whether we've run
- snap_deps().
- (snap_deps): Set it.
- * filedef.h: Extern it.
- * read.c (record_files): Check snapped_deps; if it's set then
- we're trying to eval a new target/prerequisite relationship from
- within a command script, which we don't support. Fatal.
-
-2005-02-28 Boris Kolpackov <boris@kolpackov.net>
-
- Implementation of the .DEFAULT_TARGET special variable.
-
- * read.c (eval): If necessary, update default_target_name when
- reading rules.
- * read.c (record_files): Update default_target_file if
- default_target_name has changed.
- * main.c (default_target_name): Define.
- * main.c (main): Enter .DEFAULT_TARGET as make variable. If
- default_target_name is set use default_target_file as a root
- target to make.
- * filedef.h (default_target_name): Declare.
- * dep.h (free_dep_chain):
- * misc.c (free_dep_chain): Change to operate on struct nameseq
- and change name to free_ns_chain.
- * file.c (snap_deps): Update to use free_ns_chain.
-
-2005-02-27 Boris Kolpackov <boris@kolpackov.net>
-
- Implementation of the second expansion in explicit rules,
- static pattern rules and implicit rules.
-
- * read.c (eval): Refrain from chopping up rule's dependencies.
- Store them in a struct dep as a single dependency line. Remove
- the code that implements SySV-style automatic variables.
-
- * read.c (record_files): Adjust the code that handles static
- pattern rules to expand all percents instead of only the first
- one. Reverse the order in which dependencies are stored so that
- when the second expansion reverses them again they appear in
- the makefile order (with some exceptions, see comments in
- the code). Remove the code that implements SySV-style automatic
- variables.
-
- * file.c (snap_deps): Implement the second expansion and chopping
- of dependency lines for explicit rules.
-
- * implicit.c (struct idep): Define an auxiliary data type to hold
- implicit rule's dependencies after stem substitution and
- expansion.
-
- * implicit.c (free_idep_chain): Implement.
-
- * implicit.c (get_next_word): Implement helper function for
- parsing implicit rule's dependency lines into words taking
- into account variable expansion requests. Used in the stem
- splitting code.
-
- * implicit.c (pattern_search): Implement the second expansion
- for implicit rules. Also fixes bug #12091.
-
- * commands.h (set_file_variables): Declare.
- * commands.c (set_file_variables): Remove static specifier.
-
- * dep.h (free_dep_chain): Declare.
- * misc.c (free_dep_chain): Implement.
-
- * variable.h (variable_expand_for_file): Declare.
- * expand.c (variable_expand_for_file): Remove static specifier.
-
- * make.h (strip_whitespace): Declare.
- * function.c (strip_whitespace): Remove static specifier.
-
-2005-02-26 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Check for ferror() when reading makefiles from stdin.
- Apparently some shells in Windows don't close pipes properly and
- require this check.
-
-2005-02-24 Jonathan Grant <jg@jguk.org>
-
- * configure.in: Add MinGW configuration options, and extra w32 code
- directory.
- * Makefile.am: Add MinGW configuration options, and extra w32 code
- directory.
- * main.c: Determine correct program string (after last \ without .exe).
- * subproc/sub_proc.c: `GetExitCodeProcess' from incompatible pointer
- type fix x2
- * w32/Makefile.am: Import to build win32 lib of sub_proc etc.
- * subproc/w32err.c: MSVC thread directive not applied to MinGW builds.
- * tests/run_make_tests.pl, tests/test_driver.pl: MSYS testing
- environment support.
-
-2004-04-16 Dmitry V. Levin <ldv@altlinux.org>
-
- * function.c (func_shell): When initializing error_prefix, check
- that reading file name is not null. This fixes long-standing
- segfault in cases like "make 'a1=$(shell :)' 'a2:=$(a1)'".
-
-2005-02-09 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile: Update the CVS download URL to simplify them.
- Also, the ftp://ftp.gnu.org/GNUinfo site was removed so I'm
- downloading the .texi files from Savannah now.
-
- Fixed these issues reported by Markus Mauhart <qwe123@chello.at>:
-
- * main.c (handle_non_switch_argument): Only add variables to
- command_variables if they're not already there: duplicate settings
- waste space and can be confusing to read.
-
- * w32/include/sub_proc.h: Remove WINDOWS32. It's not needed since
- this header is never included by non-WINDOWS32 code, and it
- requires <config.h> to define which isn't always included first.
-
- * dir.c (read_dirstream) [MINGW]: Use proper macro names when
- testing MINGW32 versions.
-
- * main.c (log_working_directory): flush stdout to be sure the WD
- change is printed before any stderr messages show up.
-
-2005-02-01 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile (po_repo): Update the GNU translation site URL.
-
-2004-12-01 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Change char* env_shell to struct variable shell_var.
- * variable.c (target_environment): Use new shell_var.
-
-2004-11-30 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: The old way we avoided creating build.sh from
- build.sh.in before build.sh.in exists doesn't work anymore; we
- have to use raw M4 (thanks to Andreas Schwab <schwab@suse.de> for
- the help!). This also keeps automake from complaining.
- * Makefile.am (README): Add a dummy target so automake won't
- complain that this file doesn't exist when we checkout from CVS.
- * maintMakefile (.dep_segment): Rewrite this rule since newer
- versions of automake don't provide DEP_FILES.
-
-2004-11-30 Boris Kolpackov <boris@kolpackov.net>
-
- Implementation of `realpath' and `abspath' built-in functions.
-
- * configure.in: Check for realpath.
- * function.c (abspath): Return an absolute file name that does
- not contain any `.' or `..' components, nor repeated `/'.
- * function.c (func_abspath): For each name call abspath.
- * function.c (func_realpath): For each name call realpath
- from libc or delegate to abspath if realpath is not available.
- * doc/make.texi (Functions for File Names): Document new functions.
- * doc/make.texi (Quick Reference): Ditto.
-
-2004-11-28 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main) [WINDOWS32]: Remove any trailing slashes from -C
- arguments. Fixes bug #10252.
-
- Fix for bug #1276: Handle SHELL according to POSIX requirements.
-
- * main.c (main): Set SHELL to v_noexport by default. Remember the
- original environment setting of SHELL in the env_shell variable.
- * main.h: Export new env_shell variable.
- * variable.c (target_environment): If we find a v_noexport
- variable for SHELL, add a SHELL variable with the env_shell value.
- * doc/make.texi (Quick Reference): Document the POSIX behavior.
- * doc/make.texi (Variables/Recursion): Ditto.
-
-2004-11-28 Paul D. Smith <psmith@gnu.org>
-
- * main.c (find_and_set_default_shell) [WINDOWS32]: check for
- equality of "cmd"/"cmd.exe", not inequality. Fixes bug #11155.
- Patch by Alessandro Vesely.
-
-2004-11-12 Paul D. Smith <psmith@gnu.org>
-
- * job.c (child_execute_job) [VMS]: Don't treat "#" as a comment on
- the command line if it's inside a string.
- Patch by: Hartmut Becker <Hartmut.Becker@hp.com>
-
-2004-10-21 Boris Kolpackov <boris@kolpackov.net>
-
- * function.c (func_lastword): New function: return last word
- from the list of words.
- * doc/make.texi: Document $(lastword ). Fix broken links in
- Quick Reference section.
-
-2004-10-06 Paul D. Smith <psmith@gnu.org>
-
- Apply patch from Alessandro Vesely, provided with bug # 9748.
- Fix use of tmpnam() to work with Borland C.
-
- * job.c (construct_command_argv_internal) [WINDOWS32]: Remove
- construction of a temporary filename, and call new function
- create_batch_filename().
- (create_batch_filename) [WINDOWS32]: New function to create a
- temporary filename.
-
-2004-10-05 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_target_var): Expand simple pattern-specific
- variable.
- * variable.c (initialize_file_variables): Do not expand simple
- pattern-specific variable.
-
-2004-09-28 Boris Kolpackov <boris@kolpackov.net>
-
- * remake.c (update_file_1): When rebuilding makefiles inherit
- dontcare flag from a target that triggered update.
-
-2004-09-27 Boris Kolpackov <boris@kolpackov.net>
-
- * variable.c (initialize_file_variables): Mark pattern-specific
- variable as a per-target and copy export status.
-
-2004-09-21 Boris Kolpackov <boris@kolpackov.net>
-
- * file.c (snap_deps): Mark .PHONY prerequisites as targets.
-
- * implicit.c (pattern_search): When considering an implicit rule's
- prerequisite check that it is actually a target rather then
- just an entry in the file hashtable.
-
-2004-09-21 Paul D. Smith <psmith@gnu.org>
-
- * read.c (readstring): Fix some logic errors in backslash handling.
- (eval): Remove some unnecessary processing in buffer handling.
- (record_target_var): Assert that parse_variable_definition() succeeded.
- Reported by: Markus Mauhart <qwe123@chello.at>.
-
- * misc.c: Removed the sindex() function. All instances of this
- function were trivially replaceable by the standard strstr()
- function, and that function will always have better (or certainly
- no worse) performance than the very simple-minded algorithm
- sindex() used. This can matter with complex makefiles.
- * make.h: Remove the prototype for sindex().
- * function.c (subst_expand): Convert sindex() call to strstr().
- This means we no longer need to track the TLEN value so remove that.
- (func_findstring): Convert sindex() to strstr().
- * commands.c (chop_commands): Convert sindex() calls to strstr().
- Suggested by: Markus Mauhart <qwe123@chello.at>.
-
- * main.c (find_and_set_default_shell) [WINDOWS32]: Implement the
- idea behind Savannah Patch #3144 from david.baird@homemail.com.
- If SHELL is set to CMD.EXE then assume it's batch-mode and
- non-unixy. I wrote the code differently from the patch, though,
- to make it safer. This also resolves bug #9174.
-
-2004-09-20 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (variable_expand_string): Modify to invoke
- patsubst_expand() instead of subst_expand(); the latter didn't
- handle suffix patterns correctly.
- * function.c (subst_expand): Remove the SUFFIX_ONLY parameter; it
- was used only from variable_expand_string() and is no longer used
- there.
- (func_subst): Ditto, on call to subst_expand().
- (patsubst_expand): Require the percent pointers to point to the
- character after the %, not to the % itself.
- * read.c (record_files): New call criteria for patsubst_expand().
- * variable.h: Remove SUFFIX_ONLY from subst_expand() prototype.
- This is to fix a bug reported by Markus Mauhart <qwe123@chello.at>.
-
-2004-09-19 Paul D. Smith <psmith@gnu.org>
-
- * function.c (subst_expand): Fix a check in by_word: look for a
- previous blank if we're beyond the beginning of the string, not
- the beginning of the word.
- Bugs reported by Markus Mauhart <qwe123@chello.at>.
-
-2004-05-16 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_goal_chain): Change the argument specifying
- whether we're rebuilding makefiles to be a global variable,
- REBUILDING_MAKEFILES.
- (complain): Extract the code that complains about no rules to make
- a target into a separate function.
- (update_file_1): If we tried to rebuild a file during the makefile
- rebuild phase and it was dontcare, then no message was printed.
- If we then try to build the same file during the normal build,
- print a message this time.
- (remake_file): Don't complain about un-remake-able files when
- we're rebuilding makefiles.
-
-2004-05-11 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): OS/2 patches from
- Andreas Buening <andreas.buening@nexgo.de>.
-
-2004-05-10 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_file): Don't walk the double-colon chain unless
- this is a double-colon rule. Fix suggested by Boris Kolpackov
- <boris@kolpackov.net>.
-
- * makefile.vms (CFLAGS): Remove glob/globfree (see readme.vms docs)
- * readme.vms: New section describing OpenVMS support and issues.
- * default.c (default_variables): Add support for IA64.
- * job.c (tryToSetupYAst) [VMS]: On VMS running make in batch mode
- without some privilege aborts make with the error
- %SYSTEM-F-NOPRIV. It happens when setting up a handler for
- pressing Ctrl+Y and the input device is no terminal. The change
- catches this error and just continues.
-
- Patches by Hartmut Becker <Hartmut.Becker@hp.com>
-
-2004-04-25 Paul D. Smith <psmith@gnu.org>
-
- * commands.c (set_file_variables): Set $< properly in the face of
- order-only prerequisites.
- Patch from Boris Kolpackov <boris@kolpackov.net>
-
-2004-04-21 Bob Byrnes <byrnes@curl.com>
-
- * main.c (main): Notice failures to remake makefiles.
-
-2004-03-28 Paul D. Smith <psmith@gnu.org>
-
- Patches for Acorn RISC OS by Peter Naulls <peter@chocky.org>
-
- * job.c: No default shell for RISC OS.
- (load_too_high): Hard-code the return to 1.
- (construct_command_argv_internal): No sh_chars or sh_cmds.
- * getloadavg.c: Don't set LOAD_AVE_TYPE on RISC OS.
-
-2004-03-20 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (do_variable_definition): Don't append from the
- global set if a previous non-appending target-specific variable
- definition exists. Reported by Oliver Schmidt <oschmidt@gmx.net>
- (with fix).
-
- * expand.c (reference_variable): Don't give up on variables with
- no value that have the target-specific append flag set: they might
- have a value after all. Reported by Oliver Schmidt
- <oschmidt@gmx.net> (with fix) and also by Maksim A. Nikulin
- <nikulin@dx1cmd.inp.nsk.su>.
-
- * rule.c (count_implicit_rule_limits): Don't delete patterns which
- refer to absolute pathnames in directories that don't exist: some
- portion of the makefile could create those directories before we
- match the pattern. Fixes bugs #775 and #108.
-
- Fixes from Jonathan R. Grant <jg-make@jguk.org>:
-
- * main.c (main): Free makefile_mtimes if we have any.
- * README.W32.template: Update documentation for the current status
- of the MS-Windows port.
- * NMakefile.template (MAKE): Add "MAKE = nmake". A conflicting
- environment variable is sometimes already defined which causes the
- build to fail.
- * main.c (debug_signal_handler): Only define this function if
- SIGUSR1 is available.
-
- Fixes for OS/2 from Andreas Beuning <andreas.buening@nexgo.de>:
-
- * configure.in [OS/2]: Relocate setting of HAVE_SA_RESTART for OS/2.
- * README.OS2.template: Documentation updates.
- * build.template: Add LIBINTL into LOADLIBES. Add $CFLAGS to the
- link line for safety.
- * maintMakefile (build.sh.in): Remove an extraneous ")".
- * job.c (child_execute_job): Close saved FDs.
- * job.c (exec_command) [OS/2]: exec_command(): If the command
- can't be exec'ed and if the shell is not Unix-sh, then try again
- with argv = { "cmd", "/c", ... }. Normally, this code is never
- reached for the cmd shell unless the command really doesn't exist.
- (construct_command_argv_internal) [OS/2]: The code for cmd
- handling now uses new_argv = { "cmd", "/c", "original line", NULL}.
- The CMD builtin commands are case insensitive so use strcasecmp().
-
-2004-03-19 Paul D. Smith <psmith@gnu.org>
-
- * read.c (do_define): Re-order line counter increment so the count
- is accurate (we were losing one line per define). Reported by
- Dave Yost <Dave@Yost.com>.
-
-2004-03-06 Paul D. Smith <psmith@gnu.org>
-
- * configure.in (HAVE_ANSI_COMPILER): Define if we have an ANSI/ISO
- compiler.
- * make.h: Convert uses of __STDC__ to HAVE_ANSI_COMPILER.
- * misc.c (message,error,fatal): Ditto.
- * configh.dos.template: Define HAVE_ANSI_COMPILER.
- * config.h.W32.template: Ditto.
- * config.h-vms.template: Ditto.
- * config.ami.template: Ditto.
-
-2004-03-04 Paul D. Smith <psmith@gnu.org>
-
- * README.template: Add a note about broken /bin/sh on SunOS
- 4.1.3_U1 & 4.1.4. Fix up Savannah links.
-
- * misc.c (message, error, fatal): Don't use "..." if we're using
- varargs. ansi2knr should handle this but it doesn't work: it
- translates "..." to va_dcl etc. but _AFTER_ the preprocessor is
- done. On many systems (SunOS for example) va_dcl is a #define.
- So, force the use of the non-"..." version on pre-ANSI compilers.
-
- * maintMakefile (sign-dist): Create some rules to help automate
- the new GNU ftp upload method.
-
-2004-02-24 Paul D. Smith <psmith@gnu.org>
-
- * config.h.W32.template: Add HAVE_STDARG_H
- * config.h-vms.template: Ditto.
- * config.ami.template: Ditto.
-
-2004-02-23 Jonathan Grant <jg-make@jguk.org>
-
- * README.W32.template: Add a notation about -j with BATCH_MODE_ONLY.
- * build_w32.bat: Remove extra "+".
-
-2004-02-23 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Create an UNUSED macro to mark unused parameters.
- * (many): Clean up warnings by applying UNUSED, fixing
- signed/unsigned incompatibilities, etc.
-
- * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Add quoting to silence
- autoconf warnings.
- * filedef.h: Name the command_state enumeration.
- * file.c (set_command_state): Use the enumeration in the function
- argument.
-
- * configure.in: Explicitly set SET_MAKE to empty, to disable
- MAKE=make even when no make already exists. Fix bug #3823.
-
-2004-02-22 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile: Perl script to clean up all non-CVS files. Use
- it on all the subdirectories for the cvs-clean target.
-
- * main.c (decode_switches): Require non-empty strings for all our
- string command-line options. Fixes Debian bug # 164165.
-
- * configure.in: Check for stdarg.h and varargs.h.
- * make.h (USE_VARIADIC): Set this if we can use variadic functions
- for printing messages.
- * misc.c: Check USE_VARIADIC instead of (obsolete) HAVE_STDVARARGS.
- (message): Ditto.
- (error): Ditto.
- (fatal): Ditto.
-
- A number of patches for OS/2 support from Andreas Buening
- <andreas.buening@nexgo.de>:
-
- * job.c (child_handler) [OS/2]: Allow this on OS/2 but we have to
- disable the SIGCHLD handler.
- (reap_children) [OS/2]: Remove special handling of job_rfd.
- (set_child_handler_action_flags) [OS/2]: Use this function in OS/2.
- (new_job) [OS/2]: Disable the SIGCHLD handler on OS/2.
- * main.c (main) [OS/2]: Special handling for paths in OS/2.
- * configure.in [OS/2]: Force SA_RESTART for OS/2.
- * Makefile.am (check-regression): Use $(EXEEXT) for Windows-type
- systems.
-
-2004-02-21 Paul D. Smith <psmith@gnu.org>
-
- * w32/subproc/sub_proc.c (process_easy) [W32]: Christoph Schulz
- <mail@kristov.de> reports that if process_begin() fails we don't
- handle the error condition correctly in all cases.
- * w32/subproc/w32err.c (map_windows32_error_to_string): Make sure
- to have a newline on the message.
-
- * job.c (construct_command_argv_internal): Add "test" to UNIX
- sh_cmds[]. Fixes Savannah bug # 7606.
-
-2004-02-04 Paul D. Smith <psmith@gnu.org>
-
- * job.c (vms_handle_apos) [VMS]: Fix various string handling
- situations in VMS DCL. Fixes Savannah bug #5533. Fix provided by
- Hartmut Becker <Hartmut.Becker@hp.com>.
-
-2004-01-21 Paul D. Smith <psmith@gnu.org>
-
- * job.c (load_too_high): Implement an algorithm to control the
- "thundering herd" problem when using -l to control job creation
- via the load average. The system only recomputes the load once a
- second but we can start many jobs in a second. To solve this we
- keep track of the number of jobs started in the last second and
- apply a weight to try to guess what a correct load would be.
- The algorithm was provided by Thomas Riedl <thomas.riedl@siemens.com>.
- Also fixes bug #4693.
- (reap_children): Decrease the job count for this second.
- (start_job_command): Increase the job count for this second.
-
- * read.c (conditional_line): Expand the text after ifn?def before
- checking to see if it's a single word. Fixes bug #7257.
-
-2004-01-09 Paul D. Smith <psmith@gnu.org>
-
- * file.c (print_file): Recurse to print all targets in
- double-colon rules. Fixes bug #4518, reported (with patch) by
- Andrew Chatham <chatham@google.com>.
-
-2004-01-07 Paul D. Smith <psmith@gnu.org>
-
- * acinclude.m4: Remove make_FUNC_SETVBUF_REVERSED.
- * configure.in: Change make_FUNC_SETVBUF_REVERSED to
- AC_FUNC_SETVBUF_REVERSED.
-
- * doc/make.texi (Target-specific): Fix Savannah bug #1772.
- (MAKE Variable): Fix Savannah bug #4898.
-
- * job.c (construct_command_argv_internal): Add "!" to the list of
- shell escape chars. POSIX sh allows it to appear before a
- command, to negate the exit code. Fixes bug #6404.
-
- * implicit.c (pattern_search): When matching an implicit rule,
- remember which dependencies have the ignore_mtime flag set.
- Original fix provided in Savannah patch #2349, by Benoit
- Poulot-Cazajous <Benoit.Poulot-Cazajous@jaluna.com>.
-
-2003-11-22 Paul D. Smith <psmith@gnu.org>
-
- * README.W32.template (Outputs): Clarification on -j with
- BATCH_MODE_ONLY_SEHLL suggested by Jonathan R. Grant
- <jg-make@jguk.org>.
-
-2003-11-02 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_if): Strip all the trailing whitespace from the
- condition, then don't expand it. Fixed bug # 5798.
-
- * expand.c (recursively_expand_for_file): If we're expanding a
- variable with no file context, then use the variable's context.
- Fixes bug # 6195.
-
-2003-10-21 Paul D. Smith <psmith@gnu.org>
-
- * main.c (log_working_directory): Add newlines to printf()s.
-
- * README.cvs: Add a note to ignore warnings during autoreconf.
-
- * maintMakefile (po_repo): Set a new URL for PO file updates.
- (get-config/config.guess get-config/config.sub): Get these files
- from the Savannah config project instead of ftp.gnu.org.
-
-2003-10-05 Paul Eggert <eggert@twinsun.com>
-
- * main.c (main): Avoid potential subscript error if environ has
- short strings.
-
-2003-08-22 Paul D. Smith <psmith@gnu.org>
-
- * misc.c (xmalloc, xrealloc): Add one to 0 sizes, to cater to
- systems which don't yet implement the C89 standard :-/.
-
-2003-07-18 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (directory_contents_hash_1, directory_contents_hash_1)
- [WINDOWS32]: Initialize hash.
-
-2003-06-19 Earnie Boyd <earnie@uses.sf.net>
-
- * dir.c (read_dirstream): Provide a workaround for broken versions of
- the MinGW dirent structure.
-
-2003-05-30 Earnie Boyd <earnie@users.sf.net>
-
- * w32/include/dirent.h: Add __MINGW32__ filter.
-
-2003-05-30 Earnie Boyd <earnie@users.sf.net>
-
- * make.h: Add global declaration of *make_host.
- * main.c (print_usage): Remove local declaration of *make_host.
- (print_version): Display "This program built for ..." after Copyright
- notice.
-
-2003-05-30 Earnie Boyd <earnie@users.sf.net>
-
- * doc/make.texi: Change "ifinfo" to "ifnottex" as suggested by the
- execution of "makeinfo --html make.texi".
-
-2003-04-30 Paul D. Smith <psmith@gnu.org>
-
- * build.template: Make some changes to maybe allow this script to
- work on DOS/Windows/OS2 systems. Suggested by Andreas Buening.
-
- * README.OS2.template: New file for OS/2 support. Original
- contributed by Andreas Buening.
- * configure.in: Invoke new pds_AC_DOS_PATHS macro to test for
- DOS-style paths.
-
-2003-04-19 Paul D. Smith <psmith@gnu.org>
-
- Fix bug #1405: allow a target to match multiple pattern-specific
- variables.
-
- * rule.c (create_pattern_var, lookup_pattern_var): Move these to
- variable.c, where they've always belonged.
- * rule.h: Move the prototypes and struct pattern_var as well.
- * variable.c (initialize_file_variables): Invoke
- lookup_pattern_var() in a loop, until no more matches are found.
- If a match is found, create a new variable set for the target's
- pattern variables. Then merge the contents of each matching
- pattern variable set into the target's pattern variable set.
- (lookup_pattern_var): Change this function to be usable
- in a loop. It takes a starting position: if NULL, start at the
- beginning; if non-NULL, start with the pattern variable after that
- position, and return the next matching pattern.
- (create_pattern_var): Create a unique instance of
- pattern-specific variables for every definition in the makefile.
- Don't combine the same pattern together. This allows us to
- process the variable handling properly even when the same pattern
- is used multiple times.
- (parse_variable_definition): New function: break out the parsing
- of a variable definition line from try_variable_definition.
- (try_variable_definition): Call parse_variable_definition to
- parse.
- (print_variable_data_base): Print out pattern-specific variables.
- * variable.h (struct variable): Remember when a variable is
- conditional. Also remember its flavor.
- (struct pattern_var): Instead of keeping a variable set, we just
- keep a single variable for each pattern.
- * read.c (record_target_var): Each pattern variable contains only a
- single variable, not a set, so create it properly.
- * doc/make.texi (Pattern-specific): Document the new behavior.
-
-2003-04-17 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (file_exists_p) [VMS]: Patch provided with Bug #3018 by
- Jean-Pierre Portier <portierjp2@free.fr>. I don't understand the
- file/directory naming rules for VMS so I can't tell whether this
- is correct or not.
-
-2003-04-09 Paul D. Smith <psmith@gnu.org>
-
- * configure.in (HAVE_DOS_PATHS): Define this on systems that need
- DOS-style pathnames: backslash separators and drive specifiers.
-
-2003-03-28 Paul D. Smith <psmith@gnu.org>
-
- * file.c (snap_deps): If .SECONDARY with no targets is given, set
- the intermediate flag on all targets. Fixes bug #2515.
-
-2003-03-24 Paul D. Smith <psmith@gnu.org>
-
- * configure.in, Makefile.am, glob/Makefile.am, doc/Makefile.am:
- Upgrade to autoconf 2.57 and automake 1.7.3.
-
- * job.c: More OS/2 changes from Andreas Buening.
-
- * file.c (print_file): Fix variable initialization.
- Fixes bug #2892.
-
- * remake.c (notice_finished_file):
-
- * make.h (ENULLLOOP): Set errno = 0 before invoking the command;
- some calls (like readdir()) return NULL in valid situations
- without resetting errno. Fixes bug #2846.
-
-2003-02-25 Paul D. Smith <psmith@gnu.org>
-
- Port to OS/2 (__EMX__) by Andreas Buening <andreas.buening@nexgo.de>.
-
- * job.c (_is_unixy_shell) [OS/2]: New function.
- Set default shell to /bin/sh.
- (reap_children): Close the job_rfd pipe here since we don't use a
- SIGCHLD handler.
- (set_child_handler_action_flags): define this to empty on OS/2.
- (start_job_command): Close the jobserver pipe and use
- child_execute_job() instead of fork/exec.
- (child_execute_job): Rewrite to handle stdin/stdout FDs and spawn
- rather than exec'ing, then reconfigure stdin/stdout.
- (exec_command): Rewrite to use spawn instead of exec. Return the
- PID of the child.
-
- * main.c (main) [OS/2]: Call initialize_main(). Handle argv[0] as
- in DOS. Handle the TEMP environment variable as in DOS. Don't
- use a SIGCHLD handler on OS/2. Choose a shell as in DOS. Don't
- use -j in DOS mode. Use child_execute_job() instead of
- exec_command().
-
- * function.c (func_shell) [OS/2]: Can't use fork/exec on OS/2: use
- spawn() instead.
-
- * job.h [OS/2]: Move CLOSE_ON_EXEC here from job.c. Add
- prototypes that return values.
-
- * remake.c (f_mtime) [OS/2]: Handle FAT timestamp offsets for OS/2.
-
- * read.c (readline) [OS/2]: Don't handle CRLF specially on OS/2.
- * default.c (default_suffixes) [OS/2]: Set proper default suffixes
- for OS/2.
- * vpath.c (construct_vpath_list) [OS/2]: Handle OS/2 paths like
- DOS paths.
-
-2003-02-24 Paul D. Smith <psmith@gnu.org>
-
- * default.c [VMS]: New default rules for .cxx -> .obj compiles.
- * job.c (child_execute_job) [VMS]: New code for handling spawn().
- (child_execute_job) [VMS]: Handle error status properly.
- Patches provided by Hartmut Becker <Hartmut.Becker@compaq.com>.
-
- * function.c (func_shell): Use EINTRLOOP() while reading from the
- subshell pipe (Fixes bug #2502).
- * job.c (free_child): Use EINTRLOOP() while writing tokens to the
- jobserver pipe.
- * main.c (main): Ditto.
-
-2003-01-30 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): eval() was not fully reentrant, because the
- collapsed buffer was static. Change it to be an automatic
- variable so that eval() can be invoked recursively.
- Fixes bug # 2238.
- (eval): Apply patch # 1022: fix memory reference error on long
- target-specific variable lines.
- Patch provided by Steve Brown <Steve.Brown@macquarie.com>.
-
- * function.c (check_numeric): Combine the is_numeric() function
- into this function, since it's only called from one place.
- Constify this function. Have it print the incorrect string in the
- error message. Fixes bug #2407.
- (strip_whitespace): Constify.
- (func_if): Constify.
- * expand.c (expand_argument): Constify.
-
-2003-01-29 Paul D. Smith <psmith@gnu.org>
-
- Fix bug # 2169, also reported by other people on various systems.
-
- * make.h: Some systems, such as Solaris and PTX, do not fully
- implement POSIX-compliant SA_RESTART functionality; important
- system calls like stat() and readdir() can still fail with EINTR
- even if SA_RESTART has been set on the signal handler. So,
- introduce macros EINTRLOOP() and ENULLLOOP() which can loop on
- EINTR for system calls which return -1 or 0 (NULL), respectively,
- on error.
- Also, remove the old atomic_stat()/atomic_readdir() and
- HAVE_BROKEN_RESTART handling.
-
- * configure.in: Remove setting of HAVE_BROKEN_RESTART.
-
- * arscan.c (ar_member_touch): Use EINTRLOOP() to wrap fstat().
- * remake.c (touch_file): Ditto.
-
- * commands.c (delete_target): Use EINTRLOOP() to wrap stat().
- * read.c (construct_include_path): Ditto.
- * remake.c (name_mtime): Ditto.
- * vpath.c (selective_vpath_search): Ditto.
- * dir.c (find_directory): Ditto.
- (local_stat): Ditto.
- (find_directory): Use ENULLLOOP() to wrap opendir().
- (dir_contents_file_exists_p): Use ENULLLOOP() to wrap readdir().
-
- * misc.c: Remove HAVE_BROKEN_RESTART, atomic_stat(), and
- atomic_readdir() handling.
-
-2003-01-22 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_call): Fix Bug #1744. If we're inside a
- recursive invocation of $(call ...), mask any of the outer
- invocation's arguments that aren't used by this one, so that this
- invocation doesn't "inherit" them accidentally.
-
-2002-12-05 Paul D. Smith <psmith@gnu.org>
-
- * function.c (subst_expand): Valery Khamenia reported a
- pathological performance hit when doing substitutions on very
- large values with lots of words: turns out we were invoking
- strlen() a ridiculous number of times. Instead of having each
- call to sindex() call strlen() again, keep track of how much of
- the text we've seen and pass the length to sindex().
-
-2002-11-19 Paul D. Smith <psmith@gnu.org>
-
- * README.cvs, configure.in: Upgrade to require autoconf 2.56.
-
-
-2002-11-16 Paul D. Smith <psmith@gnu.org>
-
- * NMakefile.template (OBJS): Add hash.c object file.
- * SMakefile.template (srcs): Ditto.
- * Makefile.ami (objs): Ditto.
- * build_w32.bat: Ditto.
-
- * Makefile.DOS.template: Remove extra dependencies.
-
-2002-10-25 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (install_variable_buffer): New function. Install a new
- variable_buffer context and return the previous one.
- (restore_variable_buffer): New function. Free the current
- variable_buffer context and put a previously saved one back.
- * variable.h: Prototypes for {install,restore}_variable_buffer.
- * function.c (func_eval): Push a new variable_buffer context
- before we eval, then restore the old one when we're done.
- Fixes Bug #1517.
-
- * read.c (install_conditionals): New function. Install a new
- conditional context and return the previous one.
- (restore_conditionals): New function. Free the current
- conditional context and put a previously saved one back.
- (eval): Use the {install,restore}_conditionals for "include"
- handling.
- (eval_buffer): Use {install,restore}_conditionals to preserve the
- present conditional state before we evaluate the buffer.
- Fixes Bug #1516.
-
- * doc/make.texi (Quick Reference): Add references to $(eval ...)
- and $(value ...).
- (Recursion): Add a variable index entry for CURDIR.
-
- * README.cvs: Update to appropriate versions.
- * Makefile.am (nodist_loadavg_SOURCES): automake gurus point out I
- don't need to copy loadavg.c: automake is smart enough to create
- it for me. Still have a bug in automake related to ansi2knr tho.
-
-2002-10-14 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (notice_finished_file): Only touch targets if they have
- at least one command (as per POSIX). Resolve Bug #1418.
-
- * *.c: Convert to using ANSI C-style function definitions.
- * Makefile.am: Enable the ansi2knr feature of automake.
- * configure.in: ditto.
-
-2002-10-13 Paul D. Smith <psmith@gnu.org>
-
- * commands.c (set_file_variables): Bug #1379: Don't use alloca()
- for automatic variable values like $^, etc. In the case of very
- large lists of prerequisites this causes problems. Instead reuse
- a static buffer (resizeable) for each variable.
-
- * read.c (eval): Fix Bug #1391: allow "export" keyword in
- target-specific variable definitions. Check for it and set an
- "exported" flag.
- (record_target_var): Set the export field to v_export if the
- "exported" flag is set.
- * doc/make.texi (Target-specific): Document the ability to use
- "export".
-
- * doc/make.texi: Change the name of the section on automatic
- variables from "Automatic" to "Automatic Variables". Added text
- clarifying the scope of automatic variables.
-
-2002-10-04 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): Allow SysV $$@ variables to use {} braces as well
- as () braces.
- (record_files): Ditto.
-
- * expand.c (variable_expand_string): In $(A:x=y) expansion limit
- the search for the '=' to only within the enclosing parens.
-
-2002-10-03 Paul D. Smith <psmith@gnu.org>
-
- Version 3.80 released.
-
- * dir.c: Change hash functions to use K&R function definition style.
- * function.c: Ditto.
- * read.c: Ditto.
- * variable.c: Ditto.
-
- Update to automake 1.7.
-
- * Makefile.am (AUTOMAKE_OPTIONS): Update to require 1.7.
- (pdf): Remove this target as automake now provides one.
-
- * configure.in: Change AM_CONFIG_HEADER to AC_CONFIG_HEADERS.
-
-2002-09-30 Martin P.J. Zinser <zinser@decus.de>
-
- * makefile.com: Updates for GNU make 3.80.
- * makefile.vms: Ditto.
-
-2002-09-23 Paul D. Smith <psmith@gnu.org>
-
- * read.c (enum make_word_type): Remove w_comment.
- (get_next_mword): Don't treat comment characters as special; where
- this function is used we will never see a comment (it's stripped
- before we get here) and treating comments specially means that
- targets like "foo\#bar" aren't handled properly.
-
-2002-09-18 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi (Bugs): Update with some info on Savannah, etc.
-
- * read.c (eval): Expansion of arguments to export/unexport was
- ignoring all arguments after the first one. Change the algorithm
- to expand the whole line once, then parse the results.
-
-2002-09-17 Paul D. Smith <psmith@gnu.org>
-
- Fix Bug #940 (plus another bug I found while looking at this):
-
- * read.c (record_target_var): enter_file() will add a new entry if
- it's a double-colon target: we don't want to do that in this
- situation. Invoke lookup_file() and only enter_file() if it does
- not already exist. If the file we get back is a double-colon then
- add this variable to the "root" double-colon target.
-
- * variable.c (initialize_file_variables): If this file is a
- double-colon target but is not the "root" target, then initialize
- the root and make the root's variable list the parent of our
- variable list.
-
-2002-09-13 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi (MAKE Variable): Add some indexing for "+".
-
- * hash.c (round_up_2): Get rid of a warning.
-
-2002-09-12 Paul D. Smith <psmith@gnu.org>
-
- * Makefile.am (loadavg_SOURCES, loadavg.c): Tiptoe around automake
- so it doesn't complain about getloadavg.c.
-
- * commands.c (set_file_variables): Make sure we always alloca() at
- least 1 character for the value of $? (for '\0').
-
-2002-09-11 Paul D. Smith <psmith@gnu.org>
-
- * hash.h (STRING_COMPARE, ISTRING_COMPARE, STRING_N_COMPARE): Fix
- macro to use RESULT instead of the incorrect _RESULT_.
-
- * make.h (HAVE_BROKEN_RESTART): Add prototypes for atomic_stat()
- and atomic_readdir(). We need to #include dirent.h to get this to
- work.
- * misc.c (atomic_readdir): Fix typos.
-
-2002-09-10 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): Expand variable lists given to export and
- unexport, so that "export $(LIST_OF_VARIABLES)" (etc.) works.
- (conditional_line): Ditto for "ifdef". Fixes bug #103.
-
- * doc/make.texi (Variables/Recursion): Document this.
- (Conditional Syntax): And here.
-
-2002-09-09 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Check for memmove().
-
-2002-09-07 Paul D. Smith <psmith@gnu.org>
-
- * configure.in (HAVE_BROKEN_RESTART): Define this on PTX systems;
- Michael Sterrett <msterret@coat.com> reports that while it has
- SA_RESTART, it does not work properly.
-
- * misc.c (atomic_stat): If HAVE_BROKEN_RESTART, create a function
- that invokes stat() and loops to do it again if it returns EINTR.
- (atomic_readdir): Ditto, with readdir().
-
- * make.h (stat, readdir): If HAVE_BROKEN_RESTART, alias stat()
- and readdir() to atomic_stat() and atomic_readdir().
-
-2002-09-04 Paul D. Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Daniel <barkalow@reputation.com>
- reports that GNU make sometimes doesn't recognize that targets can
- be made, when directories can be created as prerequisites. He
- reports that changing the order of predicates in the DEP->changed
- flag test so that lookup_file() is always performed, solves this
- problem.
-
-2002-08-08 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Require a newer version of gettext.
-
- * misc.c (perror_with_name): Translate the format string (for
- right-to-left language support).
- (pfatal_with_name): Ditto.
-
- * main.c: Create a static array of strings to store the usage
- text. This is done to facilitate translations.
- (struct command_switch): Remove argdesc and description fields.
- (switches): Remove values for obsolete fields.
- (print_usage): Print each element of the usage array.
-
- * hash.c: Change function definitions to be K&R style.
-
-2002-08-02 Paul D. Smith <psmith@gnu.org>
-
- * NEWS: Remove the mention of .TARGETS; we aren't going to publish
- this one because it's too hard to get right. We'll look at it for
- a future release.
- * main.c (main): Don't create the .TARGETS variable.
- * variable.c (handle_special_var): Don't handle .TARGETS.
-
-2002-08-01 Paul D. Smith <psmith@gnu.org>
-
- * main.c (switches): Add a new option, -B (--always-make). If
- specified, make will rebuild all targets that it encounters even
- if they don't appear to be out of date.
- (always_make_flag): New flag.
- * make.h: Extern always_make_flag.
- * remake.c (update_file_1): Check always_make_flag; if it's set we
- will always rebuild any target we can, even if none of its
- prerequisites are newer.
- * NEWS: Mention it.
-
- * doc/make.texi (Shell Function): Make it clear that make
- variables marked as "export" are not passed to instances of the
- shell function.
-
- Add new introspection variable .VARIABLES and .TARGETS.
-
- * variable.c (handle_special_var): New function. If the variable
- reference passed in is "special" (.VARIABLES or .TARGETS),
- calculate the new value if necessary. .VARIABLES is handled here:
- walk through the hash of defined variables and construct a value
- which is a list of the names. .TARGETS is handled by
- build_target_list().
- (lookup_variable): Invoke handle_special_var().
- * file.c (build_target_list): Walk through the hask of known files
- and construct a list of the names of all the ones marked as
- targets.
- * main.c (main): Initialize them to empty (and as simple variables).
- * doc/make.texi (Special Variables): Document them.
- * NEWS: Mention them.
-
- * variable.h (struct variable): Add a new flag "exportable" which
- is true if the variable name is valid for export.
- * variable.c (define_variable_in_set): Set "exportable" when a new
- variable is defined.
- (target_environment): Use the "exportable" flag instead of
- re-checking the name here... an efficiency improvement.
-
-2002-07-31 Paul D. Smith <psmith@gnu.org>
-
- * config.h-vms.template: Updates to build on VMS. Thanks to
- Brian_Benning@aksteel.com for helping verify the build.
- * makefile.com: Build the new hash.c file.
- * hash.h: Use strcpmi(), not stricmp(), in the
- HAVE_CASE_INSENSITIVE_FS case.
-
-2002-07-30 Paul D. Smith <psmith@gnu.org>
-
- * hash.h (ISTRING_COMPARE, return_ISTRING_COMPARE): Add missing
- backslashes to the HAVE_CASE_INSENSITIVE_FS case.
- Reported by <Brian_Benning@aksteel.com>.
-
-2002-07-10 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (pop_variable_scope): Remove variable made unused by
- new hash infrastructure.
- * read.c (dep_hash_cmp): Rewrite this to handle ignore_mtime
- comparisons as well as name comparisons.
- * variable.h: Add a prototype for new hash_init_function_table().
- * file.c (lookup_file): Remove variables made unused by new hash
- infrastructure.
- * dir.c (directory_contents_hash_2): Missing return of hash value.
- (dir_contents_file_exists_p): Remove variables made unused by new
- hash infrastructure.
-
-
- Installed Greg McGary's integration of the hash functions from the
- GNU id-utils package:
-
-2002-07-10 Greg McGary <greg@mcgary.org>
-
- * scripts/functions/filter-out: Add literals to to the
- pattern space in order to add complexity, and trigger
- use of an internal hash table. Fix documentation strings.
- * scripts/targets/INTERMEDIATE: Reverse order of files
- passed to expected `rm' command.
-
-2002-07-10 Greg McGary <greg@mcgary.org>
-
- * Makefile.am (SRCS): Add hash.c (noinst_HEADERS): Add hash.h
- * hash.c: New file, taken from id-utils.
- * hash.h: New file, taken from id-utils.
-
- * make.h (HASH, HASHI): Remove macros.
- (find_char_unquote): Change arglist in decl.
- (hash_init_directories): New function decl.
- * variable.h (hash.h): New #include.
- (MAKELEVEL_NAME, MAKELEVEL_LENGTH): New constants.
- * filedef.h (hash.h): New #include.
- (struct file) [next]: Remove member.
- (file_hash_enter): Remove function decl.
- (init_hash_files): New function decl.
-
- * ar.c (ar_name): Delay call to strlen until needed.
- * main.c (initialize_global_hash_tables): New function.
- (main): Call it. Use MAKELEVEL_NAME & MAKELEVEL_LENGTH.
- * misc.c (remove_comments): Pass char constants to find_char_unquote.
- * remake.c (notice_finished_file): Update last_mtime on `prev' chain.
-
- * dir.c (hash.h): New #include.
- (struct directory_contents) [next, files]: Remove members.
- [ctime]: Add member for VMS. [dirfiles]: Add hash-table member.
- (directory_contents_hash_1, directory_contents_hash_2,
- directory_contents_hash_cmp): New functions.
- (directories_contents): Change type to `struct hash_table'.
- (struct directory) [next]: Remove member.
- (directory_hash_1, directory_hash_2, directory_hash_cmp): New funcs.
- (directory): Change type to `struct hash_table'.
- (struct dirfile) [next]: Remove member.
- [length]: Add member. [impossible]: widen type to fill alignment gap.
- (dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp): New functions.
- (find_directory): Use new hash table package.
- (dir_contents_file_exists_p): Likewise.
- (file_impossible): Likewise.
- (file_impossible_p): Likewise.
- (print_dir_data_base): Likewise.
- (open_dirstream): Likewise.
- (read_dirstream): Likewise.
- (hash_init_directories): New function.
-
- * file.c (hash.h): New #include.
- (file_hash_1, file_hash_2, file_hash_cmp): New functions.
- (files): Change type to `struct hash_table'.
- (lookup_file): Use new hash table package.
- (enter_file): Likewise.
- (remove_intermediates): Likewise.
- (snap_deps): Likewise.
- (print_file_data_base): Likewise.
-
- * function.c
- (function_table_entry_hash_1, function_table_entry_hash_2,
- function_table_entry_hash_cmp): New functions.
- (lookup_function): Remove `table' argument.
- Use new hash table package.
- (struct a_word) [chain, length]: New members.
- (a_word_hash_1, a_word_hash_2, a_word_hash_cmp): New functions.
- (struct a_pattern): New struct.
- (func_filter_filterout): Pass through patterns noting boundaries
- and '%', if present. Note a_word length. Use a hash table if
- arglists are large enough to justify cost.
- (function_table_init): Renamed from function_table.
- (function_table): Declare as `struct hash_table'.
- (FUNCTION_TABLE_ENTRIES): New constant.
- (hash_init_function_table): New function.
-
- * read.c (hash.h): New #include.
- (read_makefile): Pass char constants to find_char_unquote.
- (dep_hash_1, dep_hash_2, dep_hash_cmp): New functions.
- (uniquize_deps): Use hash table to efficiently identify duplicates.
- (find_char_unquote): Accept two char-constant stop chars, rather
- than a string constant, avoiding zillions of calls to strchr.
- Tighten inner search loops to test only for desired delimiters.
-
- * variable.c (variable_hash_1, variable_hash_2,
- variable_hash_cmp): New functions.
- (variable_table): Declare as `struct hash_table'.
- (global_variable_set): Remove initialization.
- (init_hash_global_variable_set): New function.
- (define_variable_in_set): Use new hash table package.
- (lookup_variable): Likewise.
- (lookup_variable_in_set): Likewise.
- (initialize_file_variables): Likewise.
- (pop_variable_scope): Likewise.
- (create_new_variable_set): Likewise.
- (merge_variable_sets): Likewise.
- (define_automatic_variables): Likewise.
- (target_environment): Likewise.
- (print_variable_set): Likewise.
-
-2002-07-10 Paul D. Smith <psmith@gnu.org>
-
- Implement the SysV make syntax $$@, $$(@D), and $$(@F) in the
- prerequisite list. A real SysV make will expand the entire
- prerequisites list _twice_: we don't do that as it's a big
- backward-compatibility problem. We only replace those specific
- variables.
-
- * read.c (record_files): Replace any $@, $(@D), and $(@F) variable
- references left in the list of prerequisites. Check for .POSIX as
- we record targets, so we can disable non-POSIX behavior while
- reading makefiles as well as running them.
- (eval): Check the prerequisite list to see if we have anything
- that looks like a SysV prerequisite variable reference.
-
-2002-07-09 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi (Prerequisite Types): Add a new section describing
- order-only prerequisites.
-
- * read.c (uniquize_deps): If we have the same file as both a
- normal and order-only prereq, get rid of the order-only prereq,
- since the normal one supersedes it.
-
-2002-07-08 Paul D. Smith <psmith@gnu.org>
-
- * AUTHORS: Added Greg McGary to the AUTHORS file.
- * NEWS: Blurbed order-only prerequisites.
- * file.c (print_file): Show order-only deps properly when printing
- the database.
-
- * maintMakefile: Add "update" targets for wget'ing the latest
- versions of various external files. Taken from Makefile.maint in
- autoconf, etc.
-
- * dosbuild.bat: Somehow we got _double_ ^M's. Remove them.
- Reported by Eli Zaretskii <eliz@is.elta.co.il>.
-
-2002-07-07 Paul D. Smith <psmith@gnu.org>
-
- * po/*.po: Remove. We'll use wget to retrieve them at release
- time.
-
- * variable.c (do_variable_definition) [W32]: On W32 using cmd
- rather than a shell you get an exception. Make sure we look up
- the variable. Patch provided by Eli Zaretskii <eliz@is.elta.co.il>.
-
- * remake.c (notice_finished_file): Fix handling of -t flag.
- Patch provided by Henning Makholm <henning@makholm.net>.
-
- * implicit.c (pattern_search): Some systems apparently run short
- of stack space, and using alloca() in this function caused an
- overrun. I modified it to use xmalloc() on the two variables
- which seemed like they might get large. Fixes Bug #476.
-
- * main.c (print_version): Update copyright notice to conform with
- GNU standards.
- (print_usage): Update help output.
-
- * function.c (func_eval): Create a new make function, $(eval
- ...). Expand the arguments, put them into a buffer, then invoke
- eval_buffer() on the resulting string.
- (func_quote): Create a new function, $(quote VARNAME). Inserts
- the value of the variable VARNAME without expanding it any
- further.
-
- * read.c (struct ebuffer): Change the linebuffer structure to an
- "eval buffer", which can be either a file or a buffer.
- (eval_makefile): Move the code in the old read_makefile() which
- located a makefile into here: create a struct ebuffer with that
- information. Have it invoke the new function eval() with that
- ebuffer.
- (eval_buffer): Create a new function that creates a struct ebuffer
- that holds a string buffer instead of a file. Have it invoke
- eval() with that ebuffer.
- (eval): New function that contains the guts of the old
- read_makefile() function: this function parses makefiles. Obtains
- data to parse from the provided ebuffer. Some modifications to
- make the flow of the function cleaner and clearer. Still could
- use some work here...
- (do_define): Takes a struct ebuffer instead of a FILE*. Read the
- contents of the define/endef variable from the ebuffer.
- (readstring): Read the next line from a string-style ebuffer.
- (readline): Read the next line from an ebuffer. If it's a string
- ebuffer, invoke readstring(). If it's a FILE* ebuffer, read it
- from the file.
-
- * dep.h (eval_buffer): Prototype eval_buffer();
-
- * variable.c (do_variable_definition): Make sure that all
- non-target-specific variables are registered in the global set.
- If we're invoked from an $(eval ...) we might be inside a $(call
- ...) or other function which has pushed a variable scope; we still
- want to define our variables from evaluated makefile code in the
- global scope.
-
-2002-07-03 Greg McGary <greg@mcgary.org>
-
- * dep.h (struct dep) [ignore_mtime]: New member.
- [changed]: convert to a bitfield.
- * implicit.c (pattern_search): Zero ignore_mtime.
- * main.c (main, handle_non_switch_argument): Likewise.
- * rule.c (convert_suffix_rule): Likewise.
- * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise.
- (read_makefile): Parse '|' in prerequisite list.
- (uniquize_deps): Consider ignore_mtime when comparing deps.
- * remake.c (update_file_1, check_dep): Don't force remake for
- dependencies that have d->ignore_mtime.
- * commands.c (FILE_LIST_SEPARATOR): New constant.
- (set_file_variables): Don't include a
- prerequisite in $+, $^ or $? if d->ignore_mtime.
- Define $|.
-
-2002-06-18 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo: Updates for next revision. New date/rev/etc.
- Recreate all Info menus. Change license on the manual to the GNU
- Free Documentation License. A number of typos.
- (Variables Simplify): Don't use "-" before it's defined.
- (Automatic Prerequisites): Rewrite the target example to work
- properly if the compile fails. Remove incorrect comments about
- how "set -e" behaves.
- (Text Functions): Move the "word", "wordlist", "words", and
- "firstword" functions here, from "File Name Functions".
- * make-stds.texi: Update from latest GNU version.
- * fdl.texi: (created) Import the latest GNU version.
-
-2002-06-06 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (do_variable_definition): New function: extract the
- part of try_variable_definition() that actually sets the value
- into a separate function.
- (try_variable_definition): Call do_variable_definition() after
- parsing the variable definition string.
- (define_variable_in_set): Make the name argument const.
-
- * variable.h (enum variable_flavor): Make public.
- (do_variable_definition): Create prototype.
-
- * read.c (read_all_makefiles): Create a new built-in variable,
- MAKEFILE_LIST.
- (read_makefile): Add each makefile read in to this variable value.
-
-2002-05-18 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.DOS.template: Tweak according to changes in the
- distribution. Add back the dependencies of *.o files.
-
- * configh.dos.template: Synchronize with config.h.in.
-
-2002-05-09 Paul D. Smith <psmith@gnu.org>
-
- * file.c (file_timestamp_now): Use K&R function declaration.
-
- * getloadavg.c (getloadavg): Merge setlocale() fix from sh-utils
- getloadavg.c. Autoconf thinks QNX is SVR4-like, but it isn't, so
- #undef it. Remove predefined setup of NLIST_STRUCT. Decide
- whether to include nlist.h based on HAVE_NLIST_H. Change obsolete
- NLIST_NAME_UNION to new HAVE_STRUCT_NLIST_N_UN_N_NAME.
- * configure.in (NLIST_STRUCT): Define this if we have nlist.h and
- nlist.n_name is a pointer rather than an array.
-
- * acinclude.m4 (make_FUNC_SETVBUF_REVERSED): Grab the latest
- version of AC_FUNC_SETVBUF_REVERSED from autoconf CVS.
- * configure.in: Use it instead of the old version.
-
- * main.c (main): Prefer setvbuf() to setlinebuf().
-
-2002-05-08 Paul D. Smith <psmith@gnu.org>
-
- * Makefile.am (make_LDADD): Add GETLOADAVG_LIBS.
- (loadavg_LDADD): Ditto.
-
-2002-04-29 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (recursively_expand_for_file): Rename
- recursively_expand() to recursively_expand_for_file() and provide
- an extra argument, struct file. If the argument is provided, set
- the variable scope to that of the file before expanding.
- * variable.h (recursively_expand): Make this a macro that invokes
- recursively_expand_for_file() with a NULL file pointer.
- * variable.c (target_environment): Call the renamed function and
- provide the current file context.
- Fixes Debian bug #144306.
-
-2002-04-28 Paul D. Smith <psmith@gnu.org>
-
- Allow $(call ...) user-defined variables to be self-referencing
- without throwing an error. Allows implementation of transitive
- closures, among other possibly useful things.
- Requested by: Philip Guenther <guenther@sendmail.com>
-
- * variable.h (struct variable): Add a new field: exp_count, and
- new macros to hold its size and maximum value.
- (warn_undefined): Make this a macro.
- * variable.c (define_variable_in_set): Initialize it.
- * expand.c (recursively_expand): If we detect recursive expansion
- of a variable, check the exp_count field. If it's greater than 0
- allow the recursion and decrement the count.
- (warn_undefined): Remove this (now a macro in variable.h).
- * function.c (func_call): Before we expand the user-defined
- function, modify its exp_count field to contain the maximum
- number of recursive calls we'll allow. After the call, reset it
- to 0.
-
-2002-04-21 Paul D. Smith <psmith@gnu.org>
-
- Modified to use latest autoconf (2.53), automake (1.6.1), and
- gettext (0.11.1). We're using gettext's new "external" support,
- to avoid including libintl source with GNU make.
-
- * README.cvs: New file. Explain how to build GNU make from CVS.
-
- * configure.in: Modify checking for the system glob library.
- Use AC_EGREP_CPP instead of AC_TRY_CPP. Remove the setting of
- GLOBDIR (we will always put "glob" in SUBDIRS, so automake
- etc. will manage it correctly). Set an automake conditional
- USE_LOCAL_GLOB to decide whether to compile the glob library.
-
- * getloadavg.c (main): Include make.h in the "TEST" program to
- avoid warnings.
-
- * Makefile.am: Remove special rules for loadavg. Replace them
- with Automake capabilities for building extra programs.
-
- * signame.c: This file does nothing if the system provide
- strsignal(). If not, it implements strsignal(). If the system
- doesn't define sys_siglist, then we make our own; otherwise we use
- the system version.
- * signame.h: Removed.
-
- * main.c (main): No need to invoke signame_init(). Update copyright.
-
- * ABOUT-NLS: Removed.
- * gettext.c: Removed.
- * gettext.h: Get a simplified copy from the gettext package.
- * po/*: Created.
- * i18n/*.po: Moved to po/.
- * i18n/: Removed.
-
- * config/*: Created. Contains package configuration helper files.
- * config.guess, config.sub: Moved to config directory.
-
- * configure.in (AC_CONFIG_FILES): Add po/Makefile.in, config/Makefile.
- Rework to use new-style autoconf features. Use the "external"
- mode for gettext. Make the build.sh config file conditional on
- whether build.sh.in exists, to avoid autoconf errors.
- * acinclude.m4: Removed almost all macros as being obsolete.
- Rewrote remaining macros to use AC_DEFINE.
- * acconfig.h: Removed.
-
- * Makefile.am (EXTRA_DIST): Add config/config.rpath. Use a
- conditional to handle customs support. Remove special handling
- for i18n features.
-
-2002-04-20 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_call): Don't mark the argument variables $1,
- etc. as recursive. They've already been fully expanded so
- there's no need to do it again, and doing so strips escaped $'s.
- Reported by Sebastian Glita <glseba@yahoo.com>.
-
- * remake.c (notice_finished_file): Walk through double-colon
- entries via the prev field, not the next field!
- Reported by Greg McGary <greg@mcgary.org>.
-
- * main.c (main): If the user specifies -q and asks for a specific
- target which is a makefile, we got an assert. In that case it
- turns out we should continue normally instead.
-
- * i18n/de.po, i18n/fr.po: Installed an updated translation.
-
- * i18n/he.po: Installed a new translation.
-
-2002-01-07 Paul D. Smith <psmith@gnu.org>
-
- * i18n/es.po, i18n/ru.po: Installed an updated translation.
-
-2001-12-04 Paul D. Smith <psmith@gnu.org>
-
- * i18n/ja.po: Installed an updated translation.
-
-2001-09-06 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (AC_CHECK_HEADERS): Add sys/resource.h.
- (AC_CHECK_FUNCS): Add getrlimit, setrlimit.
-
- * main.c: Include <sys/resource.h> if it, getrlimit, and setrlimit
- are available.
- (main): Get rid of any avoidable limit on stack size.
-
-2001-09-04 Paul D. Smith <psmith@gnu.org>
-
- * i18n/da.po: Installed an updated translation.
-
-2001-08-03 Paul D. Smith <psmith@gnu.org>
-
- * i18n/fr.po: Installed an updated translation.
- Resolves Debian bug #106720.
-
-2001-06-13 Paul D. Smith <psmith@gnu.org>
-
- * i18n/da.po, configure.in (ALL_LINGUAS): Installed a new
- translation.
-
-2001-06-11 Paul D. Smith <psmith@gnu.org>
-
- * i18n/ko.po: Installed a new translation.
-
-2001-05-06 Paul D. Smith <psmith@gnu.org>
-
- Modify the EINTR handling.
-
- * job.c (new_job): Reorganize the jobserver algorithm. Reorder
- the way in which we manage the file descriptor/signal handler race
- trap to be more efficient.
-
-2001-05-06 Paul Eggert <eggert@twinsun.com>
-
- Restart almost all system calls that are interrupted, instead
- of worrying about EINTR. The lone exception is the read() for
- job tokens.
-
- * configure.in (HAVE_SA_RESTART): New macro.
- (MAKE_JOBSERVER): Define to 1 only if HAVE_SA_RESTART.
- * main.c (main): Use SA_RESTART instead of the old,
- nonstandard SA_INTERRUPT.
-
- * configure.in (AC_CHECK_FUNCS): Add bsd_signal.
- * main.c (bsd_signal): New function or macro,
- if the implementation doesn't supply it.
- (The bsd_signal function will be in POSIX 1003.1-200x.)
- (HANDLESIG): Remove.
- (main, FATAL_SIG): Use bsd_signal instead of signal or HANDLESIG.
-
- * make.h (EINTR_SET): Remove.
- (SA_RESTART): New macro.
-
- * arscan.c (ar_member_touch): Don't worry about EINTR.
- * function.c (func_shell): Likewise.
- * job.c (reap_children, free_child, new_job): Likewise.
- * main.c (main): Likewise.
- * remake.c (touch_file, name_mtime): Likewise.
-
- * arscan.c (ar_member_touch): Fix bug uncovered by EINTR removal;
- if fstat failed with errno!=EINTR, the error was ignored.
-
- * job.c (set_child_handler_action_flags): New function.
- (new_job): Use it to temporarily clear the SIGCHLD action flags
- while reading the token.
-
-2001-05-02 Paul D. Smith <psmith@gnu.org>
-
- * job.c (start_job_command): Don't add define/endef per-line flags
- to the top-level flags setting.
-
-2001-04-03 Paul D. Smith <psmith@gnu.org>
-
- * arscan.c (VMS_get_member_info,ar_scan) [VMS]: VMS sets the low
- bit on error, so check for odd return values, not non-0 return
- values.
- (VMS_get_member_info): Calculate the timezone differences correctly.
- Reported by John Fowler <jfowler@nyx.net>.
-
-
-2001-03-14 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (lookup_variable) [VMS]: Null-terminate the variable
- value before invoking define_variable().
- Reported by John Fowler <jfowler@nyx.net>.
-
-2001-02-07 Paul D. Smith <psmith@gnu.org>
-
- * read.c (record_target_var): If we reset the variable due to a
- command-line variable setting overriding it, turn off the "append"
- flag.
-
-2001-01-17 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (lookup_variable) [VMS]: When getting values from the
- environment, allocate enough space for the _value_ plus escapes,
- not enough space for the name plus escapes :-/.
- Reported by John Fowler <jfowler@nyx.net>.
-
- * remake.c (f_mtime): Removed the "***" prefix from the mod time
- warnings that make generates, so it doesn't look like an error.
- Reported by Karl Berry <karl@gnu.org>.
-
-
- Fix for PR/2020: Rework appended target-specific variables. I'm
- fairly confident this algorithm is finally correct.
-
- * expand.c (allocated_variable_append): Rewrite. Instead of
- expanding each appended variable then adding all the expanded
- strings together, we append all the unexpanded values going up
- through the variable set contexts, then expand the final result.
- This behaves just like non-target-specific appended variable
- values, while the old way didn't in various corner cases.
- (variable_append): New function: recursively append the unexpanded
- value of a variable, walking from the outermost variable scope to
- the innermost.
- * variable.c (lookup_variable): Remove the code that looked up the
- variable set list if the found variable was "append". We don't
- need this anymore.
- (lookup_variable_in_set): Make this non-static so we can use it
- elsewhere.
- (try_variable_definition): Use lookup_variable_in_set() rather
- than faking out current_variable_set_list by hand (cleanup).
- * variable.h: Add a prototype for the now non-static
- lookup_variable_in_set().
-
-2000-11-17 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (f_mtime) [WINDOWS32]: On various advice, I changed the
- WINDOWS32 port to assume timestamps can be up to 3 seconds away
- before throwing a fit.
-
-2000-11-17 Paul D. Smith <psmith@gnu.org>
-
- * read.c (readline): CRLF calculations had a hole, if you hit the
- buffer grow scenario just right. Reworked the algorithm to avoid
- the need for len or lastlen at all. Problem description with
- sample code chages provided by Chris Faylor <cgf@redhat.com>.
-
-2000-10-24 Paul D. Smith <psmith@gnu.org>
-
- * gettext.c (SWAP): Declare this with the prototype, otherwise
- some systems don't work (non-32-bit? Reported for Cray T3E).
- Reported by Thorstein Thorsteinsson <thor@signe.teokem.lu.se>.
-
-2000-10-05 Paul D. Smith <psmith@gnu.org>
-
- * acinclude.m4 (AM_LC_MESSAGES): Remove undefined macro
- AM_LC_MESSAGES; it doesn't seem to do anything anyway??
-
- * i18n/gl.po, configure.in (ALL_LINGUAS): New Galician translation.
-
-2000-09-22 Paul D. Smith <psmith@gnu.org>
-
- * gettext.c: Don't #define _GETTEXT_H here; we only include some
- parts of the real gettext.h here, and we expect to really include
- the real gettext.h later. If we keep this #define, it's ignored.
-
-2000-09-21 Paul D. Smith <psmith@gnu.org>
-
- * main.c (log_working_directory): Rework the text to use complete
- sentences, to make life simpler for the translators.
-
-2000-08-29 Paul D. Smith <psmith@gnu.org>
-
- * file.c (remove_intermediates): Print a debug message before we
- remove intermediate files, so the user (if she uses -d) knows
- what's going on.
-
-2000-08-21 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (try_variable_definition): Change how we handle
- target-specific append variable defns: instead of just setting the
- value, expand it as an append _but_ only within the current
- target's context. Otherwise we lose all but the last value if the
- variable is appended more than once within the current target
- context. Fixes PR/1831.
-
-2000-08-16 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_shell): Nul-terminate the buffer before
- printing an exec error message (just in case it's not!).
- Fixes PR/1860, reported by Joey Hess <joey@valinux.com>.
-
-2000-07-25 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): Add "~" to the list of
- sh_chars[] which disallow optimizing out the shell call.
-
-2000-07-23 Paul Eggert <eggert@twinsun.com>
-
- * NEWS, make.texinfo: Document .LOW_RESOLUTION_TIME, which
- supersedes --disable-nsec-timestamps.
- * make.texinfo: Consistently use "time stamp" instead of "timestamp".
- * README: Remove --disable-nsec-timestamps.
-
- * filedef.h (struct file.low_resolution_time): New member.
- * file.c (snap_deps): Add support for .LOW_RESOLUTION_TIME.
- * remake.c (update_file_1):
- Avoid spurious rebuilds due to low resolution time stamps,
- generalizing the earlier code that applied only to archive members.
- (f_mtime): Archive members always have low resolution time stamps.
-
- * configure.in: Remove --disable-nsec-timestamps, as this has
- been superseded by .LOW_RESOLUTION_TIME.
-
-2000-07-23 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (enable_nsec_timestamps): Renamed from
- make_cv_nsec_timestamps, since enable/disable options
- shouldn't be cached.
-
-2000-07-23 Bruno Haible <haible@clisp.cons.org>
- and Paul Eggert <eggert@twinsun.com>
-
- * file.c (file_timestamp_now):
- Use preprocessor-time check for FILE_TIMESTAMP_HI_RES
- so that clock_gettime is not linked unless needed.
-
- * filedef.h (FILE_TIMESTAMP_HI_RES):
- Remove definition; "configure" now does this.
-
- * configure.in (jm_AC_TYPE_UINTMAX_T): Move up,
- to before high resolution file timestamp check,
- since that check now uses uintmax_t.
- (FILE_TIMESTAMP_HI_RES): Define to nonzero if the code should use
- high resolution file timestamps.
- (HAVE_CLOCK_GETTIME): Do not define if !FILE_TIMESTAMP_HI_RES,
- so that we don't link in clock_gettime unnecessarily.
-
-2000-07-17 Paul D. Smith <psmith@gnu.org>
-
- * i18n/ja.po: New version of the translation file.
-
-2000-07-07 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (f_mtime): If NO_FLOAT is defined, don't bother with
- the offset calculation.
- (name_mtime): Replace EINTR test with EINTR_SET macro.
-
-2000-07-07 Paul Eggert <eggert@twinsun.com>
-
- Fix for PR/1811:
-
- * remake.c (update_file_1):
- Avoid spurious rebuilds of archive members due to their
- timestamp resolution being only one second.
- (f_mtime): Avoid spurious warnings of timestamps in the future due to
- the clock's resolution being lower than file timestamps'.
- When warning about future timestamps, report only the discrepancy,
- not the absolute value of the timestamp and the current time.
-
- * file.c (file_timestamp_now): New arg RESOLUTION.
- * filedef.h (file_timestamp_now): Likewise.
- (FILE_TIMESTAMP_NS): Now returns int. All uses changed.
-
-2000-07-05 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (lookup_variable) [VMS]: Remove vestigial references
- to listp. Fixes PR/1793.
-
-2000-06-26 Paul Eggert <eggert@twinsun.com>
-
- * Makefile.am (MAINTAINERCLEANFILES): New macro, with stamp-pot in it.
-
- * dir.c (vms_hash): Ensure ctype macro args are nonnegative.
-
- * remake.c (f_mtime): Remove unused var memtime.
-
-2000-06-25 Martin Buchholz <martin@xemacs.org>
-
- * make.texinfo, NEWS, TODO.private: Minor spelling corrections.
- Ran spell-check on make.texinfo.
-
-2000-06-23 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Replace EXIT_SUCCESS, EXIT_FAILURE, and
- EXIT_TROUBLE with MAKE_SUCCESS, MAKE_FAILURE, and MAKE_TROUBLE.
- * make.h: Define these macros.
-
- * Version 3.79.1 released.
-
- * configure.in: Add a new option, --disable-nsec-timestamps, to
- avoid using sub-second timestamps on systems that support it. It
- can lead to problems, e.g. if your makefile relies on "cp -p".
- * README.template: Document the issue with "cp -p".
-
- * config.guess, config.sub: Updated.
-
-
-
-See ChangeLog.2, available in the Git repository at:
-
- http://git.savannah.gnu.org/cgit/make.git/tree/
-
-for earlier changes.
-
-
-Copyright (C) 2000-2013 Free Software Foundation, Inc.
-This file is part of GNU Make.
-
-GNU Make is free software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the Free Software
-Foundation; either version 3 of the License, or (at your option) any later
-version.
-
-GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/Makefile.DOS b/Makefile.DOS
index 42cd487..43753e4 100644
--- a/Makefile.DOS
+++ b/Makefile.DOS
@@ -1,7 +1,7 @@
# -*-Makefile-*- template for DJGPP
# Makefile.in generated automatically by automake 1.2 from Makefile.am
#
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -71,13 +71,13 @@ PACKAGE = make
PERL = perl
RANLIB = ranlib
REMOTE = stub
-VERSION = 4.0
+VERSION = 4.1
AUTOMAKE_OPTIONS = 1.2
bin_PROGRAMS = make$(EXEEXT)
-make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c implicit.c job.c load.c loadapi.c main.c misc.c output.c read.c remake.c rule.c signame.c strcache.c variable.c version.c vpath.c hash.c guile.c remote-$(REMOTE).c
+make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c guile.c implicit.c job.c load.c loadapi.c main.c misc.c output.c read.c remake.c rule.c signame.c strcache.c variable.c version.c vpath.c hash.c remote-$(REMOTE).c
# This should include the glob/ prefix
libglob_a_SOURCES = glob/fnmatch.c glob/glob.c glob/fnmatch.h glob/glob.h
make_LDADD = glob/libglob.a
@@ -103,7 +103,7 @@ DEFS = -I. -I$(srcdir) -I.
CPPFLAGS = -DHAVE_CONFIG_H
LDFLAGS =
LIBS =
-make_OBJECTS = ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o load.o loadapi.o main.o misc.o output.o read.o remake.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o guile.o remote-$(REMOTE).o
+make_OBJECTS = ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o guile.o implicit.o job.o load.o loadapi.o main.o misc.o output.o read.o remake.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o remote-$(REMOTE).o
make_DEPENDENCIES = glob/libglob.a
make_LDFLAGS =
libglob_a_LIBADD =
@@ -606,8 +606,7 @@ arscan.o: arscan.c makeint.h config.h \
gettext.h \
# .deps/commands.Po
-commands.o: commands.c \
- makeint.h config.h \
+commands.o: commands.c makeint.h config.h \
gnumake.h \
getopt.h \
gettext.h \
@@ -766,7 +765,8 @@ remake.o: remake.c makeint.h config.h \
# dummy
# .deps/remote-stub.Po
-remote-stub.o: remote-stub.c makeint.h config.h \
+remote-stub.o: remote-stub.c makeint.h \
+ config.h \
gnumake.h \
getopt.h \
gettext.h \
diff --git a/Makefile.am b/Makefile.am
index 5156f47..204ab32 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
# This is a -*-Makefile-*-, or close enough
#
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -40,15 +40,11 @@ else
endif
make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
- function.c getopt.c getopt1.c implicit.c job.c load.c \
+ function.c getopt.c getopt1.c guile.c implicit.c job.c load.c \
loadapi.c main.c misc.c output.c read.c remake.c rule.c \
signame.c strcache.c variable.c version.c vpath.c hash.c \
$(remote)
-if HAVE_GUILE
- make_SOURCES += guile.c
-endif
-
EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c
noinst_HEADERS = commands.h dep.h filedef.h job.h makeint.h rule.h variable.h \
@@ -90,13 +86,6 @@ EXTRA_DIST = README build.sh.in $(man_MANS) \
DISTCLEANFILES = build.sh
-# Forward targets
-
-html:
- cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
-
-.PHONY: html
-
# --------------- Internationalization Section
localedir = $(datadir)/locale
@@ -183,7 +172,7 @@ loadavg_LDADD = @GETLOADAVG_LIBS@
#
MAKETESTFLAGS =
-check-regression:
+check-regression: tests/config-flags.pm
@if test -f '$(srcdir)/tests/run_make_tests'; then \
if $(PERL) -v >/dev/null 2>&1; then \
case `cd '$(srcdir)'; pwd` in `pwd`) : ;; \
diff --git a/Makefile.ami b/Makefile.ami
index efbab01..7c561a3 100644
--- a/Makefile.ami
+++ b/Makefile.ami
@@ -3,7 +3,7 @@
# NOTE: If you have no 'make' program at all to process this makefile, run
# 'build.sh' instead.
#
-# Copyright (C) 1995-2013 Free Software Foundation, Inc.
+# Copyright (C) 1995-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/Makefile.in b/Makefile.in
index 9814180..e2310fe 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,7 +16,7 @@
# This is a -*-Makefile-*-, or close enough
#
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -35,23 +34,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -71,17 +98,22 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = make$(EXEEXT)
-@HAVE_GUILE_TRUE@am__append_1 = guile.c
# Only process if target is MS-Windows
-@WINDOWSENV_TRUE@am__append_2 = $(W32LIB)
+@WINDOWSENV_TRUE@am__append_1 = $(W32LIB)
# Only process if target is MS-Windows
-@WINDOWSENV_TRUE@am__append_3 = $(W32INC)
+@WINDOWSENV_TRUE@am__append_2 = $(W32INC)
check_PROGRAMS = loadavg$(EXEEXT)
subdir = .
-DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \
- $(noinst_HEADERS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \
- AUTHORS COPYING ChangeLog INSTALL NEWS alloca.c getloadavg.c
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/config.h.in $(top_srcdir)/tests/config-flags.pm.in \
+ getloadavg.c alloca.c $(top_srcdir)/config/depcomp \
+ $(include_HEADERS) $(noinst_HEADERS) ABOUT-NLS AUTHORS COPYING \
+ INSTALL NEWS README $(top_srcdir)/config/ar-lib \
+ $(top_srcdir)/config/compile $(top_srcdir)/config/config.guess \
+ $(top_srcdir)/config/config.rpath \
+ $(top_srcdir)/config/config.sub \
+ $(top_srcdir)/config/install-sh $(top_srcdir)/config/missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
@@ -97,7 +129,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = tests/config-flags.pm
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
"$(DESTDIR)$(includedir)"
@@ -106,27 +138,38 @@ nodist_loadavg_OBJECTS = loadavg-getloadavg.$(OBJEXT)
loadavg_OBJECTS = $(nodist_loadavg_OBJECTS)
loadavg_DEPENDENCIES =
am__make_SOURCES_DIST = ar.c arscan.c commands.c default.c dir.c \
- expand.c file.c function.c getopt.c getopt1.c implicit.c job.c \
- load.c loadapi.c main.c misc.c output.c read.c remake.c rule.c \
- signame.c strcache.c variable.c version.c vpath.c hash.c \
- remote-stub.c remote-cstms.c guile.c
+ expand.c file.c function.c getopt.c getopt1.c guile.c \
+ implicit.c job.c load.c loadapi.c main.c misc.c output.c \
+ read.c remake.c rule.c signame.c strcache.c variable.c \
+ version.c vpath.c hash.c remote-stub.c remote-cstms.c
@USE_CUSTOMS_FALSE@am__objects_1 = remote-stub.$(OBJEXT)
@USE_CUSTOMS_TRUE@am__objects_1 = remote-cstms.$(OBJEXT)
-@HAVE_GUILE_TRUE@am__objects_2 = guile.$(OBJEXT)
am_make_OBJECTS = ar.$(OBJEXT) arscan.$(OBJEXT) commands.$(OBJEXT) \
default.$(OBJEXT) dir.$(OBJEXT) expand.$(OBJEXT) \
file.$(OBJEXT) function.$(OBJEXT) getopt.$(OBJEXT) \
- getopt1.$(OBJEXT) implicit.$(OBJEXT) job.$(OBJEXT) \
- load.$(OBJEXT) loadapi.$(OBJEXT) main.$(OBJEXT) misc.$(OBJEXT) \
- output.$(OBJEXT) read.$(OBJEXT) remake.$(OBJEXT) \
- rule.$(OBJEXT) signame.$(OBJEXT) strcache.$(OBJEXT) \
- variable.$(OBJEXT) version.$(OBJEXT) vpath.$(OBJEXT) \
- hash.$(OBJEXT) $(am__objects_1) $(am__objects_2)
+ getopt1.$(OBJEXT) guile.$(OBJEXT) implicit.$(OBJEXT) \
+ job.$(OBJEXT) load.$(OBJEXT) loadapi.$(OBJEXT) main.$(OBJEXT) \
+ misc.$(OBJEXT) output.$(OBJEXT) read.$(OBJEXT) \
+ remake.$(OBJEXT) rule.$(OBJEXT) signame.$(OBJEXT) \
+ strcache.$(OBJEXT) variable.$(OBJEXT) version.$(OBJEXT) \
+ vpath.$(OBJEXT) hash.$(OBJEXT) $(am__objects_1)
make_OBJECTS = $(am_make_OBJECTS)
am__DEPENDENCIES_1 =
@WINDOWSENV_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
make_DEPENDENCIES = @LIBOBJS@ @ALLOCA@ $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@@ -134,32 +177,30 @@ am__mv = mv -f
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(nodist_loadavg_SOURCES) $(make_SOURCES) \
$(EXTRA_make_SOURCES)
DIST_SOURCES = $(am__make_SOURCES_DIST) $(EXTRA_make_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -198,11 +239,33 @@ MANS = $(man_MANS)
HEADERS = $(include_HEADERS) $(noinst_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+CSCOPE = cscope
DIST_SUBDIRS = glob config po doc w32
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
@@ -213,6 +276,7 @@ am__remove_distdir = \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -240,6 +304,7 @@ am__relativize = \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
+DIST_TARGETS = dist-bzip2 dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -327,6 +392,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -386,19 +452,20 @@ SUBDIRS = glob config po doc $(MAYBE_W32)
include_HEADERS = gnumake.h
@USE_CUSTOMS_FALSE@remote = remote-stub.c
@USE_CUSTOMS_TRUE@remote = remote-cstms.c
-make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c \
- file.c function.c getopt.c getopt1.c implicit.c job.c load.c \
- loadapi.c main.c misc.c output.c read.c remake.c rule.c \
- signame.c strcache.c variable.c version.c vpath.c hash.c \
- $(remote) $(am__append_1)
+make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
+ function.c getopt.c getopt1.c guile.c implicit.c job.c load.c \
+ loadapi.c main.c misc.c output.c read.c remake.c rule.c \
+ signame.c strcache.c variable.c version.c vpath.c hash.c \
+ $(remote)
+
EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c
noinst_HEADERS = commands.h dep.h filedef.h job.h makeint.h rule.h variable.h \
debug.h getopt.h gettext.h hash.h output.h
make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ \
- $(GUILE_LIBS) $(am__append_2)
+ $(GUILE_LIBS) $(am__append_1)
man_MANS = make.1
-AM_CPPFLAGS = $(GLOBINC) $(am__append_3)
+AM_CPPFLAGS = $(GLOBINC) $(am__append_2)
AM_CFLAGS = $(GUILE_CFLAGS)
# Extra stuff to include in the distribution.
@@ -454,15 +521,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
+ $(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -484,8 +551,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -497,6 +564,8 @@ $(srcdir)/config.h.in: $(am__configure_deps)
distclean-hdr:
-rm -f config.h stamp-h1
+tests/config-flags.pm: $(top_builddir)/config.status $(top_srcdir)/tests/config-flags.pm.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
@@ -506,10 +575,11 @@ install-binPROGRAMS: $(bin_PROGRAMS)
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p; \
- then echo "$$p"; echo "$$p"; else :; fi; \
+ while read p p1; do if test -f $$p \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -530,7 +600,8 @@ uninstall-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -540,9 +611,11 @@ clean-binPROGRAMS:
clean-checkPROGRAMS:
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
+
loadavg$(EXEEXT): $(loadavg_OBJECTS) $(loadavg_DEPENDENCIES) $(EXTRA_loadavg_DEPENDENCIES)
@rm -f loadavg$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(loadavg_OBJECTS) $(loadavg_LDADD) $(LIBS)
+
make$(EXEEXT): $(make_OBJECTS) $(make_DEPENDENCIES) $(EXTRA_make_DEPENDENCIES)
@rm -f make$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(make_OBJECTS) $(make_LDADD) $(LIBS)
@@ -592,14 +665,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
loadavg-getloadavg.o: getloadavg.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loadavg-getloadavg.o -MD -MP -MF $(DEPDIR)/loadavg-getloadavg.Tpo -c -o loadavg-getloadavg.o `test -f 'getloadavg.c' || echo '$(srcdir)/'`getloadavg.c
@@ -680,22 +753,25 @@ uninstall-includeHEADERS:
dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -710,57 +786,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -776,12 +807,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -793,15 +819,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -810,9 +832,31 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \
@@ -821,19 +865,6 @@ distdir: $(DISTFILES)
echo "NEWS not updated; not releasing" 1>&2; \
exit 1;; \
esac
- @list='$(MANS)'; if test -n "$$list"; then \
- list=`for p in $$list; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
- if test -n "$$list" && \
- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
- echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
- echo " typically \`make maintainer-clean' will remove them" >&2; \
- exit 1; \
- else :; fi; \
- else :; fi
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -902,40 +933,41 @@ distdir: $(DISTFILES)
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
- $(am__remove_distdir)
-
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
@@ -946,8 +978,6 @@ distcheck: dist
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
@@ -959,18 +989,19 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod u+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && ../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@@ -993,7 +1024,7 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
@@ -1080,6 +1111,8 @@ dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
html-am:
info: info-recursive
@@ -1138,18 +1171,17 @@ uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
uninstall-man: uninstall-man1
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \
- ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am check-local clean \
- clean-binPROGRAMS clean-checkPROGRAMS clean-generic ctags \
- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
- dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
- distcheck distclean distclean-compile distclean-generic \
- distclean-hdr distclean-tags distcleancheck distdir \
- distuninstallcheck dvi dvi-am html html-am info info-am \
- install install-am install-binPROGRAMS install-data \
+.MAKE: $(am__recursive_targets) all check-am install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am check-local clean clean-binPROGRAMS \
+ clean-checkPROGRAMS clean-cscope clean-generic cscope \
+ cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
+ dist-zip distcheck distclean distclean-compile \
+ distclean-generic distclean-hdr distclean-tags distcleancheck \
+ distdir distuninstallcheck dvi dvi-am html html-am info \
+ info-am install install-am install-binPROGRAMS install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-exec-local install-html \
install-html-am install-includeHEADERS install-info \
@@ -1158,17 +1190,9 @@ uninstall-man: uninstall-man1
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-includeHEADERS uninstall-man \
- uninstall-man1
-
-
-# Forward targets
-
-html:
- cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
+ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
+ uninstall-includeHEADERS uninstall-man uninstall-man1
-.PHONY: html
install-exec-local:
@if $(inst_setgid); then \
@@ -1221,7 +1245,7 @@ check-loadavg: loadavg$(EXEEXT)
@echo The GNU load average checking code thinks:
-./loadavg$(EXEEXT)
-check-regression:
+check-regression: tests/config-flags.pm
@if test -f '$(srcdir)/tests/run_make_tests'; then \
if $(PERL) -v >/dev/null 2>&1; then \
case `cd '$(srcdir)'; pwd` in `pwd`) : ;; \
diff --git a/NEWS b/NEWS
index 2227a35..7e11787 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
GNU make NEWS -*-indented-text-*-
History of user-visible changes.
- 09 Oct 2013
+ 05 Oct 2014
See the end of this file for copyrights and conditions.
@@ -9,6 +9,27 @@ manual, which is contained in this distribution as the file doc/make.texi.
See the README file and the GNU make manual for instructions for
reporting bugs.
+Version 4.1 (05 Oct 2014)
+
+A complete list of bugs fixed in this version is available here:
+
+http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=105&set=custom
+
+* New variables: $(MAKE_TERMOUT) and $(MAKE_TERMERR) are set to non-empty
+ values if stdout or stderr, respectively, are believed to be writing to a
+ terminal. These variables are exported by default.
+
+* Allow a no-text-argument form of the $(file ...) function. Without a text
+ argument nothing is written to the file: it is simply opened in the
+ requested mode, then closed again.
+
+* Change the fatal error for mixed explicit and implicit rules, that was
+ introduced in GNU make 3.82, to a non-fatal error. However, this syntax is
+ still deprecated and may return to being illegal in a future version of GNU
+ make. Makefiles that rely on this syntax should be fixed.
+ See https://savannah.gnu.org/bugs/?33034
+
+
Version 4.0 (09 Oct 2013)
A complete list of bugs fixed in this version is available here:
@@ -144,15 +165,6 @@ http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set
it explicitly.
* WARNING: Backward-incompatibility!
- In previous versions of make it was acceptable to list one or more explicit
- targets followed by one or more pattern targets in the same rule and it
- worked "as expected". However, this was not documented as acceptable and if
- you listed any explicit targets AFTER the pattern targets, the entire rule
- would be mis-parsed. This release removes this ability completely: make
- will generate an error message if you mix explicit and pattern targets in
- the same rule.
-
-* WARNING: Backward-incompatibility!
As a result of parser enhancements, three backward-compatibility issues
exist: first, a prerequisite containing an "=" cannot be escaped with a
backslash any longer. You must create a variable containing an "=" and
@@ -239,8 +251,8 @@ Version 3.81 (01 Apr 2006)
any prerequisite that does not exist, even though that prerequisite
might have caused the target to rebuild. Starting with the _next_
release of GNU make, '$?' will contain all prerequisites that caused
- the target to be considered out of date. See this Savannah bug:
- http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=16051
+ the target to be considered out of date.
+ See http://savannah.gnu.org/bugs/?16051
* WARNING: Backward-incompatibility!
GNU make now implements a generic "second expansion" feature on the
@@ -767,7 +779,7 @@ Version 3.69 (07 Nov 1993)
have reversed the change made in version 3.68 because it turned out to
cause a paradoxical situation in cases like:
- export variable = $(shell echo value)
+ export variable = $(shell echo value)
When Make attempted to put this variable in the environment for a
recipe, it would try expand the value by running the shell command
@@ -790,8 +802,8 @@ Version 3.68 (28 Jul 1993)
foo.a(b.o) bar.a(c.o) bar.a(d.o)'.
* A suffix rule `.X.a' now produces two pattern rules:
- (%.o): %.X # Previous versions produced only this.
- %.a: %.X # Now produces this as well, just like other suffixes.
+ (%.o): %.X # Previous versions produced only this.
+ %.a: %.X # Now produces this as well, just like other suffixes.
* The new flag `--warn-undefined-variables' says to issue a warning message
whenever Make expands a reference to an undefined variable.
@@ -861,15 +873,15 @@ Version 3.63 (22 Jan 1993)
no longer automatically put into the environments of the recipe lines that
Make runs. Instead, only variables specified on the command line or in
the environment are exported by default. To export others, use:
- export VARIABLE
+ export VARIABLE
or you can define variables with:
- export VARIABLE = VALUE
+ export VARIABLE = VALUE
or:
- export VARIABLE := VALUE
+ export VARIABLE := VALUE
You can use just:
- export
+ export
or:
- .EXPORT_ALL_VARIABLES:
+ .EXPORT_ALL_VARIABLES:
to get the old behavior. See the node `Variables/Recursion' in the manual
for a full description.
@@ -889,9 +901,9 @@ Version 3.63 (22 Jan 1993)
* A single `include' directive can now specify more than one makefile to
include, like this:
- include file1 file2
+ include file1 file2
You can also use shell file name patterns in an `include' directive:
- include *.mk
+ include *.mk
* The default directories to search for included makefiles, and for
libraries specified with `-lNAME', are now set by configuration.
@@ -1027,7 +1039,7 @@ Version 3.49
* The `wildcard' variable expansion function now expands ~ and ~USER.
* Messages indicating failed recipe lines now contain the target name:
- make: *** [target] Error 1
+ make: *** [target] Error 1
* The `-p' output format has been changed somewhat to look more like
makefile rules and to give all information that Make has about files.
@@ -1207,7 +1219,7 @@ Version 3.05
(Changes from versions 1 through 3.05 were never recorded. Sorry.)
-------------------------------------------------------------------------------
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/NMakefile b/NMakefile
index 176535a..6ed11a7 100644
--- a/NMakefile
+++ b/NMakefile
@@ -3,7 +3,7 @@
# NOTE: If you have no 'make' program at all to process this makefile,
# run 'build_w32.bat' instead.
#
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -32,9 +32,9 @@ CFLAGS_debug = $(CFLAGS_any) /Od /D DEBUG /D _DEBUG /FR.\WinDebug/ /Fp.\WinDebug
CFLAGS_release = $(CFLAGS_any) /O2 /D NDEBUG /FR.\WinRel/ /Fp.\WinRel/make.pch /Fo.\WinRel/
LDFLAGS_debug = w32\subproc\WinDebug\subproc.lib /NOLOGO /SUBSYSTEM:console\
- /INCREMENTAL:no /PDB:WinDebug/make.pdb /OUT:WinDebug/make.exe /DEBUG
+ /STACK:0x400000 /INCREMENTAL:no /PDB:WinDebug/make.pdb /OUT:WinDebug/make.exe /DEBUG
LDFLAGS_release = w32\subproc\WinRel\subproc.lib /NOLOGO /SUBSYSTEM:console\
- /INCREMENTAL:no /OUT:WinRel/make.exe
+ /STACK:0x400000 /INCREMENTAL:no /OUT:WinRel/make.exe
all: config.h subproc Release Debug
@@ -72,7 +72,7 @@ $(OUTDIR):
LIBS = kernel32.lib user32.lib advapi32.lib
-#guile = $(OUTDIR)/guile.obj
+guile = $(OUTDIR)/guile.obj
OBJS = \
$(OUTDIR)/ar.obj \
@@ -89,6 +89,7 @@ OBJS = \
$(OUTDIR)/hash.obj \
$(OUTDIR)/implicit.obj \
$(OUTDIR)/job.obj \
+ $(OUTDIR)/load.obj \
$(OUTDIR)/main.obj \
$(OUTDIR)/misc.obj \
$(OUTDIR)/output.obj \
@@ -105,6 +106,7 @@ OBJS = \
$(OUTDIR)/fnmatch.obj \
$(OUTDIR)/dirent.obj \
$(OUTDIR)/pathstuff.obj \
+ $(OUTDIR)/posixfcn.obj \
$(guile)
$(OUTDIR)/make.exe: $(OUTDIR) $(OBJS)
@@ -121,6 +123,8 @@ $(OUTDIR)/fnmatch.obj : glob/fnmatch.c
$(CC) $(CFLAGS) /c $?
$(OUTDIR)/dirent.obj : w32/compat/dirent.c
$(CC) $(CFLAGS) /c $?
+$(OUTDIR)/posixfcn.obj : w32/compat/posixfcn.c
+ $(CC) $(CFLAGS) /c $?
$(OUTDIR)/pathstuff.obj : w32/pathstuff.c
$(CC) $(CFLAGS) /c $?
@@ -144,8 +148,7 @@ $(OUTDIR)/arscan.obj: arscan.c makeint.h config.h \
gettext.h \
# .deps/commands.Po
-$(OUTDIR)/commands.obj: commands.c \
- makeint.h config.h \
+$(OUTDIR)/commands.obj: commands.c makeint.h config.h \
gnumake.h \
getopt.h \
gettext.h \
@@ -304,7 +307,8 @@ $(OUTDIR)/remake.obj: remake.c makeint.h config.h \
# dummy
# .deps/remote-stub.Po
-$(OUTDIR)/remote-stub.obj: remote-stub.c makeint.h config.h \
+$(OUTDIR)/remote-stub.obj: remote-stub.c makeint.h \
+ config.h \
gnumake.h \
getopt.h \
gettext.h \
diff --git a/README b/README
index 8b10c42..9ed662a 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the 4.0 release of GNU Make.
+This directory contains the 4.1 release of GNU Make.
See the file NEWS for the user-visible changes from previous releases.
In addition, there have been bugs fixed.
@@ -162,7 +162,7 @@ at the right README!
-------------------------------------------------------------------------------
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/README.Amiga b/README.Amiga
index 1fabe07..f9be348 100644
--- a/README.Amiga
+++ b/README.Amiga
@@ -61,7 +61,7 @@ If you plan to use recursive makes, install make resident:
-------------------------------------------------------------------------------
-Copyright (C) 1995-2013 Free Software Foundation, Inc.
+Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/README.DOS b/README.DOS
index 158560d..335661c 100644
--- a/README.DOS
+++ b/README.DOS
@@ -62,7 +62,7 @@ To build from sources:
[Enter]. Otherwise, you need to supply the path to the source
directory as an argument to the batch file, like this:
- c:\djgpp\gnu\make-4.0\configure.bat c:/djgpp/gnu/make-4.0
+ c:\djgpp\gnu\make-4.1\configure.bat c:/djgpp/gnu/make-4.1
Note the forward slashes in the source path argument: you MUST
use them here.
@@ -84,7 +84,7 @@ To build from sources:
If you are building from outside of the source directory, you
need to tell Make where the sources are, like this:
- make srcdir=c:/djgpp/gnu/make-4.0
+ make srcdir=c:/djgpp/gnu/make-4.1
(configure.bat will tell you this when it finishes). You MUST
use a full, not relative, name of the source directory here, or
@@ -324,7 +324,7 @@ Bug reports:
-------------------------------------------------------------------------------
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/README.OS2 b/README.OS2
index 792c4bb..9e2045e 100644
--- a/README.OS2
+++ b/README.OS2
@@ -160,7 +160,7 @@ from the make source tree.
-------------------------------------------------------------------------------
-Copyright (C) 2003-2013 Free Software Foundation, Inc.
+Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/README.VMS b/README.VMS
index f7b064d..2ff553c 100644
--- a/README.VMS
+++ b/README.VMS
@@ -268,7 +268,7 @@ Long command lines are now converted to command files.
Comma (',') as a separator is now allowed. See makefile.vms for an example.
-------------------------------------------------------------------------------
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/README.W32 b/README.W32
index e311170..e52e406 100644
--- a/README.W32
+++ b/README.W32
@@ -207,7 +207,7 @@ GNU make handling of drive letters in pathnames (PATH, vpath, VPATH):
GNU make test suite:
I verified all functionality with a slightly modified version
- of make-test-4.0 (modifications to get test suite to run
+ of make-test-4.1 (modifications to get test suite to run
on Windows NT). All tests pass in an environment that includes
sh.exe. Tests were performed on both Windows NT and Windows 95.
@@ -293,7 +293,7 @@ Bug reports:
is described in the GNU make manual and the base README.
-------------------------------------------------------------------------------
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/README.customs b/README.customs
index 8b3fa74..30d98ac 100644
--- a/README.customs
+++ b/README.customs
@@ -96,7 +96,7 @@ SunOS 4.1.x:
-------------------------------------------------------------------------------
-Copyright (C) 1998-2013 Free Software Foundation, Inc.
+Copyright (C) 1998-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/SMakefile b/SMakefile
index 766a5c6..2b55f22 100644
--- a/SMakefile
+++ b/SMakefile
@@ -3,7 +3,7 @@
# NOTE: If you have no 'make' program at all to process this makefile,
# run 'build.sh' instead.
#
-# Copyright (C) 1995-2013 Free Software Foundation, Inc.
+# Copyright (C) 1995-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -24,9 +24,9 @@
#
# Ultrix 2.2 make doesn't expand the value of VPATH.
-VPATH = /make-4.0/
+VPATH = /make-4.1/
# This must repeat the value, because configure will remove 'VPATH = .'.
-srcdir = /make-4.0/
+srcdir = /make-4.1/
CC = sc
RM = delete
@@ -237,8 +237,7 @@ arscan.o: arscan.c makeint.h config.h \
gettext.h \
# .deps/commands.Po
-commands.o: commands.c \
- makeint.h config.h \
+commands.o: commands.c makeint.h config.h \
gnumake.h \
getopt.h \
gettext.h \
@@ -397,7 +396,8 @@ remake.o: remake.c makeint.h config.h \
# dummy
# .deps/remote-stub.Po
-remote-stub.o: remote-stub.c makeint.h config.h \
+remote-stub.o: remote-stub.c makeint.h \
+ config.h \
gnumake.h \
getopt.h \
gettext.h \
diff --git a/acinclude.m4 b/acinclude.m4
index b7d8efd..53d7ef1 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1,7 +1,7 @@
dnl acinclude.m4 -- Extra macros needed for GNU make.
dnl
dnl Automake will incorporate this into its generated aclocal.m4.
-dnl Copyright (C) 1998-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1998-2014 Free Software Foundation, Inc.
dnl This file is part of GNU Make.
dnl
dnl GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/aclocal.m4 b/aclocal.m4
index 833ec7d..98f09b6 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -12,13 +11,14 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
[m4_warning([this file was generated for autoconf 2.69.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
@@ -180,25 +180,22 @@ else
fi[]dnl
])# PKG_CHECK_MODULES
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.6], [],
+m4_if([$1], [1.14.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -214,24 +211,82 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.6])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_AR([ACT-IF-FAIL])
+# -------------------------
+# Try to determine the archiver interface, and trigger the ar-lib wrapper
+# if it is needed. If the detection of archiver interface fails, run
+# ACT-IF-FAIL (default is to abort configure with a proper error message).
+AC_DEFUN([AM_PROG_AR],
+[AC_BEFORE([$0], [LT_INIT])dnl
+AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([ar-lib])dnl
+AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
+: ${AR=ar}
+
+AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
+ [AC_LANG_PUSH([C])
+ am_cv_ar_interface=ar
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
+ [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+ ])
+ AC_LANG_POP([C])])
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ m4_default([$1],
+ [AC_MSG_ERROR([could not determine $AR interface])])
+ ;;
+esac
+AC_SUBST([AR])dnl
+])
+
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
@@ -250,7 +305,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -276,22 +331,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 9
-
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -310,16 +362,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 12
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
@@ -329,7 +379,7 @@ fi])])
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -342,12 +392,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
@@ -355,8 +406,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
@@ -396,16 +447,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -414,8 +465,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
@@ -423,7 +474,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -471,7 +522,7 @@ AM_CONDITIONAL([am__fastdep$1], [
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -481,9 +532,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
@@ -498,20 +553,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -524,7 +577,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
+ # We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
@@ -536,21 +589,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
+ # from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
@@ -568,7 +619,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
+# is enabled. FIXME. This creates each '.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
@@ -577,46 +628,45 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
])
-# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
-
AC_DEFUN([AM_WITH_DMALLOC],
[AC_MSG_CHECKING([if malloc debugging is wanted])
-AC_ARG_WITH(dmalloc,
-[ --with-dmalloc use dmalloc, as in http://www.dmalloc.com],
+AC_ARG_WITH([dmalloc],
+[AS_HELP_STRING([--with-dmalloc],
+ [use dmalloc, as in http://www.dmalloc.com])],
[if test "$withval" = yes; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_DMALLOC,1,
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([WITH_DMALLOC], [1],
[Define if using the dmalloc debugging malloc package])
LIBS="$LIBS -ldmalloc"
LDFLAGS="$LDFLAGS -g"
else
- AC_MSG_RESULT(no)
-fi], [AC_MSG_RESULT(no)])
+ AC_MSG_RESULT([no])
+fi], [AC_MSG_RESULT([no])])
])
-AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
-
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 16
-
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -629,7 +679,7 @@ AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -658,31 +708,40 @@ AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
@@ -693,34 +752,78 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -742,15 +845,12 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
@@ -764,16 +864,14 @@ if test x"${install_sh}" != xset; then
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
@@ -789,14 +887,12 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
-
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
@@ -814,7 +910,7 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
@@ -839,52 +935,14 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 6
-
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
@@ -892,11 +950,10 @@ AC_DEFUN([AM_MISSING_PROG],
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
-
# AM_MISSING_HAS_RUN
# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
@@ -909,29 +966,32 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
+ AC_MSG_WARN(['missing' script is too old or missing])
fi
])
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# AM_PROG_MKDIR_P
# ---------------
-# Check for `mkdir -p'.
+# Check for 'mkdir -p'.
AC_DEFUN([AM_PROG_MKDIR_P],
[AC_PREREQ([2.60])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl FIXME we are no longer going to remove this! adjust warning
+dnl FIXME message accordingly.
+AC_DIAGNOSE([obsolete],
+[$0: this macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
dnl while keeping a definition of mkdir_p for backward compatibility.
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
@@ -948,15 +1008,12 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
-
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
@@ -966,7 +1023,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
# _AM_SET_OPTIONS(OPTIONS)
# ------------------------
@@ -980,24 +1037,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
@@ -1008,32 +1123,40 @@ case `pwd` in
esac
case $srcdir in
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$[2]" = conftest.file
)
then
@@ -1043,31 +1166,50 @@ else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# AM_SILENT_RULES([DEFAULT])
# --------------------------
# Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
+# ("yes" being less verbose, "no" or empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[ --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
dnl
-dnl A few `make' implementations (e.g., NonStop OS and NextStep)
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
dnl do not support nested variable expansions.
dnl See automake bug#9928 and bug#10237.
am_make=${MAKE-make}
@@ -1085,7 +1227,7 @@ else
am_cv_make_support_nested_variables=no
fi])
if test $am_cv_make_support_nested_variables = yes; then
- dnl Using `$V' instead of `$(V)' breaks IRIX make.
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
@@ -1102,44 +1244,40 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 1
-
# AM_PROG_INSTALL_STRIP
# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
-
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -1153,18 +1291,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
@@ -1174,76 +1310,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
+#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
diff --git a/amiga.c b/amiga.c
index 73ed59a..1ef949c 100644
--- a/amiga.c
+++ b/amiga.c
@@ -1,5 +1,5 @@
/* Running commands on Amiga
-Copyright (C) 1995-2013 Free Software Foundation, Inc.
+Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -42,7 +42,7 @@ MyExecute (char **argv)
buffer = AllocMem (len, MEMF_ANY);
if (!buffer)
- fatal (NILF, "MyExecute: Cannot allocate space for calling a command");
+ O (fatal, NILF, "MyExecute: Cannot allocate space for calling a command\n");
ptr = buffer;
diff --git a/amiga.h b/amiga.h
index a11a128..00bca4f 100644
--- a/amiga.h
+++ b/amiga.h
@@ -1,5 +1,5 @@
/* Definitions for amiga specific things
-Copyright (C) 1995-2013 Free Software Foundation, Inc.
+Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/ar.c b/ar.c
index afed591..675572a 100644
--- a/ar.c
+++ b/ar.c
@@ -1,5 +1,5 @@
/* Interface to 'ar' archives for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
@@ -43,7 +43,7 @@ ar_name (const char *name)
return 0;
if (p[1] == '(' && end[-1] == ')')
- fatal (NILF, _("attempt to use unsupported feature: '%s'"), name);
+ OS (fatal, NILF, _("attempt to use unsupported feature: '%s'"), name);
return 1;
}
@@ -120,7 +120,7 @@ ar_member_date (const char *name)
int
ar_touch (const char *name)
{
- error (NILF, _("touch archive member is not available on VMS"));
+ O (error, NILF, _("touch archive member is not available on VMS"));
return -1;
}
#else
@@ -144,24 +144,24 @@ ar_touch (const char *name)
switch (ar_member_touch (arname, memname))
{
case -1:
- error (NILF, _("touch: Archive '%s' does not exist"), arname);
+ OS (error, NILF, _("touch: Archive '%s' does not exist"), arname);
break;
case -2:
- error (NILF, _("touch: '%s' is not a valid archive"), arname);
+ OS (error, NILF, _("touch: '%s' is not a valid archive"), arname);
break;
case -3:
perror_with_name ("touch: ", arname);
break;
case 1:
- error (NILF,
- _("touch: Member '%s' does not exist in '%s'"), memname, arname);
+ OSS (error, NILF,
+ _("touch: Member '%s' does not exist in '%s'"), memname, arname);
break;
case 0:
val = 0;
break;
default:
- error (NILF,
- _("touch: Bad return code from ar_member_touch on '%s'"), name);
+ OS (error, NILF,
+ _("touch: Bad return code from ar_member_touch on '%s'"), name);
}
free (arname);
@@ -172,10 +172,20 @@ ar_touch (const char *name)
/* State of an 'ar_glob' run, passed to 'ar_glob_match'. */
+/* On VMS, (object) modules in libraries do not have suffixes. That is, to
+ find a match for a pattern, the pattern must not have any suffix. So the
+ suffix of the pattern is saved and the pattern is stripped (ar_glob).
+ If there is a match and the match, which is a module name, is added to
+ the chain, the saved suffix is added back to construct a source filename
+ (ar_glob_match). */
+
struct ar_glob_state
{
const char *arname;
const char *pattern;
+#ifdef VMS
+ char *suffix;
+#endif
unsigned int size;
struct nameseq *chain;
unsigned int n;
@@ -196,7 +206,13 @@ ar_glob_match (int desc UNUSED, const char *mem, int truncated UNUSED,
{
/* We have a match. Add it to the chain. */
struct nameseq *new = xcalloc (state->size);
- new->name = strcache_add (concat (4, state->arname, "(", mem, ")"));
+#ifdef VMS
+ if (state->suffix)
+ new->name = strcache_add(
+ concat(5, state->arname, "(", mem, state->suffix, ")"));
+ else
+#endif
+ new->name = strcache_add(concat(4, state->arname, "(", mem, ")"));
new->next = state->chain;
state->chain = new;
++state->n;
@@ -248,7 +264,9 @@ ar_glob (const char *arname, const char *member_pattern, unsigned int size)
struct nameseq *n;
const char **names;
unsigned int i;
-
+#ifdef VMS
+ char *vms_member_pattern;
+#endif
if (! glob_pattern_p (member_pattern, 1))
return 0;
@@ -256,11 +274,36 @@ ar_glob (const char *arname, const char *member_pattern, unsigned int size)
ar_glob_match will accumulate them in STATE.chain. */
state.arname = arname;
state.pattern = member_pattern;
+#ifdef VMS
+ {
+ /* In a copy of the pattern, find the suffix, save it and remove it from
+ the pattern */
+ char *lastdot;
+ vms_member_pattern = xstrdup(member_pattern);
+ lastdot = strrchr(vms_member_pattern, '.');
+ state.suffix = lastdot;
+ if (lastdot)
+ {
+ state.suffix = xstrdup(lastdot);
+ *lastdot = 0;
+ }
+ state.pattern = vms_member_pattern;
+ }
+#endif
state.size = size;
state.chain = 0;
state.n = 0;
ar_scan (arname, ar_glob_match, &state);
+#ifdef VMS
+ /* Deallocate any duplicated string */
+ free(vms_member_pattern);
+ if (state.suffix)
+ {
+ free(state.suffix);
+ }
+#endif
+
if (state.chain == 0)
return 0;
diff --git a/arscan.c b/arscan.c
index 2b3cd5d..24286fd 100644
--- a/arscan.c
+++ b/arscan.c
@@ -1,5 +1,5 @@
/* Library function for scanning an archive file.
-Copyright (C) 1987-2013 Free Software Foundation, Inc.
+Copyright (C) 1987-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -16,6 +16,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include "makeint.h"
+#ifdef TEST
+/* Hack, the real error() routine eventually pulls in die from main.c */
+#define error(a, b, c, d)
+#endif
+
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#else
@@ -30,99 +35,139 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <credef.h>
#include <descrip.h>
#include <ctype.h>
+#include <ssdef.h>
+#include <stsdef.h>
+#include <rmsdef.h>
+globalvalue unsigned int LBR$_HDRTRUNC;
+
#if __DECC
#include <unixlib.h>
#include <lbr$routines.h>
#endif
+const char *
+vmsify (const char *name, int type);
+
+/* Time conversion from VMS to Unix
+ Conversion from local time (stored in library) to GMT (needed for gmake)
+ Note: The tm_gmtoff element is a VMS extension to the ANSI standard. */
+static time_t
+vms_time_to_unix(void *vms_time)
+{
+ struct tm *tmp;
+ time_t unix_time;
-static void *VMS_lib_idx;
+ unix_time = decc$fix_time(vms_time);
+ tmp = localtime(&unix_time);
+ unix_time -= tmp->tm_gmtoff;
-static char *VMS_saved_memname;
+ return unix_time;
+}
-static time_t VMS_member_date;
+
+/* VMS library routines need static variables for callback */
+static void *VMS_lib_idx;
+
+static const void *VMS_saved_arg;
static long int (*VMS_function) ();
+static long int VMS_function_ret;
+
+
+/* This is a callback procedure for lib$get_index */
static int
-VMS_get_member_info (struct dsc$descriptor_s *module, unsigned long *rfa)
+VMS_get_member_info(struct dsc$descriptor_s *module, unsigned long *rfa)
{
int status, i;
- long int fnval;
-
- time_t val;
+ const int truncated = 0; /* Member name may be truncated */
+ time_t member_date; /* Member date */
+ char *filename;
+ unsigned int buffer_length; /* Actual buffer length */
+
+ /* Unused constants - Make does not actually use most of these */
+ const int file_desc = -1; /* archive file descriptor for reading the data */
+ const int header_position = 0; /* Header position */
+ const int data_position = 0; /* Data position in file */
+ const int data_size = 0; /* Data size */
+ const int uid = 0; /* member gid */
+ const int gid = 0; /* member gid */
+ const int mode = 0; /* member protection mode */
+ /* End of unused constants */
static struct dsc$descriptor_s bufdesc =
{ 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };
+ /* Only need the module definition */
struct mhddef *mhd;
- char filename[128];
- bufdesc.dsc$a_pointer = filename;
- bufdesc.dsc$w_length = sizeof (filename);
+ /* If a previous callback is non-zero, just return that status */
+ if (VMS_function_ret)
+ {
+ return SS$_NORMAL;
+ }
+
+ /* lbr_set_module returns more than just the module header. So allocate
+ a buffer which is big enough: the maximum LBR$C_MAXHDRSIZ. That's at
+ least bigger than the size of struct mhddef.
+ If the request is too small, a buffer truncated warning is issued so
+ it can be reissued with a larger buffer.
+ We do not care if the buffer is truncated, so that is still a success. */
+ mhd = xmalloc(LBR$C_MAXHDRSIZ);
+ bufdesc.dsc$a_pointer = (char *) mhd;
+ bufdesc.dsc$w_length = LBR$C_MAXHDRSIZ;
- status = lbr$set_module (&VMS_lib_idx, rfa, &bufdesc,
- &bufdesc.dsc$w_length, 0);
- if (! (status & 1))
+ status = lbr$set_module(&VMS_lib_idx, rfa, &bufdesc, &buffer_length, 0);
+
+ if ((status != LBR$_HDRTRUNC) && !$VMS_STATUS_SUCCESS(status))
{
- error (NILF, _("lbr$set_module() failed to extract module info, status = %d"),
- status);
+ ON(error, NILF,
+ _("lbr$set_module() failed to extract module info, status = %d"),
+ status);
- lbr$close (&VMS_lib_idx);
+ lbr$close(&VMS_lib_idx);
- return 0;
+ return status;
}
- mhd = (struct mhddef *) filename;
-
-#ifdef __DECC
- /* John Fowler <jfowler@nyx.net> writes this is needed in his environment,
- * but that decc$fix_time() isn't documented to work this way. Let me
- * know if this causes problems in other VMS environments.
- */
- {
- /* Modified by M. Gehre at 11-JAN-2008 because old formula is wrong:
- * val = decc$fix_time (&mhd->mhd$l_datim) + timezone - daylight*3600;
- * a) daylight specifies, if the timezone has daylight saving enabled, not
- * if it is active
- * b) what we need is the information, if daylight saving was active, if
- * the library module was replaced. This information we get using the
- * localtime function
- */
-
- struct tm *tmp;
-
- /* Conversion from VMS time to C time */
- val = decc$fix_time (&mhd->mhd$l_datim);
-
- /*
- * Conversion from local time (stored in library) to GMT (needed for gmake)
- * Note: The tm_gmtoff element is a VMS extension to the ANSI standard.
- */
- tmp = localtime (&val);
- val -= tmp->tm_gmtoff;
- }
+#ifdef TEST
+ /* When testing this code, it is useful to know the length returned */
+ printf("Input length = %d, actual = %d\n",
+ bufdesc.dsc$w_length, buffer_length);
#endif
+ /* Conversion from VMS time to C time.
+ VMS defectlet - mhddef is sub-optimal, for the time, it has a 32 bit
+ longword, mhd$l_datim, and a 32 bit fill instead of two longwords, or
+ equivalent. */
+ member_date = vms_time_to_unix(&mhd->mhd$l_datim);
+ free(mhd);
+
+ /* Here we have a problem. The module name on VMS does not have
+ a file type, but the filename pattern in the "VMS_saved_arg"
+ may have one.
+ But only the method being called knows how to interpret the
+ filename pattern.
+ There are currently two different formats being used.
+ This means that we need a VMS specific code in those methods
+ to handle it. */
+ filename = xmalloc(module->dsc$w_length + 1);
+
+ /* TODO: We may need an option to preserve the case of the module
+ For now force the module name to lower case */
for (i = 0; i < module->dsc$w_length; i++)
- filename[i] = _tolower ((unsigned char)module->dsc$a_pointer[i]);
+ filename[i] = _tolower((unsigned char )module->dsc$a_pointer[i]);
filename[i] = '\0';
- VMS_member_date = (time_t) -1;
-
- fnval =
- (*VMS_function) (-1, filename, 0, 0, 0, 0, val, 0, 0, 0,
- VMS_saved_memname);
+ VMS_function_ret = (*VMS_function)(file_desc, filename, truncated,
+ header_position, data_position, data_size, member_date, uid, gid, mode,
+ VMS_saved_arg);
- if (fnval)
- {
- VMS_member_date = fnval;
- return 0;
- }
- else
- return 1;
+ free(filename);
+ return SS$_NORMAL;
}
+
/* Takes three arguments ARCHIVE, FUNCTION and ARG.
Open the archive named ARCHIVE, find its members one by one,
@@ -153,60 +198,89 @@ VMS_get_member_info (struct dsc$descriptor_s *module, unsigned long *rfa)
Returns 0 if have scanned successfully. */
long int
-ar_scan (const char *archive, ar_member_func_t function, const void *arg)
+ar_scan (const char *archive, ar_member_func_t function, const void *varg)
{
- char *p;
+ char *vms_archive;
static struct dsc$descriptor_s libdesc =
{ 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };
- unsigned long func = LBR$C_READ;
- unsigned long type = LBR$C_TYP_UNK;
- unsigned long index = 1;
-
+ const unsigned long func = LBR$C_READ;
+ const unsigned long type = LBR$C_TYP_UNK;
+ const unsigned long index = 1;
+ unsigned long lib_idx;
int status;
- status = lbr$ini_control (&VMS_lib_idx, &func, &type, 0);
+ VMS_saved_arg = varg;
- if (! (status & 1))
+ /* Null archive string can show up in test and cause an access violation */
+ if (archive == NULL)
{
- error (NILF, _("lbr$ini_control() failed with status = %d"), status);
- return -2;
+ /* Null filenames do not exist */
+ return -1;
}
- /* there is no such descriptor with "const char *dsc$a_pointer" */
- libdesc.dsc$a_pointer = (char *)archive;
- libdesc.dsc$w_length = strlen (archive);
+ /* archive path name must be in VMS format */
+ vms_archive = (char *) vmsify(archive, 0);
- status = lbr$open (&VMS_lib_idx, &libdesc, 0, 0, 0, 0, 0);
+ status = lbr$ini_control(&VMS_lib_idx, &func, &type, 0);
- if (! (status & 1))
+ if (!$VMS_STATUS_SUCCESS(status))
{
- error (NILF, _("unable to open library '%s' to lookup member '%s'"),
- archive, (char *)arg);
- return -1;
+ ON(error, NILF, _("lbr$ini_control() failed with status = %d"), status);
+ return -2;
}
- VMS_saved_memname = (char *)arg;
+ libdesc.dsc$a_pointer = vms_archive;
+ libdesc.dsc$w_length = strlen(vms_archive);
+
+ status = lbr$open(&VMS_lib_idx, &libdesc, 0, NULL, 0, NULL, 0);
+
+ if (!$VMS_STATUS_SUCCESS(status))
+ {
- /* For comparison, delete .obj from arg name. */
+ /* TODO: A library format failure could mean that this is a file
+ generated by the GNU AR utility and in that case, we need to
+ take the UNIX codepath. This will also take a change to the
+ GNV AR wrapper program. */
- p = strrchr (VMS_saved_memname, '.');
- if (p)
- *p = '\0';
+ switch (status)
+ {
+ case RMS$_FNF:
+ /* Archive does not exist */
+ return -1;
+ default:
+#ifndef TEST
+ OSN(error, NILF,
+ _("unable to open library '%s' to lookup member status %d"),
+ archive, status);
+#endif
+ /* For library format errors, specification says to return -2 */
+ return -2;
+ }
+ }
VMS_function = function;
- VMS_member_date = (time_t) -1;
- lbr$get_index (&VMS_lib_idx, &index, VMS_get_member_info, 0);
+ /* Clear the return status, as we are supposed to stop calling the
+ callback function if it becomes non-zero, and this is a static
+ variable. */
+ VMS_function_ret = 0;
- /* Undo the damage. */
- if (p)
- *p = '.';
+ status = lbr$get_index(&VMS_lib_idx, &index, VMS_get_member_info, NULL, 0);
- lbr$close (&VMS_lib_idx);
+ lbr$close(&VMS_lib_idx);
+
+ /* Unless a failure occurred in the lbr$ routines, return the
+ the status from the 'function' routine. */
+ if ($VMS_STATUS_SUCCESS(status))
+ {
+ return VMS_function_ret;
+ }
- return VMS_member_date > 0 ? VMS_member_date : 0;
+ /* This must be something wrong with the library and an error
+ message should already have been printed. */
+ return -2;
}
#else /* !VMS */
@@ -251,10 +325,10 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
#endif
#ifndef WINDOWS32
-# ifndef __BEOS__
+# if !defined (__ANDROID__) && !defined (__BEOS__)
# include <ar.h>
# else
- /* BeOS 5 doesn't have <ar.h> but has archives in the same format
+ /* These platforms don't have <ar.h> but have archives in the same format
* as many other Unices. This was taken from GNU binutils for BeOS.
*/
# define ARMAG "!<arch>\n" /* String that begins an archive file. */
@@ -751,9 +825,32 @@ ar_name_equal (const char *name, const char *mem, int truncated)
#endif /* !__hpux && !cray */
#endif /* !AIAMAG */
}
-#endif /* !VMS */
return !strcmp (name, mem);
+#else
+ /* VMS members do not have suffixes, but the filenames usually
+ have.
+ Do we need to strip VMS disk/directory format paths?
+
+ Most VMS compilers etc. by default are case insensitive
+ but produce uppercase external names, incl. module names.
+ However the VMS librarian (ar) and the linker by default
+ are case sensitive: they take what they get, usually
+ uppercase names. So for the non-default settings of the
+ compilers etc. there is a need to have a case sensitive
+ mode. */
+ {
+ int len;
+ len = strlen(mem);
+ int match;
+ char *dot;
+ if ((dot=strrchr(name,'.')))
+ match = (len == dot - name) && !strncasecmp(name, mem, len);
+ else
+ match = !strcasecmp (name, mem);
+ return match;
+ }
+#endif /* !VMS */
}
#ifndef VMS
diff --git a/build.sh.in b/build.sh.in
index 92957bd..ea5865d 100755
--- a/build.sh.in
+++ b/build.sh.in
@@ -2,7 +2,7 @@
# Shell script to build GNU Make in the absence of any 'make' program.
# @configure_input@
-# Copyright (C) 1993-2013 Free Software Foundation, Inc.
+# Copyright (C) 1993-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -22,11 +22,11 @@
srcdir='@srcdir@'
CC='@CC@'
-CFLAGS='@CFLAGS@'
+CFLAGS='@CFLAGS@ @GUILE_CFLAGS@'
CPPFLAGS='@CPPFLAGS@'
-LDFLAGS='@LDFLAGS@'
+LDFLAGS='@AM_LDFLAGS@ @LDFLAGS@'
ALLOCA='@ALLOCA@'
-LOADLIBES='@LIBS@ @LIBINTL@'
+LOADLIBES='@LIBS@ @GUILE_LIBS@ @LIBINTL@'
eval extras=\'@LIBOBJS@\'
REMOTE='@REMOTE@'
GLOBLIB='@GLOBLIB@'
@@ -46,13 +46,13 @@ includedir=${prefix}/include
localedir=${prefix}/share/locale
aliaspath=${localedir}${PATH_SEPARATOR}.
-defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@'
+defines="-DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@'
# Exit as soon as any command fails.
set -e
# These are all the objects we need to link together.
-objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} load.${OBJEXT} loadapi.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} output.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} strcache.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} guile.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}"
+objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} guile.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} load.${OBJEXT} loadapi.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} output.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} strcache.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}"
if [ x"$GLOBLIB" != x ]; then
objs="$objs glob/fnmatch.${OBJEXT} glob/glob.${OBJEXT}"
diff --git a/build_w32.bat b/build_w32.bat
index 148dfac..00632a7 100644
--- a/build_w32.bat
+++ b/build_w32.bat
@@ -1,5 +1,5 @@
@echo off
-rem Copyright (C) 1996-2013 Free Software Foundation, Inc.
+rem Copyright (C) 1996-2014 Free Software Foundation, Inc.
rem This file is part of GNU Make.
rem
rem GNU Make is free software; you can redistribute it and/or modify it under
@@ -30,7 +30,6 @@ copy config.h.W32 config.h
rem Guile configuration
set GUILECFLAGS=
set GUILELIBS=
-set GUILESRC=
set NOGUILE=
set OPT=-O2
set COMPILER=
@@ -79,7 +78,6 @@ GoTo GuileDone
echo "pkg-config not found, building without Guile"
:GuileDone
if not "%GUILECFLAGS%" == "" echo "Guile found, building with Guile"
-if not "%GUILECFLAGS%" == "" set GUILESRC=guile.c
if not "%GUILECFLAGS%" == "" set GUILECFLAGS=%GUILECFLAGS% -DHAVE_GUILE
if "%COMPILER%" == "gcc" if "%OPT%" == "-O0" echo "Building without compiler optimizations"
cd w32\subproc
@@ -162,8 +160,7 @@ cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D
echo WinDebug\fnmatch.obj >>link.dbg
cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\w32\pathstuff.c
echo WinDebug\pathstuff.obj >>link.dbg
-if "%GUILESRC%" == "" GoTo LinkDbg
-cl.exe /nologo /MT /W4 /GX /Zi /YX /Od %GUILECFLAGS%% /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c guile.c
+cl.exe /nologo /MT /W4 /GX /Zi /YX /Od %GUILECFLAGS% /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c guile.c
echo WinDebug\guile.obj >>link.dbg
:LinkDbg
echo off
@@ -241,8 +238,7 @@ cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WIND
echo WinRel\fnmatch.obj >>link.rel
cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\w32\pathstuff.c
echo WinRel\pathstuff.obj >>link.rel
-if "%GUILESRC%" == "" GoTo LinkRel
-cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c guile.c
+cl.exe /nologo /MT /W4 /GX /YX /O2 %GUILECFLAGS% /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c guile.c
echo WinRel\guile.obj >>link.rel
:LinkRel
echo off
@@ -288,18 +284,13 @@ gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32
gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/fnmatch.c -o fnmatch.o
gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/pathstuff.c -o pathstuff.o
gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/compat/posixfcn.c -o posixfcn.o
-@echo off
-set GUILEOBJ=
-if "%GUILESRC%" == "" GoTo LinkGCC
-set GUILEOBJ=guile.o
-echo on
gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% %GUILECFLAGS% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c guile.c
:LinkGCC
@echo off
Rem The version NN of libgnumake-NN.dll.a should be bumped whenever
Rem the API changes in binary-incompatible manner.
@echo on
-gcc -mthreads -gdwarf-2 -g3 -o gnumake.exe variable.o rule.o remote-stub.o commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o getopt1.o %GUILEOBJ% job.o output.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o strcache.o ar.o function.o vpath.o implicit.o loadapi.o load.o glob.o fnmatch.o pathstuff.o posixfcn.o w32_misc.o sub_proc.o w32err.o %GUILELIBS% -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -Wl,--out-implib=libgnumake-1.dll.a
+gcc -mthreads -gdwarf-2 -g3 -o gnumake.exe variable.o rule.o remote-stub.o commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o getopt1.o guile.o job.o output.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o strcache.o ar.o function.o vpath.o implicit.o loadapi.o load.o glob.o fnmatch.o pathstuff.o posixfcn.o w32_misc.o sub_proc.o w32err.o %GUILELIBS% -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -Wl,--out-implib=libgnumake-1.dll.a
@GoTo BuildEnd
:Usage
echo Usage: %0 [options] [gcc]
@@ -310,8 +301,6 @@ echo. --without-guile Do not compile Guile support even if found
echo. --help Display these instructions and exit
:BuildEnd
@echo off
-set GUILEOBJ=
-set GUILESRC=
set GUILELIBS=
set GUILECFLAGS=
set PKGMSC=
diff --git a/commands.c b/commands.c
index f910358..7123021 100644
--- a/commands.c
+++ b/commands.c
@@ -1,5 +1,5 @@
/* Command processing for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -14,8 +14,6 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>. */
-#include <dlfcn.h>
-
#include "makeint.h"
#include "filedef.h"
#include "dep.h"
@@ -403,7 +401,7 @@ chop_commands (struct commands *cmds)
CMDS->any_recurse flag. */
if (nlines > USHRT_MAX)
- fatal (&cmds->fileinfo, _("Recipe has too many lines (%ud)"), nlines);
+ ON (fatal, &cmds->fileinfo, _("Recipe has too many lines (%ud)"), nlines);
cmds->ncommand_lines = nlines;
cmds->command_lines = lines;
@@ -587,7 +585,7 @@ fatal_error_signal (int sig)
if (sig == SIGQUIT)
/* We don't want to send ourselves SIGQUIT, because it will
cause a core dump. Just exit instead. */
- exit (EXIT_FAILURE);
+ exit (MAKE_TROUBLE);
#endif
#ifdef WINDOWS32
@@ -627,11 +625,13 @@ delete_target (struct file *file, const char *on_behalf_of)
if (ar_member_date (file->name) != file_date)
{
if (on_behalf_of)
- error (NILF, _("*** [%s] Archive member '%s' may be bogus; not deleted"),
- on_behalf_of, file->name);
+ OSS (error, NILF,
+ _("*** [%s] Archive member '%s' may be bogus; not deleted"),
+ on_behalf_of, file->name);
else
- error (NILF, _("*** Archive member '%s' may be bogus; not deleted"),
- file->name);
+ OS (error, NILF,
+ _("*** Archive member '%s' may be bogus; not deleted"),
+ file->name);
}
return;
}
@@ -643,9 +643,10 @@ delete_target (struct file *file, const char *on_behalf_of)
&& FILE_TIMESTAMP_STAT_MODTIME (file->name, st) != file->last_mtime)
{
if (on_behalf_of)
- error (NILF, _("*** [%s] Deleting file '%s'"), on_behalf_of, file->name);
+ OSS (error, NILF,
+ _("*** [%s] Deleting file '%s'"), on_behalf_of, file->name);
else
- error (NILF, _("*** Deleting file '%s'"), file->name);
+ OS (error, NILF, _("*** Deleting file '%s'"), file->name);
if (unlink (file->name) < 0
&& errno != ENOENT) /* It disappeared; so what. */
perror_with_name ("unlink: ", file->name);
diff --git a/commands.h b/commands.h
index 7829e40..0d58f22 100644
--- a/commands.h
+++ b/commands.h
@@ -1,5 +1,5 @@
/* Definition of data structures describing shell commands for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/config.ami b/config.ami
index 126a0e5..e3d6ee8 100644
--- a/config.ami
+++ b/config.ami
@@ -1,5 +1,5 @@
/* config.h -- hand-massaged for Amiga -*-C-*-
-Copyright (C) 1995-2013 Free Software Foundation, Inc.
+Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -177,7 +177,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#define PACKAGE "make"
/* Version of this package (needed by automake) */
-#define VERSION "4.0"
+#define VERSION "4.1"
/* Define to the name of the SCCS 'get' command. */
#define SCCS_GET "get"
@@ -318,6 +318,12 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if you have the kstat library (-lkstat). */
/* #undef HAVE_LIBKSTAT */
+/* Define to 1 if you have the `isatty' function. */
+/* #undef HAVE_ISATTY */
+
+/* Define to 1 if you have the `ttyname' function. */
+/* #undef HAVE_TTYNAME */
+
/* Define if you have the sun library (-lsun). */
/* #undef HAVE_LIBSUN */
diff --git a/config.h-vms b/config.h-vms
index 8d307ee..d20953e 100644
--- a/config.h-vms
+++ b/config.h-vms
@@ -1,6 +1,6 @@
/* config.h-vms. Generated by hand by Klaus Kämpf <kkaempf@rmi.de> -*-C-*-
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -18,6 +18,12 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* config.h. Generated automatically by configure. */
/* config.h.in. Generated automatically from configure.ac by autoheader. */
+/* Pull in types.h here to get __CRTL_VER defined for old versions of the
+ compiler which don't define it. */
+#ifdef __DECC
+# include <types.h>
+#endif
+
/* Define to 1 if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
@@ -211,7 +217,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#define PACKAGE "make"
/* Version of this package (needed by automake) */
-#define VERSION "4.0"
+#define VERSION "4.1"
/* Define to the name of the SCCS 'get' command. */
/* #undef SCCS_GET */
@@ -356,6 +362,12 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the sun library (-lsun). */
/* #undef HAVE_LIBSUN */
+/* Define to 1 if you have the `isatty' function. */
+/* #undef HAVE_ISATTY */
+
+/* Define to 1 if you have the `ttyname' function. */
+/* #undef HAVE_TTYNAME */
+
/* Use high resolution file timestamps if nonzero. */
#define FILE_TIMESTAMP_HI_RES 0
@@ -372,15 +384,9 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* #undef HAVE_VMSDIR_H */
/* #undef _DIRENT_HAVE_D_NAMLEN */
-/* On older systems without 7.0 backport of CRTL the first one is defined */
-#ifdef __CRTL_VER
-# if __CRTL_VER < 70000000
-# define HAVE_VMSDIR_H 1
-# endif
-#else
-# if __VMS_VER < 70000000
-# define HAVE_VMSDIR_H 1
-# endif
+/* On older systems without 7.0 backport of CRTL use non-VMS code for opendir() etc. */
+#if __CRTL_VER < 70000000
+# define HAVE_VMSDIR_H 1
#endif
#if defined(HAVE_VMSDIR_H) && defined(HAVE_DIRENT_H)
@@ -414,5 +420,13 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Output sync sypport */
#define NO_OUTPUT_SYNC
+/* Define to 1 to write even short single-line actions into a VMS/DCL command
+ file; this also enables exporting make environment variables into the
+ (sub-)process, which executes the action.
+ The usual make rules apply whether a shell variable - here a DCL symbol or
+ VMS logical [see CRTL getenv()] - is added to the make environment and
+ is exported. */
+#define USE_DCL_COM_FILE 1
+
/* Build host information. */
#define MAKE_HOST "VMS"
diff --git a/config.h.W32 b/config.h.W32
index 664816d..a525520 100644
--- a/config.h.W32
+++ b/config.h.W32
@@ -1,6 +1,6 @@
/* config.h.W32 -- hand-massaged config.h file for Windows builds -*-C-*-
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -292,6 +292,13 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the 'strsignal' function. */
/* #undef HAVE_STRSIGNAL */
+/* Define to 1 if you have the `isatty' function. */
+#define HAVE_ISATTY 1
+
+/* Define to 1 if you have the `ttyname' function. */
+#define HAVE_TTYNAME 1
+char *ttyname (int);
+
/* Define to 1 if 'n_un.n_name' is a member of 'struct nlist'. */
/* #undef HAVE_STRUCT_NLIST_N_UN_N_NAME */
@@ -377,7 +384,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#define PACKAGE_URL "http://www.gnu.org/software/make/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "4.0"
+#define PACKAGE_VERSION "4.1"
/* Define to the character that separates directories in PATH. */
#define PATH_SEPARATOR_CHAR ';'
@@ -429,7 +436,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* #undef UMAX4_3 */
/* Version number of package */
-#define VERSION "4.0"
+#define VERSION "4.1"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
diff --git a/config.h.in b/config.h.in
index bd6843f..664fbc2 100644
--- a/config.h.in
+++ b/config.h.in
@@ -139,6 +139,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the `isatty' function. */
+#undef HAVE_ISATTY
+
/* Define to 1 if you have the `dgc' library (-ldgc). */
#undef HAVE_LIBDGC
@@ -298,6 +301,9 @@
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
+/* Define to 1 if you have the `ttyname' function. */
+#undef HAVE_TTYNAME
+
/* Define to 1 if you have the 'union wait' type in <sys/wait.h>. */
#undef HAVE_UNION_WAIT
@@ -329,9 +335,6 @@
/* Define to 1 if struct nlist.n_name is a pointer rather than an array. */
#undef NLIST_STRUCT
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Name of package */
#undef PACKAGE
diff --git a/config/ChangeLog b/config/ChangeLog
deleted file mode 100644
index 4e3155b..0000000
--- a/config/ChangeLog
+++ /dev/null
@@ -1,49 +0,0 @@
-2012-01-15 Paul Smith <psmith@gnu.org>
-
- * dospaths.m4: Use AC_LANG_PROGRAM to encapsulate the test code.
- Fixes Savannah bug #35256. Patch from Sebastian Pipping.
-
-2006-03-09 Paul Smith <psmith@gnu.org>
-
- * dospaths.m4: Add MSYS to the list of targets allowing DOS-style
- pathnames. Reported by David Ergo <david.ergo@alterface.com>.
-
-2005-07-01 Paul D. Smith <psmith@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Added more M4 files to EXTRA_DIST, so
- users can re-run aclocal.
-
-2003-04-30 Paul D. Smith <psmith@gnu.org>
-
- * dospaths.m4: New macro to test for DOS-style pathnames, based on
- coreutils 5.0 "dos.m4" by Jim Meyering.
-
-2002-04-21 gettextize <bug-gnu-gettext@gnu.org>
-
- * codeset.m4: New file, from gettext-0.11.1.
- * gettext.m4: New file, from gettext-0.11.1.
- * glibc21.m4: New file, from gettext-0.11.1.
- * iconv.m4: New file, from gettext-0.11.1.
- * isc-posix.m4: New file, from gettext-0.11.1.
- * lcmessage.m4: New file, from gettext-0.11.1.
- * lib-ld.m4: New file, from gettext-0.11.1.
- * lib-link.m4: New file, from gettext-0.11.1.
- * lib-prefix.m4: New file, from gettext-0.11.1.
- * progtest.m4: New file, from gettext-0.11.1.
- * Makefile.am: New file.
-
-
-Copyright (C) 2002-2013 Free Software Foundation, Inc.
-This file is part of GNU Make.
-
-GNU Make is free software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the Free Software
-Foundation; either version 3 of the License, or (at your option) any later
-version.
-
-GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/config/Makefile.am b/config/Makefile.am
index f770e64..396c234 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -1,5 +1,5 @@
# -*-Makefile-*-, or close enough
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/config/Makefile.in b/config/Makefile.in
index 3a05524..8ebc4fd 100644
--- a/config/Makefile.in
+++ b/config/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,7 +15,7 @@
@SET_MAKE@
# -*-Makefile-*-, or close enough
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -32,23 +31,51 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -68,9 +95,9 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = config
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ar-lib \
compile config.guess config.rpath config.sub depcomp \
- install-sh mdate-sh missing texinfo.tex
+ install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
@@ -86,12 +113,18 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
@@ -99,6 +132,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
@@ -183,6 +217,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -241,9 +276,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu config/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign config/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu config/Makefile
+ $(AUTOMAKE) --foreign config/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -262,11 +297,11 @@ $(top_srcdir)/configure: $(am__configure_deps)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -401,15 +436,16 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: all all-am check check-am clean clean-generic distclean \
- distclean-generic distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+ ctags-am distclean distclean-generic distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am tags-am uninstall uninstall-am
# Autoconf / automake know how to handle this directory.
diff --git a/config/ar-lib b/config/ar-lib
new file mode 100755
index 0000000..fe2301e
--- /dev/null
+++ b/config/ar-lib
@@ -0,0 +1,270 @@
+#! /bin/sh
+# Wrapper for Microsoft lib.exe
+
+me=ar-lib
+scriptversion=2012-03-01.08; # UTC
+
+# Copyright (C) 2010-2013 Free Software Foundation, Inc.
+# Written by Peter Rosin <peda@lysator.liu.se>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+
+# func_error message
+func_error ()
+{
+ echo "$me: $1" 1>&2
+ exit 1
+}
+
+file_conv=
+
+# func_file_conv build_file
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv in
+ mingw)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_at_file at_file operation archive
+# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
+# for each of them.
+# When interpreting the content of the @FILE, do NOT use func_file_conv,
+# since the user would need to supply preconverted file names to
+# binutils ar, at least for MinGW.
+func_at_file ()
+{
+ operation=$2
+ archive=$3
+ at_file_contents=`cat "$1"`
+ eval set x "$at_file_contents"
+ shift
+
+ for member
+ do
+ $AR -NOLOGO $operation:"$member" "$archive" || exit $?
+ done
+}
+
+case $1 in
+ '')
+ func_error "no command. Try '$0 --help' for more information."
+ ;;
+ -h | --h*)
+ cat <<EOF
+Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
+
+Members may be specified in a file named with @FILE.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "$me, version $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test $# -lt 3; then
+ func_error "you must specify a program, an action and an archive"
+fi
+
+AR=$1
+shift
+while :
+do
+ if test $# -lt 2; then
+ func_error "you must specify a program, an action and an archive"
+ fi
+ case $1 in
+ -lib | -LIB \
+ | -ltcg | -LTCG \
+ | -machine* | -MACHINE* \
+ | -subsystem* | -SUBSYSTEM* \
+ | -verbose | -VERBOSE \
+ | -wx* | -WX* )
+ AR="$AR $1"
+ shift
+ ;;
+ *)
+ action=$1
+ shift
+ break
+ ;;
+ esac
+done
+orig_archive=$1
+shift
+func_file_conv "$orig_archive"
+archive=$file
+
+# strip leading dash in $action
+action=${action#-}
+
+delete=
+extract=
+list=
+quick=
+replace=
+index=
+create=
+
+while test -n "$action"
+do
+ case $action in
+ d*) delete=yes ;;
+ x*) extract=yes ;;
+ t*) list=yes ;;
+ q*) quick=yes ;;
+ r*) replace=yes ;;
+ s*) index=yes ;;
+ S*) ;; # the index is always updated implicitly
+ c*) create=yes ;;
+ u*) ;; # TODO: don't ignore the update modifier
+ v*) ;; # TODO: don't ignore the verbose modifier
+ *)
+ func_error "unknown action specified"
+ ;;
+ esac
+ action=${action#?}
+done
+
+case $delete$extract$list$quick$replace,$index in
+ yes,* | ,yes)
+ ;;
+ yesyes*)
+ func_error "more than one action specified"
+ ;;
+ *)
+ func_error "no action specified"
+ ;;
+esac
+
+if test -n "$delete"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ for member
+ do
+ case $1 in
+ @*)
+ func_at_file "${1#@}" -REMOVE "$archive"
+ ;;
+ *)
+ func_file_conv "$1"
+ $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
+ ;;
+ esac
+ done
+
+elif test -n "$extract"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ if test $# -gt 0; then
+ for member
+ do
+ case $1 in
+ @*)
+ func_at_file "${1#@}" -EXTRACT "$archive"
+ ;;
+ *)
+ func_file_conv "$1"
+ $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
+ ;;
+ esac
+ done
+ else
+ $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
+ do
+ $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
+ done
+ fi
+
+elif test -n "$quick$replace"; then
+ if test ! -f "$orig_archive"; then
+ if test -z "$create"; then
+ echo "$me: creating $orig_archive"
+ fi
+ orig_archive=
+ else
+ orig_archive=$archive
+ fi
+
+ for member
+ do
+ case $1 in
+ @*)
+ func_file_conv "${1#@}"
+ set x "$@" "@$file"
+ ;;
+ *)
+ func_file_conv "$1"
+ set x "$@" "$file"
+ ;;
+ esac
+ shift
+ shift
+ done
+
+ if test -n "$orig_archive"; then
+ $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
+ else
+ $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
+ fi
+
+elif test -n "$list"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ $AR -NOLOGO -LIST "$archive" || exit $?
+fi
diff --git a/config/compile b/config/compile
index 862a14e..531136b 100755
--- a/config/compile
+++ b/config/compile
@@ -1,10 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-03-05.13; # UTC
+scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -113,6 +112,11 @@ func_cl_dashl ()
lib=$dir/$lib.lib
break
fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
done
IFS=$save_IFS
diff --git a/config/config.guess b/config/config.guess
index b79252d..1f5c50c 100644
--- a/config/config.guess
+++ b/config/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2013-06-10'
+timestamp='2014-03-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;
esac
@@ -826,7 +826,7 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -969,10 +969,10 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or1k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
exit ;;
- or32:Linux:*:*)
+ or32:Linux:*:* | or1k*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
@@ -1260,16 +1260,26 @@ EOF
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
@@ -1361,154 +1371,6 @@ EOF
exit ;;
esac
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
cat >&2 <<EOF
$0: unable to guess system type
diff --git a/config/config.sub b/config/config.sub
index 61cb4bc..d4c8338 100644
--- a/config/config.sub
+++ b/config/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2013-10-01'
+timestamp='2014-09-26'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -283,8 +283,10 @@ case $basic_machine in
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
@@ -296,11 +298,11 @@ case $basic_machine in
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | open8 \
- | or1k | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
+ | riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -325,6 +327,9 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
@@ -402,8 +407,10 @@ case $basic_machine in
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
@@ -415,6 +422,7 @@ case $basic_machine in
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -769,6 +777,9 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
@@ -824,6 +835,10 @@ case $basic_machine in
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
@@ -1369,14 +1384,14 @@ case $os in
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1594,9 +1609,6 @@ case $basic_machine in
mips*-*)
os=-elf
;;
- or1k-*)
- os=-elf
- ;;
or32-*)
os=-coff
;;
diff --git a/config/depcomp b/config/depcomp
index 25a39e6..4ebd5b3 100755
--- a/config/depcomp
+++ b/config/depcomp
@@ -1,10 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2012-03-27.16; # UTC
+scriptversion=2013-05-30.07; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,9 +27,9 @@ scriptversion=2012-03-27.16; # UTC
case $1 in
'')
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
- exit 1;
- ;;
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -57,11 +56,65 @@ EOF
;;
esac
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
# A tabulation character.
tab=' '
# A newline character.
nl='
'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
@@ -75,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
@@ -86,32 +142,32 @@ if test "$depmode" = hp; then
fi
if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
- # This is just like msvisualcpp but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u='sed s,\\\\,/,g'
- depmode=msvisualcpp
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
fi
if test "$depmode" = msvc7msys; then
- # This is just like msvc7 but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u='sed s,\\\\,/,g'
- depmode=msvc7
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
fi
if test "$depmode" = xlc; then
- # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
- gccflag=-qmakedep=gcc,-MF
- depmode=gcc
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
fi
case "$depmode" in
@@ -134,8 +190,7 @@ gcc3)
done
"$@"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -143,13 +198,17 @@ gcc3)
;;
gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
@@ -157,15 +216,14 @@ gcc)
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the "deleted header file" problem.
@@ -174,15 +232,15 @@ gcc)
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
- tr ' ' "$nl" < "$tmpdepfile" |
## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
## well. hp depmode also adds that space, but also prefixes the VPATH
## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
- | sed -e 's/$/ :/' >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -200,8 +258,7 @@ sgi)
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -209,7 +266,6 @@ sgi)
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
-
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
@@ -217,19 +273,15 @@ sgi)
# the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
tr ' ' "$nl" < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr "$nl" ' ' >> "$depfile"
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
-
# The second pass generates a dummy entry for each header file.
tr ' ' "$nl" < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> "$depfile"
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
@@ -247,9 +299,8 @@ aix)
# current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
@@ -262,9 +313,7 @@ aix)
"$@" -M
fi
stat=$?
-
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
@@ -273,65 +322,113 @@ aix)
do
test -f "$tmpdepfile" && break
done
- if test -f "$tmpdepfile"; then
- # Each line is of the form 'foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # '$object: dependent.h' and one to simply 'dependent.h:'.
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
-icc)
- # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
- # However on
- # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using '\':
+ # and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
- # tcc 0.9.26 (FIXME still under development at the moment of writing)
- # will emit a similar output, but also prepend the continuation lines
- # with horizontal tabulation characters.
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
+
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
- # Each line is of the form 'foo.o: dependent.h',
- # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
- # '$object: dependent.h' and one to simply 'dependent.h:'.
- sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
- < "$tmpdepfile" > "$depfile"
- sed '
- s/[ '"$tab"'][ '"$tab"']*/ /g
- s/^ *//
- s/ *\\*$//
- s/^[^:]*: *//
- /^$/d
- /:$/d
- s/$/ :/
- ' < "$tmpdepfile" >> "$depfile"
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -342,9 +439,8 @@ hp2)
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
@@ -355,8 +451,7 @@ hp2)
"$@" +Maked
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
@@ -366,76 +461,61 @@ hp2)
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
# Add 'dependent.h:' lines.
sed -ne '2,${
- s/^ *//
- s/ \\*$//
- s/$/:/
- p
- }' "$tmpdepfile" >> "$depfile"
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
else
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in 'foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mechanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
msvc7)
if test "$libtool" = yes; then
@@ -446,8 +526,7 @@ msvc7)
"$@" $showIncludes > "$tmpdepfile"
stat=$?
grep -v '^Note: including file: ' "$tmpdepfile"
- if test "$stat" = 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -473,6 +552,7 @@ $ {
G
p
}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
rm -f "$tmpdepfile"
;;
@@ -524,13 +604,14 @@ dashmstdout)
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
- sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' "$nl" < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -583,10 +664,12 @@ makedepend)
# makedepend may prepend the VPATH from the source file name to the object.
# No need to regex-escape $object, excess matching of '.' is harmless.
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
@@ -622,10 +705,10 @@ cpp)
esac
done
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
@@ -657,15 +740,15 @@ msvisualcpp)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
+ set fnord "$@"
+ shift
+ shift
+ ;;
*)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
esac
done
"$@" -E 2>/dev/null |
diff --git a/config/dospaths.m4 b/config/dospaths.m4
index 3686377..92fb540 100644
--- a/config/dospaths.m4
+++ b/config/dospaths.m4
@@ -1,7 +1,7 @@
# Test if the system uses DOS-style pathnames (drive specs and backslashes)
# By Paul Smith <psmith@gnu.org>. Based on dos.m4 by Jim Meyering.
#
-# Copyright (C) 1993-2013 Free Software Foundation, Inc.
+# Copyright (C) 1993-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/config/install-sh b/config/install-sh
index a9244eb..377bb86 100755
--- a/config/install-sh
+++ b/config/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
@@ -156,7 +156,7 @@ while test $# -ne 0; do
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
@@ -202,7 +202,7 @@ if test $# -eq 0; then
echo "$0: no input file specified." >&2
exit 1
fi
- # It's OK to call `install-sh -d' without argument.
+ # It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
@@ -240,7 +240,7 @@ fi
for src
do
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
@@ -354,7 +354,7 @@ do
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
+ # other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
diff --git a/config/mdate-sh b/config/mdate-sh
index 60dc485..b3719cf 100755
--- a/config/mdate-sh
+++ b/config/mdate-sh
@@ -3,8 +3,7 @@
scriptversion=2010-08-21.06; # UTC
-# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 1995-2013 Free Software Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
#
# This program is free software; you can redistribute it and/or modify
@@ -40,7 +39,7 @@ fi
case $1 in
'')
- echo "$0: No file. Try \`$0 --help' for more information." 1>&2
+ echo "$0: No file. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
@@ -76,7 +75,7 @@ LC_TIME=C
export LC_TIME
# GNU ls changes its time format in response to the TIME_STYLE
-# variable. Since we cannot assume `unset' works, revert this
+# variable. Since we cannot assume 'unset' works, revert this
# variable to its documented default.
if test "${TIME_STYLE+set}" = set; then
TIME_STYLE=posix-long-iso
@@ -96,14 +95,14 @@ if ls -n /dev/null 1>/dev/null 2>&1; then
ls_command="$ls_command -n"
fi
-# A `ls -l' line looks as follows on OS/2.
+# A 'ls -l' line looks as follows on OS/2.
# drwxrwx--- 0 Aug 11 2001 foo
# This differs from Unix, which adds ownership information.
# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
#
# To find the date, we split the line on spaces and iterate on words
# until we find a month. This cannot work with files whose owner is a
-# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
+# user named "Jan", or "Feb", etc. However, it's unlikely that '/'
# will be owned by a user whose name is a month. So we first look at
# the extended ls output of the root directory to decide how many
# words should be skipped to get the date.
@@ -116,7 +115,7 @@ month=
command=
until test $month
do
- test $# -gt 0 || error "failed parsing \`$ls_command /' output"
+ test $# -gt 0 || error "failed parsing '$ls_command /' output"
shift
# Add another shift to the command.
command="$command shift;"
@@ -136,7 +135,7 @@ do
esac
done
-test -n "$month" || error "failed parsing \`$ls_command /' output"
+test -n "$month" || error "failed parsing '$ls_command /' output"
# Get the extended ls output of the file or directory.
set dummy x`eval "$ls_command \"\\\$save_arg1\""`
diff --git a/config/missing b/config/missing
index 86a8fc3..db98974 100755
--- a/config/missing
+++ b/config/missing
@@ -1,11 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -26,68 +25,40 @@ scriptversion=2012-01-06.13; # UTC
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
@@ -99,228 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
;;
-esac
-
-exit 0
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/config/texinfo.tex b/config/texinfo.tex
index bfd765d..6312dad 100644
--- a/config/texinfo.tex
+++ b/config/texinfo.tex
@@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2013-09-11.11}
+\def\texinfoversion{2014-05-20.16}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -1138,10 +1138,12 @@ output) for that.)}
\ifpdf
%
- % Color manipulation macros based on pdfcolor.tex,
+ % Color manipulation macros using ideas from pdfcolor.tex,
% except using rgb instead of cmyk; the latter is said to render as a
% very dark gray on-screen and a very dark halftone in print, instead
- % of actual black.
+ % of actual black. The dark red here is dark enough to print on paper as
+ % nearly black, but still distinguishable for online viewing. We use
+ % black by default, though.
\def\rgbDarkRed{0.50 0.09 0.12}
\def\rgbBlack{0 0 0}
%
@@ -1251,10 +1253,9 @@ output) for that.)}
% used to mark target names; must be expandable.
\def\pdfmkpgn#1{#1}
%
- % by default, use a color that is dark enough to print on paper as
- % nearly black, but still distinguishable for online viewing.
- \def\urlcolor{\rgbDarkRed}
- \def\linkcolor{\rgbDarkRed}
+ % by default, use black for everything.
+ \def\urlcolor{\rgbBlack}
+ \def\linkcolor{\rgbBlack}
\def\endlink{\setcolor{\maincolor}\pdfendlink}
%
% Adding outlines to PDF; macros for calculating structure of outlines
@@ -2145,7 +2146,7 @@ end
\let\tenttsl=\secttsl
\def\curfontsize{sec}%
\def\lsize{subsec}\def\lllsize{reduced}%
- \resetmathfonts \setleading{16pt}}
+ \resetmathfonts \setleading{17pt}}
\def\subsecfonts{%
\let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
\let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
@@ -2574,37 +2575,21 @@ end
\let\file=\code
\let\option=\code
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself. First (mandatory) arg is the url.
-% (This \urefnobreak definition isn't used now, leaving it for a while
-% for comparison.)
-\def\urefnobreak#1{\dourefnobreak #1,,,\finish}
-\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup
- \unsepspaces
- \pdfurl{#1}%
- \setbox0 = \hbox{\ignorespaces #3}%
- \ifdim\wd0 > 0pt
- \unhbox0 % third arg given, show only that
- \else
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0 > 0pt
- \ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
- \else
- \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
- \fi
- \else
- \code{#1}% only url given, so show it
- \fi
- \fi
- \endlink
-\endgroup}
+% @uref (abbreviation for `urlref') aka @url takes an optional
+% (comma-separated) second argument specifying the text to display and
+% an optional third arg as text to display instead of (rather than in
+% addition to) the url itself. First (mandatory) arg is the url.
-% This \urefbreak definition is the active one.
+% TeX-only option to allow changing PDF output to show only the second
+% arg (if given), and not the url (which is then just the link target).
+\newif\ifurefurlonlylink
+
+% The main macro is \urefbreak, which allows breaking at expected
+% places within the url. (There used to be another version, which
+% didn't support automatic breaking.)
\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
\let\uref=\urefbreak
+%
\def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
\unsepspaces
@@ -2613,12 +2598,19 @@ end
\ifdim\wd0 > 0pt
\unhbox0 % third arg given, show only that
\else
- \setbox0 = \hbox{\ignorespaces #2}%
+ \setbox0 = \hbox{\ignorespaces #2}% look for second arg
\ifdim\wd0 > 0pt
\ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
+ \ifurefurlonlylink
+ % PDF plus option to not display url, show just arg
+ \unhbox0
+ \else
+ % PDF, normally display both arg and url for consistency,
+ % visibility, if the pdf is eventually used to print, etc.
+ \unhbox0\ (\urefcode{#1})%
+ \fi
\else
- \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
+ \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
\fi
\else
\urefcode{#1}% only url given, so show it
@@ -2658,8 +2650,10 @@ end
% we put a little stretch before and after the breakable chars, to help
% line breaking of long url's. The unequal skips make look better in
% cmtt at least, especially for dots.
-\def\urefprestretch{\urefprebreak \hskip0pt plus.13em }
-\def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em }
+\def\urefprestretchamount{.13em}
+\def\urefpoststretchamount{.1em}
+\def\urefprestretch{\urefprebreak \hskip0pt plus\urefprestretchamount\relax}
+\def\urefpoststretch{\urefpostbreak \hskip0pt plus\urefprestretchamount\relax}
%
\def\urefcodeamp{\urefprestretch \&\urefpoststretch}
\def\urefcodedot{\urefprestretch .\urefpoststretch}
@@ -3691,7 +3685,7 @@ end
\parskip=\smallskipamount
\ifdim\parskip=0pt \parskip=2pt \fi
%
- % Try typesetting the item mark that if the document erroneously says
+ % Try typesetting the item mark so that if the document erroneously says
% something like @itemize @samp (intending @table), there's an error
% right away at the @itemize. It's not the best error message in the
% world, but it's better than leaving it to the @item. This means if
@@ -3941,19 +3935,23 @@ end
}
% multitable-only commands.
-%
-% @headitem starts a heading row, which we typeset in bold.
-% Assignments have to be global since we are inside the implicit group
-% of an alignment entry. \everycr resets \everytab so we don't have to
+%
+% @headitem starts a heading row, which we typeset in bold. Assignments
+% have to be global since we are inside the implicit group of an
+% alignment entry. \everycr below resets \everytab so we don't have to
% undo it ourselves.
\def\headitemfont{\b}% for people to use in the template row; not changeable
\def\headitem{%
\checkenv\multitable
\crcr
+ \gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings
\global\everytab={\bf}% can't use \headitemfont since the parsing differs
\the\everytab % for the first item
}%
%
+% default for tables with no headings.
+\let\headitemcrhook=\relax
+%
% A \tab used to include \hskip1sp. But then the space in a template
% line is not enough. That is bad. So let's go back to just `&' until
% we again encounter the problem the 1sp was intended to solve.
@@ -3984,15 +3982,15 @@ end
%
\everycr = {%
\noalign{%
- \global\everytab={}%
+ \global\everytab={}% Reset from possible headitem.
\global\colcount=0 % Reset the column counter.
- % Check for saved footnotes, etc.
+ %
+ % Check for saved footnotes, etc.:
\checkinserts
- % Keeps underfull box messages off when table breaks over pages.
- %\filbreak
- % Maybe so, but it also creates really weird page breaks when the
- % table breaks over pages. Wouldn't \vfil be better? Wait until the
- % problem manifests itself, so it can be fixed for real --karl.
+ %
+ % Perhaps a \nobreak, then reset:
+ \headitemcrhook
+ \global\let\headitemcrhook=\relax
}%
}%
%
@@ -4434,7 +4432,7 @@ end
% complicated, when \tex is in effect and \{ is a \delimiter again.
% We can't use \lbracecmd and \rbracecmd because texindex assumes
% braces and backslashes are used only as delimiters. Perhaps we
- % should define @lbrace and @rbrace commands a la @comma.
+ % should use @lbracechar and @rbracechar?
\def\{{{\tt\char123}}%
\def\}{{\tt\char125}}%
%
@@ -4455,8 +4453,7 @@ end
% @end macro
% ...
% @funindex commtest
- %
- % The above is not enough to reproduce the bug, but it gives the flavor.
+ % This is not enough to reproduce the bug, but it gives the flavor.
%
% Sample whatsit resulting:
% .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
@@ -4657,8 +4654,21 @@ end
\definedummyword\verb
\definedummyword\w
\definedummyword\xref
+ %
+ % Consider:
+ % @macro mkind{arg1,arg2}
+ % @cindex \arg2\
+ % @end macro
+ % @mkind{foo, bar}
+ % The space after the comma will end up in the temporary definition
+ % that we make for arg2 (see \parsemargdef ff.). We want all this to be
+ % expanded for the sake of the index, so we end up just seeing "bar".
+ \let\xeatspaces = \eatspaces
}
+% For testing: output @{ and @} in index sort strings as \{ and \}.
+\newif\ifusebracesinindexes
+
% \indexnofonts is used when outputting the strings to sort the index
% by, and when constructing control sequence names. It eliminates all
% control sequences and just writes whatever the best ASCII sort string
@@ -4687,11 +4697,16 @@ end
% Unfortunately, texindex is not prepared to handle braces in the
% content at all. So for index sorting, we map @{ and @} to strings
% starting with |, since that ASCII character is between ASCII { and }.
- \def\{{|a}%
- \def\lbracechar{|a}%
+ \ifusebracesinindexes
+ \def\lbracechar{\lbracecmd}%
+ \def\rbracechar{\rbracecmd}%
+ \else
+ \def\lbracechar{|a}%
+ \def\rbracechar{|b}%
+ \fi
+ \let\{=\lbracechar
+ \let\}=\rbracechar
%
- \def\}{|b}%
- \def\rbracechar{|b}%
%
% Non-English letters.
\def\AA{AA}%
@@ -6419,8 +6434,6 @@ end
% side, and for 6pt waste from
% each corner char, and rule thickness
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing = t%
%
% If this cartouche directly follows a sectioning command, we need the
% \parskip glue (backspaced over by default) or the cartouche can
@@ -6587,9 +6600,13 @@ end
% @raggedright does more-or-less normal line breaking but no right
-% justification. From plain.tex.
+% justification. From plain.tex. Don't stretch around special
+% characters in urls in this environment, since the stretch at the right
+% should be enough.
\envdef\raggedright{%
- \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
+ \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax
+ \def\urefprestretchamount{0pt}%
+ \def\urefpoststretchamount{0pt}%
}
\let\Eraggedright\par
@@ -7482,7 +7499,7 @@ end
% Parse the optional {params} list. Set up \paramno and \paramlist
% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH
-% in the params list to some hook where the argument si to be expanded. If
+% in the params list to some hook where the argument is to be expanded. If
% there are less than 10 arguments that hook is to be replaced by ##N where N
% is the position in that list, that is to say the macro arguments are to be
% defined `a la TeX in the macro body.
@@ -8344,6 +8361,7 @@ end
\gdef\footnote{%
\let\indent=\ptexindent
\let\noindent=\ptexnoindent
+ %
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}%
%
@@ -8367,6 +8385,11 @@ end
%
\gdef\dofootnote{%
\insert\footins\bgroup
+ %
+ % Nested footnotes are not supported in TeX, that would take a lot
+ % more work. (\startsavinginserts does not suffice.)
+ \let\footnote=\errfootnote
+ %
% We want to typeset this text as a normal paragraph, even if the
% footnote reference occurs in (for example) a display environment.
% So reset some parameters.
@@ -8404,13 +8427,19 @@ end
}
}%end \catcode `\@=11
+\def\errfootnote{%
+ \errhelp=\EMsimple
+ \errmessage{Nested footnotes not supported in texinfo.tex,
+ even though they work in makeinfo; sorry}
+}
+
% In case a @footnote appears in a vbox, save the footnote text and create
% the real \insert just after the vbox finished. Otherwise, the insertion
% would be lost.
% Similarly, if a @footnote appears inside an alignment, save the footnote
% text to a box and make the \insert when a row of the table is finished.
% And the same can be done for other insert classes. --kasal, 16nov03.
-
+%
% Replace the \insert primitive by a cheating macro.
% Deeper inside, just make sure that the saved insertions are not spilled
% out prematurely.
@@ -8827,20 +8856,20 @@ end
{
\catcode`\_ = \active
\globaldefs=1
-\parseargdef\documentlanguage{\begingroup
- \let_=\normalunderscore % normal _ character for filenames
+\parseargdef\documentlanguage{%
\tex % read txi-??.tex file in plain TeX.
% Read the file by the name they passed if it exists.
+ \let_ = \normalunderscore % normal _ character for filename test
\openin 1 txi-#1.tex
\ifeof 1
- \documentlanguagetrywithoutunderscore{#1_\finish}%
+ \documentlanguagetrywithoutunderscore #1_\finish
\else
\globaldefs = 1 % everything in the txi-LL files needs to persist
\input txi-#1.tex
\fi
\closein 1
\endgroup % end raw TeX
-\endgroup}
+}
%
% If they passed de_DE, and txi-de_DE.tex doesn't exist,
% try txi-de.tex.
diff --git a/configh.dos b/configh.dos
index 03bf8db..b316214 100644
--- a/configh.dos
+++ b/configh.dos
@@ -1,6 +1,6 @@
/* configh.dos -- hand-massaged config.h file for MS-DOS builds -*-C-*-
-Copyright (C) 1994-2013 Free Software Foundation, Inc.
+Copyright (C) 1994-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -92,19 +92,19 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#define PACKAGE_NAME "GNU make"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU make 4.0"
+#define PACKAGE_STRING "GNU make 4.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "make"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "4.0"
+#define PACKAGE_VERSION "4.1"
/* Output sync sypport */
#define NO_OUTPUT_SYNC
/* Version number of package */
-#define VERSION "4.0"
+#define VERSION "4.1"
/* Build host information. */
#define MAKE_HOST "i386-pc-msdosdjgpp"
diff --git a/configure b/configure
index c9229f0..c587e44 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU make 4.0.
+# Generated by GNU Autoconf 2.69 for GNU make 4.1.
#
# Report bugs to <bug-make@gnu.org>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU make'
PACKAGE_TARNAME='make'
-PACKAGE_VERSION='4.0'
-PACKAGE_STRING='GNU make 4.0'
+PACKAGE_VERSION='4.1'
+PACKAGE_STRING='GNU make 4.1'
PACKAGE_BUGREPORT='bug-make@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/make/'
@@ -666,8 +666,6 @@ GMSGFMT
MSGFMT
GETTEXT_MACRO_VERSION
USE_NLS
-EGREP
-GREP
host_os
host_vendor
host_cpu
@@ -676,10 +674,13 @@ build_os
build_vendor
build_cpu
build
+ac_ct_AR
PERL
AR
-CPP
RANLIB
+EGREP
+GREP
+CPP
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
@@ -1334,7 +1335,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU make 4.0 to adapt to many kinds of systems.
+\`configure' configures GNU make 4.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1404,7 +1405,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU make 4.0:";;
+ short | recursive ) echo "Configuration of GNU make 4.1:";;
esac
cat <<\_ACEOF
@@ -1412,10 +1413,12 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
--disable-nls do not use Native Language Support
--disable-rpath do not hardcode runtime library paths
--disable-largefile omit support for large files
@@ -1433,7 +1436,7 @@ Optional Packages:
--with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
--without-libintl-prefix don't search for libintl in includedir and libdir
--with-guile Support GNU Guile for embedded scripting
- --with-customs=DIR enable remote jobs via Customs--see README.customs
+ --with-customs=DIR enable remote jobs via Customs--see README.customs
--with-dmalloc use dmalloc, as in http://www.dmalloc.com
Some influential environment variables:
@@ -1522,7 +1525,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU make configure 4.0
+GNU make configure 4.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2048,7 +2051,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU make $as_me 4.0, which was
+It was created by GNU make $as_me 4.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2435,7 +2438,10 @@ ac_config_headers="$ac_config_headers config.h"
# Automake setup
-am__api_version='1.11'
+# We have to enable "foreign" because ChangeLog is auto-generated
+# We cannot enable -Werror because gettext 0.18.1 has invalid content
+# When we update gettext to 0.18.3 or better we can add it again.
+am__api_version='1.14'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -2532,9 +2538,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
@@ -2545,32 +2548,40 @@ case `pwd` in
esac
case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
esac
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+ if test "$2" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$2" = conftest.file
)
then
@@ -2582,6 +2593,16 @@ Check your system clock" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
@@ -2604,12 +2625,12 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
if test x"${install_sh}" != xset; then
@@ -2621,10 +2642,10 @@ if test x"${install_sh}" != xset; then
esac
fi
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -2763,12 +2784,6 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -2856,10 +2871,10 @@ if test "${enable_silent_rules+set}" = set; then :
enableval=$enable_silent_rules;
fi
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=1;;
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
esac
am_make=${MAKE-make}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
@@ -2912,7 +2927,7 @@ fi
# Define the identity of the package.
PACKAGE='make'
- VERSION='4.0'
+ VERSION='4.1'
cat >>confdefs.h <<_ACEOF
@@ -2940,12 +2955,22 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
+
am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
@@ -2953,7 +2978,112 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
# Checks for programs.
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -3742,68 +3872,64 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
+int
+main ()
+{
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
fi
-
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
depcc="$CC" am_compiler_list=
@@ -3817,8 +3943,8 @@ else
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
@@ -3853,16 +3979,16 @@ else
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -3871,8 +3997,8 @@ else
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
@@ -3880,7 +4006,7 @@ else
fi
;;
msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -3935,98 +4061,6 @@ fi
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -4164,157 +4198,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Perl is needed for the test suite (only)
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PERL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_PERL="perl"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="perl"
-fi
-fi
-PERL=$ac_cv_prog_PERL
-if test -n "$PERL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Specialized system macros
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
@@ -4636,6 +4519,1285 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
$as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+# Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Perl is needed for the test suite (only)
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_PERL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$PERL"; then
+ ac_cv_prog_PERL="$PERL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_PERL="perl"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="perl"
+fi
+fi
+PERL=$ac_cv_prog_PERL
+if test -n "$PERL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+# Needed for w32/Makefile.am
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar lib "link -lib"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar lib "link -lib"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+: ${AR=ar}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
+$as_echo_n "checking the archiver ($AR) interface... " >&6; }
+if ${am_cv_ar_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ am_cv_ar_interface=ar
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+$as_echo "$am_cv_ar_interface" >&6; }
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+ ;;
+esac
+
+
+# Specialized system macros
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
$as_echo_n "checking for library containing strerror... " >&6; }
@@ -4698,6 +5860,12 @@ fi
# Enable gettext, in "external" mode.
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
$as_echo_n "checking whether NLS is requested... " >&6; }
@@ -6746,7 +7914,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6792,7 +7960,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6816,7 +7984,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6861,7 +8029,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6885,7 +8053,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -7343,131 +8511,6 @@ fi
done
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
@@ -7893,7 +8936,7 @@ for ac_func in strdup strndup mkstemp mktemp fdopen fileno \
dup dup2 getcwd realpath sigsetmask sigaction \
getgroups seteuid setegid setlinebuf setreuid setregid \
getrlimit setrlimit setvbuf pipe strerror strsignal \
- lstat readlink atexit
+ lstat readlink atexit isatty ttyname
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -9813,23 +10856,13 @@ else
fi
-case /$ac_cv_func_dlopen/$ac_cv_func_dlsym/$ac_cv_func_dlerror/ in #(
+case /$ac_cv_have_decl_dlopen/$ac_cv_have_decl_dlsym/$ac_cv_have_decl_dlerror/ in #(
*/no/*) :
make_cv_load=no ;; #(
*) :
;;
esac
-case /$make_cv_load/$user_load/ in #(
- */no/*) :
- make_cv_load=no ;; #(
- *) :
-
-$as_echo "#define MAKE_LOAD 1" >>confdefs.h
-
- ;;
-esac
-
# We might need -ldl
if test "$make_cv_load" = yes; then :
@@ -9894,6 +10927,16 @@ fi
fi
+case /$make_cv_load/$user_load/ in #(
+ */no/*) :
+ make_cv_load=no ;; #(
+ *) :
+
+$as_echo "#define MAKE_LOAD 1" >>confdefs.h
+
+ ;;
+esac
+
# If we want load support, we might need to link with export-dynamic.
# See if we can figure it out. Unfortunately this is very difficult.
# For example passing -rdynamic to the SunPRO linker gives a warning
@@ -10199,7 +11242,7 @@ if test "x$make_cv_load" = xno && test "x$user_load" = xyes; then :
fi
# Specify what files are to be created.
-ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile"
+ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile tests/config-flags.pm"
# OK, do it!
@@ -10313,6 +11356,14 @@ LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
@@ -10329,6 +11380,10 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${HAVE_GUILE_TRUE}" && test -z "${HAVE_GUILE_FALSE}"; then
as_fn_error $? "conditional \"HAVE_GUILE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -10746,7 +11801,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU make $as_me 4.0, which was
+This file was extended by GNU make $as_me 4.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -10814,7 +11869,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNU make config.status 4.0
+GNU make config.status 4.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -10959,6 +12014,7 @@ do
"config/Makefile") CONFIG_FILES="$CONFIG_FILES config/Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"w32/Makefile") CONFIG_FILES="$CONFIG_FILES w32/Makefile" ;;
+ "tests/config-flags.pm") CONFIG_FILES="$CONFIG_FILES tests/config-flags.pm" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
@@ -11594,7 +12650,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -11607,7 +12663,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
+ # We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
@@ -11641,21 +12697,19 @@ $as_echo X"$mf" |
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
+ # from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`$as_dirname -- "$file" ||
diff --git a/configure.ac b/configure.ac
index d73dd8c..fab9a2d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# Process this file with autoconf to produce a configure script.
#
-# Copyright (C) 1993-2013 Free Software Foundation, Inc.
+# Copyright (C) 1993-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([GNU make],[4.0],[bug-make@gnu.org])
+AC_INIT([GNU make],[4.1],[bug-make@gnu.org])
AC_PREREQ([2.62])
@@ -26,9 +26,13 @@ AC_CONFIG_SRCDIR([vpath.c])
AC_CONFIG_HEADERS([config.h])
# Automake setup
-AM_INIT_AUTOMAKE([1.11.1 silent-rules])
+# We have to enable "foreign" because ChangeLog is auto-generated
+# We cannot enable -Werror because gettext 0.18.1 has invalid content
+# When we update gettext to 0.18.3 or better we can add it again.
+AM_INIT_AUTOMAKE([1.11.1 silent-rules foreign -Wall])
# Checks for programs.
+AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_RANLIB
@@ -37,6 +41,9 @@ AC_CHECK_PROG([AR], [ar], [ar], [ar])
# Perl is needed for the test suite (only)
AC_CHECK_PROG([PERL], [perl], [perl], [perl])
+# Needed for w32/Makefile.am
+AM_PROG_AR
+
# Specialized system macros
AC_CANONICAL_HOST
AC_AIX
@@ -44,7 +51,6 @@ AC_ISC_POSIX
AC_MINIX
# Enable gettext, in "external" mode.
-
AM_GNU_GETTEXT_VERSION([0.18.1])
AM_GNU_GETTEXT([external])
@@ -134,7 +140,7 @@ AC_CHECK_FUNCS([strdup strndup mkstemp mktemp fdopen fileno \
dup dup2 getcwd realpath sigsetmask sigaction \
getgroups seteuid setegid setlinebuf setreuid setregid \
getrlimit setrlimit setvbuf pipe strerror strsignal \
- lstat readlink atexit])
+ lstat readlink atexit isatty ttyname])
# We need to check declarations, not just existence, because on Tru64 this
# function is not declared without special flags, which themselves cause
@@ -243,8 +249,8 @@ AS_IF([test "$PATH_SEPARATOR" = ';'],
AC_SUBST([REMOTE]) REMOTE=stub
use_customs=false
AC_ARG_WITH([customs],
-[ AC_HELP_STRING([--with-customs=DIR],
- [enable remote jobs via Customs--see README.customs])],
+[AC_HELP_STRING([--with-customs=DIR],
+ [enable remote jobs via Customs--see README.customs])],
[ AS_CASE([$withval], [n|no], [:],
[make_cppflags="$CPPFLAGS"
AS_CASE([$withval],
@@ -317,20 +323,20 @@ AC_ARG_ENABLE([load],
[make_cv_load="$enableval" user_load="$enableval"],
[make_cv_load="yes"])
-AS_CASE([/$ac_cv_func_dlopen/$ac_cv_func_dlsym/$ac_cv_func_dlerror/],
+AS_CASE([/$ac_cv_have_decl_dlopen/$ac_cv_have_decl_dlsym/$ac_cv_have_decl_dlerror/],
[*/no/*], [make_cv_load=no])
+# We might need -ldl
+AS_IF([test "$make_cv_load" = yes], [
+ AC_SEARCH_LIBS([dlopen], [dl], [], [make_cv_load=])
+ ])
+
AS_CASE([/$make_cv_load/$user_load/],
[*/no/*], [make_cv_load=no],
[AC_DEFINE(MAKE_LOAD, 1,
[Define to 1 to enable 'load' support in GNU make.])
])
-# We might need -ldl
-AS_IF([test "$make_cv_load" = yes], [
- AC_SEARCH_LIBS([dlopen], [dl], [], [make_cv_load=])
- ])
-
# If we want load support, we might need to link with export-dynamic.
# See if we can figure it out. Unfortunately this is very difficult.
# For example passing -rdynamic to the SunPRO linker gives a warning
@@ -498,7 +504,7 @@ AS_IF([test "x$make_cv_load" = xno && test "x$user_load" = xyes],
# Specify what files are to be created.
AC_CONFIG_FILES([Makefile glob/Makefile po/Makefile.in config/Makefile \
- doc/Makefile w32/Makefile])
+ doc/Makefile w32/Makefile tests/config-flags.pm])
# OK, do it!
diff --git a/configure.bat b/configure.bat
index aba3a3b..e54ba84 100644
--- a/configure.bat
+++ b/configure.bat
@@ -1,5 +1,5 @@
@echo off
-rem Copyright (C) 1994-2013 Free Software Foundation, Inc.
+rem Copyright (C) 1994-2014 Free Software Foundation, Inc.
rem This file is part of GNU Make.
rem
rem GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/debug.h b/debug.h
index 9f630d6..9d2ec04 100644
--- a/debug.h
+++ b/debug.h
@@ -1,5 +1,5 @@
/* Debugging macros and interface.
-Copyright (C) 1999-2013 Free Software Foundation, Inc.
+Copyright (C) 1999-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/default.c b/default.c
index 47b7dd3..3b6f7ae 100644
--- a/default.c
+++ b/default.c
@@ -1,5 +1,5 @@
/* Data base of default implicit rules for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -38,9 +38,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
static char default_suffixes[]
#ifdef VMS
- = ".exe .olb .ln .obj .c .cxx .cc .pas .p .for .f .r .y .l .mar \
-.s .ss .i .ii .mod .sym .def .h .info .dvi .tex .texinfo .texi .txinfo \
-.w .ch .cweb .web .com .sh .elc .el";
+ /* VMS should include all UNIX/POSIX + some VMS extensions */
+ = ".out .exe .a .olb .hlb .tlb .mlb .ln .o .obj .c .cxx .cc .cpp .pas .p \
+.for .f .r .y .l .ym .yl .mar .s .ss .i .ii .mod .sym .def .h .info .dvi \
+.tex .texinfo .texi .txinfo .mem .hlp .brn .rnh .rno .rnt .rnx .w .ch .cweb \
+.web .com .sh .elc .el";
#elif defined(__EMX__)
= ".out .a .ln .o .c .cc .C .cpp .p .f .F .m .r .y .l .ym .yl .s .S \
.mod .sym .def .h .info .dvi .tex .texinfo .texi .txinfo \
@@ -53,19 +55,35 @@ static char default_suffixes[]
static struct pspec default_pattern_rules[] =
{
+#ifdef VMS
{ "(%)", "%",
+ "@if f$$search(\"$@\") .eqs. \"\" then $(LIBRARY)/CREATE/"
+ "$(or "
+ "$(patsubst %,TEXT,$(filter %.tlb %.TLB,$@)),"
+ "$(patsubst %,HELP,$(filter %.hlb %.HLB,$@)),"
+ "$(patsubst %,MACRO,$(filter %.mlb %.MLB,$@)),"
+ "$(and "
+ "$(patsubst %,SHARE,$(filter %.olb %.OLB,$@)),"
+ "$(patsubst %,SHARE,$(filter %.exe %.EXE,$<))),"
+ "OBJECT)"
+ " $@\n"
"$(AR) $(ARFLAGS) $@ $<" },
+#else
+ { "(%)", "%",
+ "$(AR) $(ARFLAGS) $@ $<" },
+#endif
/* The X.out rules are only in BSD's default set because
BSD Make has no null-suffix rules, so 'foo.out' and
'foo' are the same thing. */
#ifdef VMS
{ "%.exe", "%",
- "copy $< $@" },
-#else
+ "$(CP) $< $@" },
+
+#endif
{ "%.out", "%",
"@rm -f $@ \n cp $< $@" },
-#endif
+
/* Syntax is "ctangle foo.w foo.ch foo.c". */
{ "%.c", "%.w %.ch",
"$(CTANGLE) $^ $@" },
@@ -78,18 +96,20 @@ static struct pspec default_pattern_rules[] =
static struct pspec default_terminal_rules[] =
{
#ifdef VMS
+
/* RCS. */
{ "%", "%$$5lv", /* Multinet style */
- "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+ "if f$$search(\"$@\") .nes. \"\" then +$(CHECKOUT,v)" },
{ "%", "[.$$rcs]%$$5lv", /* Multinet style */
- "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+ "if f$$search(\"$@\") .nes. \"\" then +$(CHECKOUT,v)" },
{ "%", "%_v", /* Normal style */
- "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+ "if f$$search(\"$@\") .nes. \"\" then +$(CHECKOUT,v)" },
{ "%", "[.rcs]%_v", /* Normal style */
- "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+ "if f$$search(\"$@\") .nes. \"\" then +$(CHECKOUT,v)" },
/* SCCS. */
/* ain't no SCCS on vms */
+
#else
/* RCS. */
{ "%", "%,v",
@@ -108,7 +128,7 @@ static struct pspec default_terminal_rules[] =
{ 0, 0, 0 }
};
-static char *default_suffix_rules[] =
+static const char *default_suffix_rules[] =
{
#ifdef VMS
".obj.exe",
@@ -149,6 +169,8 @@ static char *default_suffix_rules[] =
"$(COMPILE.c)/noprep/noobj/machine /list=$@ $<",
".c.obj",
"$(COMPILE.c) /obj=$@ $<",
+ ".c.o",
+ "$(COMPILE.c) /obj=$@ $<",
".cc.ii",
"$(COMPILE.cc)/prep /list=$@ $<",
".cc.ss",
@@ -157,12 +179,20 @@ static char *default_suffix_rules[] =
"$(COMPILE.cc)/noprep/noobj/machine /list=$@ $<",
".cc.obj",
"$(COMPILE.cc) /obj=$@ $<",
+ ".cc.o",
+ "$(COMPILE.cc) /obj=$@ $<",
".cxx.obj",
"$(COMPILE.cxx) /obj=$@ $<",
+ ".cxx.o",
+ "$(COMPILE.cxx) /obj=$@ $<",
".for.obj",
"$(COMPILE.for) /obj=$@ $<",
+ ".for.o",
+ "$(COMPILE.for) /obj=$@ $<",
".pas.obj",
"$(COMPILE.pas) /obj=$@ $<",
+ ".pas.o",
+ "$(COMPILE.pas) /obj=$@ $<",
".y.c",
"$(YACC.y) $< \n rename y_tab.c $@",
@@ -322,7 +352,8 @@ static const char *default_variables[] =
#ifdef __VAX
"ARCH", "VAX",
#endif
- "AR", "library/obj",
+ "AR", "library",
+ "LIBRARY", "library",
"ARFLAGS", "/replace",
"AS", "macro",
"MACRO", "macro",
@@ -332,15 +363,21 @@ static const char *default_variables[] =
"CC", "cc",
#endif
"CD", "builtin_cd",
- "MAKE", "make",
- "ECHO", "write sys$$output \"",
+ "ECHO", "builtin_echo",
#ifdef GCC_IS_NATIVE
"C++", "gcc/plus",
"CXX", "gcc/plus",
#else
"C++", "cxx",
"CXX", "cxx",
+#ifndef __ia64
"CXXLD", "cxxlink",
+ "CXXLINK", "cxxlink",
+#else
+ /* CXXLINK is not used on VMS/IA64 */
+ "CXXLD", "link",
+ "CXXLINK", "link",
+#endif
#endif
"CO", "co",
"CPP", "$(CC) /preprocess_only",
@@ -393,6 +430,7 @@ static const char *default_variables[] =
"MV", "rename/new_version",
"CP", "copy",
+ ".LIBPATTERNS", "%.olb lib%.a",
#else /* !VMS */
@@ -523,6 +561,8 @@ static const char *default_variables[] =
".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
#elif defined(__APPLE__)
".LIBPATTERNS", "lib%.dylib lib%.a",
+#elif defined(__CYGWIN__) || defined(WINDOWS32)
+ ".LIBPATTERNS", "lib%.dll.a %.dll.a lib%.a %.lib lib%.dll %.dll",
#else
".LIBPATTERNS", "lib%.so lib%.a",
#endif
@@ -546,8 +586,8 @@ set_default_suffixes (void)
else
{
struct dep *d;
- char *p = default_suffixes;
- suffix_file->deps = enter_prereqs (PARSE_SIMPLE_SEQ (&p, struct dep),
+ const char *p = default_suffixes;
+ suffix_file->deps = enter_prereqs (PARSE_SIMPLE_SEQ ((char **)&p, struct dep),
NULL);
for (d = suffix_file->deps; d; d = d->next)
d->file->builtin = 1;
@@ -564,7 +604,7 @@ set_default_suffixes (void)
void
install_default_suffix_rules (void)
{
- char **s;
+ const char **s;
if (no_builtin_rules_flag)
return;
@@ -576,7 +616,7 @@ install_default_suffix_rules (void)
assert (f->cmds == 0);
f->cmds = xmalloc (sizeof (struct commands));
f->cmds->fileinfo.filenm = 0;
- f->cmds->commands = s[1];
+ f->cmds->commands = xstrdup (s[1]);
f->cmds->command_lines = 0;
f->cmds->recipe_prefix = RECIPEPREFIX_DEFAULT;
f->builtin = 1;
diff --git a/dep.h b/dep.h
index 13cefdc..b8c0d29 100644
--- a/dep.h
+++ b/dep.h
@@ -1,5 +1,5 @@
/* Definitions of dependency data structures for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/dir.c b/dir.c
index d046bd9..7e00b8f 100644
--- a/dir.c
+++ b/dir.c
@@ -1,5 +1,5 @@
/* Directory hashing for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -674,7 +674,7 @@ dir_contents_file_exists_p (struct directory_contents *dir,
if (d == 0)
{
if (errno)
- fatal (NILF, "INTERNAL: readdir: %s\n", strerror (errno));
+ pfatal_with_name ("INTERNAL: readdir");
break;
}
@@ -1172,13 +1172,6 @@ read_dirstream (__ptr_t stream)
return 0;
}
-static void
-ansi_free (void *p)
-{
- if (p)
- free (p);
-}
-
/* On 64 bit ReliantUNIX (5.44 and above) in LFS mode, stat() is actually a
* macro for stat64(). If stat is a macro, make a local wrapper function to
* invoke it.
@@ -1224,7 +1217,7 @@ dir_setup_glob (glob_t *gl)
{
gl->gl_opendir = open_dirstream;
gl->gl_readdir = read_dirstream;
- gl->gl_closedir = ansi_free;
+ gl->gl_closedir = free;
gl->gl_stat = local_stat;
/* We don't bother setting gl_lstat, since glob never calls it.
The slot is only there for compatibility with 4.4 BSD. */
diff --git a/doc/Makefile.am b/doc/Makefile.am
index ed519a1..03977ba 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,5 +1,5 @@
# -*-Makefile-*-, or close enough
-# Copyright (C) 2000-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -22,14 +22,3 @@ info_TEXINFOS = make.texi
make_TEXINFOS = fdl.texi make-stds.texi
CLEANFILES = make*.html
-
-## ----------------------------- ##
-## Other documentation formats. ##
-## ----------------------------- ##
-
-html: make_1.html
-
-make_1.html: $(info_TEXINFOS) $(make_TEXINFOS)
- $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/make.texi
-
-.PHONY: html
diff --git a/doc/Makefile.in b/doc/Makefile.in
index c7a018f..f930c6a 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,7 +15,7 @@
@SET_MAKE@
# -*-Makefile-*-, or close enough
-# Copyright (C) 2000-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -32,23 +31,51 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -68,9 +95,10 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
-DIST_COMMON = $(make_TEXINFOS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/stamp-vti \
- $(srcdir)/version.texi
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(make_TEXINFOS) $(top_srcdir)/config/mdate-sh \
+ $(srcdir)/version.texi $(srcdir)/stamp-vti \
+ $(top_srcdir)/config/texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
@@ -86,14 +114,48 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
+AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
+am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
+am__v_DVIPS_0 = @echo " DVIPS " $@;
+am__v_DVIPS_1 =
+AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
+am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
+am__v_MAKEINFO_0 = @echo " MAKEINFO" $@;
+am__v_MAKEINFO_1 =
+AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
+am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
+am__v_INFOHTML_0 = @echo " INFOHTML" $@;
+am__v_INFOHTML_1 =
+AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
+am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
+am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@;
+am__v_TEXI2DVI_1 =
+AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
+am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
+am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@;
+am__v_TEXI2PDF_1 =
+AM_V_texinfo = $(am__v_texinfo_@AM_V@)
+am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
+am__v_texinfo_0 = -q
+am__v_texinfo_1 =
+AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
+am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
+am__v_texidevnull_0 = > /dev/null
+am__v_texidevnull_1 =
INFO_DEPS = $(srcdir)/make.info
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
@@ -140,6 +202,7 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
@@ -224,6 +287,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -288,9 +352,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/Makefile
+ $(AUTOMAKE) --foreign doc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -311,7 +375,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
.texi.info:
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
am__cwd=`pwd` && $(am__cd) $(srcdir) && \
rm -rf $$backupdir && mkdir $$backupdir && \
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
@@ -333,27 +397,25 @@ $(am__aclocal_m4_deps):
rm -rf $$backupdir; exit $$rc
.texi.dvi:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) $<
+ $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+ $<
.texi.pdf:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) $<
+ $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+ $<
.texi.html:
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+ $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
+ $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $(@:.html=.htp) $<; \
then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+ rm -rf $@ && mv $(@:.html=.htp) $@; \
else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
+ rm -rf $(@:.html=.htp); exit 1; \
fi
$(srcdir)/make.info: make.texi $(srcdir)/version.texi $(make_TEXINFOS)
make.dvi: make.texi $(srcdir)/version.texi $(make_TEXINFOS)
@@ -379,8 +441,8 @@ mostlyclean-vti:
maintainer-clean-vti:
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
+ $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(DVIPS) $(AM_V_texinfo) -o $@ $<
uninstall-dvi-am:
@$(NORMAL_UNINSTALL)
@@ -459,8 +521,7 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
- -rm -rf make.aux make.cp make.cps make.fn make.fns make.ky make.kys \
- make.log make.pg make.tmp make.toc make.tp make.tps make.vr
+ -rm -rf make.t2d make.t2p
clean-aminfo:
-test -z "make.dvi make.pdf make.ps make.html" \
@@ -472,11 +533,11 @@ maintainer-clean-aminfo:
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -562,6 +623,8 @@ dvi: dvi-am
dvi-am: $(DVIS)
+html: html-am
+
html-am: $(HTMLS)
info: info-am
@@ -710,26 +773,20 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-aminfo clean-generic \
- dist-info distclean distclean-generic distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-vti mostlyclean mostlyclean-aminfo \
- mostlyclean-generic mostlyclean-vti pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-pdf-am uninstall-ps-am
-
-
-html: make_1.html
-
-make_1.html: $(info_TEXINFOS) $(make_TEXINFOS)
- $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/make.texi
-
-.PHONY: html
+ cscopelist-am ctags-am dist-info distclean distclean-generic \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-aminfo \
+ maintainer-clean-generic maintainer-clean-vti mostlyclean \
+ mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
+ pdf-am ps ps-am tags-am uninstall uninstall-am \
+ uninstall-dvi-am uninstall-html-am uninstall-info-am \
+ uninstall-pdf-am uninstall-ps-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/doc/fdl.texi b/doc/fdl.texi
index cb71f05..9c3bbe5 100644
--- a/doc/fdl.texi
+++ b/doc/fdl.texi
@@ -97,7 +97,7 @@ format, SGML or XML using a publicly available
DTD, and standard-conforming simple HTML,
PostScript or PDF designed for human modification. Examples
of transparent image formats include PNG, XCF and
-JPG. Opaque formats include proprietary formats that can be
+JPG@. Opaque formats include proprietary formats that can be
read and edited only by proprietary word processors, SGML or
XML for which the DTD and/or processing tools are
not generally available, and the machine-generated HTML,
diff --git a/doc/make.info b/doc/make.info
index c6ad6e6..7a54c1b 100644
--- a/doc/make.info
+++ b/doc/make.info
@@ -1,15 +1,15 @@
-This is make.info, produced by makeinfo version 4.13 from make.texi.
+This is make.info, produced by makeinfo version 5.2 from make.texi.
-This file documents the GNU `make' utility, which determines
-automatically which pieces of a large program need to be recompiled,
-and issues the commands to recompile them.
+This file documents the GNU 'make' utility, which determines
+automatically which pieces of a large program need to be recompiled, and
+issues the commands to recompile them.
- This is Edition 0.72, last updated 9 October 2013, of `The GNU Make
-Manual', for GNU `make' version 4.0.
+ This is Edition 0.73, last updated 5 October 2014, of 'The GNU Make
+Manual', for GNU 'make' version 4.1.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -22,7 +22,6 @@ Manual', for GNU `make' version 4.0.
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual. Buying copies from the FSF supports it in
developing GNU and promoting software freedom."
-
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Make: (make). Remake files automatically.
@@ -30,172 +29,172 @@ END-INFO-DIR-ENTRY

Indirect:
-make.info-1: 1338
-make.info-2: 291887
+make.info-1: 1342
+make.info-2: 305689

Tag Table:
(Indirect)
-Node: Top1338
+Node: Top1342
Node: Overview16115
-Node: Preparing17130
-Node: Reading18101
-Node: Bugs19028
-Node: Introduction20857
-Node: Rule Introduction22454
-Node: Simple Makefile24387
-Node: How Make Works28129
-Node: Variables Simplify30784
-Node: make Deduces32990
-Node: Combine By Prerequisite34723
-Node: Cleanup35752
-Node: Makefiles37170
-Node: Makefile Contents38006
-Node: Splitting Lines41188
-Node: Makefile Names42949
-Node: Include44560
-Ref: Include-Footnote-148308
-Node: MAKEFILES Variable48442
-Node: Remaking Makefiles49983
-Node: Overriding Makefiles54208
-Node: Reading Makefiles56236
-Node: Secondary Expansion59690
-Node: Rules67152
-Node: Rule Example69825
-Node: Rule Syntax70679
-Node: Prerequisite Types73272
-Node: Wildcards76139
-Node: Wildcard Examples77858
-Node: Wildcard Pitfall79207
-Node: Wildcard Function80996
-Node: Directory Search82780
-Node: General Search83915
-Node: Selective Search85622
-Node: Search Algorithm88610
-Node: Recipes/Search91128
-Node: Implicit/Search92451
-Node: Libraries/Search93393
-Node: Phony Targets95364
-Node: Force Targets100440
-Node: Empty Targets101477
-Node: Special Targets102782
-Node: Multiple Targets110640
-Node: Multiple Rules112505
-Node: Static Pattern114723
-Node: Static Usage115375
-Node: Static versus Implicit119095
-Node: Double-Colon120836
-Node: Automatic Prerequisites122596
-Node: Recipes126861
-Node: Recipe Syntax128034
-Node: Splitting Recipe Lines130149
-Node: Variables in Recipes133302
-Node: Echoing134628
-Node: Execution135903
-Ref: Execution-Footnote-1137316
-Node: One Shell137461
-Node: Choosing the Shell140776
-Node: Parallel144922
-Node: Parallel Output147591
-Node: Parallel Input152020
-Node: Errors153141
-Node: Interrupts156809
-Node: Recursion158392
-Node: MAKE Variable160492
-Node: Variables/Recursion162739
-Node: Options/Recursion168185
-Node: -w Option174203
-Node: Canned Recipes175198
-Node: Empty Recipes178183
-Node: Using Variables179331
-Node: Reference182761
-Node: Flavors184319
-Node: Advanced190301
-Node: Substitution Refs190806
-Node: Computed Names192359
-Node: Values196906
-Node: Setting197823
-Node: Appending200730
-Node: Override Directive204674
-Node: Multi-Line206301
-Node: Undefine Directive209125
-Node: Environment210211
-Node: Target-specific212462
-Node: Pattern-specific215489
-Node: Suppressing Inheritance217335
-Node: Special Variables218788
-Node: Conditionals224226
-Node: Conditional Example224939
-Node: Conditional Syntax227502
-Node: Testing Flags233263
-Node: Functions234364
-Node: Syntax of Functions235924
-Node: Text Functions238258
-Node: File Name Functions246829
-Node: Conditional Functions252051
-Node: Foreach Function254425
-Node: File Function257638
-Node: Call Function259639
-Node: Value Function262524
-Node: Eval Function263961
-Node: Origin Function266237
-Node: Flavor Function269455
-Node: Make Control Functions270497
-Node: Shell Function272183
-Node: Guile Function273816
-Node: Running274566
-Node: Makefile Arguments276549
-Node: Goals277265
-Node: Instead of Execution282004
-Node: Avoiding Compilation285717
-Node: Overriding287691
-Node: Testing290003
-Node: Options Summary291887
-Node: Implicit Rules303579
-Node: Using Implicit305725
-Node: Catalogue of Rules309244
-Node: Implicit Variables318592
-Node: Chained Rules323705
-Node: Pattern Rules327716
-Node: Pattern Intro329250
-Node: Pattern Examples331838
-Node: Automatic Variables333645
-Node: Pattern Match341003
-Node: Match-Anything Rules344326
-Node: Canceling Rules348205
-Node: Last Resort348919
-Node: Suffix Rules350748
-Node: Implicit Rule Search354473
-Node: Archives357973
-Node: Archive Members358678
-Node: Archive Update360288
-Node: Archive Symbols362199
-Node: Archive Pitfalls363433
-Node: Archive Suffix Rules364155
-Node: Extending make365702
-Node: Guile Integration366839
-Node: Guile Types368065
-Node: Guile Interface370487
-Node: Guile Example371774
-Node: Loading Objects373965
-Node: load Directive375452
-Node: Remaking Loaded Objects378206
-Node: Loaded Object API378840
-Node: Loaded Object Example385601
-Node: Features387849
-Node: Missing397021
-Node: Makefile Conventions400749
-Node: Makefile Basics401728
-Node: Utilities in Makefiles404895
-Node: Command Variables407393
-Node: DESTDIR410632
-Node: Directory Variables412799
-Node: Standard Targets428164
-Node: Install Command Categories442269
-Node: Quick Reference446795
-Node: Error Messages459490
-Node: Complex Makefile467403
-Node: GNU Free Documentation License476021
-Node: Concept Index501183
-Node: Name Index571815
+Node: Preparing17128
+Node: Reading18096
+Node: Bugs19023
+Node: Introduction20852
+Node: Rule Introduction22445
+Node: Simple Makefile24378
+Node: How Make Works28114
+Node: Variables Simplify30763
+Node: make Deduces32969
+Node: Combine By Prerequisite34702
+Node: Cleanup35731
+Node: Makefiles37149
+Node: Makefile Contents37985
+Node: Splitting Lines41158
+Node: Makefile Names42918
+Node: Include44525
+Ref: Include-Footnote-148269
+Node: MAKEFILES Variable48403
+Node: Remaking Makefiles49944
+Node: Overriding Makefiles54169
+Node: Reading Makefiles56197
+Node: Secondary Expansion59659
+Node: Rules67120
+Node: Rule Example69793
+Node: Rule Syntax70646
+Node: Prerequisite Types73241
+Node: Wildcards76108
+Node: Wildcard Examples77827
+Node: Wildcard Pitfall79177
+Node: Wildcard Function80966
+Node: Directory Search82750
+Node: General Search83885
+Node: Selective Search85592
+Node: Search Algorithm88582
+Node: Recipes/Search91100
+Node: Implicit/Search92423
+Node: Libraries/Search93365
+Node: Phony Targets95336
+Node: Force Targets100173
+Node: Empty Targets101210
+Node: Special Targets102512
+Node: Multiple Targets110385
+Node: Multiple Rules112245
+Node: Static Pattern114463
+Node: Static Usage115115
+Node: Static versus Implicit118834
+Node: Double-Colon120574
+Node: Automatic Prerequisites122334
+Node: Recipes126595
+Node: Recipe Syntax127767
+Node: Splitting Recipe Lines129882
+Node: Variables in Recipes133035
+Node: Echoing134361
+Node: Execution135636
+Ref: Execution-Footnote-1137049
+Node: One Shell137194
+Node: Choosing the Shell140509
+Node: Parallel144653
+Node: Parallel Output147322
+Node: Parallel Input151749
+Node: Errors152868
+Node: Interrupts156532
+Node: Recursion158115
+Node: MAKE Variable160212
+Node: Variables/Recursion162455
+Node: Options/Recursion167900
+Node: -w Option173918
+Node: Canned Recipes174913
+Node: Empty Recipes177896
+Node: Using Variables179044
+Node: Reference182472
+Node: Flavors184030
+Node: Advanced190009
+Node: Substitution Refs190514
+Node: Computed Names192067
+Node: Values196615
+Node: Setting197532
+Node: Appending200441
+Node: Override Directive204383
+Node: Multi-Line206010
+Node: Undefine Directive208834
+Node: Environment209923
+Node: Target-specific212175
+Node: Pattern-specific215202
+Node: Suppressing Inheritance217049
+Node: Special Variables218502
+Node: Conditionals224911
+Node: Conditional Example225624
+Node: Conditional Syntax228187
+Node: Testing Flags233944
+Node: Functions235045
+Node: Syntax of Functions236605
+Node: Text Functions238939
+Node: File Name Functions247504
+Node: Conditional Functions252730
+Node: Foreach Function255105
+Node: File Function258318
+Node: Call Function260396
+Node: Value Function263281
+Node: Eval Function264718
+Node: Origin Function266994
+Node: Flavor Function270220
+Node: Make Control Functions271264
+Node: Shell Function272950
+Node: Guile Function274583
+Node: Running275333
+Node: Makefile Arguments277314
+Node: Goals278030
+Node: Instead of Execution282769
+Node: Avoiding Compilation286484
+Node: Overriding288459
+Node: Testing290771
+Node: Options Summary292655
+Node: Implicit Rules305689
+Node: Using Implicit307826
+Node: Catalogue of Rules311345
+Node: Implicit Variables320689
+Node: Chained Rules325762
+Node: Pattern Rules329772
+Node: Pattern Intro331306
+Node: Pattern Examples333888
+Node: Automatic Variables335695
+Node: Pattern Match343045
+Node: Match-Anything Rules346368
+Node: Canceling Rules350247
+Node: Last Resort350961
+Node: Suffix Rules352790
+Node: Implicit Rule Search356515
+Node: Archives360014
+Node: Archive Members360719
+Node: Archive Update362329
+Node: Archive Symbols364240
+Node: Archive Pitfalls365473
+Node: Archive Suffix Rules366195
+Node: Extending make367743
+Node: Guile Integration368880
+Node: Guile Types370108
+Node: Guile Interface372528
+Node: Guile Example373814
+Node: Loading Objects376005
+Node: load Directive377495
+Node: Remaking Loaded Objects380249
+Node: Loaded Object API380883
+Node: Loaded Object Example387645
+Node: Features389892
+Node: Missing399059
+Node: Makefile Conventions402784
+Node: Makefile Basics403763
+Node: Utilities in Makefiles406930
+Node: Command Variables409429
+Node: DESTDIR412669
+Node: Directory Variables414836
+Node: Standard Targets430192
+Node: Install Command Categories444298
+Node: Quick Reference448824
+Node: Error Messages461529
+Node: Complex Makefile469425
+Node: GNU Free Documentation License478043
+Node: Concept Index503185
+Node: Name Index573971

End Tag Table
diff --git a/doc/make.info-1 b/doc/make.info-1
index 4025d3e..2a1a922 100644
--- a/doc/make.info-1
+++ b/doc/make.info-1
@@ -1,15 +1,15 @@
-This is make.info, produced by makeinfo version 4.13 from make.texi.
+This is make.info, produced by makeinfo version 5.2 from make.texi.
-This file documents the GNU `make' utility, which determines
-automatically which pieces of a large program need to be recompiled,
-and issues the commands to recompile them.
+This file documents the GNU 'make' utility, which determines
+automatically which pieces of a large program need to be recompiled, and
+issues the commands to recompile them.
- This is Edition 0.72, last updated 9 October 2013, of `The GNU Make
-Manual', for GNU `make' version 4.0.
+ This is Edition 0.73, last updated 5 October 2014, of 'The GNU Make
+Manual', for GNU 'make' version 4.1.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -22,7 +22,6 @@ Manual', for GNU `make' version 4.0.
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual. Buying copies from the FSF supports it in
developing GNU and promoting software freedom."
-
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Make: (make). Remake files automatically.
@@ -31,19 +30,19 @@ END-INFO-DIR-ENTRY

File: make.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
-GNU `make'
+GNU 'make'
**********
-This file documents the GNU `make' utility, which determines
-automatically which pieces of a large program need to be recompiled,
-and issues the commands to recompile them.
+This file documents the GNU 'make' utility, which determines
+automatically which pieces of a large program need to be recompiled, and
+issues the commands to recompile them.
- This is Edition 0.72, last updated 9 October 2013, of `The GNU Make
-Manual', for GNU `make' version 4.0.
+ This is Edition 0.73, last updated 5 October 2014, of 'The GNU Make
+Manual', for GNU 'make' version 4.1.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -59,26 +58,26 @@ Manual', for GNU `make' version 4.0.
* Menu:
-* Overview:: Overview of `make'.
-* Introduction:: An introduction to `make'.
-* Makefiles:: Makefiles tell `make' what to do.
+* Overview:: Overview of 'make'.
+* Introduction:: An introduction to 'make'.
+* Makefiles:: Makefiles tell 'make' what to do.
* Rules:: Rules describe when a file must be remade.
* Recipes:: Recipes say how to remake a file.
* Using Variables:: You can use variables to avoid repetition.
* Conditionals:: Use or ignore parts of the makefile based
on the values of variables.
* Functions:: Many powerful ways to manipulate text.
-* Invoking make: Running. How to invoke `make' on the command line.
+* Invoking make: Running. How to invoke 'make' on the command line.
* Implicit Rules:: Use implicit rules to treat many files alike,
based on their file names.
-* Archives:: How `make' can update library archives.
-* Extending make:: Using extensions to `make'.
-* Features:: Features GNU `make' has over other `make's.
-* Missing:: What GNU `make' lacks from other `make's.
+* Archives:: How 'make' can update library archives.
+* Extending make:: Using extensions to 'make'.
+* Features:: Features GNU 'make' has over other 'make's.
+* Missing:: What GNU 'make' lacks from other 'make's.
* Makefile Conventions:: Conventions for writing makefiles for
GNU programs.
* Quick Reference:: A quick reference for experienced users.
-* Error Messages:: A list of common errors generated by `make'.
+* Error Messages:: A list of common errors generated by 'make'.
* Complex Makefile:: A real example of a straightforward,
but nontrivial, makefile.
@@ -86,11 +85,11 @@ Manual', for GNU `make' version 4.0.
* Concept Index:: Index of Concepts.
* Name Index:: Index of Functions, Variables, & Directives.
- --- The Detailed Node Listing ---
+ -- The Detailed Node Listing --
-Overview of `make'
+Overview of 'make'
-* Preparing:: Preparing and running `make'.
+* Preparing:: Preparing and running 'make'.
* Reading:: On reading this text.
* Bugs:: Problems and bugs.
@@ -98,9 +97,9 @@ An Introduction to Makefiles
* Rule Introduction:: What a rule looks like.
* Simple Makefile:: A simple makefile.
-* How Make Works:: How `make' processes this makefile.
+* How Make Works:: How 'make' processes this makefile.
* Variables Simplify:: Variables make makefiles simpler.
-* make Deduces:: Letting `make' deduce the recipes.
+* make Deduces:: Letting 'make' deduce the recipes.
* Combine By Prerequisite:: Another style of makefile.
* Cleanup:: Rules for cleaning the directory.
@@ -125,7 +124,7 @@ Writing Rules
* Rule Example:: An example explained.
* Rule Syntax:: General syntax explained.
* Prerequisite Types:: There are two types of prerequisites.
-* Wildcards:: Using wildcard characters such as `*'.
+* Wildcards:: Using wildcard characters such as '*'.
* Directory Search:: Searching other directories for source files.
* Phony Targets:: Using a target that is not a real file's name.
* Force Targets:: You can use a target without a recipe
@@ -176,19 +175,19 @@ Writing Recipes in Rules
* Parallel:: How recipes can be executed in parallel.
* Errors:: What happens after a recipe execution error.
* Interrupts:: What happens when a recipe is interrupted.
-* Recursion:: Invoking `make' from makefiles.
+* Recursion:: Invoking 'make' from makefiles.
* Canned Recipes:: Defining canned recipes.
* Empty Recipes:: Defining useful, do-nothing recipes.
Recipe Syntax
* Splitting Recipe Lines:: Breaking long recipe lines for readability.
-* Variables in Recipes:: Using `make' variables in recipes.
+* Variables in Recipes:: Using 'make' variables in recipes.
Recipe Execution
* One Shell:: One shell for all lines in a recipe.
-* Choosing the Shell:: How `make' chooses the shell used
+* Choosing the Shell:: How 'make' chooses the shell used
to run recipes.
Parallel Execution
@@ -196,13 +195,13 @@ Parallel Execution
* Parallel Output:: Handling output during parallel execution
* Parallel Input:: Handling input during parallel execution
-Recursive Use of `make'
+Recursive Use of 'make'
-* MAKE Variable:: The special effects of using `$(MAKE)'.
-* Variables/Recursion:: How to communicate variables to a sub-`make'.
-* Options/Recursion:: How to communicate options to a sub-`make'.
-* -w Option:: How the `-w' or `--print-directory' option
- helps debug use of recursive `make' commands.
+* MAKE Variable:: The special effects of using '$(MAKE)'.
+* Variables/Recursion:: How to communicate variables to a sub-'make'.
+* Options/Recursion:: How to communicate options to a sub-'make'.
+* -w Option:: How the '-w' or '--print-directory' option
+ helps debug use of recursive 'make' commands.
How to Use Variables
@@ -256,7 +255,7 @@ Functions for Transforming Text
* Shell Function:: Substitute the output of a shell command.
* Guile Function:: Use GNU Guile embedded scripting language.
-How to Run `make'
+How to Run 'make'
* Makefile Arguments:: How to specify which makefile to use.
* Goals:: How to use goal arguments to specify which
@@ -276,7 +275,7 @@ Using Implicit Rules
* Using Implicit:: How to use an existing implicit rule
to get the recipes for updating a file.
-* Catalogue of Rules:: A list of built-in implicit rules.
+* Catalogue of Rules:: A list of built-in rules.
* Implicit Variables:: How to change what predefined rules do.
* Chained Rules:: How to use a chain of implicit rules.
* Pattern Rules:: How to define new implicit rules.
@@ -298,7 +297,7 @@ Defining and Redefining Pattern Rules
target file whatever.
* Canceling Rules:: How to override or cancel built-in rules.
-Using `make' to Update Archive Files
+Using 'make' to Update Archive Files
* Archive Members:: Archive members as targets.
* Archive Update:: The implicit rule for archive member targets.
@@ -310,16 +309,16 @@ Implicit Rule for Archive Member Targets
* Archive Symbols:: How to update archive symbol directories.
-Extending GNU `make'
+Extending GNU 'make'
* Guile Integration:: Using Guile as an embedded scripting language.
* Loading Objects:: Loading dynamic objects as extensions.
GNU Guile Integration
-* Guile Types:: Converting Guile types to `make' strings.
-* Guile Interface:: Invoking `make' functions from Guile.
-* Guile Example:: Example using Guile in `make'.
+* Guile Types:: Converting Guile types to 'make' strings.
+* Guile Interface:: Invoking 'make' functions from Guile.
+* Guile Example:: Example using Guile in 'make'.
Loading Dynamic Objects
@@ -328,30 +327,31 @@ Loading Dynamic Objects
* Loaded Object API:: Programmatic interface for loaded objects.
* Loaded Object Example:: Example of a loaded object
+

File: make.info, Node: Overview, Next: Introduction, Prev: Top, Up: Top
-1 Overview of `make'
+1 Overview of 'make'
********************
-The `make' utility automatically determines which pieces of a large
+The 'make' utility automatically determines which pieces of a large
program need to be recompiled, and issues commands to recompile them.
-This manual describes GNU `make', which was implemented by Richard
+This manual describes GNU 'make', which was implemented by Richard
Stallman and Roland McGrath. Development since Version 3.76 has been
handled by Paul D. Smith.
- GNU `make' conforms to section 6.2 of `IEEE Standard 1003.2-1992'
-(POSIX.2).
+ GNU 'make' conforms to section 6.2 of 'IEEE Standard 1003.2-1992'
+(POSIX.2).
- Our examples show C programs, since they are most common, but you
-can use `make' with any programming language whose compiler can be run
-with a shell command. Indeed, `make' is not limited to programs. You
-can use it to describe any task where some files must be updated
+ Our examples show C programs, since they are most common, but you can
+use 'make' with any programming language whose compiler can be run with
+a shell command. Indeed, 'make' is not limited to programs. You can
+use it to describe any task where some files must be updated
automatically from others whenever the others change.
* Menu:
-* Preparing:: Preparing and running `make'.
+* Preparing:: Preparing and running 'make'.
* Reading:: On reading this text.
* Bugs:: Problems and bugs.
@@ -361,24 +361,24 @@ File: make.info, Node: Preparing, Next: Reading, Prev: Overview, Up: Overvie
Preparing and Running Make
==========================
- To prepare to use `make', you must write a file called the
-"makefile" that describes the relationships among files in your program
-and provides commands for updating each file. In a program, typically,
-the executable file is updated from object files, which are in turn
-made by compiling source files.
+To prepare to use 'make', you must write a file called the "makefile"
+that describes the relationships among files in your program and
+provides commands for updating each file. In a program, typically, the
+executable file is updated from object files, which are in turn made by
+compiling source files.
Once a suitable makefile exists, each time you change some source
files, this simple shell command:
make
-suffices to perform all necessary recompilations. The `make' program
-uses the makefile data base and the last-modification times of the
-files to decide which of the files need to be updated. For each of
-those files, it issues the recipes recorded in the data base.
+suffices to perform all necessary recompilations. The 'make' program
+uses the makefile data base and the last-modification times of the files
+to decide which of the files need to be updated. For each of those
+files, it issues the recipes recorded in the data base.
- You can provide command line arguments to `make' to control which
-files should be recompiled, or how. *Note How to Run `make': Running.
+ You can provide command line arguments to 'make' to control which
+files should be recompiled, or how. *Note How to Run 'make': Running.

File: make.info, Node: Reading, Next: Bugs, Prev: Preparing, Up: Overview
@@ -386,17 +386,17 @@ File: make.info, Node: Reading, Next: Bugs, Prev: Preparing, Up: Overview
1.1 How to Read This Manual
===========================
-If you are new to `make', or are looking for a general introduction,
+If you are new to 'make', or are looking for a general introduction,
read the first few sections of each chapter, skipping the later
sections. In each chapter, the first few sections contain introductory
or general information and the later sections contain specialized or
technical information. The exception is the second chapter, *note An
Introduction to Makefiles: Introduction, all of which is introductory.
- If you are familiar with other `make' programs, see *note Features
-of GNU `make': Features, which lists the enhancements GNU `make' has,
-and *note Incompatibilities and Missing Features: Missing, which
-explains the few things GNU `make' lacks that others have.
+ If you are familiar with other 'make' programs, see *note Features of
+GNU 'make': Features, which lists the enhancements GNU 'make' has, and
+*note Incompatibilities and Missing Features: Missing, which explains
+the few things GNU 'make' lacks that others have.
For a quick summary, see *note Options Summary::, *note Quick
Reference::, and *note Special Targets::.
@@ -407,9 +407,9 @@ File: make.info, Node: Bugs, Prev: Reading, Up: Overview
1.2 Problems and Bugs
=====================
-If you have problems with GNU `make' or think you've found a bug,
-please report it to the developers; we cannot promise to do anything but
-we might well want to fix it.
+If you have problems with GNU 'make' or think you've found a bug, please
+report it to the developers; we cannot promise to do anything but we
+might well want to fix it.
Before reporting a bug, make sure you've actually found a real bug.
Carefully reread the documentation and see if it really says you can do
@@ -419,14 +419,14 @@ documentation!
Before reporting a bug or trying to fix it yourself, try to isolate
it to the smallest possible makefile that reproduces the problem. Then
-send us the makefile and the exact results `make' gave you, including
+send us the makefile and the exact results 'make' gave you, including
any error or warning messages. Please don't paraphrase these messages:
it's best to cut and paste them into your report. When generating this
-small makefile, be sure to not use any non-free or unusual tools in
-your recipes: you can almost always emulate what such a tool would do
-with simple shell commands. Finally, be sure to explain what you
-expected to occur; this will help us decide whether the problem was
-really in the documentation.
+small makefile, be sure to not use any non-free or unusual tools in your
+recipes: you can almost always emulate what such a tool would do with
+simple shell commands. Finally, be sure to explain what you expected to
+occur; this will help us decide whether the problem was really in the
+documentation.
Once you have a precise problem you can report it in one of two ways.
Either send electronic mail to:
@@ -438,11 +438,11 @@ or use our Web-based project management tool, at:
http://savannah.gnu.org/projects/make/
In addition to the information above, please be careful to include the
-version number of `make' you are using. You can get this information
-with the command `make --version'. Be sure also to include the type of
+version number of 'make' you are using. You can get this information
+with the command 'make --version'. Be sure also to include the type of
machine and operating system you are using. One way to obtain this
information is by looking at the final lines of output from the command
-`make --help'.
+'make --help'.

File: make.info, Node: Introduction, Next: Makefiles, Prev: Overview, Up: Top
@@ -450,31 +450,31 @@ File: make.info, Node: Introduction, Next: Makefiles, Prev: Overview, Up: To
2 An Introduction to Makefiles
******************************
-You need a file called a "makefile" to tell `make' what to do. Most
-often, the makefile tells `make' how to compile and link a program.
+You need a file called a "makefile" to tell 'make' what to do. Most
+often, the makefile tells 'make' how to compile and link a program.
- In this chapter, we will discuss a simple makefile that describes
-how to compile and link a text editor which consists of eight C source
-files and three header files. The makefile can also tell `make' how to
-run miscellaneous commands when explicitly asked (for example, to remove
+ In this chapter, we will discuss a simple makefile that describes how
+to compile and link a text editor which consists of eight C source files
+and three header files. The makefile can also tell 'make' how to run
+miscellaneous commands when explicitly asked (for example, to remove
certain files as a clean-up operation). To see a more complex example
of a makefile, see *note Complex Makefile::.
- When `make' recompiles the editor, each changed C source file must
-be recompiled. If a header file has changed, each C source file that
+ When 'make' recompiles the editor, each changed C source file must be
+recompiled. If a header file has changed, each C source file that
includes the header file must be recompiled to be safe. Each
compilation produces an object file corresponding to the source file.
Finally, if any source file has been recompiled, all the object files,
whether newly made or saved from previous compilations, must be linked
-together to produce the new executable editor.
+together to produce the new executable editor.
* Menu:
* Rule Introduction:: What a rule looks like.
* Simple Makefile:: A simple makefile.
-* How Make Works:: How `make' processes this makefile.
+* How Make Works:: How 'make' processes this makefile.
* Variables Simplify:: Variables make makefiles simpler.
-* make Deduces:: Letting `make' deduce the recipes.
+* make Deduces:: Letting 'make' deduce the recipes.
* Combine By Prerequisite:: Another style of makefile.
* Cleanup:: Rules for cleaning the directory.
@@ -493,36 +493,36 @@ A simple makefile consists of "rules" with the following shape:
A "target" is usually the name of a file that is generated by a
program; examples of targets are executable or object files. A target
-can also be the name of an action to carry out, such as `clean' (*note
+can also be the name of an action to carry out, such as 'clean' (*note
Phony Targets::).
A "prerequisite" is a file that is used as input to create the
target. A target often depends on several files.
- A "recipe" is an action that `make' carries out. A recipe may have
+ A "recipe" is an action that 'make' carries out. A recipe may have
more than one command, either on the same line or each on its own line.
-*Please note:* you need to put a tab character at the beginning of
-every recipe line! This is an obscurity that catches the unwary. If
-you prefer to prefix your recipes with a character other than tab, you
-can set the `.RECIPEPREFIX' variable to an alternate character (*note
+*Please note:* you need to put a tab character at the beginning of every
+recipe line! This is an obscurity that catches the unwary. If you
+prefer to prefix your recipes with a character other than tab, you can
+set the '.RECIPEPREFIX' variable to an alternate character (*note
Special Variables::).
- Usually a recipe is in a rule with prerequisites and serves to
-create a target file if any of the prerequisites change. However, the
-rule that specifies a recipe for the target need not have
-prerequisites. For example, the rule containing the delete command
-associated with the target `clean' does not have prerequisites.
+ Usually a recipe is in a rule with prerequisites and serves to create
+a target file if any of the prerequisites change. However, the rule
+that specifies a recipe for the target need not have prerequisites. For
+example, the rule containing the delete command associated with the
+target 'clean' does not have prerequisites.
A "rule", then, explains how and when to remake certain files which
-are the targets of the particular rule. `make' carries out the recipe
+are the targets of the particular rule. 'make' carries out the recipe
on the prerequisites to create or update the target. A rule can also
explain how and when to carry out an action. *Note Writing Rules:
Rules.
A makefile may contain other text besides rules, but a simple
makefile need only contain rules. Rules may look somewhat more
-complicated than shown in this template, but all fit the pattern more
-or less.
+complicated than shown in this template, but all fit the pattern more or
+less.

File: make.info, Node: Simple Makefile, Next: How Make Works, Prev: Rule Introduction, Up: Introduction
@@ -531,12 +531,12 @@ File: make.info, Node: Simple Makefile, Next: How Make Works, Prev: Rule Intr
=====================
Here is a straightforward makefile that describes the way an executable
-file called `edit' depends on eight object files which, in turn, depend
+file called 'edit' depends on eight object files which, in turn, depend
on eight C source and three header files.
- In this example, all the C files include `defs.h', but only those
-defining editing commands include `command.h', and only low level files
-that change the editor buffer include `buffer.h'.
+ In this example, all the C files include 'defs.h', but only those
+defining editing commands include 'command.h', and only low level files
+that change the editor buffer include 'buffer.h'.
edit : main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
@@ -565,9 +565,9 @@ that change the editor buffer include `buffer.h'.
We split each long line into two lines using backslash/newline; this is
like using one long line, but is easier to read. *Note Splitting Long
-Lines: Splitting Lines.
+Lines: Splitting Lines.
- To use this makefile to create the executable file called `edit',
+ To use this makefile to create the executable file called 'edit',
type:
make
@@ -578,92 +578,92 @@ files from the directory, type:
make clean
In the example makefile, the targets include the executable file
-`edit', and the object files `main.o' and `kbd.o'. The prerequisites
-are files such as `main.c' and `defs.h'. In fact, each `.o' file is
-both a target and a prerequisite. Recipes include `cc -c main.c' and
-`cc -c kbd.c'.
+'edit', and the object files 'main.o' and 'kbd.o'. The prerequisites
+are files such as 'main.c' and 'defs.h'. In fact, each '.o' file is
+both a target and a prerequisite. Recipes include 'cc -c main.c' and
+'cc -c kbd.c'.
When a target is a file, it needs to be recompiled or relinked if any
of its prerequisites change. In addition, any prerequisites that are
themselves automatically generated should be updated first. In this
-example, `edit' depends on each of the eight object files; the object
-file `main.o' depends on the source file `main.c' and on the header
-file `defs.h'.
+example, 'edit' depends on each of the eight object files; the object
+file 'main.o' depends on the source file 'main.c' and on the header file
+'defs.h'.
A recipe may follow each line that contains a target and
prerequisites. These recipes say how to update the target file. A tab
-character (or whatever character is specified by the `.RECIPEPREFIX'
-variable; *note Special Variables::) must come at the beginning of
-every line in the recipe to distinguish recipes from other lines in the
-makefile. (Bear in mind that `make' does not know anything about how
+character (or whatever character is specified by the '.RECIPEPREFIX'
+variable; *note Special Variables::) must come at the beginning of every
+line in the recipe to distinguish recipes from other lines in the
+makefile. (Bear in mind that 'make' does not know anything about how
the recipes work. It is up to you to supply recipes that will update
-the target file properly. All `make' does is execute the recipe you
-have specified when the target file needs to be updated.)
+the target file properly. All 'make' does is execute the recipe you
+have specified when the target file needs to be updated.)
- The target `clean' is not a file, but merely the name of an action.
+ The target 'clean' is not a file, but merely the name of an action.
Since you normally do not want to carry out the actions in this rule,
-`clean' is not a prerequisite of any other rule. Consequently, `make'
+'clean' is not a prerequisite of any other rule. Consequently, 'make'
never does anything with it unless you tell it specifically. Note that
this rule not only is not a prerequisite, it also does not have any
prerequisites, so the only purpose of the rule is to run the specified
recipe. Targets that do not refer to files but are just actions are
called "phony targets". *Note Phony Targets::, for information about
this kind of target. *Note Errors in Recipes: Errors, to see how to
-cause `make' to ignore errors from `rm' or any other command.
+cause 'make' to ignore errors from 'rm' or any other command.

File: make.info, Node: How Make Works, Next: Variables Simplify, Prev: Simple Makefile, Up: Introduction
-2.3 How `make' Processes a Makefile
+2.3 How 'make' Processes a Makefile
===================================
-By default, `make' starts with the first target (not targets whose
-names start with `.'). This is called the "default goal". ("Goals"
-are the targets that `make' strives ultimately to update. You can
-override this behavior using the command line (*note Arguments to
-Specify the Goals: Goals.) or with the `.DEFAULT_GOAL' special variable
-(*note Other Special Variables: Special Variables.).
+By default, 'make' starts with the first target (not targets whose names
+start with '.'). This is called the "default goal". ("Goals" are the
+targets that 'make' strives ultimately to update. You can override this
+behavior using the command line (*note Arguments to Specify the Goals:
+Goals.) or with the '.DEFAULT_GOAL' special variable (*note Other
+Special Variables: Special Variables.).
In the simple example of the previous section, the default goal is to
-update the executable program `edit'; therefore, we put that rule first.
+update the executable program 'edit'; therefore, we put that rule first.
Thus, when you give the command:
make
-`make' reads the makefile in the current directory and begins by
+'make' reads the makefile in the current directory and begins by
processing the first rule. In the example, this rule is for relinking
-`edit'; but before `make' can fully process this rule, it must process
-the rules for the files that `edit' depends on, which in this case are
-the object files. Each of these files is processed according to its
-own rule. These rules say to update each `.o' file by compiling its
-source file. The recompilation must be done if the source file, or any
-of the header files named as prerequisites, is more recent than the
-object file, or if the object file does not exist.
+'edit'; but before 'make' can fully process this rule, it must process
+the rules for the files that 'edit' depends on, which in this case are
+the object files. Each of these files is processed according to its own
+rule. These rules say to update each '.o' file by compiling its source
+file. The recompilation must be done if the source file, or any of the
+header files named as prerequisites, is more recent than the object
+file, or if the object file does not exist.
The other rules are processed because their targets appear as
prerequisites of the goal. If some other rule is not depended on by the
goal (or anything it depends on, etc.), that rule is not processed,
-unless you tell `make' to do so (with a command such as `make clean').
+unless you tell 'make' to do so (with a command such as 'make clean').
- Before recompiling an object file, `make' considers updating its
+ Before recompiling an object file, 'make' considers updating its
prerequisites, the source file and header files. This makefile does not
-specify anything to be done for them--the `.c' and `.h' files are not
-the targets of any rules--so `make' does nothing for these files. But
-`make' would update automatically generated C programs, such as those
+specify anything to be done for them--the '.c' and '.h' files are not
+the targets of any rules--so 'make' does nothing for these files. But
+'make' would update automatically generated C programs, such as those
made by Bison or Yacc, by their own rules at this time.
- After recompiling whichever object files need it, `make' decides
-whether to relink `edit'. This must be done if the file `edit' does
-not exist, or if any of the object files are newer than it. If an
-object file was just recompiled, it is now newer than `edit', so `edit'
-is relinked.
+ After recompiling whichever object files need it, 'make' decides
+whether to relink 'edit'. This must be done if the file 'edit' does not
+exist, or if any of the object files are newer than it. If an object
+file was just recompiled, it is now newer than 'edit', so 'edit' is
+relinked.
- Thus, if we change the file `insert.c' and run `make', `make' will
-compile that file to update `insert.o', and then link `edit'. If we
-change the file `command.h' and run `make', `make' will recompile the
-object files `kbd.o', `command.o' and `files.o' and then link the file
-`edit'.
+ Thus, if we change the file 'insert.c' and run 'make', 'make' will
+compile that file to update 'insert.o', and then link 'edit'. If we
+change the file 'command.h' and run 'make', 'make' will recompile the
+object files 'kbd.o', 'command.o' and 'files.o' and then link the file
+'edit'.

File: make.info, Node: Variables Simplify, Next: make Deduces, Prev: How Make Works, Up: Introduction
@@ -672,7 +672,7 @@ File: make.info, Node: Variables Simplify, Next: make Deduces, Prev: How Make
====================================
In our example, we had to list all the object files twice in the rule
-for `edit' (repeated here):
+for 'edit' (repeated here):
edit : main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
@@ -686,15 +686,15 @@ eliminate the risk and simplify the makefile by using a variable.
multiple places later (*note How to Use Variables: Using Variables.).
It is standard practice for every makefile to have a variable named
-`objects', `OBJECTS', `objs', `OBJS', `obj', or `OBJ' which is a list
-of all object file names. We would define such a variable `objects'
-with a line like this in the makefile:
+'objects', 'OBJECTS', 'objs', 'OBJS', 'obj', or 'OBJ' which is a list of
+all object file names. We would define such a variable 'objects' with a
+line like this in the makefile:
objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
Then, each place we want to put a list of the object file names, we can
-substitute the variable's value by writing `$(objects)' (*note How to
+substitute the variable's value by writing '$(objects)' (*note How to
Use Variables: Using Variables.).
Here is how the complete simple makefile looks when you use a
@@ -727,23 +727,23 @@ variable for the object files:

File: make.info, Node: make Deduces, Next: Combine By Prerequisite, Prev: Variables Simplify, Up: Introduction
-2.5 Letting `make' Deduce the Recipes
+2.5 Letting 'make' Deduce the Recipes
=====================================
It is not necessary to spell out the recipes for compiling the
-individual C source files, because `make' can figure them out: it has an
-"implicit rule" for updating a `.o' file from a correspondingly named
-`.c' file using a `cc -c' command. For example, it will use the recipe
-`cc -c main.c -o main.o' to compile `main.c' into `main.o'. We can
+individual C source files, because 'make' can figure them out: it has an
+"implicit rule" for updating a '.o' file from a correspondingly named
+'.c' file using a 'cc -c' command. For example, it will use the recipe
+'cc -c main.c -o main.o' to compile 'main.c' into 'main.o'. We can
therefore omit the recipes from the rules for the object files. *Note
Using Implicit Rules: Implicit Rules.
- When a `.c' file is used automatically in this way, it is also
+ When a '.c' file is used automatically in this way, it is also
automatically added to the list of prerequisites. We can therefore omit
-the `.c' files from the prerequisites, provided we omit the recipe.
+the '.c' files from the prerequisites, provided we omit the recipe.
Here is the entire example, with both of these changes, and a
-variable `objects' as suggested above:
+variable 'objects' as suggested above:
objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
@@ -765,7 +765,7 @@ variable `objects' as suggested above:
rm edit $(objects)
This is how we would write the makefile in actual practice. (The
-complications associated with `clean' are described elsewhere. See
+complications associated with 'clean' are described elsewhere. See
*note Phony Targets::, and *note Errors in Recipes: Errors.)
Because implicit rules are so convenient, they are important. You
@@ -792,8 +792,8 @@ Here is what one looks like:
kbd.o command.o files.o : command.h
display.o insert.o search.o files.o : buffer.h
-Here `defs.h' is given as a prerequisite of all the object files;
-`command.h' and `buffer.h' are prerequisites of the specific object
+Here 'defs.h' is given as a prerequisite of all the object files;
+'command.h' and 'buffer.h' are prerequisites of the specific object
files listed for them.
Whether this is better is a matter of taste: it is more compact, but
@@ -808,10 +808,10 @@ File: make.info, Node: Cleanup, Prev: Combine By Prerequisite, Up: Introducti
Compiling a program is not the only thing you might want to write rules
for. Makefiles commonly tell how to do a few other things besides
-compiling a program: for example, how to delete all the object files
-and executables so that the directory is `clean'.
+compiling a program: for example, how to delete all the object files and
+executables so that the directory is 'clean'.
- Here is how we could write a `make' rule for cleaning our example
+ Here is how we could write a 'make' rule for cleaning our example
editor:
clean:
@@ -825,19 +825,19 @@ this:
clean :
-rm edit $(objects)
-This prevents `make' from getting confused by an actual file called
-`clean' and causes it to continue in spite of errors from `rm'. (See
+This prevents 'make' from getting confused by an actual file called
+'clean' and causes it to continue in spite of errors from 'rm'. (See
*note Phony Targets::, and *note Errors in Recipes: Errors.)
A rule such as this should not be placed at the beginning of the
makefile, because we do not want it to run by default! Thus, in the
-example makefile, we want the rule for `edit', which recompiles the
+example makefile, we want the rule for 'edit', which recompiles the
editor, to remain the default goal.
- Since `clean' is not a prerequisite of `edit', this rule will not
-run at all if we give the command `make' with no arguments. In order
-to make the rule run, we have to type `make clean'. *Note How to Run
-`make': Running.
+ Since 'clean' is not a prerequisite of 'edit', this rule will not run
+at all if we give the command 'make' with no arguments. In order to
+make the rule run, we have to type 'make clean'. *Note How to Run
+'make': Running.

File: make.info, Node: Makefiles, Next: Rules, Prev: Introduction, Up: Top
@@ -845,7 +845,7 @@ File: make.info, Node: Makefiles, Next: Rules, Prev: Introduction, Up: Top
3 Writing Makefiles
*******************
-The information that tells `make' how to recompile a system comes from
+The information that tells 'make' how to recompile a system comes from
reading a data base called the "makefile".
* Menu:
@@ -878,17 +878,17 @@ variables, and directives are described at length in later chapters.
* An "implicit rule" says when and how to remake a class of files
based on their names. It describes how a target may depend on a
- file with a name similar to the target and gives a recipe to
- create or update such a target. *Note Using Implicit Rules:
- Implicit Rules.
+ file with a name similar to the target and gives a recipe to create
+ or update such a target. *Note Using Implicit Rules: Implicit
+ Rules.
* A "variable definition" is a line that specifies a text string
value for a variable that can be substituted into the text later.
The simple makefile example shows a variable definition for
- `objects' as a list of all object files (*note Variables Make
+ 'objects' as a list of all object files (*note Variables Make
Makefiles Simpler: Variables Simplify.).
- * A "directive" is an instruction for `make' to do something special
+ * A "directive" is an instruction for 'make' to do something special
while reading the makefile. These include:
* Reading another makefile (*note Including Other Makefiles:
@@ -898,21 +898,20 @@ variables, and directives are described at length in later chapters.
ignore a part of the makefile (*note Conditional Parts of
Makefiles: Conditionals.).
- * Defining a variable from a verbatim string containing
- multiple lines (*note Defining Multi-Line Variables:
- Multi-Line.).
+ * Defining a variable from a verbatim string containing multiple
+ lines (*note Defining Multi-Line Variables: Multi-Line.).
- * `#' in a line of a makefile starts a "comment". It and the rest
- of the line are ignored, except that a trailing backslash not
- escaped by another backslash will continue the comment across
- multiple lines. A line containing just a comment (with perhaps
- spaces before it) is effectively blank, and is ignored. If you
- want a literal `#', escape it with a backslash (e.g., `\#').
- Comments may appear on any line in the makefile, although they are
- treated specially in certain situations.
+ * '#' in a line of a makefile starts a "comment". It and the rest of
+ the line are ignored, except that a trailing backslash not escaped
+ by another backslash will continue the comment across multiple
+ lines. A line containing just a comment (with perhaps spaces
+ before it) is effectively blank, and is ignored. If you want a
+ literal '#', escape it with a backslash (e.g., '\#'). Comments may
+ appear on any line in the makefile, although they are treated
+ specially in certain situations.
You cannot use comments within variable references or function
- calls: any instance of `#' will be treated literally (rather than
+ calls: any instance of '#' will be treated literally (rather than
as the start of a comment) inside a variable reference or function
call.
@@ -920,10 +919,10 @@ variables, and directives are described at length in later chapters.
other recipe text. The shell decides how to interpret it: whether
or not this is a comment is up to the shell.
- Within a `define' directive, comments are not ignored during the
+ Within a 'define' directive, comments are not ignored during the
definition of the variable, but rather kept intact in the value of
the variable. When the variable is expanded they will either be
- treated as `make' comments or as recipe text, depending on the
+ treated as 'make' comments or as recipe text, depending on the
context in which the variable is evaluated.
* Menu:
@@ -937,23 +936,23 @@ File: make.info, Node: Splitting Lines, Prev: Makefile Contents, Up: Makefile
--------------------------
Makefiles use a "line-based" syntax in which the newline character is
-special and marks the end of a statement. GNU `make' has no limit on
+special and marks the end of a statement. GNU 'make' has no limit on
the length of a statement line, up to the amount of memory in your
computer.
However, it is difficult to read lines which are too long to display
without wrapping or scrolling. So, you can format your makefiles for
readability by adding newlines into the middle of a statement: you do
-this by escaping the internal newlines with a backslash (`\')
-character. Where we need to make a distinction we will refer to
-"physical lines" as a single line ending with a newline (regardless of
-whether it is escaped) and a "logical line" being a complete statement
-including all escaped newlines up to the first non-escaped newline.
+this by escaping the internal newlines with a backslash ('\') character.
+Where we need to make a distinction we will refer to "physical lines" as
+a single line ending with a newline (regardless of whether it is
+escaped) and a "logical line" being a complete statement including all
+escaped newlines up to the first non-escaped newline.
The way in which backslash/newline combinations are handled depends
on whether the statement is a recipe line or a non-recipe line.
-Handling of backslash/newline in a recipe line is discussed later
-(*note Splitting Recipe Lines::).
+Handling of backslash/newline in a recipe line is discussed later (*note
+Splitting Recipe Lines::).
Outside of recipe lines, backslash/newlines are converted into a
single space character. Once that is done, all whitespace around the
@@ -962,7 +961,7 @@ whitespace preceding the backslash, all whitespace at the beginning of
the line after the backslash/newline, and any consecutive
backslash/newline combinations.
- If the `.POSIX' special target is defined then backslash/newline
+ If the '.POSIX' special target is defined then backslash/newline
handling is modified slightly to conform to POSIX.2: first, whitespace
preceding a backslash is not removed and second, consecutive
backslash/newlines are not condensed.
@@ -973,31 +972,31 @@ File: make.info, Node: Makefile Names, Next: Include, Prev: Makefile Contents
3.2 What Name to Give Your Makefile
===================================
-By default, when `make' looks for the makefile, it tries the following
-names, in order: `GNUmakefile', `makefile' and `Makefile'.
+By default, when 'make' looks for the makefile, it tries the following
+names, in order: 'GNUmakefile', 'makefile' and 'Makefile'.
- Normally you should call your makefile either `makefile' or
-`Makefile'. (We recommend `Makefile' because it appears prominently
+ Normally you should call your makefile either 'makefile' or
+'Makefile'. (We recommend 'Makefile' because it appears prominently
near the beginning of a directory listing, right near other important
-files such as `README'.) The first name checked, `GNUmakefile', is not
+files such as 'README'.) The first name checked, 'GNUmakefile', is not
recommended for most makefiles. You should use this name if you have a
-makefile that is specific to GNU `make', and will not be understood by
-other versions of `make'. Other `make' programs look for `makefile' and
-`Makefile', but not `GNUmakefile'.
+makefile that is specific to GNU 'make', and will not be understood by
+other versions of 'make'. Other 'make' programs look for 'makefile' and
+'Makefile', but not 'GNUmakefile'.
- If `make' finds none of these names, it does not use any makefile.
-Then you must specify a goal with a command argument, and `make' will
+ If 'make' finds none of these names, it does not use any makefile.
+Then you must specify a goal with a command argument, and 'make' will
attempt to figure out how to remake it using only its built-in implicit
rules. *Note Using Implicit Rules: Implicit Rules.
If you want to use a nonstandard name for your makefile, you can
-specify the makefile name with the `-f' or `--file' option. The
-arguments `-f NAME' or `--file=NAME' tell `make' to read the file NAME
-as the makefile. If you use more than one `-f' or `--file' option, you
+specify the makefile name with the '-f' or '--file' option. The
+arguments '-f NAME' or '--file=NAME' tell 'make' to read the file NAME
+as the makefile. If you use more than one '-f' or '--file' option, you
can specify several makefiles. All the makefiles are effectively
concatenated in the order specified. The default makefile names
-`GNUmakefile', `makefile' and `Makefile' are not checked automatically
-if you specify `-f' or `--file'.
+'GNUmakefile', 'makefile' and 'Makefile' are not checked automatically
+if you specify '-f' or '--file'.

File: make.info, Node: Include, Next: MAKEFILES Variable, Prev: Makefile Names, Up: Makefiles
@@ -1005,27 +1004,27 @@ File: make.info, Node: Include, Next: MAKEFILES Variable, Prev: Makefile Name
3.3 Including Other Makefiles
=============================
-The `include' directive tells `make' to suspend reading the current
+The 'include' directive tells 'make' to suspend reading the current
makefile and read one or more other makefiles before continuing. The
directive is a line in the makefile that looks like this:
include FILENAMES...
FILENAMES can contain shell file name patterns. If FILENAMES is empty,
-nothing is included and no error is printed.
+nothing is included and no error is printed.
Extra spaces are allowed and ignored at the beginning of the line,
but the first character must not be a tab (or the value of
-`.RECIPEPREFIX')--if the line begins with a tab, it will be considered
-a recipe line. Whitespace is required between `include' and the file
+'.RECIPEPREFIX')--if the line begins with a tab, it will be considered a
+recipe line. Whitespace is required between 'include' and the file
names, and between file names; extra whitespace is ignored there and at
-the end of the directive. A comment starting with `#' is allowed at
-the end of the line. If the file names contain any variable or
-function references, they are expanded. *Note How to Use Variables:
-Using Variables.
+the end of the directive. A comment starting with '#' is allowed at the
+end of the line. If the file names contain any variable or function
+references, they are expanded. *Note How to Use Variables: Using
+Variables.
- For example, if you have three `.mk' files, `a.mk', `b.mk', and
-`c.mk', and `$(bar)' expands to `bish bash', then the following
+ For example, if you have three '.mk' files, 'a.mk', 'b.mk', and
+'c.mk', and '$(bar)' expands to 'bish bash', then the following
expression
include foo *.mk $(bar)
@@ -1034,12 +1033,12 @@ expression
include foo a.mk b.mk c.mk bish bash
- When `make' processes an `include' directive, it suspends reading of
+ When 'make' processes an 'include' directive, it suspends reading of
the containing makefile and reads from each listed file in turn. When
-that is finished, `make' resumes reading the makefile in which the
+that is finished, 'make' resumes reading the makefile in which the
directive appears.
- One occasion for using `include' directives is when several programs,
+ One occasion for using 'include' directives is when several programs,
handled by individual makefiles in various directories, need to use a
common set of variable definitions (*note Setting Variables: Setting.)
or pattern rules (*note Defining and Redefining Pattern Rules: Pattern
@@ -1049,38 +1048,38 @@ Rules.).
source files automatically; the prerequisites can be put in a file that
is included by the main makefile. This practice is generally cleaner
than that of somehow appending the prerequisites to the end of the main
-makefile as has been traditionally done with other versions of `make'.
-*Note Automatic Prerequisites::.
+makefile as has been traditionally done with other versions of 'make'.
+*Note Automatic Prerequisites::.
If the specified name does not start with a slash, and the file is
not found in the current directory, several other directories are
-searched. First, any directories you have specified with the `-I' or
-`--include-dir' option are searched (*note Summary of Options: Options
-Summary.). Then the following directories (if they exist) are
-searched, in this order: `PREFIX/include' (normally `/usr/local/include'
-(1)) `/usr/gnu/include', `/usr/local/include', `/usr/include'.
+searched. First, any directories you have specified with the '-I' or
+'--include-dir' option are searched (*note Summary of Options: Options
+Summary.). Then the following directories (if they exist) are searched,
+in this order: 'PREFIX/include' (normally '/usr/local/include' (1))
+'/usr/gnu/include', '/usr/local/include', '/usr/include'.
If an included makefile cannot be found in any of these directories,
a warning message is generated, but it is not an immediately fatal
-error; processing of the makefile containing the `include' continues.
-Once it has finished reading makefiles, `make' will try to remake any
+error; processing of the makefile containing the 'include' continues.
+Once it has finished reading makefiles, 'make' will try to remake any
that are out of date or don't exist. *Note How Makefiles Are Remade:
Remaking Makefiles. Only after it has tried to find a way to remake a
-makefile and failed, will `make' diagnose the missing makefile as a
+makefile and failed, will 'make' diagnose the missing makefile as a
fatal error.
- If you want `make' to simply ignore a makefile which does not exist
-or cannot be remade, with no error message, use the `-include'
-directive instead of `include', like this:
+ If you want 'make' to simply ignore a makefile which does not exist
+or cannot be remade, with no error message, use the '-include' directive
+instead of 'include', like this:
-include FILENAMES...
- This acts like `include' in every way except that there is no error
+ This acts like 'include' in every way except that there is no error
(not even a warning) if any of the FILENAMES (or any prerequisites of
any of the FILENAMES) do not exist or cannot be remade.
- For compatibility with some other `make' implementations, `sinclude'
-is another name for `-include'.
+ For compatibility with some other 'make' implementations, 'sinclude'
+is another name for '-include'.
---------- Footnotes ----------
@@ -1090,31 +1089,31 @@ has been defined to be the root of the DJGPP tree hierarchy.

File: make.info, Node: MAKEFILES Variable, Next: Remaking Makefiles, Prev: Include, Up: Makefiles
-3.4 The Variable `MAKEFILES'
+3.4 The Variable 'MAKEFILES'
============================
-If the environment variable `MAKEFILES' is defined, `make' considers
-its value as a list of names (separated by whitespace) of additional
+If the environment variable 'MAKEFILES' is defined, 'make' considers its
+value as a list of names (separated by whitespace) of additional
makefiles to be read before the others. This works much like the
-`include' directive: various directories are searched for those files
+'include' directive: various directories are searched for those files
(*note Including Other Makefiles: Include.). In addition, the default
goal is never taken from one of these makefiles (or any makefile
included by them) and it is not an error if the files listed in
-`MAKEFILES' are not found.
+'MAKEFILES' are not found.
- The main use of `MAKEFILES' is in communication between recursive
-invocations of `make' (*note Recursive Use of `make': Recursion.). It
+ The main use of 'MAKEFILES' is in communication between recursive
+invocations of 'make' (*note Recursive Use of 'make': Recursion.). It
usually is not desirable to set the environment variable before a
-top-level invocation of `make', because it is usually better not to
-mess with a makefile from outside. However, if you are running `make'
-without a specific makefile, a makefile in `MAKEFILES' can do useful
-things to help the built-in implicit rules work better, such as
-defining search paths (*note Directory Search::).
+top-level invocation of 'make', because it is usually better not to mess
+with a makefile from outside. However, if you are running 'make'
+without a specific makefile, a makefile in 'MAKEFILES' can do useful
+things to help the built-in implicit rules work better, such as defining
+search paths (*note Directory Search::).
- Some users are tempted to set `MAKEFILES' in the environment
+ Some users are tempted to set 'MAKEFILES' in the environment
automatically on login, and program makefiles to expect this to be done.
-This is a very bad idea, because such makefiles will fail to work if
-run by anyone else. It is much better to write explicit `include'
+This is a very bad idea, because such makefiles will fail to work if run
+by anyone else. It is much better to write explicit 'include'
directives in the makefiles. *Note Including Other Makefiles: Include.

@@ -1125,22 +1124,22 @@ File: make.info, Node: Remaking Makefiles, Next: Overriding Makefiles, Prev:
Sometimes makefiles can be remade from other files, such as RCS or SCCS
files. If a makefile can be remade from other files, you probably want
-`make' to get an up-to-date version of the makefile to read in.
+'make' to get an up-to-date version of the makefile to read in.
- To this end, after reading in all makefiles, `make' will consider
+ To this end, after reading in all makefiles, 'make' will consider
each as a goal target and attempt to update it. If a makefile has a
rule which says how to update it (found either in that very makefile or
in another one) or if an implicit rule applies to it (*note Using
Implicit Rules: Implicit Rules.), it will be updated if necessary.
After all makefiles have been checked, if any have actually been
-changed, `make' starts with a clean slate and reads all the makefiles
+changed, 'make' starts with a clean slate and reads all the makefiles
over again. (It will also attempt to update each of them over again,
but normally this will not change them again, since they are already up
to date.)
If you know that one or more of your makefiles cannot be remade and
-you want to keep `make' from performing an implicit rule search on
-them, perhaps for efficiency reasons, you can use any normal method of
+you want to keep 'make' from performing an implicit rule search on them,
+perhaps for efficiency reasons, you can use any normal method of
preventing implicit rule look-up to do so. For example, you can write
an explicit rule with the makefile as the target, and an empty recipe
(*note Using Empty Recipes: Empty Recipes.).
@@ -1149,51 +1148,51 @@ an explicit rule with the makefile as the target, and an empty recipe
recipe but no prerequisites, that file will always be remade (*note
Double-Colon::). In the case of makefiles, a makefile that has a
double-colon rule with a recipe but no prerequisites will be remade
-every time `make' is run, and then again after `make' starts over and
-reads the makefiles in again. This would cause an infinite loop:
-`make' would constantly remake the makefile, and never do anything
-else. So, to avoid this, `make' will *not* attempt to remake makefiles
-which are specified as targets of a double-colon rule with a recipe but
-no prerequisites.
-
- If you do not specify any makefiles to be read with `-f' or `--file'
-options, `make' will try the default makefile names; *note What Name to
+every time 'make' is run, and then again after 'make' starts over and
+reads the makefiles in again. This would cause an infinite loop: 'make'
+would constantly remake the makefile, and never do anything else. So,
+to avoid this, 'make' will *not* attempt to remake makefiles which are
+specified as targets of a double-colon rule with a recipe but no
+prerequisites.
+
+ If you do not specify any makefiles to be read with '-f' or '--file'
+options, 'make' will try the default makefile names; *note What Name to
Give Your Makefile: Makefile Names. Unlike makefiles explicitly
-requested with `-f' or `--file' options, `make' is not certain that
+requested with '-f' or '--file' options, 'make' is not certain that
these makefiles should exist. However, if a default makefile does not
-exist but can be created by running `make' rules, you probably want the
+exist but can be created by running 'make' rules, you probably want the
rules to be run so that the makefile can be used.
- Therefore, if none of the default makefiles exists, `make' will try
+ Therefore, if none of the default makefiles exists, 'make' will try
to make each of them in the same order in which they are searched for
-(*note What Name to Give Your Makefile: Makefile Names.) until it
-succeeds in making one, or it runs out of names to try. Note that it
-is not an error if `make' cannot find or make any makefile; a makefile
-is not always necessary.
-
- When you use the `-t' or `--touch' option (*note Instead of
-Executing Recipes: Instead of Execution.), you would not want to use an
-out-of-date makefile to decide which targets to touch. So the `-t'
-option has no effect on updating makefiles; they are really updated
-even if `-t' is specified. Likewise, `-q' (or `--question') and `-n'
-(or `--just-print') do not prevent updating of makefiles, because an
+(*note What Name to Give Your Makefile: Makefile Names.) until it
+succeeds in making one, or it runs out of names to try. Note that it is
+not an error if 'make' cannot find or make any makefile; a makefile is
+not always necessary.
+
+ When you use the '-t' or '--touch' option (*note Instead of Executing
+Recipes: Instead of Execution.), you would not want to use an
+out-of-date makefile to decide which targets to touch. So the '-t'
+option has no effect on updating makefiles; they are really updated even
+if '-t' is specified. Likewise, '-q' (or '--question') and '-n' (or
+'--just-print') do not prevent updating of makefiles, because an
out-of-date makefile would result in the wrong output for other targets.
-Thus, `make -f mfile -n foo' will update `mfile', read it in, and then
-print the recipe to update `foo' and its prerequisites without running
-it. The recipe printed for `foo' will be the one specified in the
-updated contents of `mfile'.
+Thus, 'make -f mfile -n foo' will update 'mfile', read it in, and then
+print the recipe to update 'foo' and its prerequisites without running
+it. The recipe printed for 'foo' will be the one specified in the
+updated contents of 'mfile'.
However, on occasion you might actually wish to prevent updating of
even the makefiles. You can do this by specifying the makefiles as
-goals in the command line as well as specifying them as makefiles.
-When the makefile name is specified explicitly as a goal, the options
-`-t' and so on do apply to them.
+goals in the command line as well as specifying them as makefiles. When
+the makefile name is specified explicitly as a goal, the options '-t'
+and so on do apply to them.
- Thus, `make -f mfile -n mfile foo' would read the makefile `mfile',
+ Thus, 'make -f mfile -n mfile foo' would read the makefile 'mfile',
print the recipe needed to update it without actually running it, and
-then print the recipe needed to update `foo' without running that. The
-recipe for `foo' will be the one specified by the existing contents of
-`mfile'.
+then print the recipe needed to update 'foo' without running that. The
+recipe for 'foo' will be the one specified by the existing contents of
+'mfile'.

File: make.info, Node: Overriding Makefiles, Next: Reading Makefiles, Prev: Remaking Makefiles, Up: Makefiles
@@ -1202,7 +1201,7 @@ File: make.info, Node: Overriding Makefiles, Next: Reading Makefiles, Prev: R
=======================================
Sometimes it is useful to have a makefile that is mostly just like
-another makefile. You can often use the `include' directive to include
+another makefile. You can often use the 'include' directive to include
one in the other, and add more targets or variable definitions.
However, it is invalid for two makefiles to give different recipes for
the same target. But there is another way.
@@ -1210,12 +1209,12 @@ the same target. But there is another way.
In the containing makefile (the one that wants to include the other),
you can use a match-anything pattern rule to say that to remake any
target that cannot be made from the information in the containing
-makefile, `make' should look in another makefile. *Note Pattern
+makefile, 'make' should look in another makefile. *Note Pattern
Rules::, for more information on pattern rules.
- For example, if you have a makefile called `Makefile' that says how
-to make the target `foo' (and other targets), you can write a makefile
-called `GNUmakefile' that contains:
+ For example, if you have a makefile called 'Makefile' that says how
+to make the target 'foo' (and other targets), you can write a makefile
+called 'GNUmakefile' that contains:
foo:
frobnicate > foo
@@ -1224,33 +1223,33 @@ called `GNUmakefile' that contains:
@$(MAKE) -f Makefile $@
force: ;
- If you say `make foo', `make' will find `GNUmakefile', read it, and
-see that to make `foo', it needs to run the recipe `frobnicate > foo'.
-If you say `make bar', `make' will find no way to make `bar' in
-`GNUmakefile', so it will use the recipe from the pattern rule: `make
--f Makefile bar'. If `Makefile' provides a rule for updating `bar',
-`make' will apply the rule. And likewise for any other target that
-`GNUmakefile' does not say how to make.
+ If you say 'make foo', 'make' will find 'GNUmakefile', read it, and
+see that to make 'foo', it needs to run the recipe 'frobnicate > foo'.
+If you say 'make bar', 'make' will find no way to make 'bar' in
+'GNUmakefile', so it will use the recipe from the pattern rule: 'make -f
+Makefile bar'. If 'Makefile' provides a rule for updating 'bar', 'make'
+will apply the rule. And likewise for any other target that
+'GNUmakefile' does not say how to make.
The way this works is that the pattern rule has a pattern of just
-`%', so it matches any target whatever. The rule specifies a
-prerequisite `force', to guarantee that the recipe will be run even if
-the target file already exists. We give the `force' target an empty
-recipe to prevent `make' from searching for an implicit rule to build
-it--otherwise it would apply the same match-anything rule to `force'
+'%', so it matches any target whatever. The rule specifies a
+prerequisite 'force', to guarantee that the recipe will be run even if
+the target file already exists. We give the 'force' target an empty
+recipe to prevent 'make' from searching for an implicit rule to build
+it--otherwise it would apply the same match-anything rule to 'force'
itself and create a prerequisite loop!

File: make.info, Node: Reading Makefiles, Next: Secondary Expansion, Prev: Overriding Makefiles, Up: Makefiles
-3.7 How `make' Reads a Makefile
+3.7 How 'make' Reads a Makefile
===============================
-GNU `make' does its work in two distinct phases. During the first
-phase it reads all the makefiles, included makefiles, etc. and
-internalizes all the variables and their values, implicit and explicit
-rules, and constructs a dependency graph of all the targets and their
-prerequisites. During the second phase, `make' uses these internal
+GNU 'make' does its work in two distinct phases. During the first phase
+it reads all the makefiles, included makefiles, etc. and internalizes
+all the variables and their values, implicit and explicit rules, and
+constructs a dependency graph of all the targets and their
+prerequisites. During the second phase, 'make' uses these internal
structures to determine what targets will need to be rebuilt and to
invoke the rules necessary to do so.
@@ -1258,11 +1257,11 @@ invoke the rules necessary to do so.
direct impact on how variable and function expansion happens; this is
often a source of some confusion when writing makefiles. Here we will
present a summary of the phases in which expansion happens for different
-constructs within the makefile. We say that expansion is "immediate"
-if it happens during the first phase: in this case `make' will expand
-any variables or functions in that section of a construct as the
-makefile is parsed. We say that expansion is "deferred" if expansion
-is not performed immediately. Expansion of a deferred construct is not
+constructs within the makefile. We say that expansion is "immediate" if
+it happens during the first phase: in this case 'make' will expand any
+variables or functions in that section of a construct as the makefile is
+parsed. We say that expansion is "deferred" if expansion is not
+performed immediately. Expansion of a deferred construct is not
performed until either the construct appears later in an immediate
context, or until the second phase.
@@ -1310,11 +1309,11 @@ Variable definitions are parsed as follows:
IMMEDIATE
endef
- For the append operator, `+=', the right-hand side is considered
-immediate if the variable was previously set as a simple variable (`:='
-or `::='), and deferred otherwise.
+ For the append operator, '+=', the right-hand side is considered
+immediate if the variable was previously set as a simple variable (':='
+or '::='), and deferred otherwise.
- For the shell assignment operator, `!=', the right-hand side is
+ For the shell assignment operator, '!=', the right-hand side is
evaluated immediately and handed to the shell. The result is stored in
the variable named on the left, and that variable becomes a simple
variable (and will thus be re-evaluated on each reference).
@@ -1322,12 +1321,12 @@ variable (and will thus be re-evaluated on each reference).
Conditional Directives
----------------------
-Conditional directives are parsed immediately. This means, for
-example, that automatic variables cannot be used in conditional
-directives, as automatic variables are not set until the recipe for
-that rule is invoked. If you need to use automatic variables in a
-conditional directive you _must_ move the condition into the recipe and
-use shell conditional syntax instead.
+Conditional directives are parsed immediately. This means, for example,
+that automatic variables cannot be used in conditional directives, as
+automatic variables are not set until the recipe for that rule is
+invoked. If you need to use automatic variables in a conditional
+directive you _must_ move the condition into the recipe and use shell
+conditional syntax instead.
Rule Definition
---------------
@@ -1335,7 +1334,7 @@ Rule Definition
A rule is always expanded the same way, regardless of the form:
IMMEDIATE : IMMEDIATE ; DEFERRED
- DEFERRED
+ DEFERRED
That is, the target and prerequisite sections are expanded
immediately, and the recipe used to construct the target is always
@@ -1348,14 +1347,13 @@ File: make.info, Node: Secondary Expansion, Prev: Reading Makefiles, Up: Make
3.8 Secondary Expansion
=======================
-In the previous section we learned that GNU `make' works in two
-distinct phases: a read-in phase and a target-update phase (*note How
-`make' Reads a Makefile: Reading Makefiles.). GNU make also has the
-ability to enable a _second expansion_ of the prerequisites (only) for
-some or all targets defined in the makefile. In order for this second
-expansion to occur, the special target `.SECONDEXPANSION' must be
-defined before the first prerequisite list that makes use of this
-feature.
+In the previous section we learned that GNU 'make' works in two distinct
+phases: a read-in phase and a target-update phase (*note How 'make'
+Reads a Makefile: Reading Makefiles.). GNU make also has the ability to
+enable a _second expansion_ of the prerequisites (only) for some or all
+targets defined in the makefile. In order for this second expansion to
+occur, the special target '.SECONDEXPANSION' must be defined before the
+first prerequisite list that makes use of this feature.
If that special target is defined then in between the two phases
mentioned above, right at the end of the read-in phase, all the
@@ -1364,11 +1362,10 @@ expanded a _second time_. In most circumstances this secondary
expansion will have no effect, since all variable and function
references will have been expanded during the initial parsing of the
makefiles. In order to take advantage of the secondary expansion phase
-of the parser, then, it's necessary to _escape_ the variable or
-function reference in the makefile. In this case the first expansion
-merely un-escapes the reference but doesn't expand it, and expansion is
-left to the secondary expansion phase. For example, consider this
-makefile:
+of the parser, then, it's necessary to _escape_ the variable or function
+reference in the makefile. In this case the first expansion merely
+un-escapes the reference but doesn't expand it, and expansion is left to
+the secondary expansion phase. For example, consider this makefile:
.SECONDEXPANSION:
ONEVAR = onefile
@@ -1376,15 +1373,15 @@ makefile:
myfile: $(ONEVAR) $$(TWOVAR)
After the first expansion phase the prerequisites list of the
-`myfile' target will be `onefile' and `$(TWOVAR)'; the first
-(unescaped) variable reference to ONEVAR is expanded, while the second
-(escaped) variable reference is simply unescaped, without being
-recognized as a variable reference. Now during the secondary expansion
-the first word is expanded again but since it contains no variable or
-function references it remains the value `onefile', while the second
-word is now a normal reference to the variable TWOVAR, which is
-expanded to the value `twofile'. The final result is that there are
-two prerequisites, `onefile' and `twofile'.
+'myfile' target will be 'onefile' and '$(TWOVAR)'; the first (unescaped)
+variable reference to ONEVAR is expanded, while the second (escaped)
+variable reference is simply unescaped, without being recognized as a
+variable reference. Now during the secondary expansion the first word
+is expanded again but since it contains no variable or function
+references it remains the value 'onefile', while the second word is now
+a normal reference to the variable TWOVAR, which is expanded to the
+value 'twofile'. The final result is that there are two prerequisites,
+'onefile' and 'twofile'.
Obviously, this is not a very interesting case since the same result
could more easily have been achieved simply by having both variables
@@ -1397,19 +1394,19 @@ apparent if the variables are reset; consider this example:
twofile: $$(AVAR)
AVAR = bottom
- Here the prerequisite of `onefile' will be expanded immediately, and
-resolve to the value `top', while the prerequisite of `twofile' will
-not be full expanded until the secondary expansion and yield a value of
-`bottom'.
+ Here the prerequisite of 'onefile' will be expanded immediately, and
+resolve to the value 'top', while the prerequisite of 'twofile' will not
+be full expanded until the secondary expansion and yield a value of
+'bottom'.
This is marginally more exciting, but the true power of this feature
-only becomes apparent when you discover that secondary expansions
-always take place within the scope of the automatic variables for that
-target. This means that you can use variables such as `$@', `$*', etc.
-during the second expansion and they will have their expected values,
-just as in the recipe. All you have to do is defer the expansion by
-escaping the `$'. Also, secondary expansion occurs for both explicit
-and implicit (pattern) rules. Knowing this, the possible uses for this
+only becomes apparent when you discover that secondary expansions always
+take place within the scope of the automatic variables for that target.
+This means that you can use variables such as '$@', '$*', etc. during
+the second expansion and they will have their expected values, just as
+in the recipe. All you have to do is defer the expansion by escaping
+the '$'. Also, secondary expansion occurs for both explicit and
+implicit (pattern) rules. Knowing this, the possible uses for this
feature increase dramatically. For example:
.SECONDEXPANSION:
@@ -1419,11 +1416,11 @@ feature increase dramatically. For example:
main lib: $$($$@_OBJS)
Here, after the initial expansion the prerequisites of both the
-`main' and `lib' targets will be `$($@_OBJS)'. During the secondary
-expansion, the `$@' variable is set to the name of the target and so
-the expansion for the `main' target will yield `$(main_OBJS)', or
-`main.o try.o test.o', while the secondary expansion for the `lib'
-target will yield `$(lib_OBJS)', or `lib.o api.o'.
+'main' and 'lib' targets will be '$($@_OBJS)'. During the secondary
+expansion, the '$@' variable is set to the name of the target and so the
+expansion for the 'main' target will yield '$(main_OBJS)', or 'main.o
+try.o test.o', while the secondary expansion for the 'lib' target will
+yield '$(lib_OBJS)', or 'lib.o api.o'.
You can also mix in functions here, as long as they are properly
escaped:
@@ -1439,23 +1436,23 @@ files, but gives the same resulting prerequisites list as the previous
example.
Evaluation of automatic variables during the secondary expansion
-phase, especially of the target name variable `$$@', behaves similarly
+phase, especially of the target name variable '$$@', behaves similarly
to evaluation within recipes. However, there are some subtle
differences and "corner cases" which come into play for the different
-types of rule definitions that `make' understands. The subtleties of
+types of rule definitions that 'make' understands. The subtleties of
using the different automatic variables are described below.
Secondary Expansion of Explicit Rules
-------------------------------------
-During the secondary expansion of explicit rules, `$$@' and `$$%'
+During the secondary expansion of explicit rules, '$$@' and '$$%'
evaluate, respectively, to the file name of the target and, when the
-target is an archive member, the target member name. The `$$<'
-variable evaluates to the first prerequisite in the first rule for this
-target. `$$^' and `$$+' evaluate to the list of all prerequisites of
-rules _that have already appeared_ for the same target (`$$+' with
-repetitions and `$$^' without). The following example will help
-illustrate these behaviors:
+target is an archive member, the target member name. The '$$<' variable
+evaluates to the first prerequisite in the first rule for this target.
+'$$^' and '$$+' evaluate to the list of all prerequisites of rules _that
+have already appeared_ for the same target ('$$+' with repetitions and
+'$$^' without). The following example will help illustrate these
+behaviors:
.SECONDEXPANSION:
@@ -1465,16 +1462,16 @@ illustrate these behaviors:
foo: foo.3 bar.3 $$< $$^ $$+ # line #3
- In the first prerequisite list, all three variables (`$$<', `$$^',
-and `$$+') expand to the empty string. In the second, they will have
-values `foo.1', `foo.1 bar.1', and `foo.1 bar.1' respectively. In the
-third they will have values `foo.1', `foo.1 bar.1 foo.2 bar.2', and
-`foo.1 bar.1 foo.2 bar.2 foo.1 foo.1 bar.1 foo.1 bar.1' respectively.
+ In the first prerequisite list, all three variables ('$$<', '$$^',
+and '$$+') expand to the empty string. In the second, they will have
+values 'foo.1', 'foo.1 bar.1', and 'foo.1 bar.1' respectively. In the
+third they will have values 'foo.1', 'foo.1 bar.1 foo.2 bar.2', and
+'foo.1 bar.1 foo.2 bar.2 foo.1 foo.1 bar.1 foo.1 bar.1' respectively.
Rules undergo secondary expansion in makefile order, except that the
rule with the recipe is always evaluated last.
- The variables `$$?' and `$$*' are not available and expand to the
+ The variables '$$?' and '$$*' are not available and expand to the
empty string.
Secondary Expansion of Static Pattern Rules
@@ -1482,13 +1479,13 @@ Secondary Expansion of Static Pattern Rules
Rules for secondary expansion of static pattern rules are identical to
those for explicit rules, above, with one exception: for static pattern
-rules the `$$*' variable is set to the pattern stem. As with explicit
-rules, `$$?' is not available and expands to the empty string.
+rules the '$$*' variable is set to the pattern stem. As with explicit
+rules, '$$?' is not available and expands to the empty string.
Secondary Expansion of Implicit Rules
-------------------------------------
-As `make' searches for an implicit rule, it substitutes the stem and
+As 'make' searches for an implicit rule, it substitutes the stem and
then performs secondary expansion for every rule with a matching target
pattern. The value of the automatic variables is derived in the same
fashion as for static pattern rules. As an example:
@@ -1501,9 +1498,9 @@ fashion as for static pattern rules. As an example:
%oo: $$< $$^ $$+ $$*
- When the implicit rule is tried for target `foo', `$$<' expands to
-`bar', `$$^' expands to `bar boo', `$$+' also expands to `bar boo', and
-`$$*' expands to `f'.
+ When the implicit rule is tried for target 'foo', '$$<' expands to
+'bar', '$$^' expands to 'bar boo', '$$+' also expands to 'bar boo', and
+'$$*' expands to 'f'.
Note that the directory prefix (D), as described in *note Implicit
Rule Search Algorithm: Implicit Rule Search, is appended (after
@@ -1518,9 +1515,9 @@ example:
@echo $^
The prerequisite list printed, after the secondary expansion and
-directory prefix reconstruction, will be `/tmp/foo/foo.c /tmp/bar/foo.c
+directory prefix reconstruction, will be '/tmp/foo/foo.c /tmp/bar/foo.c
foo.h'. If you are not interested in this reconstruction, you can use
-`$$*' instead of `%' in the prerequisites list.
+'$$*' instead of '%' in the prerequisites list.

File: make.info, Node: Rules, Next: Recipes, Prev: Makefiles, Up: Top
@@ -1528,24 +1525,24 @@ File: make.info, Node: Rules, Next: Recipes, Prev: Makefiles, Up: Top
4 Writing Rules
***************
-A "rule" appears in the makefile and says when and how to remake
-certain files, called the rule's "targets" (most often only one per
-rule). It lists the other files that are the "prerequisites" of the
-target, and the "recipe" to use to create or update the target.
+A "rule" appears in the makefile and says when and how to remake certain
+files, called the rule's "targets" (most often only one per rule). It
+lists the other files that are the "prerequisites" of the target, and
+the "recipe" to use to create or update the target.
The order of rules is not significant, except for determining the
-"default goal": the target for `make' to consider, if you do not
-otherwise specify one. The default goal is the target of the first
-rule in the first makefile. If the first rule has multiple targets,
-only the first target is taken as the default. There are two
-exceptions: a target starting with a period is not a default unless it
-contains one or more slashes, `/', as well; and, a target that defines
-a pattern rule has no effect on the default goal. (*Note Defining and
-Redefining Pattern Rules: Pattern Rules.)
+"default goal": the target for 'make' to consider, if you do not
+otherwise specify one. The default goal is the target of the first rule
+in the first makefile. If the first rule has multiple targets, only the
+first target is taken as the default. There are two exceptions: a
+target starting with a period is not a default unless it contains one or
+more slashes, '/', as well; and, a target that defines a pattern rule
+has no effect on the default goal. (*Note Defining and Redefining
+Pattern Rules: Pattern Rules.)
Therefore, we usually write the makefile so that the first rule is
the one for compiling the entire program or all the programs described
-by the makefile (often with a target called `all'). *Note Arguments to
+by the makefile (often with a target called 'all'). *Note Arguments to
Specify the Goals: Goals.
* Menu:
@@ -1553,7 +1550,7 @@ Specify the Goals: Goals.
* Rule Example:: An example explained.
* Rule Syntax:: General syntax explained.
* Prerequisite Types:: There are two types of prerequisites.
-* Wildcards:: Using wildcard characters such as `*'.
+* Wildcards:: Using wildcard characters such as '*'.
* Directory Search:: Searching other directories for source files.
* Phony Targets:: Using a target that is not a real file's name.
* Force Targets:: You can use a target without a recipe
@@ -1583,20 +1580,20 @@ Here is an example of a rule:
foo.o : foo.c defs.h # module for twiddling the frobs
cc -c -g foo.c
- Its target is `foo.o' and its prerequisites are `foo.c' and
-`defs.h'. It has one command in the recipe: `cc -c -g foo.c'. The
-recipe starts with a tab to identify it as a recipe.
+ Its target is 'foo.o' and its prerequisites are 'foo.c' and 'defs.h'.
+It has one command in the recipe: 'cc -c -g foo.c'. The recipe starts
+with a tab to identify it as a recipe.
This rule says two things:
- * How to decide whether `foo.o' is out of date: it is out of date if
- it does not exist, or if either `foo.c' or `defs.h' is more recent
+ * How to decide whether 'foo.o' is out of date: it is out of date if
+ it does not exist, or if either 'foo.c' or 'defs.h' is more recent
than it.
- * How to update the file `foo.o': by running `cc' as stated. The
- recipe does not explicitly mention `defs.h', but we presume that
- `foo.c' includes it, and that that is why `defs.h' was added to
- the prerequisites.
+ * How to update the file 'foo.o': by running 'cc' as stated. The
+ recipe does not explicitly mention 'defs.h', but we presume that
+ 'foo.c' includes it, and that that is why 'defs.h' was added to the
+ prerequisites.

File: make.info, Node: Rule Syntax, Next: Prerequisite Types, Prev: Rule Example, Up: Rules
@@ -1616,35 +1613,34 @@ or like this:
RECIPE
...
- The TARGETS are file names, separated by spaces. Wildcard
-characters may be used (*note Using Wildcard Characters in File Names:
-Wildcards.) and a name of the form `A(M)' represents member M in
-archive file A (*note Archive Members as Targets: Archive Members.).
-Usually there is only one target per rule, but occasionally there is a
-reason to have more (*note Multiple Targets in a Rule: Multiple
-Targets.).
+ The TARGETS are file names, separated by spaces. Wildcard characters
+may be used (*note Using Wildcard Characters in File Names: Wildcards.)
+and a name of the form 'A(M)' represents member M in archive file A
+(*note Archive Members as Targets: Archive Members.). Usually there is
+only one target per rule, but occasionally there is a reason to have
+more (*note Multiple Targets in a Rule: Multiple Targets.).
The RECIPE lines start with a tab character (or the first character
-in the value of the `.RECIPEPREFIX' variable; *note Special
+in the value of the '.RECIPEPREFIX' variable; *note Special
Variables::). The first recipe line may appear on the line after the
prerequisites, with a tab character, or may appear on the same line,
with a semicolon. Either way, the effect is the same. There are other
differences in the syntax of recipes. *Note Writing Recipes in Rules:
Recipes.
- Because dollar signs are used to start `make' variable references,
-if you really want a dollar sign in a target or prerequisite you must
-write two of them, `$$' (*note How to Use Variables: Using Variables.).
-If you have enabled secondary expansion (*note Secondary Expansion::)
-and you want a literal dollar sign in the prerequisites list, you must
-actually write _four_ dollar signs (`$$$$').
+ Because dollar signs are used to start 'make' variable references, if
+you really want a dollar sign in a target or prerequisite you must write
+two of them, '$$' (*note How to Use Variables: Using Variables.). If
+you have enabled secondary expansion (*note Secondary Expansion::) and
+you want a literal dollar sign in the prerequisites list, you must
+actually write _four_ dollar signs ('$$$$').
You may split a long line by inserting a backslash followed by a
-newline, but this is not required, as `make' places no limit on the
+newline, but this is not required, as 'make' places no limit on the
length of a line in a makefile.
- A rule tells `make' two things: when the targets are out of date,
-and how to update them when necessary.
+ A rule tells 'make' two things: when the targets are out of date, and
+how to update them when necessary.
The criterion for being out of date is specified in terms of the
PREREQUISITES, which consist of file names separated by spaces.
@@ -1656,9 +1652,9 @@ information in the prerequisites, so if any of the prerequisites
changes, the contents of the existing target file are no longer
necessarily valid.
- How to update is specified by a RECIPE. This is one or more lines
-to be executed by the shell (normally `sh'), but with some extra
-features (*note Writing Recipes in Rules: Recipes.).
+ How to update is specified by a RECIPE. This is one or more lines to
+be executed by the shell (normally 'sh'), but with some extra features
+(*note Writing Recipes in Rules: Recipes.).

File: make.info, Node: Prerequisite Types, Next: Wildcards, Prev: Rule Syntax, Up: Rules
@@ -1667,13 +1663,13 @@ File: make.info, Node: Prerequisite Types, Next: Wildcards, Prev: Rule Syntax
==========================
There are actually two different types of prerequisites understood by
-GNU `make': normal prerequisites such as described in the previous
+GNU 'make': normal prerequisites such as described in the previous
section, and "order-only" prerequisites. A normal prerequisite makes
two statements: first, it imposes an order in which recipes will be
-invoked: the recipes for all prerequisites of a target will be
-completed before the recipe for the target is run. Second, it imposes
-a dependency relationship: if any prerequisite is newer than the
-target, then the target is considered out-of-date and must be rebuilt.
+invoked: the recipes for all prerequisites of a target will be completed
+before the recipe for the target is run. Second, it imposes a
+dependency relationship: if any prerequisite is newer than the target,
+then the target is considered out-of-date and must be rebuilt.
Normally, this is exactly what you want: if a target's prerequisite
is updated, then the target should also be updated.
@@ -1681,10 +1677,10 @@ is updated, then the target should also be updated.
Occasionally, however, you have a situation where you want to impose
a specific ordering on the rules to be invoked _without_ forcing the
target to be updated if one of those rules is executed. In that case,
-you want to define "order-only" prerequisites. Order-only
-prerequisites can be specified by placing a pipe symbol (`|') in the
-prerequisites list: any prerequisites to the left of the pipe symbol
-are normal; any prerequisites to the right are order-only:
+you want to define "order-only" prerequisites. Order-only prerequisites
+can be specified by placing a pipe symbol ('|') in the prerequisites
+list: any prerequisites to the left of the pipe symbol are normal; any
+prerequisites to the right are order-only:
TARGETS : NORMAL-PREREQUISITES | ORDER-ONLY-PREREQUISITES
@@ -1693,12 +1689,12 @@ may still declare multiple lines of prerequisites for the same target:
they are appended appropriately (normal prerequisites are appended to
the list of normal prerequisites; order-only prerequisites are appended
to the list of order-only prerequisites). Note that if you declare the
-same file to be both a normal and an order-only prerequisite, the
-normal prerequisite takes precedence (since they have a strict superset
-of the behavior of an order-only prerequisite).
+same file to be both a normal and an order-only prerequisite, the normal
+prerequisite takes precedence (since they have a strict superset of the
+behavior of an order-only prerequisite).
Consider an example where your targets are to be placed in a separate
-directory, and that directory might not exist before `make' is run. In
+directory, and that directory might not exist before 'make' is run. In
this situation, you want the directory to be created before any targets
are placed into it but, because the timestamps on directories change
whenever a file is added, removed, or renamed, we certainly don't want
@@ -1719,9 +1715,9 @@ directory an order-only prerequisite on all the targets:
$(OBJDIR):
mkdir $(OBJDIR)
- Now the rule to create the `objdir' directory will be run, if
-needed, before any `.o' is built, but no `.o' will be built because the
-`objdir' directory timestamp changed.
+ Now the rule to create the 'objdir' directory will be run, if needed,
+before any '.o' is built, but no '.o' will be built because the 'objdir'
+directory timestamp changed.

File: make.info, Node: Wildcards, Next: Directory Search, Prev: Prerequisite Types, Up: Rules
@@ -1730,27 +1726,27 @@ File: make.info, Node: Wildcards, Next: Directory Search, Prev: Prerequisite
===========================================
A single file name can specify many files using "wildcard characters".
-The wildcard characters in `make' are `*', `?' and `[...]', the same as
-in the Bourne shell. For example, `*.c' specifies a list of all the
-files (in the working directory) whose names end in `.c'.
+The wildcard characters in 'make' are '*', '?' and '[...]', the same as
+in the Bourne shell. For example, '*.c' specifies a list of all the
+files (in the working directory) whose names end in '.c'.
- The character `~' at the beginning of a file name also has special
+ The character '~' at the beginning of a file name also has special
significance. If alone, or followed by a slash, it represents your home
-directory. For example `~/bin' expands to `/home/you/bin'. If the `~'
+directory. For example '~/bin' expands to '/home/you/bin'. If the '~'
is followed by a word, the string represents the home directory of the
-user named by that word. For example `~john/bin' expands to
-`/home/john/bin'. On systems which don't have a home directory for
-each user (such as MS-DOS or MS-Windows), this functionality can be
-simulated by setting the environment variable HOME.
+user named by that word. For example '~john/bin' expands to
+'/home/john/bin'. On systems which don't have a home directory for each
+user (such as MS-DOS or MS-Windows), this functionality can be simulated
+by setting the environment variable HOME.
- Wildcard expansion is performed by `make' automatically in targets
-and in prerequisites. In recipes, the shell is responsible for
-wildcard expansion. In other contexts, wildcard expansion happens only
-if you request it explicitly with the `wildcard' function.
+ Wildcard expansion is performed by 'make' automatically in targets
+and in prerequisites. In recipes, the shell is responsible for wildcard
+expansion. In other contexts, wildcard expansion happens only if you
+request it explicitly with the 'wildcard' function.
The special significance of a wildcard character can be turned off by
-preceding it with a backslash. Thus, `foo\*bar' would refer to a
-specific file whose name consists of `foo', an asterisk, and `bar'.
+preceding it with a backslash. Thus, 'foo\*bar' would refer to a
+specific file whose name consists of 'foo', an asterisk, and 'bar'.
* Menu:
@@ -1773,28 +1769,28 @@ files:
rm -f *.o
Wildcards are also useful in the prerequisites of a rule. With the
-following rule in the makefile, `make print' will print all the `.c'
+following rule in the makefile, 'make print' will print all the '.c'
files that have changed since the last time you printed them:
print: *.c
lpr -p $?
touch print
-This rule uses `print' as an empty target file; see *note Empty Target
-Files to Record Events: Empty Targets. (The automatic variable `$?' is
+This rule uses 'print' as an empty target file; see *note Empty Target
+Files to Record Events: Empty Targets. (The automatic variable '$?' is
used to print only those files that have changed; see *note Automatic
Variables::.)
- Wildcard expansion does not happen when you define a variable.
-Thus, if you write this:
+ Wildcard expansion does not happen when you define a variable. Thus,
+if you write this:
objects = *.o
-then the value of the variable `objects' is the actual string `*.o'.
-However, if you use the value of `objects' in a target or prerequisite,
+then the value of the variable 'objects' is the actual string '*.o'.
+However, if you use the value of 'objects' in a target or prerequisite,
wildcard expansion will take place there. If you use the value of
-`objects' in a recipe, the shell may perform wildcard expansion when
-the recipe runs. To set `objects' to the expansion, instead use:
+'objects' in a recipe, the shell may perform wildcard expansion when the
+recipe runs. To set 'objects' to the expansion, instead use:
objects := $(wildcard *.o)
@@ -1808,7 +1804,7 @@ File: make.info, Node: Wildcard Pitfall, Next: Wildcard Function, Prev: Wildc
Now here is an example of a naive way of using wildcard expansion, that
does not do what you would intend. Suppose you would like to say that
-the executable file `foo' is made from all the object files in the
+the executable file 'foo' is made from all the object files in the
directory, and you write this:
objects = *.o
@@ -1816,66 +1812,65 @@ directory, and you write this:
foo : $(objects)
cc -o foo $(CFLAGS) $(objects)
-The value of `objects' is the actual string `*.o'. Wildcard expansion
-happens in the rule for `foo', so that each _existing_ `.o' file
-becomes a prerequisite of `foo' and will be recompiled if necessary.
+The value of 'objects' is the actual string '*.o'. Wildcard expansion
+happens in the rule for 'foo', so that each _existing_ '.o' file becomes
+a prerequisite of 'foo' and will be recompiled if necessary.
- But what if you delete all the `.o' files? When a wildcard matches
-no files, it is left as it is, so then `foo' will depend on the
-oddly-named file `*.o'. Since no such file is likely to exist, `make'
-will give you an error saying it cannot figure out how to make `*.o'.
+ But what if you delete all the '.o' files? When a wildcard matches
+no files, it is left as it is, so then 'foo' will depend on the
+oddly-named file '*.o'. Since no such file is likely to exist, 'make'
+will give you an error saying it cannot figure out how to make '*.o'.
This is not what you want!
Actually it is possible to obtain the desired result with wildcard
expansion, but you need more sophisticated techniques, including the
-`wildcard' function and string substitution. *Note The Function
-`wildcard': Wildcard Function.
+'wildcard' function and string substitution. *Note The Function
+'wildcard': Wildcard Function.
Microsoft operating systems (MS-DOS and MS-Windows) use backslashes
to separate directories in pathnames, like so:
c:\foo\bar\baz.c
- This is equivalent to the Unix-style `c:/foo/bar/baz.c' (the `c:'
-part is the so-called drive letter). When `make' runs on these
-systems, it supports backslashes as well as the Unix-style forward
-slashes in pathnames. However, this support does _not_ include the
-wildcard expansion, where backslash is a quote character. Therefore,
-you _must_ use Unix-style slashes in these cases.
+ This is equivalent to the Unix-style 'c:/foo/bar/baz.c' (the 'c:'
+part is the so-called drive letter). When 'make' runs on these systems,
+it supports backslashes as well as the Unix-style forward slashes in
+pathnames. However, this support does _not_ include the wildcard
+expansion, where backslash is a quote character. Therefore, you _must_
+use Unix-style slashes in these cases.

File: make.info, Node: Wildcard Function, Prev: Wildcard Pitfall, Up: Wildcards
-4.4.3 The Function `wildcard'
+4.4.3 The Function 'wildcard'
-----------------------------
Wildcard expansion happens automatically in rules. But wildcard
-expansion does not normally take place when a variable is set, or
-inside the arguments of a function. If you want to do wildcard
-expansion in such places, you need to use the `wildcard' function, like
-this:
+expansion does not normally take place when a variable is set, or inside
+the arguments of a function. If you want to do wildcard expansion in
+such places, you need to use the 'wildcard' function, like this:
$(wildcard PATTERN...)
This string, used anywhere in a makefile, is replaced by a
space-separated list of names of existing files that match one of the
given file name patterns. If no existing file name matches a pattern,
-then that pattern is omitted from the output of the `wildcard'
-function. Note that this is different from how unmatched wildcards
-behave in rules, where they are used verbatim rather than ignored
-(*note Wildcard Pitfall::).
+then that pattern is omitted from the output of the 'wildcard' function.
+Note that this is different from how unmatched wildcards behave in
+rules, where they are used verbatim rather than ignored (*note Wildcard
+Pitfall::).
- One use of the `wildcard' function is to get a list of all the C
+ One use of the 'wildcard' function is to get a list of all the C
source files in a directory, like this:
$(wildcard *.c)
We can change the list of C source files into a list of object files
-by replacing the `.c' suffix with `.o' in the result, like this:
+by replacing the '.c' suffix with '.o' in the result, like this:
$(patsubst %.c,%.o,$(wildcard *.c))
-(Here we have used another function, `patsubst'. *Note Functions for
+(Here we have used another function, 'patsubst'. *Note Functions for
String Substitution and Analysis: Text Functions.)
Thus, a makefile to compile all C source files in the directory and
@@ -1887,9 +1882,9 @@ then link them together could be written as follows:
cc -o foo $(objects)
(This takes advantage of the implicit rule for compiling C programs, so
-there is no need to write explicit rules for compiling the files.
-*Note The Two Flavors of Variables: Flavors, for an explanation of
-`:=', which is a variant of `='.)
+there is no need to write explicit rules for compiling the files. *Note
+The Two Flavors of Variables: Flavors, for an explanation of ':=', which
+is a variant of '='.)

File: make.info, Node: Directory Search, Next: Phony Targets, Prev: Wildcards, Up: Rules
@@ -1898,10 +1893,10 @@ File: make.info, Node: Directory Search, Next: Phony Targets, Prev: Wildcards
===========================================
For large systems, it is often desirable to put sources in a separate
-directory from the binaries. The "directory search" features of `make'
-facilitate this by searching several directories automatically to find
-a prerequisite. When you redistribute the files among directories, you
-do not need to change the individual rules, just the search paths.
+directory from the binaries. The "directory search" features of 'make'
+facilitate this by searching several directories automatically to find a
+prerequisite. When you redistribute the files among directories, you do
+not need to change the individual rules, just the search paths.
* Menu:
@@ -1918,37 +1913,37 @@ do not need to change the individual rules, just the search paths.

File: make.info, Node: General Search, Next: Selective Search, Prev: Directory Search, Up: Directory Search
-4.5.1 `VPATH': Search Path for All Prerequisites
+4.5.1 'VPATH': Search Path for All Prerequisites
------------------------------------------------
-The value of the `make' variable `VPATH' specifies a list of
-directories that `make' should search. Most often, the directories are
-expected to contain prerequisite files that are not in the current
-directory; however, `make' uses `VPATH' as a search list for both
-prerequisites and targets of rules.
+The value of the 'make' variable 'VPATH' specifies a list of directories
+that 'make' should search. Most often, the directories are expected to
+contain prerequisite files that are not in the current directory;
+however, 'make' uses 'VPATH' as a search list for both prerequisites and
+targets of rules.
Thus, if a file that is listed as a target or prerequisite does not
-exist in the current directory, `make' searches the directories listed
-in `VPATH' for a file with that name. If a file is found in one of
+exist in the current directory, 'make' searches the directories listed
+in 'VPATH' for a file with that name. If a file is found in one of
them, that file may become the prerequisite (see below). Rules may then
specify the names of files in the prerequisite list as if they all
existed in the current directory. *Note Writing Recipes with Directory
Search: Recipes/Search.
- In the `VPATH' variable, directory names are separated by colons or
+ In the 'VPATH' variable, directory names are separated by colons or
blanks. The order in which directories are listed is the order followed
-by `make' in its search. (On MS-DOS and MS-Windows, semi-colons are
-used as separators of directory names in `VPATH', since the colon can
-be used in the pathname itself, after the drive letter.)
+by 'make' in its search. (On MS-DOS and MS-Windows, semi-colons are
+used as separators of directory names in 'VPATH', since the colon can be
+used in the pathname itself, after the drive letter.)
For example,
VPATH = src:../headers
-specifies a path containing two directories, `src' and `../headers',
-which `make' searches in that order.
+specifies a path containing two directories, 'src' and '../headers',
+which 'make' searches in that order.
- With this value of `VPATH', the following rule,
+ With this value of 'VPATH', the following rule,
foo.o : foo.c
@@ -1956,71 +1951,72 @@ is interpreted as if it were written like this:
foo.o : src/foo.c
-assuming the file `foo.c' does not exist in the current directory but
-is found in the directory `src'.
+assuming the file 'foo.c' does not exist in the current directory but is
+found in the directory 'src'.

File: make.info, Node: Selective Search, Next: Search Algorithm, Prev: General Search, Up: Directory Search
-4.5.2 The `vpath' Directive
+4.5.2 The 'vpath' Directive
---------------------------
-Similar to the `VPATH' variable, but more selective, is the `vpath'
+Similar to the 'VPATH' variable, but more selective, is the 'vpath'
directive (note lower case), which allows you to specify a search path
for a particular class of file names: those that match a particular
pattern. Thus you can supply certain search directories for one class
of file names and other directories (or none) for other file names.
- There are three forms of the `vpath' directive:
+ There are three forms of the 'vpath' directive:
-`vpath PATTERN DIRECTORIES'
+'vpath PATTERN DIRECTORIES'
Specify the search path DIRECTORIES for file names that match
PATTERN.
The search path, DIRECTORIES, is a list of directories to be
searched, separated by colons (semi-colons on MS-DOS and
MS-Windows) or blanks, just like the search path used in the
- `VPATH' variable.
+ 'VPATH' variable.
-`vpath PATTERN'
+'vpath PATTERN'
Clear out the search path associated with PATTERN.
-`vpath'
- Clear all search paths previously specified with `vpath'
+'vpath'
+
+ Clear all search paths previously specified with 'vpath'
directives.
- A `vpath' pattern is a string containing a `%' character. The
-string must match the file name of a prerequisite that is being searched
-for, the `%' character matching any sequence of zero or more characters
-(as in pattern rules; *note Defining and Redefining Pattern Rules:
-Pattern Rules.). For example, `%.h' matches files that end in `.h'.
-(If there is no `%', the pattern must match the prerequisite exactly,
-which is not useful very often.)
-
- `%' characters in a `vpath' directive's pattern can be quoted with
-preceding backslashes (`\'). Backslashes that would otherwise quote
-`%' characters can be quoted with more backslashes. Backslashes that
-quote `%' characters or other backslashes are removed from the pattern
-before it is compared to file names. Backslashes that are not in
-danger of quoting `%' characters go unmolested.
+ A 'vpath' pattern is a string containing a '%' character. The string
+must match the file name of a prerequisite that is being searched for,
+the '%' character matching any sequence of zero or more characters (as
+in pattern rules; *note Defining and Redefining Pattern Rules: Pattern
+Rules.). For example, '%.h' matches files that end in '.h'. (If there
+is no '%', the pattern must match the prerequisite exactly, which is not
+useful very often.)
+
+ '%' characters in a 'vpath' directive's pattern can be quoted with
+preceding backslashes ('\'). Backslashes that would otherwise quote '%'
+characters can be quoted with more backslashes. Backslashes that quote
+'%' characters or other backslashes are removed from the pattern before
+it is compared to file names. Backslashes that are not in danger of
+quoting '%' characters go unmolested.
When a prerequisite fails to exist in the current directory, if the
-PATTERN in a `vpath' directive matches the name of the prerequisite
-file, then the DIRECTORIES in that directive are searched just like
-(and before) the directories in the `VPATH' variable.
+PATTERN in a 'vpath' directive matches the name of the prerequisite
+file, then the DIRECTORIES in that directive are searched just like (and
+before) the directories in the 'VPATH' variable.
For example,
vpath %.h ../headers
-tells `make' to look for any prerequisite whose name ends in `.h' in
-the directory `../headers' if the file is not found in the current
+tells 'make' to look for any prerequisite whose name ends in '.h' in the
+directory '../headers' if the file is not found in the current
directory.
- If several `vpath' patterns match the prerequisite file's name, then
-`make' processes each matching `vpath' directive one by one, searching
-all the directories mentioned in each directive. `make' handles
-multiple `vpath' directives in the order in which they appear in the
+ If several 'vpath' patterns match the prerequisite file's name, then
+'make' processes each matching 'vpath' directive one by one, searching
+all the directories mentioned in each directive. 'make' handles
+multiple 'vpath' directives in the order in which they appear in the
makefile; multiple directives with the same pattern are independent of
each other.
@@ -2030,13 +2026,13 @@ each other.
vpath % blish
vpath %.c bar
-will look for a file ending in `.c' in `foo', then `blish', then `bar',
+will look for a file ending in '.c' in 'foo', then 'blish', then 'bar',
while
vpath %.c foo:bar
vpath % blish
-will look for a file ending in `.c' in `foo', then `bar', then `blish'.
+will look for a file ending in '.c' in 'foo', then 'bar', then 'blish'.

File: make.info, Node: Search Algorithm, Next: Recipes/Search, Prev: Selective Search, Up: Directory Search
@@ -2046,11 +2042,11 @@ File: make.info, Node: Search Algorithm, Next: Recipes/Search, Prev: Selectiv
When a prerequisite is found through directory search, regardless of
type (general or selective), the pathname located may not be the one
-that `make' actually provides you in the prerequisite list. Sometimes
+that 'make' actually provides you in the prerequisite list. Sometimes
the path discovered through directory search is thrown away.
- The algorithm `make' uses to decide whether to keep or abandon a
-path found via directory search is as follows:
+ The algorithm 'make' uses to decide whether to keep or abandon a path
+found via directory search is as follows:
1. If a target file does not exist at the path specified in the
makefile, directory search is performed.
@@ -2067,32 +2063,32 @@ path found via directory search is as follows:
a. If the target does _not_ need to be rebuilt, the path to the
file found during directory search is used for any
prerequisite lists which contain this target. In short, if
- `make' doesn't need to rebuild the target then you use the
+ 'make' doesn't need to rebuild the target then you use the
path found via directory search.
b. If the target _does_ need to be rebuilt (is out-of-date), the
pathname found during directory search is _thrown away_, and
the target is rebuilt using the file name specified in the
- makefile. In short, if `make' must rebuild, then the target
+ makefile. In short, if 'make' must rebuild, then the target
is rebuilt locally, not in the directory found via directory
search.
This algorithm may seem complex, but in practice it is quite often
exactly what you want.
- Other versions of `make' use a simpler algorithm: if the file does
+ Other versions of 'make' use a simpler algorithm: if the file does
not exist, and it is found via directory search, then that pathname is
always used whether or not the target needs to be built. Thus, if the
target is rebuilt it is created at the pathname discovered during
directory search.
If, in fact, this is the behavior you want for some or all of your
-directories, you can use the `GPATH' variable to indicate this to
-`make'.
+directories, you can use the 'GPATH' variable to indicate this to
+'make'.
- `GPATH' has the same syntax and format as `VPATH' (that is, a space-
+ 'GPATH' has the same syntax and format as 'VPATH' (that is, a space-
or colon-delimited list of pathnames). If an out-of-date target is
-found by directory search in a directory that also appears in `GPATH',
+found by directory search in a directory that also appears in 'GPATH',
then that pathname is not thrown away. The target is rebuilt using the
expanded path.
@@ -2104,25 +2100,25 @@ File: make.info, Node: Recipes/Search, Next: Implicit/Search, Prev: Search Al
When a prerequisite is found in another directory through directory
search, this cannot change the recipe of the rule; they will execute as
-written. Therefore, you must write the recipe with care so that it
-will look for the prerequisite in the directory where `make' finds it.
+written. Therefore, you must write the recipe with care so that it will
+look for the prerequisite in the directory where 'make' finds it.
- This is done with the "automatic variables" such as `$^' (*note
-Automatic Variables::). For instance, the value of `$^' is a list of
+ This is done with the "automatic variables" such as '$^' (*note
+Automatic Variables::). For instance, the value of '$^' is a list of
all the prerequisites of the rule, including the names of the
-directories in which they were found, and the value of `$@' is the
+directories in which they were found, and the value of '$@' is the
target. Thus:
foo.o : foo.c
cc -c $(CFLAGS) $^ -o $@
-(The variable `CFLAGS' exists so you can specify flags for C
-compilation by implicit rules; we use it here for consistency so it will
-affect all C compilations uniformly; *note Variables Used by Implicit
-Rules: Implicit Variables.)
+(The variable 'CFLAGS' exists so you can specify flags for C compilation
+by implicit rules; we use it here for consistency so it will affect all
+C compilations uniformly; *note Variables Used by Implicit Rules:
+Implicit Variables.)
Often the prerequisites include header files as well, which you do
-not want to mention in the recipe. The automatic variable `$<' is just
+not want to mention in the recipe. The automatic variable '$<' is just
the first prerequisite:
VPATH = src:../headers
@@ -2135,14 +2131,14 @@ File: make.info, Node: Implicit/Search, Next: Libraries/Search, Prev: Recipes
4.5.5 Directory Search and Implicit Rules
-----------------------------------------
-The search through the directories specified in `VPATH' or with `vpath'
+The search through the directories specified in 'VPATH' or with 'vpath'
also happens during consideration of implicit rules (*note Using
Implicit Rules: Implicit Rules.).
- For example, when a file `foo.o' has no explicit rule, `make'
-considers implicit rules, such as the built-in rule to compile `foo.c'
+ For example, when a file 'foo.o' has no explicit rule, 'make'
+considers implicit rules, such as the built-in rule to compile 'foo.c'
if that file exists. If such a file is lacking in the current
-directory, the appropriate directories are searched for it. If `foo.c'
+directory, the appropriate directories are searched for it. If 'foo.c'
exists (or is mentioned in the makefile) in any of the directories, the
implicit rule for C compilation is applied.
@@ -2158,38 +2154,38 @@ File: make.info, Node: Libraries/Search, Prev: Implicit/Search, Up: Directory
Directory search applies in a special way to libraries used with the
linker. This special feature comes into play when you write a
-prerequisite whose name is of the form `-lNAME'. (You can tell
+prerequisite whose name is of the form '-lNAME'. (You can tell
something strange is going on here because the prerequisite is normally
the name of a file, and the _file name_ of a library generally looks
-like `libNAME.a', not like `-lNAME'.)
+like 'libNAME.a', not like '-lNAME'.)
- When a prerequisite's name has the form `-lNAME', `make' handles it
-specially by searching for the file `libNAME.so', and, if it is not
-found, for the file `libNAME.a' in the current directory, in
-directories specified by matching `vpath' search paths and the `VPATH'
-search path, and then in the directories `/lib', `/usr/lib', and
-`PREFIX/lib' (normally `/usr/local/lib', but MS-DOS/MS-Windows versions
-of `make' behave as if PREFIX is defined to be the root of the DJGPP
-installation tree).
+ When a prerequisite's name has the form '-lNAME', 'make' handles it
+specially by searching for the file 'libNAME.so', and, if it is not
+found, for the file 'libNAME.a' in the current directory, in directories
+specified by matching 'vpath' search paths and the 'VPATH' search path,
+and then in the directories '/lib', '/usr/lib', and 'PREFIX/lib'
+(normally '/usr/local/lib', but MS-DOS/MS-Windows versions of 'make'
+behave as if PREFIX is defined to be the root of the DJGPP installation
+tree).
- For example, if there is a `/usr/lib/libcurses.a' library on your
-system (and no `/usr/lib/libcurses.so' file), then
+ For example, if there is a '/usr/lib/libcurses.a' library on your
+system (and no '/usr/lib/libcurses.so' file), then
foo : foo.c -lcurses
cc $^ -o $@
-would cause the command `cc foo.c /usr/lib/libcurses.a -o foo' to be
-executed when `foo' is older than `foo.c' or than
-`/usr/lib/libcurses.a'.
+would cause the command 'cc foo.c /usr/lib/libcurses.a -o foo' to be
+executed when 'foo' is older than 'foo.c' or than
+'/usr/lib/libcurses.a'.
- Although the default set of files to be searched for is `libNAME.so'
-and `libNAME.a', this is customizable via the `.LIBPATTERNS' variable.
+ Although the default set of files to be searched for is 'libNAME.so'
+and 'libNAME.a', this is customizable via the '.LIBPATTERNS' variable.
Each word in the value of this variable is a pattern string. When a
-prerequisite like `-lNAME' is seen, `make' will replace the percent in
+prerequisite like '-lNAME' is seen, 'make' will replace the percent in
each pattern in the list with NAME and perform the above directory
searches using each library file name.
- The default value for `.LIBPATTERNS' is `lib%.so lib%.a', which
+ The default value for '.LIBPATTERNS' is 'lib%.so lib%.a', which
provides the default behavior described above.
You can turn off link library expansion completely by setting this
@@ -2213,41 +2209,31 @@ Here is an example:
clean:
rm *.o temp
-Because the `rm' command does not create a file named `clean', probably
-no such file will ever exist. Therefore, the `rm' command will be
-executed every time you say `make clean'.
-
- The phony target will cease to work if anything ever does create a
-file named `clean' in this directory. Since it has no prerequisites,
-the file `clean' would inevitably be considered up to date, and its
-recipe would not be executed. To avoid this problem, you can explicitly
-declare the target to be phony, using the special target `.PHONY'
-(*note Special Built-in Target Names: Special Targets.) as follows:
-
- .PHONY : clean
-
-Once this is done, `make clean' will run the recipe regardless of
-whether there is a file named `clean'.
-
- Since it knows that phony targets do not name actual files that
-could be remade from other files, `make' skips the implicit rule search
-for phony targets (*note Implicit Rules::). This is why declaring a
-target phony is good for performance, even if you are not worried about
-the actual file existing.
+Because the 'rm' command does not create a file named 'clean', probably
+no such file will ever exist. Therefore, the 'rm' command will be
+executed every time you say 'make clean'.
- Thus, you first write the line that states that `clean' is a phony
-target, then you write the rule, like this:
+ In this example, the 'clean' target will not work properly if a file
+named 'clean' is ever created in this directory. Since it has no
+prerequisites, 'clean' would always be considered up to date and its
+recipe would not be executed. To avoid this problem you can explicitly
+declare the target to be phony by making it a prerequisite of the
+special target '.PHONY' (*note Special Built-in Target Names: Special
+Targets.) as follows:
.PHONY: clean
clean:
rm *.o temp
- Another example of the usefulness of phony targets is in conjunction
-with recursive invocations of `make' (for more information, see *note
-Recursive Use of `make': Recursion.). In this case the makefile will
-often contain a variable which lists a number of sub-directories to be
-built. One way to handle this is with one rule whose recipe is a shell
-loop over the sub-directories, like this:
+Once this is done, 'make clean' will run the recipe regardless of
+whether there is a file named 'clean'.
+
+ Phony targets are also useful in conjunction with recursive
+invocations of 'make' (*note Recursive Use of 'make': Recursion.). In
+this situation the makefile will often contain a variable which lists a
+number of sub-directories to be built. A simplistic way to handle this
+is to define one rule with a recipe that loops over the sub-directories,
+like this:
SUBDIRS = foo bar baz
@@ -2260,13 +2246,13 @@ loop over the sub-directories, like this:
detected in a sub-make is ignored by this rule, so it will continue to
build the rest of the directories even when one fails. This can be
overcome by adding shell commands to note the error and exit, but then
-it will do so even if `make' is invoked with the `-k' option, which is
+it will do so even if 'make' is invoked with the '-k' option, which is
unfortunate. Second, and perhaps more importantly, you cannot take
-advantage of `make''s ability to build targets in parallel (*note
+advantage of 'make''s ability to build targets in parallel (*note
Parallel Execution: Parallel.), since there is only one rule.
- By declaring the sub-directories as phony targets (you must do this
-as the sub-directory obviously always exists; otherwise it won't be
+ By declaring the sub-directories as '.PHONY' targets (you must do
+this as the sub-directory obviously always exists; otherwise it won't be
built) you can remove these problems:
SUBDIRS = foo bar baz
@@ -2280,24 +2266,29 @@ built) you can remove these problems:
foo: baz
- Here we've also declared that the `foo' sub-directory cannot be
-built until after the `baz' sub-directory is complete; this kind of
+ Here we've also declared that the 'foo' sub-directory cannot be built
+until after the 'baz' sub-directory is complete; this kind of
relationship declaration is particularly important when attempting
parallel builds.
- A phony target should not be a prerequisite of a real target file;
-if it is, its recipe will be run every time `make' goes to update that
+ The implicit rule search (*note Implicit Rules::) is skipped for
+'.PHONY' targets. This is why declaring a target as '.PHONY' is good
+for performance, even if you are not worried about the actual file
+existing.
+
+ A phony target should not be a prerequisite of a real target file; if
+it is, its recipe will be run every time 'make' goes to update that
file. As long as a phony target is never a prerequisite of a real
target, the phony target recipe will be executed only when the phony
target is a specified goal (*note Arguments to Specify the Goals:
Goals.).
Phony targets can have prerequisites. When one directory contains
-multiple programs, it is most convenient to describe all of the
-programs in one makefile `./Makefile'. Since the target remade by
-default will be the first one in the makefile, it is common to make
-this a phony target named `all' and give it, as prerequisites, all the
-individual programs. For example:
+multiple programs, it is most convenient to describe all of the programs
+in one makefile './Makefile'. Since the target remade by default will
+be the first one in the makefile, it is common to make this a phony
+target named 'all' and give it, as prerequisites, all the individual
+programs. For example:
all : prog1 prog2 prog3
.PHONY : all
@@ -2311,14 +2302,14 @@ individual programs. For example:
prog3 : prog3.o sort.o utils.o
cc -o prog3 prog3.o sort.o utils.o
-Now you can say just `make' to remake all three programs, or specify as
-arguments the ones to remake (as in `make prog1 prog3'). Phoniness is
+Now you can say just 'make' to remake all three programs, or specify as
+arguments the ones to remake (as in 'make prog1 prog3'). Phoniness is
not inherited: the prerequisites of a phony target are not themselves
phony, unless explicitly declared to be so.
When one phony target is a prerequisite of another, it serves as a
-subroutine of the other. For example, here `make cleanall' will delete
-the object files, the difference files, and the file `program':
+subroutine of the other. For example, here 'make cleanall' will delete
+the object files, the difference files, and the file 'program':
.PHONY: cleanall cleanobj cleandiff
@@ -2338,7 +2329,7 @@ File: make.info, Node: Force Targets, Next: Empty Targets, Prev: Phony Target
==========================================
If a rule has no prerequisites or recipe, and the target of the rule is
-a nonexistent file, then `make' imagines this target to have been
+a nonexistent file, then 'make' imagines this target to have been
updated whenever its rule is run. This implies that all targets
depending on this one will always have their recipe run.
@@ -2348,17 +2339,17 @@ depending on this one will always have their recipe run.
rm $(objects)
FORCE:
- Here the target `FORCE' satisfies the special conditions, so the
-target `clean' that depends on it is forced to run its recipe. There
-is nothing special about the name `FORCE', but that is one name
-commonly used this way.
+ Here the target 'FORCE' satisfies the special conditions, so the
+target 'clean' that depends on it is forced to run its recipe. There is
+nothing special about the name 'FORCE', but that is one name commonly
+used this way.
- As you can see, using `FORCE' this way has the same results as using
-`.PHONY: clean'.
+ As you can see, using 'FORCE' this way has the same results as using
+'.PHONY: clean'.
- Using `.PHONY' is more explicit and more efficient. However, other
-versions of `make' do not support `.PHONY'; thus `FORCE' appears in
-many makefiles. *Note Phony Targets::.
+ Using '.PHONY' is more explicit and more efficient. However, other
+versions of 'make' do not support '.PHONY'; thus 'FORCE' appears in many
+makefiles. *Note Phony Targets::.

File: make.info, Node: Empty Targets, Next: Special Targets, Prev: Force Targets, Up: Rules
@@ -2373,7 +2364,7 @@ contents do not matter, and usually are empty.
The purpose of the empty target file is to record, with its
last-modification time, when the rule's recipe was last executed. It
-does so because one of the commands in the recipe is a `touch' command
+does so because one of the commands in the recipe is a 'touch' command
to update the target file.
The empty target file should have some prerequisites (otherwise it
@@ -2385,11 +2376,11 @@ remade the target. Here is an example:
print: foo.c bar.c
lpr -p $?
touch print
-
-With this rule, `make print' will execute the `lpr' command if either
-source file has changed since the last `make print'. The automatic
-variable `$?' is used to print only those files that have changed
-(*note Automatic Variables::).
+
+With this rule, 'make print' will execute the 'lpr' command if either
+source file has changed since the last 'make print'. The automatic
+variable '$?' is used to print only those files that have changed (*note
+Automatic Variables::).

File: make.info, Node: Special Targets, Next: Multiple Targets, Prev: Empty Targets, Up: Rules
@@ -2399,160 +2390,175 @@ File: make.info, Node: Special Targets, Next: Multiple Targets, Prev: Empty T
Certain names have special meanings if they appear as targets.
-`.PHONY'
- The prerequisites of the special target `.PHONY' are considered to
+'.PHONY'
+
+ The prerequisites of the special target '.PHONY' are considered to
be phony targets. When it is time to consider such a target,
- `make' will run its recipe unconditionally, regardless of whether
- a file with that name exists or what its last-modification time
- is. *Note Phony Targets: Phony Targets.
+ 'make' will run its recipe unconditionally, regardless of whether a
+ file with that name exists or what its last-modification time is.
+ *Note Phony Targets: Phony Targets.
-`.SUFFIXES'
- The prerequisites of the special target `.SUFFIXES' are the list
- of suffixes to be used in checking for suffix rules. *Note
+'.SUFFIXES'
+
+ The prerequisites of the special target '.SUFFIXES' are the list of
+ suffixes to be used in checking for suffix rules. *Note
Old-Fashioned Suffix Rules: Suffix Rules.
-`.DEFAULT'
- The recipe specified for `.DEFAULT' is used for any target for
+'.DEFAULT'
+
+ The recipe specified for '.DEFAULT' is used for any target for
which no rules are found (either explicit rules or implicit rules).
- *Note Last Resort::. If a `.DEFAULT' recipe is specified, every
+ *Note Last Resort::. If a '.DEFAULT' recipe is specified, every
file mentioned as a prerequisite, but not as a target in a rule,
will have that recipe executed on its behalf. *Note Implicit Rule
Search Algorithm: Implicit Rule Search.
-`.PRECIOUS'
- The targets which `.PRECIOUS' depends on are given the following
- special treatment: if `make' is killed or interrupted during the
+'.PRECIOUS'
+
+ The targets which '.PRECIOUS' depends on are given the following
+ special treatment: if 'make' is killed or interrupted during the
execution of their recipes, the target is not deleted. *Note
- Interrupting or Killing `make': Interrupts. Also, if the target
- is an intermediate file, it will not be deleted after it is no
- longer needed, as is normally done. *Note Chains of Implicit
- Rules: Chained Rules. In this latter respect it overlaps with the
- `.SECONDARY' special target.
+ Interrupting or Killing 'make': Interrupts. Also, if the target is
+ an intermediate file, it will not be deleted after it is no longer
+ needed, as is normally done. *Note Chains of Implicit Rules:
+ Chained Rules. In this latter respect it overlaps with the
+ '.SECONDARY' special target.
You can also list the target pattern of an implicit rule (such as
- `%.o') as a prerequisite file of the special target `.PRECIOUS' to
+ '%.o') as a prerequisite file of the special target '.PRECIOUS' to
preserve intermediate files created by rules whose target patterns
match that file's name.
-`.INTERMEDIATE'
- The targets which `.INTERMEDIATE' depends on are treated as
+'.INTERMEDIATE'
+
+ The targets which '.INTERMEDIATE' depends on are treated as
intermediate files. *Note Chains of Implicit Rules: Chained Rules.
- `.INTERMEDIATE' with no prerequisites has no effect.
+ '.INTERMEDIATE' with no prerequisites has no effect.
+
+'.SECONDARY'
-`.SECONDARY'
- The targets which `.SECONDARY' depends on are treated as
+ The targets which '.SECONDARY' depends on are treated as
intermediate files, except that they are never automatically
deleted. *Note Chains of Implicit Rules: Chained Rules.
- `.SECONDARY' with no prerequisites causes all targets to be treated
+ '.SECONDARY' with no prerequisites causes all targets to be treated
as secondary (i.e., no target is removed because it is considered
intermediate).
-`.SECONDEXPANSION'
- If `.SECONDEXPANSION' is mentioned as a target anywhere in the
+'.SECONDEXPANSION'
+
+ If '.SECONDEXPANSION' is mentioned as a target anywhere in the
makefile, then all prerequisite lists defined _after_ it appears
will be expanded a second time after all makefiles have been read
in. *Note Secondary Expansion: Secondary Expansion.
-`.DELETE_ON_ERROR'
- If `.DELETE_ON_ERROR' is mentioned as a target anywhere in the
- makefile, then `make' will delete the target of a rule if it has
+'.DELETE_ON_ERROR'
+
+ If '.DELETE_ON_ERROR' is mentioned as a target anywhere in the
+ makefile, then 'make' will delete the target of a rule if it has
changed and its recipe exits with a nonzero exit status, just as it
does when it receives a signal. *Note Errors in Recipes: Errors.
-`.IGNORE'
- If you specify prerequisites for `.IGNORE', then `make' will
- ignore errors in execution of the recipe for those particular
- files. The recipe for `.IGNORE' (if any) is ignored.
+'.IGNORE'
+
+ If you specify prerequisites for '.IGNORE', then 'make' will ignore
+ errors in execution of the recipe for those particular files. The
+ recipe for '.IGNORE' (if any) is ignored.
- If mentioned as a target with no prerequisites, `.IGNORE' says to
+ If mentioned as a target with no prerequisites, '.IGNORE' says to
ignore errors in execution of recipes for all files. This usage of
- `.IGNORE' is supported only for historical compatibility. Since
+ '.IGNORE' is supported only for historical compatibility. Since
this affects every recipe in the makefile, it is not very useful;
we recommend you use the more selective ways to ignore errors in
specific recipes. *Note Errors in Recipes: Errors.
-`.LOW_RESOLUTION_TIME'
- If you specify prerequisites for `.LOW_RESOLUTION_TIME', `make'
+'.LOW_RESOLUTION_TIME'
+
+ If you specify prerequisites for '.LOW_RESOLUTION_TIME', 'make'
assumes that these files are created by commands that generate low
- resolution time stamps. The recipe for the `.LOW_RESOLUTION_TIME'
+ resolution time stamps. The recipe for the '.LOW_RESOLUTION_TIME'
target are ignored.
The high resolution file time stamps of many modern file systems
- lessen the chance of `make' incorrectly concluding that a file is
+ lessen the chance of 'make' incorrectly concluding that a file is
up to date. Unfortunately, some hosts do not provide a way to set
- a high resolution file time stamp, so commands like `cp -p' that
+ a high resolution file time stamp, so commands like 'cp -p' that
explicitly set a file's time stamp must discard its sub-second
part. If a file is created by such a command, you should list it
- as a prerequisite of `.LOW_RESOLUTION_TIME' so that `make' does
- not mistakenly conclude that the file is out of date. For example:
+ as a prerequisite of '.LOW_RESOLUTION_TIME' so that 'make' does not
+ mistakenly conclude that the file is out of date. For example:
.LOW_RESOLUTION_TIME: dst
dst: src
cp -p src dst
- Since `cp -p' discards the sub-second part of `src''s time stamp,
- `dst' is typically slightly older than `src' even when it is up to
- date. The `.LOW_RESOLUTION_TIME' line causes `make' to consider
- `dst' to be up to date if its time stamp is at the start of the
- same second that `src''s time stamp is in.
+ Since 'cp -p' discards the sub-second part of 'src''s time stamp,
+ 'dst' is typically slightly older than 'src' even when it is up to
+ date. The '.LOW_RESOLUTION_TIME' line causes 'make' to consider
+ 'dst' to be up to date if its time stamp is at the start of the
+ same second that 'src''s time stamp is in.
Due to a limitation of the archive format, archive member time
stamps are always low resolution. You need not list archive
- members as prerequisites of `.LOW_RESOLUTION_TIME', as `make' does
+ members as prerequisites of '.LOW_RESOLUTION_TIME', as 'make' does
this automatically.
-`.SILENT'
- If you specify prerequisites for `.SILENT', then `make' will not
+'.SILENT'
+
+ If you specify prerequisites for '.SILENT', then 'make' will not
print the recipe used to remake those particular files before
- executing them. The recipe for `.SILENT' is ignored.
+ executing them. The recipe for '.SILENT' is ignored.
- If mentioned as a target with no prerequisites, `.SILENT' says not
+ If mentioned as a target with no prerequisites, '.SILENT' says not
to print any recipes before executing them. This usage of
- `.SILENT' is supported only for historical compatibility. We
+ '.SILENT' is supported only for historical compatibility. We
recommend you use the more selective ways to silence specific
recipes. *Note Recipe Echoing: Echoing. If you want to silence
- all recipes for a particular run of `make', use the `-s' or
- `--silent' option (*note Options Summary::).
+ all recipes for a particular run of 'make', use the '-s' or '--silent'
+ option (*note Options Summary::).
+
+'.EXPORT_ALL_VARIABLES'
-`.EXPORT_ALL_VARIABLES'
- Simply by being mentioned as a target, this tells `make' to export
+ Simply by being mentioned as a target, this tells 'make' to export
all variables to child processes by default. *Note Communicating
- Variables to a Sub-`make': Variables/Recursion.
+ Variables to a Sub-'make': Variables/Recursion.
-`.NOTPARALLEL'
- If `.NOTPARALLEL' is mentioned as a target, then this invocation
- of `make' will be run serially, even if the `-j' option is given.
- Any recursively invoked `make' command will still run recipes in
+'.NOTPARALLEL'
+
+ If '.NOTPARALLEL' is mentioned as a target, then this invocation of
+ 'make' will be run serially, even if the '-j' option is given. Any
+ recursively invoked 'make' command will still run recipes in
parallel (unless its makefile also contains this target). Any
prerequisites on this target are ignored.
-`.ONESHELL'
- If `.ONESHELL' is mentioned as a target, then when a target is
+'.ONESHELL'
+
+ If '.ONESHELL' is mentioned as a target, then when a target is
built all lines of the recipe will be given to a single invocation
of the shell rather than each line being invoked separately (*note
Recipe Execution: Execution.).
-`.POSIX'
- If `.POSIX' is mentioned as a target, then the makefile will be
- parsed and run in POSIX-conforming mode. This does _not_ mean
- that only POSIX-conforming makefiles will be accepted: all advanced
- GNU `make' features are still available. Rather, this target
- causes `make' to behave as required by POSIX in those areas where
- `make''s default behavior differs.
+'.POSIX'
+
+ If '.POSIX' is mentioned as a target, then the makefile will be
+ parsed and run in POSIX-conforming mode. This does _not_ mean that
+ only POSIX-conforming makefiles will be accepted: all advanced GNU
+ 'make' features are still available. Rather, this target causes
+ 'make' to behave as required by POSIX in those areas where 'make''s
+ default behavior differs.
In particular, if this target is mentioned then recipes will be
- invoked as if the shell had been passed the `-e' flag: the first
+ invoked as if the shell had been passed the '-e' flag: the first
failing command in a recipe will cause the recipe to fail
immediately.
Any defined implicit rule suffix also counts as a special target if
it appears as a target, and so does the concatenation of two suffixes,
-such as `.c.o'. These targets are suffix rules, an obsolete way of
+such as '.c.o'. These targets are suffix rules, an obsolete way of
defining implicit rules (but a way still widely used). In principle,
any target name could be special in this way if you break it in two and
add both pieces to the suffix list. In practice, suffixes normally
-begin with `.', so these special target names also begin with `.'.
+begin with '.', so these special target names also begin with '.'.
*Note Old-Fashioned Suffix Rules: Suffix Rules.

@@ -2564,7 +2570,7 @@ File: make.info, Node: Multiple Targets, Next: Multiple Rules, Prev: Special
A rule with multiple targets is equivalent to writing many rules, each
with one target, and all identical aside from that. The same recipe
applies to all the targets, but its effect may vary because you can
-substitute the actual target name into the recipe using `$@'. The rule
+substitute the actual target name into the recipe using '$@'. The rule
contributes the same prerequisites to all the targets also.
This is useful in two cases.
@@ -2577,13 +2583,13 @@ contributes the same prerequisites to all the targets also.
mentioned.
* Similar recipes work for all the targets. The recipes do not need
- to be absolutely identical, since the automatic variable `$@' can
+ to be absolutely identical, since the automatic variable '$@' can
be used to substitute the particular target to be remade into the
commands (*note Automatic Variables::). For example:
bigoutput littleoutput : text.g
generate text.g -$(subst output,,$@) > $@
-
+
is equivalent to
bigoutput : text.g
@@ -2591,15 +2597,15 @@ contributes the same prerequisites to all the targets also.
littleoutput : text.g
generate text.g -little > littleoutput
- Here we assume the hypothetical program `generate' makes two types
- of output, one if given `-big' and one if given `-little'. *Note
- Functions for String Substitution and Analysis: Text Functions,
- for an explanation of the `subst' function.
+ Here we assume the hypothetical program 'generate' makes two types
+ of output, one if given '-big' and one if given '-little'. *Note
+ Functions for String Substitution and Analysis: Text Functions, for
+ an explanation of the 'subst' function.
Suppose you would like to vary the prerequisites according to the
-target, much as the variable `$@' allows you to vary the recipe. You
-cannot do this with multiple targets in an ordinary rule, but you can
-do it with a "static pattern rule". *Note Static Pattern Rules: Static
+target, much as the variable '$@' allows you to vary the recipe. You
+cannot do this with multiple targets in an ordinary rule, but you can do
+it with a "static pattern rule". *Note Static Pattern Rules: Static
Pattern.

@@ -2614,10 +2620,10 @@ the target. If the target is older than any prerequisite from any rule,
the recipe is executed.
There can only be one recipe to be executed for a file. If more than
-one rule gives a recipe for the same file, `make' uses the last one
+one rule gives a recipe for the same file, 'make' uses the last one
given and prints an error message. (As a special case, if the file's
name begins with a dot, no error message is printed. This odd behavior
-is only for compatibility with other implementations of `make'... you
+is only for compatibility with other implementations of 'make'... you
should avoid using it). Occasionally it is useful to have the same
target invoke multiple recipes which are defined in different parts of
your makefile; you can use "double-colon rules" (*note Double-Colon::)
@@ -2625,9 +2631,9 @@ for this.
An extra rule with just prerequisites can be used to give a few extra
prerequisites to many files at once. For example, makefiles often have
-a variable, such as `objects', containing a list of all the compiler
+a variable, such as 'objects', containing a list of all the compiler
output files in the system being made. An easy way to say that all of
-them must be recompiled if `config.h' changes is to write the following:
+them must be recompiled if 'config.h' changes is to write the following:
objects = foo.o bar.o
foo.o : defs.h
@@ -2635,21 +2641,20 @@ them must be recompiled if `config.h' changes is to write the following:
$(objects) : config.h
This could be inserted or taken out without changing the rules that
-really specify how to make the object files, making it a convenient
-form to use if you wish to add the additional prerequisite
-intermittently.
+really specify how to make the object files, making it a convenient form
+to use if you wish to add the additional prerequisite intermittently.
Another wrinkle is that the additional prerequisites could be
specified with a variable that you set with a command line argument to
-`make' (*note Overriding Variables: Overriding.). For example,
+'make' (*note Overriding Variables: Overriding.). For example,
extradeps=
$(objects) : $(extradeps)
-means that the command `make extradeps=foo.h' will consider `foo.h' as
-a prerequisite of each object file, but plain `make' will not.
+means that the command 'make extradeps=foo.h' will consider 'foo.h' as a
+prerequisite of each object file, but plain 'make' will not.
- If none of the explicit rules for a target has a recipe, then `make'
+ If none of the explicit rules for a target has a recipe, then 'make'
searches for an applicable implicit rule to find one *note Using
Implicit Rules: Implicit Rules.).
@@ -2693,33 +2698,33 @@ TARGET-PATTERN to extract a part of the target name, called the "stem".
This stem is substituted into each of the PREREQ-PATTERNS to make the
prerequisite names (one from each PREREQ-PATTERN).
- Each pattern normally contains the character `%' just once. When the
-TARGET-PATTERN matches a target, the `%' can match any part of the
+ Each pattern normally contains the character '%' just once. When the
+TARGET-PATTERN matches a target, the '%' can match any part of the
target name; this part is called the "stem". The rest of the pattern
-must match exactly. For example, the target `foo.o' matches the
-pattern `%.o', with `foo' as the stem. The targets `foo.c' and
-`foo.out' do not match that pattern.
+must match exactly. For example, the target 'foo.o' matches the pattern
+'%.o', with 'foo' as the stem. The targets 'foo.c' and 'foo.out' do not
+match that pattern.
The prerequisite names for each target are made by substituting the
-stem for the `%' in each prerequisite pattern. For example, if one
-prerequisite pattern is `%.c', then substitution of the stem `foo'
-gives the prerequisite name `foo.c'. It is legitimate to write a
-prerequisite pattern that does not contain `%'; then this prerequisite
-is the same for all targets.
-
- `%' characters in pattern rules can be quoted with preceding
-backslashes (`\'). Backslashes that would otherwise quote `%'
+stem for the '%' in each prerequisite pattern. For example, if one
+prerequisite pattern is '%.c', then substitution of the stem 'foo' gives
+the prerequisite name 'foo.c'. It is legitimate to write a prerequisite
+pattern that does not contain '%'; then this prerequisite is the same
+for all targets.
+
+ '%' characters in pattern rules can be quoted with preceding
+backslashes ('\'). Backslashes that would otherwise quote '%'
characters can be quoted with more backslashes. Backslashes that quote
-`%' characters or other backslashes are removed from the pattern before
+'%' characters or other backslashes are removed from the pattern before
it is compared to file names or has a stem substituted into it.
-Backslashes that are not in danger of quoting `%' characters go
-unmolested. For example, the pattern `the\%weird\\%pattern\\' has
-`the%weird\' preceding the operative `%' character, and `pattern\\'
+Backslashes that are not in danger of quoting '%' characters go
+unmolested. For example, the pattern 'the\%weird\\%pattern\\' has
+'the%weird\' preceding the operative '%' character, and 'pattern\\'
following it. The final two backslashes are left alone because they
-cannot affect any `%' character.
+cannot affect any '%' character.
- Here is an example, which compiles each of `foo.o' and `bar.o' from
-the corresponding `.c' file:
+ Here is an example, which compiles each of 'foo.o' and 'bar.o' from
+the corresponding '.c' file:
objects = foo.o bar.o
@@ -2728,14 +2733,14 @@ the corresponding `.c' file:
$(objects): %.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
-Here `$<' is the automatic variable that holds the name of the
-prerequisite and `$@' is the automatic variable that holds the name of
+Here '$<' is the automatic variable that holds the name of the
+prerequisite and '$@' is the automatic variable that holds the name of
the target; see *note Automatic Variables::.
Each target specified must match the target pattern; a warning is
-issued for each target that does not. If you have a list of files,
-only some of which will match the pattern, you can use the `filter'
-function to remove non-matching file names (*note Functions for String
+issued for each target that does not. If you have a list of files, only
+some of which will match the pattern, you can use the 'filter' function
+to remove non-matching file names (*note Functions for String
Substitution and Analysis: Text Functions.):
files = foo.elc bar.o lose.o
@@ -2745,19 +2750,19 @@ Substitution and Analysis: Text Functions.):
$(filter %.elc,$(files)): %.elc: %.el
emacs -f batch-byte-compile $<
-In this example the result of `$(filter %.o,$(files))' is `bar.o
+In this example the result of '$(filter %.o,$(files))' is 'bar.o
lose.o', and the first static pattern rule causes each of these object
files to be updated by compiling the corresponding C source file. The
-result of `$(filter %.elc,$(files))' is `foo.elc', so that file is made
-from `foo.el'.
+result of '$(filter %.elc,$(files))' is 'foo.elc', so that file is made
+from 'foo.el'.
- Another example shows how to use `$*' in static pattern rules:
+ Another example shows how to use '$*' in static pattern rules:
bigoutput littleoutput : %output : text.g
generate text.g -$* > $@
-When the `generate' command is run, `$*' will expand to the stem,
-either `big' or `little'.
+When the 'generate' command is run, '$*' will expand to the stem, either
+'big' or 'little'.

File: make.info, Node: Static versus Implicit, Prev: Static Usage, Up: Static Pattern
@@ -2769,7 +2774,7 @@ A static pattern rule has much in common with an implicit rule defined
as a pattern rule (*note Defining and Redefining Pattern Rules: Pattern
Rules.). Both have a pattern for the target and patterns for
constructing the names of prerequisites. The difference is in how
-`make' decides _when_ the rule applies.
+'make' decides _when_ the rule applies.
An implicit rule _can_ apply to any target that matches its pattern,
but it _does_ apply only when the target has no recipe otherwise
@@ -2786,15 +2791,15 @@ If two conflicting rules apply, and both have recipes, that's an error.
reasons:
* You may wish to override the usual implicit rule for a few files
- whose names cannot be categorized syntactically but can be given
- in an explicit list.
+ whose names cannot be categorized syntactically but can be given in
+ an explicit list.
* If you cannot be sure of the precise contents of the directories
you are using, you may not be sure which other irrelevant files
- might lead `make' to use the wrong implicit rule. The choice
- might depend on the order in which the implicit rule search is
- done. With static pattern rules, there is no uncertainty: each
- rule applies to precisely the targets specified.
+ might lead 'make' to use the wrong implicit rule. The choice might
+ depend on the order in which the implicit rule search is done.
+ With static pattern rules, there is no uncertainty: each rule
+ applies to precisely the targets specified.

File: make.info, Node: Double-Colon, Next: Automatic Prerequisites, Prev: Static Pattern, Up: Rules
@@ -2802,20 +2807,19 @@ File: make.info, Node: Double-Colon, Next: Automatic Prerequisites, Prev: Sta
4.13 Double-Colon Rules
=======================
-"Double-colon" rules are explicit rules written with `::' instead of
-`:' after the target names. They are handled differently from ordinary
-rules when the same target appears in more than one rule. Pattern
-rules with double-colons have an entirely different meaning (*note
+"Double-colon" rules are explicit rules written with '::' instead of ':'
+after the target names. They are handled differently from ordinary
+rules when the same target appears in more than one rule. Pattern rules
+with double-colons have an entirely different meaning (*note
Match-Anything Rules::).
When a target appears in multiple rules, all the rules must be the
-same type: all ordinary, or all double-colon. If they are
-double-colon, each of them is independent of the others. Each
-double-colon rule's recipe is executed if the target is older than any
-prerequisites of that rule. If there are no prerequisites for that
-rule, its recipe is always executed (even if the target already
-exists). This can result in executing none, any, or all of the
-double-colon rules.
+same type: all ordinary, or all double-colon. If they are double-colon,
+each of them is independent of the others. Each double-colon rule's
+recipe is executed if the target is older than any prerequisites of that
+rule. If there are no prerequisites for that rule, its recipe is always
+executed (even if the target already exists). This can result in
+executing none, any, or all of the double-colon rules.
Double-colon rules with the same target are in fact completely
separate from one another. Each double-colon rule is processed
@@ -2843,20 +2847,20 @@ File: make.info, Node: Automatic Prerequisites, Prev: Double-Colon, Up: Rules
In the makefile for a program, many of the rules you need to write often
say only that some object file depends on some header file. For
-example, if `main.c' uses `defs.h' via an `#include', you would write:
+example, if 'main.c' uses 'defs.h' via an '#include', you would write:
main.o: defs.h
-You need this rule so that `make' knows that it must remake `main.o'
-whenever `defs.h' changes. You can see that for a large program you
+You need this rule so that 'make' knows that it must remake 'main.o'
+whenever 'defs.h' changes. You can see that for a large program you
would have to write dozens of such rules in your makefile. And, you
-must always be very careful to update the makefile every time you add
-or remove an `#include'.
+must always be very careful to update the makefile every time you add or
+remove an '#include'.
To avoid this hassle, most modern C compilers can write these rules
-for you, by looking at the `#include' lines in the source files.
-Usually this is done with the `-M' option to the compiler. For
-example, the command:
+for you, by looking at the '#include' lines in the source files.
+Usually this is done with the '-M' option to the compiler. For example,
+the command:
cc -M main.c
@@ -2864,34 +2868,33 @@ generates the output:
main.o : main.c defs.h
-Thus you no longer have to write all those rules yourself. The
-compiler will do it for you.
+Thus you no longer have to write all those rules yourself. The compiler
+will do it for you.
- Note that such a rule constitutes mentioning `main.o' in a makefile,
+ Note that such a rule constitutes mentioning 'main.o' in a makefile,
so it can never be considered an intermediate file by implicit rule
-search. This means that `make' won't ever remove the file after using
+search. This means that 'make' won't ever remove the file after using
it; *note Chains of Implicit Rules: Chained Rules.
- With old `make' programs, it was traditional practice to use this
+ With old 'make' programs, it was traditional practice to use this
compiler feature to generate prerequisites on demand with a command like
-`make depend'. That command would create a file `depend' containing
-all the automatically-generated prerequisites; then the makefile could
-use `include' to read them in (*note Include::).
-
- In GNU `make', the feature of remaking makefiles makes this practice
-obsolete--you need never tell `make' explicitly to regenerate the
-prerequisites, because it always regenerates any makefile that is out
-of date. *Note Remaking Makefiles::.
-
- The practice we recommend for automatic prerequisite generation is
-to have one makefile corresponding to each source file. For each
-source file `NAME.c' there is a makefile `NAME.d' which lists what
-files the object file `NAME.o' depends on. That way only the source
-files that have changed need to be rescanned to produce the new
-prerequisites.
+'make depend'. That command would create a file 'depend' containing all
+the automatically-generated prerequisites; then the makefile could use
+'include' to read them in (*note Include::).
+
+ In GNU 'make', the feature of remaking makefiles makes this practice
+obsolete--you need never tell 'make' explicitly to regenerate the
+prerequisites, because it always regenerates any makefile that is out of
+date. *Note Remaking Makefiles::.
+
+ The practice we recommend for automatic prerequisite generation is to
+have one makefile corresponding to each source file. For each source
+file 'NAME.c' there is a makefile 'NAME.d' which lists what files the
+object file 'NAME.o' depends on. That way only the source files that
+have changed need to be rescanned to produce the new prerequisites.
- Here is the pattern rule to generate a file of prerequisites (i.e.,
-a makefile) called `NAME.d' from a C source file called `NAME.c':
+ Here is the pattern rule to generate a file of prerequisites (i.e., a
+makefile) called 'NAME.d' from a C source file called 'NAME.c':
%.d: %.c
@set -e; rm -f $@; \
@@ -2900,15 +2903,15 @@ a makefile) called `NAME.d' from a C source file called `NAME.c':
rm -f $@.$$$$
*Note Pattern Rules::, for information on defining pattern rules. The
-`-e' flag to the shell causes it to exit immediately if the `$(CC)'
-command (or any other command) fails (exits with a nonzero status).
+'-e' flag to the shell causes it to exit immediately if the '$(CC)'
+command (or any other command) fails (exits with a nonzero status).
- With the GNU C compiler, you may wish to use the `-MM' flag instead
-of `-M'. This omits prerequisites on system header files. *Note
+ With the GNU C compiler, you may wish to use the '-MM' flag instead
+of '-M'. This omits prerequisites on system header files. *Note
Options Controlling the Preprocessor: (gcc)Preprocessor Options, for
details.
- The purpose of the `sed' command is to translate (for example):
+ The purpose of the 'sed' command is to translate (for example):
main.o : main.c defs.h
@@ -2916,13 +2919,13 @@ into:
main.o main.d : main.c defs.h
-This makes each `.d' file depend on all the source and header files
-that the corresponding `.o' file depends on. `make' then knows it must
+This makes each '.d' file depend on all the source and header files that
+the corresponding '.o' file depends on. 'make' then knows it must
regenerate the prerequisites whenever any of the source or header files
changes.
- Once you've defined the rule to remake the `.d' files, you then use
-the `include' directive to read them all in. *Note Include::. For
+ Once you've defined the rule to remake the '.d' files, you then use
+the 'include' directive to read them all in. *Note Include::. For
example:
sources = foo.c bar.c
@@ -2930,16 +2933,16 @@ example:
include $(sources:.c=.d)
(This example uses a substitution variable reference to translate the
-list of source files `foo.c bar.c' into a list of prerequisite
-makefiles, `foo.d bar.d'. *Note Substitution Refs::, for full
-information on substitution references.) Since the `.d' files are
-makefiles like any others, `make' will remake them as necessary with no
+list of source files 'foo.c bar.c' into a list of prerequisite
+makefiles, 'foo.d bar.d'. *Note Substitution Refs::, for full
+information on substitution references.) Since the '.d' files are
+makefiles like any others, 'make' will remake them as necessary with no
further work from you. *Note Remaking Makefiles::.
- Note that the `.d' files contain target definitions; you should be
-sure to place the `include' directive _after_ the first, default goal
-in your makefiles or run the risk of having a random object file become
-the default goal. *Note How Make Works::.
+ Note that the '.d' files contain target definitions; you should be
+sure to place the 'include' directive _after_ the first, default goal in
+your makefiles or run the risk of having a random object file become the
+default goal. *Note How Make Works::.

File: make.info, Node: Recipes, Next: Using Variables, Prev: Rules, Up: Top
@@ -2953,8 +2956,8 @@ result of executing these commands is that the target of the rule is
brought up to date.
Users use many different shell programs, but recipes in makefiles are
-always interpreted by `/bin/sh' unless the makefile specifies
-otherwise. *Note Recipe Execution: Execution.
+always interpreted by '/bin/sh' unless the makefile specifies otherwise.
+*Note Recipe Execution: Execution.
* Menu:
@@ -2964,7 +2967,7 @@ otherwise. *Note Recipe Execution: Execution.
* Parallel:: How recipes can be executed in parallel.
* Errors:: What happens after a recipe execution error.
* Interrupts:: What happens when a recipe is interrupted.
-* Recursion:: Invoking `make' from makefiles.
+* Recursion:: Invoking 'make' from makefiles.
* Canned Recipes:: Defining canned recipes.
* Empty Recipes:: Defining useful, do-nothing recipes.
@@ -2975,47 +2978,46 @@ File: make.info, Node: Recipe Syntax, Next: Echoing, Prev: Recipes, Up: Reci
=================
Makefiles have the unusual property that there are really two distinct
-syntaxes in one file. Most of the makefile uses `make' syntax (*note
+syntaxes in one file. Most of the makefile uses 'make' syntax (*note
Writing Makefiles: Makefiles.). However, recipes are meant to be
interpreted by the shell and so they are written using shell syntax.
-The `make' program does not try to understand shell syntax: it performs
+The 'make' program does not try to understand shell syntax: it performs
only a very few specific translations on the content of the recipe
before handing it to the shell.
Each line in the recipe must start with a tab (or the first character
-in the value of the `.RECIPEPREFIX' variable; *note Special
+in the value of the '.RECIPEPREFIX' variable; *note Special
Variables::), except that the first recipe line may be attached to the
target-and-prerequisites line with a semicolon in between. _Any_ line
in the makefile that begins with a tab and appears in a "rule context"
(that is, after a rule has been started until another rule or variable
definition) will be considered part of a recipe for that rule. Blank
-lines and lines of just comments may appear among the recipe lines;
-they are ignored.
+lines and lines of just comments may appear among the recipe lines; they
+are ignored.
Some consequences of these rules include:
* A blank line that begins with a tab is not blank: it's an empty
recipe (*note Empty Recipes::).
- * A comment in a recipe is not a `make' comment; it will be passed
- to the shell as-is. Whether the shell treats it as a comment or
- not depends on your shell.
+ * A comment in a recipe is not a 'make' comment; it will be passed to
+ the shell as-is. Whether the shell treats it as a comment or not
+ depends on your shell.
* A variable definition in a "rule context" which is indented by a
tab as the first character on the line, will be considered part of
- a recipe, not a `make' variable definition, and passed to the
+ a recipe, not a 'make' variable definition, and passed to the
shell.
- * A conditional expression (`ifdef', `ifeq', etc. *note Syntax of
+ * A conditional expression ('ifdef', 'ifeq', etc. *note Syntax of
Conditionals: Conditional Syntax.) in a "rule context" which is
indented by a tab as the first character on the line, will be
considered part of a recipe and be passed to the shell.
-
* Menu:
* Splitting Recipe Lines:: Breaking long recipe lines for readability.
-* Variables in Recipes:: Using `make' variables in recipes.
+* Variables in Recipes:: Using 'make' variables in recipes.

File: make.info, Node: Splitting Recipe Lines, Next: Variables in Recipes, Prev: Recipe Syntax, Up: Recipe Syntax
@@ -3023,7 +3025,7 @@ File: make.info, Node: Splitting Recipe Lines, Next: Variables in Recipes, Pr
5.1.1 Splitting Recipe Lines
----------------------------
-One of the few ways in which `make' does interpret recipes is checking
+One of the few ways in which 'make' does interpret recipes is checking
for a backslash just before the newline. As in normal makefile syntax,
a single logical recipe line can be split into multiple physical lines
in the makefile by placing a backslash before each newline. A sequence
@@ -3079,20 +3081,20 @@ output:
hello world
Notice how the backslash/newline pair was removed inside the string
-quoted with double quotes (`"..."'), but not from the string quoted
-with single quotes (`'...''). This is the way the default shell
-(`/bin/sh') handles backslash/newline pairs. If you specify a
-different shell in your makefiles it may treat them differently.
+quoted with double quotes ('"..."'), but not from the string quoted with
+single quotes (''...''). This is the way the default shell ('/bin/sh')
+handles backslash/newline pairs. If you specify a different shell in
+your makefiles it may treat them differently.
Sometimes you want to split a long line inside of single quotes, but
you don't want the backslash/newline to appear in the quoted content.
This is often the case when passing scripts to languages such as Perl,
-where extraneous backslashes inside the script can change its meaning
-or even be a syntax error. One simple way of handling this is to place
-the quoted string, or even the entire command, into a `make' variable
-then use the variable in the recipe. In this situation the newline
-quoting rules for makefiles will be used, and the backslash/newline
-will be removed. If we rewrite our example above using this method:
+where extraneous backslashes inside the script can change its meaning or
+even be a syntax error. One simple way of handling this is to place the
+quoted string, or even the entire command, into a 'make' variable then
+use the variable in the recipe. In this situation the newline quoting
+rules for makefiles will be used, and the backslash/newline will be
+removed. If we rewrite our example above using this method:
HELLO = 'hello \
world'
@@ -3113,7 +3115,7 @@ File: make.info, Node: Variables in Recipes, Prev: Splitting Recipe Lines, Up
5.1.2 Using Variables in Recipes
--------------------------------
-The other way in which `make' processes recipes is by expanding any
+The other way in which 'make' processes recipes is by expanding any
variable references in them (*note Basics of Variable References:
Reference.). This occurs after make has finished reading all the
makefiles and the target is determined to be out of date; so, the
@@ -3122,9 +3124,9 @@ recipes for targets which are not rebuilt are never expanded.
Variable and function references in recipes have identical syntax and
semantics to references elsewhere in the makefile. They also have the
same quoting rules: if you want a dollar sign to appear in your recipe,
-you must double it (`$$'). For shells like the default shell, that use
+you must double it ('$$'). For shells like the default shell, that use
dollar signs to introduce variables, it's important to keep clear in
-your mind whether the variable you want to reference is a `make'
+your mind whether the variable you want to reference is a 'make'
variable (use a single dollar sign) or a shell variable (use two dollar
signs). For example:
@@ -3152,29 +3154,29 @@ File: make.info, Node: Echoing, Next: Execution, Prev: Recipe Syntax, Up: Re
5.2 Recipe Echoing
==================
-Normally `make' prints each line of the recipe before it is executed.
+Normally 'make' prints each line of the recipe before it is executed.
We call this "echoing" because it gives the appearance that you are
typing the lines yourself.
- When a line starts with `@', the echoing of that line is suppressed.
-The `@' is discarded before the line is passed to the shell. Typically
+ When a line starts with '@', the echoing of that line is suppressed.
+The '@' is discarded before the line is passed to the shell. Typically
you would use this for a command whose only effect is to print
-something, such as an `echo' command to indicate progress through the
+something, such as an 'echo' command to indicate progress through the
makefile:
@echo About to make distribution files
- When `make' is given the flag `-n' or `--just-print' it only echoes
-most recipes, without executing them. *Note Summary of Options:
-Options Summary. In this case even the recipe lines starting with `@'
-are printed. This flag is useful for finding out which recipes `make'
+ When 'make' is given the flag '-n' or '--just-print' it only echoes
+most recipes, without executing them. *Note Summary of Options: Options
+Summary. In this case even the recipe lines starting with '@' are
+printed. This flag is useful for finding out which recipes 'make'
thinks are necessary without actually doing them.
- The `-s' or `--silent' flag to `make' prevents all echoing, as if
-all recipes started with `@'. A rule in the makefile for the special
-target `.SILENT' without prerequisites has the same effect (*note
-Special Built-in Target Names: Special Targets.). `.SILENT' is
-essentially obsolete since `@' is more flexible.
+ The '-s' or '--silent' flag to 'make' prevents all echoing, as if all
+recipes started with '@'. A rule in the makefile for the special target
+'.SILENT' without prerequisites has the same effect (*note Special
+Built-in Target Names: Special Targets.). '.SILENT' is essentially
+obsolete since '@' is more flexible.

File: make.info, Node: Execution, Next: Parallel, Prev: Echoing, Up: Recipes
@@ -3182,32 +3184,31 @@ File: make.info, Node: Execution, Next: Parallel, Prev: Echoing, Up: Recipes
5.3 Recipe Execution
====================
-When it is time to execute recipes to update a target, they are
-executed by invoking a new sub-shell for each line of the recipe,
-unless the `.ONESHELL' special target is in effect (*note Using One
-Shell: One Shell.) (In practice, `make' may take shortcuts that do not
-affect the results.)
-
- *Please note:* this implies that setting shell variables and
-invoking shell commands such as `cd' that set a context local to each
-process will not affect the following lines in the recipe.(1) If you
-want to use `cd' to affect the next statement, put both statements in a
-single recipe line. Then `make' will invoke one shell to run the
-entire line, and the shell will execute the statements in sequence.
-For example:
+When it is time to execute recipes to update a target, they are executed
+by invoking a new sub-shell for each line of the recipe, unless the
+'.ONESHELL' special target is in effect (*note Using One Shell: One
+Shell.) (In practice, 'make' may take shortcuts that do not affect the
+results.)
+
+ *Please note:* this implies that setting shell variables and invoking
+shell commands such as 'cd' that set a context local to each process
+will not affect the following lines in the recipe.(1) If you want to
+use 'cd' to affect the next statement, put both statements in a single
+recipe line. Then 'make' will invoke one shell to run the entire line,
+and the shell will execute the statements in sequence. For example:
foo : bar/lose
cd $(@D) && gobble $(@F) > ../$@
-Here we use the shell AND operator (`&&') so that if the `cd' command
-fails, the script will fail without trying to invoke the `gobble'
-command in the wrong directory, which could cause problems (in this
-case it would certainly cause `../foo' to be truncated, at least).
+Here we use the shell AND operator ('&&') so that if the 'cd' command
+fails, the script will fail without trying to invoke the 'gobble'
+command in the wrong directory, which could cause problems (in this case
+it would certainly cause '../foo' to be truncated, at least).
* Menu:
* One Shell:: One shell for all lines in a recipe.
-* Choosing the Shell:: How `make' chooses the shell used
+* Choosing the Shell:: How 'make' chooses the shell used
to run recipes.
---------- Footnotes ----------
@@ -3221,16 +3222,16 @@ File: make.info, Node: One Shell, Next: Choosing the Shell, Prev: Execution,
5.3.1 Using One Shell
---------------------
-Sometimes you would prefer that all the lines in the recipe be passed
-to a single invocation of the shell. There are generally two
-situations where this is useful: first, it can improve performance in
-makefiles where recipes consist of many command lines, by avoiding
-extra processes. Second, you might want newlines to be included in
-your recipe command (for example perhaps you are using a very different
-interpreter as your `SHELL'). If the `.ONESHELL' special target
-appears anywhere in the makefile then _all_ recipe lines for each
-target will be provided to a single invocation of the shell. Newlines
-between recipe lines will be preserved. For example:
+Sometimes you would prefer that all the lines in the recipe be passed to
+a single invocation of the shell. There are generally two situations
+where this is useful: first, it can improve performance in makefiles
+where recipes consist of many command lines, by avoiding extra
+processes. Second, you might want newlines to be included in your
+recipe command (for example perhaps you are using a very different
+interpreter as your 'SHELL'). If the '.ONESHELL' special target appears
+anywhere in the makefile then _all_ recipe lines for each target will be
+provided to a single invocation of the shell. Newlines between recipe
+lines will be preserved. For example:
.ONESHELL:
foo : bar/lose
@@ -3240,14 +3241,14 @@ between recipe lines will be preserved. For example:
would now work as expected even though the commands are on different
recipe lines.
- If `.ONESHELL' is provided, then only the first line of the recipe
-will be checked for the special prefix characters (`@', `-', and `+').
+ If '.ONESHELL' is provided, then only the first line of the recipe
+will be checked for the special prefix characters ('@', '-', and '+').
Subsequent lines will include the special characters in the recipe line
-when the `SHELL' is invoked. If you want your recipe to start with one
+when the 'SHELL' is invoked. If you want your recipe to start with one
of these special characters you'll need to arrange for them to not be
the first characters on the first line, perhaps by adding a comment or
similar. For example, this would be a syntax error in Perl because the
-first `@' is removed by make:
+first '@' is removed by make:
.ONESHELL:
SHELL = /usr/bin/perl
@@ -3275,30 +3276,30 @@ or
my @f = qw(a b c);
print "@f\n";
- As a special feature, if `SHELL' is determined to be a POSIX-style
+ As a special feature, if 'SHELL' is determined to be a POSIX-style
shell, the special prefix characters in "internal" recipe lines will
_removed_ before the recipe is processed. This feature is intended to
-allow existing makefiles to add the `.ONESHELL' special target and
-still run properly without extensive modifications. Since the special
-prefix characters are not legal at the beginning of a line in a POSIX
-shell script this is not a loss in functionality. For example, this
-works as expected:
+allow existing makefiles to add the '.ONESHELL' special target and still
+run properly without extensive modifications. Since the special prefix
+characters are not legal at the beginning of a line in a POSIX shell
+script this is not a loss in functionality. For example, this works as
+expected:
.ONESHELL:
foo : bar/lose
@cd $(@D)
@gobble $(@F) > ../$@
- Even with this special feature, however, makefiles with `.ONESHELL'
+ Even with this special feature, however, makefiles with '.ONESHELL'
will behave differently in ways that could be noticeable. For example,
normally if any line in the recipe fails, that causes the rule to fail
-and no more recipe lines are processed. Under `.ONESHELL' a failure of
-any but the final recipe line will not be noticed by `make'. You can
-modify `.SHELLFLAGS' to add the `-e' option to the shell which will
+and no more recipe lines are processed. Under '.ONESHELL' a failure of
+any but the final recipe line will not be noticed by 'make'. You can
+modify '.SHELLFLAGS' to add the '-e' option to the shell which will
cause any failure anywhere in the command line to cause the shell to
fail, but this could itself cause your recipe to behave differently.
Ultimately you may need to harden your recipe lines to allow them to
-work with `.ONESHELL'.
+work with '.ONESHELL'.

File: make.info, Node: Choosing the Shell, Prev: One Shell, Up: Execution
@@ -3306,34 +3307,34 @@ File: make.info, Node: Choosing the Shell, Prev: One Shell, Up: Execution
5.3.2 Choosing the Shell
------------------------
-The program used as the shell is taken from the variable `SHELL'. If
-this variable is not set in your makefile, the program `/bin/sh' is
-used as the shell. The argument(s) passed to the shell are taken from
-the variable `.SHELLFLAGS'. The default value of `.SHELLFLAGS' is `-c'
-normally, or `-ec' in POSIX-conforming mode.
+The program used as the shell is taken from the variable 'SHELL'. If
+this variable is not set in your makefile, the program '/bin/sh' is used
+as the shell. The argument(s) passed to the shell are taken from the
+variable '.SHELLFLAGS'. The default value of '.SHELLFLAGS' is '-c'
+normally, or '-ec' in POSIX-conforming mode.
- Unlike most variables, the variable `SHELL' is never set from the
-environment. This is because the `SHELL' environment variable is used
+ Unlike most variables, the variable 'SHELL' is never set from the
+environment. This is because the 'SHELL' environment variable is used
to specify your personal choice of shell program for interactive use.
It would be very bad for personal choices like this to affect the
functioning of makefiles. *Note Variables from the Environment:
Environment.
- Furthermore, when you do set `SHELL' in your makefile that value is
-_not_ exported in the environment to recipe lines that `make' invokes.
+ Furthermore, when you do set 'SHELL' in your makefile that value is
+_not_ exported in the environment to recipe lines that 'make' invokes.
Instead, the value inherited from the user's environment, if any, is
exported. You can override this behavior by explicitly exporting
-`SHELL' (*note Communicating Variables to a Sub-`make':
+'SHELL' (*note Communicating Variables to a Sub-'make':
Variables/Recursion.), forcing it to be passed in the environment to
recipe lines.
- However, on MS-DOS and MS-Windows the value of `SHELL' in the
-environment *is* used, since on those systems most users do not set
-this variable, and therefore it is most likely set specifically to be
-used by `make'. On MS-DOS, if the setting of `SHELL' is not suitable
-for `make', you can set the variable `MAKESHELL' to the shell that
-`make' should use; if set it will be used as the shell instead of the
-value of `SHELL'.
+ However, on MS-DOS and MS-Windows the value of 'SHELL' in the
+environment *is* used, since on those systems most users do not set this
+variable, and therefore it is most likely set specifically to be used by
+'make'. On MS-DOS, if the setting of 'SHELL' is not suitable for
+'make', you can set the variable 'MAKESHELL' to the shell that 'make'
+should use; if set it will be used as the shell instead of the value of
+'SHELL'.
Choosing a Shell in DOS and Windows
...................................
@@ -3341,53 +3342,52 @@ Choosing a Shell in DOS and Windows
Choosing a shell in MS-DOS and MS-Windows is much more complex than on
other systems.
- On MS-DOS, if `SHELL' is not set, the value of the variable
-`COMSPEC' (which is always set) is used instead.
+ On MS-DOS, if 'SHELL' is not set, the value of the variable 'COMSPEC'
+(which is always set) is used instead.
- The processing of lines that set the variable `SHELL' in Makefiles
-is different on MS-DOS. The stock shell, `command.com', is
-ridiculously limited in its functionality and many users of `make' tend
-to install a replacement shell. Therefore, on MS-DOS, `make' examines
-the value of `SHELL', and changes its behavior based on whether it
-points to a Unix-style or DOS-style shell. This allows reasonable
-functionality even if `SHELL' points to `command.com'.
+ The processing of lines that set the variable 'SHELL' in Makefiles is
+different on MS-DOS. The stock shell, 'command.com', is ridiculously
+limited in its functionality and many users of 'make' tend to install a
+replacement shell. Therefore, on MS-DOS, 'make' examines the value of
+'SHELL', and changes its behavior based on whether it points to a
+Unix-style or DOS-style shell. This allows reasonable functionality
+even if 'SHELL' points to 'command.com'.
- If `SHELL' points to a Unix-style shell, `make' on MS-DOS
+ If 'SHELL' points to a Unix-style shell, 'make' on MS-DOS
additionally checks whether that shell can indeed be found; if not, it
-ignores the line that sets `SHELL'. In MS-DOS, GNU `make' searches for
+ignores the line that sets 'SHELL'. In MS-DOS, GNU 'make' searches for
the shell in the following places:
- 1. In the precise place pointed to by the value of `SHELL'. For
- example, if the makefile specifies `SHELL = /bin/sh', `make' will
- look in the directory `/bin' on the current drive.
+ 1. In the precise place pointed to by the value of 'SHELL'. For
+ example, if the makefile specifies 'SHELL = /bin/sh', 'make' will
+ look in the directory '/bin' on the current drive.
2. In the current directory.
- 3. In each of the directories in the `PATH' variable, in order.
-
+ 3. In each of the directories in the 'PATH' variable, in order.
- In every directory it examines, `make' will first look for the
-specific file (`sh' in the example above). If this is not found, it
+ In every directory it examines, 'make' will first look for the
+specific file ('sh' in the example above). If this is not found, it
will also look in that directory for that file with one of the known
-extensions which identify executable files. For example `.exe',
-`.com', `.bat', `.btm', `.sh', and some others.
+extensions which identify executable files. For example '.exe', '.com',
+'.bat', '.btm', '.sh', and some others.
- If any of these attempts is successful, the value of `SHELL' will be
+ If any of these attempts is successful, the value of 'SHELL' will be
set to the full pathname of the shell as found. However, if none of
-these is found, the value of `SHELL' will not be changed, and thus the
-line that sets it will be effectively ignored. This is so `make' will
+these is found, the value of 'SHELL' will not be changed, and thus the
+line that sets it will be effectively ignored. This is so 'make' will
only support features specific to a Unix-style shell if such a shell is
-actually installed on the system where `make' runs.
+actually installed on the system where 'make' runs.
Note that this extended search for the shell is limited to the cases
-where `SHELL' is set from the Makefile; if it is set in the environment
+where 'SHELL' is set from the Makefile; if it is set in the environment
or command line, you are expected to set it to the full pathname of the
shell, exactly as things are on Unix.
The effect of the above DOS-specific processing is that a Makefile
-that contains `SHELL = /bin/sh' (as many Unix makefiles do), will work
-on MS-DOS unaltered if you have e.g. `sh.exe' installed in some
-directory along your `PATH'.
+that contains 'SHELL = /bin/sh' (as many Unix makefiles do), will work
+on MS-DOS unaltered if you have e.g. 'sh.exe' installed in some
+directory along your 'PATH'.

File: make.info, Node: Parallel, Next: Errors, Prev: Execution, Up: Recipes
@@ -3395,50 +3395,50 @@ File: make.info, Node: Parallel, Next: Errors, Prev: Execution, Up: Recipes
5.4 Parallel Execution
======================
-GNU `make' knows how to execute several recipes at once. Normally,
-`make' will execute only one recipe at a time, waiting for it to finish
-before executing the next. However, the `-j' or `--jobs' option tells
-`make' to execute many recipes simultaneously. You can inhibit
-parallelism in a particular makefile with the `.NOTPARALLEL'
+GNU 'make' knows how to execute several recipes at once. Normally,
+'make' will execute only one recipe at a time, waiting for it to finish
+before executing the next. However, the '-j' or '--jobs' option tells
+'make' to execute many recipes simultaneously. You can inhibit
+parallelism in a particular makefile with the '.NOTPARALLEL'
pseudo-target (*note Special Built-in Target Names: Special Targets.).
- On MS-DOS, the `-j' option has no effect, since that system doesn't
+ On MS-DOS, the '-j' option has no effect, since that system doesn't
support multi-processing.
- If the `-j' option is followed by an integer, this is the number of
+ If the '-j' option is followed by an integer, this is the number of
recipes to execute at once; this is called the number of "job slots".
-If there is nothing looking like an integer after the `-j' option,
-there is no limit on the number of job slots. The default number of job
-slots is one, which means serial execution (one thing at a time).
+If there is nothing looking like an integer after the '-j' option, there
+is no limit on the number of job slots. The default number of job slots
+is one, which means serial execution (one thing at a time).
- Handling recursive `make' invocations raises issues for parallel
+ Handling recursive 'make' invocations raises issues for parallel
execution. For more information on this, see *note Communicating
-Options to a Sub-`make': Options/Recursion.
+Options to a Sub-'make': Options/Recursion.
If a recipe fails (is killed by a signal or exits with a nonzero
status), and errors are not ignored for that recipe (*note Errors in
Recipes: Errors.), the remaining recipe lines to remake the same target
-will not be run. If a recipe fails and the `-k' or `--keep-going'
+will not be run. If a recipe fails and the '-k' or '--keep-going'
option was not given (*note Summary of Options: Options Summary.),
-`make' aborts execution. If make terminates for any reason (including
-a signal) with child processes running, it waits for them to finish
-before actually exiting.
+'make' aborts execution. If make terminates for any reason (including a
+signal) with child processes running, it waits for them to finish before
+actually exiting.
When the system is heavily loaded, you will probably want to run
-fewer jobs than when it is lightly loaded. You can use the `-l' option
-to tell `make' to limit the number of jobs to run at once, based on the
-load average. The `-l' or `--max-load' option is followed by a
+fewer jobs than when it is lightly loaded. You can use the '-l' option
+to tell 'make' to limit the number of jobs to run at once, based on the
+load average. The '-l' or '--max-load' option is followed by a
floating-point number. For example,
-l 2.5
-will not let `make' start more than one job if the load average is
-above 2.5. The `-l' option with no following number removes the load
-limit, if one was given with a previous `-l' option.
+will not let 'make' start more than one job if the load average is above
+2.5. The '-l' option with no following number removes the load limit,
+if one was given with a previous '-l' option.
- More precisely, when `make' goes to start up a job, and it already
+ More precisely, when 'make' goes to start up a job, and it already
has at least one job running, it checks the current load average; if it
-is not lower than the limit given with `-l', `make' waits until the load
+is not lower than the limit given with '-l', 'make' waits until the load
average goes below that limit, or until all the other jobs finish.
By default, there is no load limit.
@@ -3459,57 +3459,56 @@ appears as soon as it is generated, with the result that messages from
different recipes may be interspersed, sometimes even appearing on the
same line. This can make reading the output very difficult.
- To avoid this you can use the `--output-sync' (`-O') option. This
-option instructs `make' to save the output from the commands it invokes
+ To avoid this you can use the '--output-sync' ('-O') option. This
+option instructs 'make' to save the output from the commands it invokes
and print it all once the commands are completed. Additionally, if
-there are multiple recursive `make' invocations running in parallel,
-they will communicate so that only one of them is generating output at
-a time.
+there are multiple recursive 'make' invocations running in parallel,
+they will communicate so that only one of them is generating output at a
+time.
If working directory printing is enabled (*note The
-`--print-directory' Option: -w Option.), the enter/leave messages are
+'--print-directory' Option: -w Option.), the enter/leave messages are
printed around each output grouping. If you prefer not to see these
-messages add the `--no-print-directory' option to `MAKEFLAGS'.
+messages add the '--no-print-directory' option to 'MAKEFLAGS'.
There are four levels of granularity when synchronizing output,
-specified by giving an argument to the option (e.g., `-Oline' or
-`--output-sync=recurse').
+specified by giving an argument to the option (e.g., '-Oline' or
+'--output-sync=recurse').
-`none'
- This is the default: all output is sent directly as it is
- generated and no synchronization is performed.
+'none'
+ This is the default: all output is sent directly as it is generated
+ and no synchronization is performed.
-`line'
+'line'
Output from each individual line of the recipe is grouped and
printed as soon as that line is complete. If a recipe consists of
multiple lines, they may be interspersed with lines from other
recipes.
-`target'
+'target'
Output from the entire recipe for each target is grouped and
printed once the target is complete. This is the default if the
- `--output-sync' or `-O' option is given with no argument.
+ '--output-sync' or '-O' option is given with no argument.
-`recurse'
- Output from each recursive invocation of `make' is grouped and
+'recurse'
+ Output from each recursive invocation of 'make' is grouped and
printed once the recursive invocation is complete.
-
Regardless of the mode chosen, the total build time will be the same.
The only difference is in how the output appears.
- The `target' and `recurse' modes both collect the output of the
+ The 'target' and 'recurse' modes both collect the output of the
entire recipe of a target and display it uninterrupted when the recipe
completes. The difference between them is in how recipes that contain
-recursive invocations of `make' are treated (*note Recursive Use of
-`make': Recursion.). For all recipes which have no recursive lines,
-the `target' and `recurse' modes behave identically.
+recursive invocations of 'make' are treated (*note Recursive Use of
+'make': Recursion.). For all recipes which have no recursive lines, the
+'target' and 'recurse' modes behave identically.
- If the `recurse' mode is chosen, recipes that contain recursive
-`make' invocations are treated the same as other targets: the output
-from the recipe, including the output from the recursive `make', is
+ If the 'recurse' mode is chosen, recipes that contain recursive
+'make' invocations are treated the same as other targets: the output
+from the recipe, including the output from the recursive 'make', is
saved and printed after the entire recipe is complete. This ensures
-output from all the targets built by a given recursive `make' instance
+output from all the targets built by a given recursive 'make' instance
are grouped together, which may make the output easier to understand.
However it also leads to long periods of time during the build where no
output is seen, followed by large bursts of output. If you are not
@@ -3517,26 +3516,26 @@ watching the build as it proceeds, but instead viewing a log of the
build after the fact, this may be the best option for you.
If you are watching the output, the long gaps of quiet during the
-build can be frustrating. The `target' output synchronization mode
-detects when `make' is going to be invoked recursively, using the
-standard methods, and it will not synchronize the output of those
-lines. The recursive `make' will perform the synchronization for its
-targets and the output from each will be displayed immediately when it
+build can be frustrating. The 'target' output synchronization mode
+detects when 'make' is going to be invoked recursively, using the
+standard methods, and it will not synchronize the output of those lines.
+The recursive 'make' will perform the synchronization for its targets
+and the output from each will be displayed immediately when it
completes. Be aware that output from recursive lines of the recipe are
not synchronized (for example if the recursive line prints a message
-before running `make', that message will not be synchronized).
+before running 'make', that message will not be synchronized).
- The `line' mode can be useful for front-ends that are watching the
-output of `make' to track when recipes are started and completed.
+ The 'line' mode can be useful for front-ends that are watching the
+output of 'make' to track when recipes are started and completed.
- Some programs invoked by `make' may behave differently if they
+ Some programs invoked by 'make' may behave differently if they
determine they're writing output to a terminal versus a file (often
-described as "interactive" vs. "non-interactive" modes). For example,
+described as "interactive" vs. "non-interactive" modes). For example,
many programs that can display colorized output will not do so if they
determine they are not writing to a terminal. If your makefile invokes
a program like this then using the output synchronization options will
-cause the program to believe it's running in "non-interactive" mode
-even though the output will ultimately go to the terminal.
+cause the program to believe it's running in "non-interactive" mode even
+though the output will ultimately go to the terminal.

File: make.info, Node: Parallel Input, Prev: Parallel Output, Up: Parallel
@@ -3546,18 +3545,18 @@ File: make.info, Node: Parallel Input, Prev: Parallel Output, Up: Parallel
Two processes cannot both take input from the same device at the same
time. To make sure that only one recipe tries to take input from the
-terminal at once, `make' will invalidate the standard input streams of
+terminal at once, 'make' will invalidate the standard input streams of
all but one running recipe. If another recipe attempts to read from
-standard input it will usually incur a fatal error (a `Broken pipe'
-signal).
+standard input it will usually incur a fatal error (a 'Broken pipe'
+signal).
It is unpredictable which recipe will have a valid standard input
stream (which will come from the terminal, or wherever you redirect the
-standard input of `make'). The first recipe run will always get it
+standard input of 'make'). The first recipe run will always get it
first, and the first recipe started after that one finishes will get it
next, and so on.
- We will change how this aspect of `make' works if we find a better
+ We will change how this aspect of 'make' works if we find a better
alternative. In the mean time, you should not rely on any recipe using
standard input at all if you are using the parallel execution feature;
but if you are not using this feature, then standard input works
@@ -3569,21 +3568,21 @@ File: make.info, Node: Errors, Next: Interrupts, Prev: Parallel, Up: Recipes
5.5 Errors in Recipes
=====================
-After each shell invocation returns, `make' looks at its exit status.
+After each shell invocation returns, 'make' looks at its exit status.
If the shell completed successfully (the exit status is zero), the next
line in the recipe is executed in a new shell; after the last line is
finished, the rule is finished.
- If there is an error (the exit status is nonzero), `make' gives up on
+ If there is an error (the exit status is nonzero), 'make' gives up on
the current rule, and perhaps on all rules.
Sometimes the failure of a certain recipe line does not indicate a
-problem. For example, you may use the `mkdir' command to ensure that a
-directory exists. If the directory already exists, `mkdir' will report
-an error, but you probably want `make' to continue regardless.
+problem. For example, you may use the 'mkdir' command to ensure that a
+directory exists. If the directory already exists, 'mkdir' will report
+an error, but you probably want 'make' to continue regardless.
- To ignore errors in a recipe line, write a `-' at the beginning of
-the line's text (after the initial tab). The `-' is discarded before
+ To ignore errors in a recipe line, write a '-' at the beginning of
+the line's text (after the initial tab). The '-' is discarded before
the line is passed to the shell for execution.
For example,
@@ -3591,81 +3590,80 @@ the line is passed to the shell for execution.
clean:
-rm -f *.o
-This causes `make' to continue even if `rm' is unable to remove a file.
+This causes 'make' to continue even if 'rm' is unable to remove a file.
- When you run `make' with the `-i' or `--ignore-errors' flag, errors
-are ignored in all recipes of all rules. A rule in the makefile for
-the special target `.IGNORE' has the same effect, if there are no
-prerequisites. These ways of ignoring errors are obsolete because `-'
+ When you run 'make' with the '-i' or '--ignore-errors' flag, errors
+are ignored in all recipes of all rules. A rule in the makefile for the
+special target '.IGNORE' has the same effect, if there are no
+prerequisites. These ways of ignoring errors are obsolete because '-'
is more flexible.
- When errors are to be ignored, because of either a `-' or the `-i'
-flag, `make' treats an error return just like success, except that it
+ When errors are to be ignored, because of either a '-' or the '-i'
+flag, 'make' treats an error return just like success, except that it
prints out a message that tells you the status code the shell exited
with, and says that the error has been ignored.
- When an error happens that `make' has not been told to ignore, it
+ When an error happens that 'make' has not been told to ignore, it
implies that the current target cannot be correctly remade, and neither
can any other that depends on it either directly or indirectly. No
further recipes will be executed for these targets, since their
preconditions have not been achieved.
- Normally `make' gives up immediately in this circumstance, returning
-a nonzero status. However, if the `-k' or `--keep-going' flag is
-specified, `make' continues to consider the other prerequisites of the
+ Normally 'make' gives up immediately in this circumstance, returning
+a nonzero status. However, if the '-k' or '--keep-going' flag is
+specified, 'make' continues to consider the other prerequisites of the
pending targets, remaking them if necessary, before it gives up and
returns nonzero status. For example, after an error in compiling one
-object file, `make -k' will continue compiling other object files even
+object file, 'make -k' will continue compiling other object files even
though it already knows that linking them will be impossible. *Note
Summary of Options: Options Summary.
The usual behavior assumes that your purpose is to get the specified
-targets up to date; once `make' learns that this is impossible, it
-might as well report the failure immediately. The `-k' option says
-that the real purpose is to test as many of the changes made in the
-program as possible, perhaps to find several independent problems so
-that you can correct them all before the next attempt to compile. This
-is why Emacs' `compile' command passes the `-k' flag by default.
+targets up to date; once 'make' learns that this is impossible, it might
+as well report the failure immediately. The '-k' option says that the
+real purpose is to test as many of the changes made in the program as
+possible, perhaps to find several independent problems so that you can
+correct them all before the next attempt to compile. This is why Emacs'
+'compile' command passes the '-k' flag by default.
Usually when a recipe line fails, if it has changed the target file
at all, the file is corrupted and cannot be used--or at least it is not
completely updated. Yet the file's time stamp says that it is now up to
-date, so the next time `make' runs, it will not try to update that
-file. The situation is just the same as when the shell is killed by a
-signal; *note Interrupts::. So generally the right thing to do is to
-delete the target file if the recipe fails after beginning to change
-the file. `make' will do this if `.DELETE_ON_ERROR' appears as a
-target. This is almost always what you want `make' to do, but it is
-not historical practice; so for compatibility, you must explicitly
-request it.
+date, so the next time 'make' runs, it will not try to update that file.
+The situation is just the same as when the shell is killed by a signal;
+*note Interrupts::. So generally the right thing to do is to delete the
+target file if the recipe fails after beginning to change the file.
+'make' will do this if '.DELETE_ON_ERROR' appears as a target. This is
+almost always what you want 'make' to do, but it is not historical
+practice; so for compatibility, you must explicitly request it.

File: make.info, Node: Interrupts, Next: Recursion, Prev: Errors, Up: Recipes
-5.6 Interrupting or Killing `make'
+5.6 Interrupting or Killing 'make'
==================================
-If `make' gets a fatal signal while a shell is executing, it may delete
-the target file that the recipe was supposed to update. This is done
-if the target file's last-modification time has changed since `make'
-first checked it.
+If 'make' gets a fatal signal while a shell is executing, it may delete
+the target file that the recipe was supposed to update. This is done if
+the target file's last-modification time has changed since 'make' first
+checked it.
The purpose of deleting the target is to make sure that it is remade
-from scratch when `make' is next run. Why is this? Suppose you type
-`Ctrl-c' while a compiler is running, and it has begun to write an
-object file `foo.o'. The `Ctrl-c' kills the compiler, resulting in an
+from scratch when 'make' is next run. Why is this? Suppose you type
+'Ctrl-c' while a compiler is running, and it has begun to write an
+object file 'foo.o'. The 'Ctrl-c' kills the compiler, resulting in an
incomplete file whose last-modification time is newer than the source
-file `foo.c'. But `make' also receives the `Ctrl-c' signal and deletes
-this incomplete file. If `make' did not do this, the next invocation
-of `make' would think that `foo.o' did not require updating--resulting
-in a strange error message from the linker when it tries to link an
-object file half of which is missing.
+file 'foo.c'. But 'make' also receives the 'Ctrl-c' signal and deletes
+this incomplete file. If 'make' did not do this, the next invocation of
+'make' would think that 'foo.o' did not require updating--resulting in a
+strange error message from the linker when it tries to link an object
+file half of which is missing.
You can prevent the deletion of a target file in this way by making
-the special target `.PRECIOUS' depend on it. Before remaking a target,
-`make' checks to see whether it appears on the prerequisites of
-`.PRECIOUS', and thereby decides whether the target should be deleted
-if a signal happens. Some reasons why you might do this are that the
+the special target '.PRECIOUS' depend on it. Before remaking a target,
+'make' checks to see whether it appears on the prerequisites of
+'.PRECIOUS', and thereby decides whether the target should be deleted if
+a signal happens. Some reasons why you might do this are that the
target is updated in some atomic fashion, or exists only to record a
modification-time (its contents do not matter), or must exist at all
times to prevent other sorts of trouble.
@@ -3673,14 +3671,14 @@ times to prevent other sorts of trouble.

File: make.info, Node: Recursion, Next: Canned Recipes, Prev: Interrupts, Up: Recipes
-5.7 Recursive Use of `make'
+5.7 Recursive Use of 'make'
===========================
-Recursive use of `make' means using `make' as a command in a makefile.
+Recursive use of 'make' means using 'make' as a command in a makefile.
This technique is useful when you want separate makefiles for various
subsystems that compose a larger system. For example, suppose you have
-a sub-directory `subdir' which has its own makefile, and you would like
-the containing directory's makefile to run `make' on the sub-directory.
+a sub-directory 'subdir' which has its own makefile, and you would like
+the containing directory's makefile to run 'make' on the sub-directory.
You can do it by writing this:
subsystem:
@@ -3690,131 +3688,130 @@ or, equivalently, this (*note Summary of Options: Options Summary.):
subsystem:
$(MAKE) -C subdir
-
- You can write recursive `make' commands just by copying this example,
+
+ You can write recursive 'make' commands just by copying this example,
but there are many things to know about how they work and why, and about
-how the sub-`make' relates to the top-level `make'. You may also find
-it useful to declare targets that invoke recursive `make' commands as
-`.PHONY' (for more discussion on when this is useful, see *note Phony
+how the sub-'make' relates to the top-level 'make'. You may also find
+it useful to declare targets that invoke recursive 'make' commands as
+'.PHONY' (for more discussion on when this is useful, see *note Phony
Targets::).
- For your convenience, when GNU `make' starts (after it has processed
-any `-C' options) it sets the variable `CURDIR' to the pathname of the
-current working directory. This value is never touched by `make'
-again: in particular note that if you include files from other
-directories the value of `CURDIR' does not change. The value has the
-same precedence it would have if it were set in the makefile (by
-default, an environment variable `CURDIR' will not override this
-value). Note that setting this variable has no impact on the operation
-of `make' (it does not cause `make' to change its working directory,
-for example).
+ For your convenience, when GNU 'make' starts (after it has processed
+any '-C' options) it sets the variable 'CURDIR' to the pathname of the
+current working directory. This value is never touched by 'make' again:
+in particular note that if you include files from other directories the
+value of 'CURDIR' does not change. The value has the same precedence it
+would have if it were set in the makefile (by default, an environment
+variable 'CURDIR' will not override this value). Note that setting this
+variable has no impact on the operation of 'make' (it does not cause
+'make' to change its working directory, for example).
* Menu:
-* MAKE Variable:: The special effects of using `$(MAKE)'.
-* Variables/Recursion:: How to communicate variables to a sub-`make'.
-* Options/Recursion:: How to communicate options to a sub-`make'.
-* -w Option:: How the `-w' or `--print-directory' option
- helps debug use of recursive `make' commands.
+* MAKE Variable:: The special effects of using '$(MAKE)'.
+* Variables/Recursion:: How to communicate variables to a sub-'make'.
+* Options/Recursion:: How to communicate options to a sub-'make'.
+* -w Option:: How the '-w' or '--print-directory' option
+ helps debug use of recursive 'make' commands.

File: make.info, Node: MAKE Variable, Next: Variables/Recursion, Prev: Recursion, Up: Recursion
-5.7.1 How the `MAKE' Variable Works
+5.7.1 How the 'MAKE' Variable Works
-----------------------------------
-Recursive `make' commands should always use the variable `MAKE', not
-the explicit command name `make', as shown here:
+Recursive 'make' commands should always use the variable 'MAKE', not the
+explicit command name 'make', as shown here:
subsystem:
cd subdir && $(MAKE)
- The value of this variable is the file name with which `make' was
-invoked. If this file name was `/bin/make', then the recipe executed
-is `cd subdir && /bin/make'. If you use a special version of `make' to
-run the top-level makefile, the same special version will be executed
-for recursive invocations.
+ The value of this variable is the file name with which 'make' was
+invoked. If this file name was '/bin/make', then the recipe executed is
+'cd subdir && /bin/make'. If you use a special version of 'make' to run
+the top-level makefile, the same special version will be executed for
+recursive invocations.
- As a special feature, using the variable `MAKE' in the recipe of a
-rule alters the effects of the `-t' (`--touch'), `-n' (`--just-print'),
-or `-q' (`--question') option. Using the `MAKE' variable has the same
-effect as using a `+' character at the beginning of the recipe line.
+ As a special feature, using the variable 'MAKE' in the recipe of a
+rule alters the effects of the '-t' ('--touch'), '-n' ('--just-print'),
+or '-q' ('--question') option. Using the 'MAKE' variable has the same
+effect as using a '+' character at the beginning of the recipe line.
*Note Instead of Executing the Recipes: Instead of Execution. This
-special feature is only enabled if the `MAKE' variable appears directly
-in the recipe: it does not apply if the `MAKE' variable is referenced
+special feature is only enabled if the 'MAKE' variable appears directly
+in the recipe: it does not apply if the 'MAKE' variable is referenced
through expansion of another variable. In the latter case you must use
-the `+' token to get these special effects.
+the '+' token to get these special effects.
- Consider the command `make -t' in the above example. (The `-t'
-option marks targets as up to date without actually running any
-recipes; see *note Instead of Execution::.) Following the usual
-definition of `-t', a `make -t' command in the example would create a
-file named `subsystem' and do nothing else. What you really want it to
-do is run `cd subdir && make -t'; but that would require executing the
-recipe, and `-t' says not to execute recipes.
+ Consider the command 'make -t' in the above example. (The '-t'
+option marks targets as up to date without actually running any recipes;
+see *note Instead of Execution::.) Following the usual definition of
+'-t', a 'make -t' command in the example would create a file named
+'subsystem' and do nothing else. What you really want it to do is run 'cd subdir &&
+make -t'; but that would require executing the recipe, and '-t' says not
+to execute recipes.
The special feature makes this do what you want: whenever a recipe
-line of a rule contains the variable `MAKE', the flags `-t', `-n' and
-`-q' do not apply to that line. Recipe lines containing `MAKE' are
+line of a rule contains the variable 'MAKE', the flags '-t', '-n' and
+'-q' do not apply to that line. Recipe lines containing 'MAKE' are
executed normally despite the presence of a flag that causes most
-recipes not to be run. The usual `MAKEFLAGS' mechanism passes the
-flags to the sub-`make' (*note Communicating Options to a Sub-`make':
+recipes not to be run. The usual 'MAKEFLAGS' mechanism passes the flags
+to the sub-'make' (*note Communicating Options to a Sub-'make':
Options/Recursion.), so your request to touch the files, or print the
recipes, is propagated to the subsystem.

File: make.info, Node: Variables/Recursion, Next: Options/Recursion, Prev: MAKE Variable, Up: Recursion
-5.7.2 Communicating Variables to a Sub-`make'
+5.7.2 Communicating Variables to a Sub-'make'
---------------------------------------------
-Variable values of the top-level `make' can be passed to the sub-`make'
+Variable values of the top-level 'make' can be passed to the sub-'make'
through the environment by explicit request. These variables are
-defined in the sub-`make' as defaults, but they do not override
-variables defined in the makefile used by the sub-`make' unless you use
-the `-e' switch (*note Summary of Options: Options Summary.).
+defined in the sub-'make' as defaults, but they do not override
+variables defined in the makefile used by the sub-'make' unless you use
+the '-e' switch (*note Summary of Options: Options Summary.).
- To pass down, or "export", a variable, `make' adds the variable and
+ To pass down, or "export", a variable, 'make' adds the variable and
its value to the environment for running each line of the recipe. The
-sub-`make', in turn, uses the environment to initialize its table of
+sub-'make', in turn, uses the environment to initialize its table of
variable values. *Note Variables from the Environment: Environment.
- Except by explicit request, `make' exports a variable only if it is
+ Except by explicit request, 'make' exports a variable only if it is
either defined in the environment initially or set on the command line,
and if its name consists only of letters, numbers, and underscores.
Some shells cannot cope with environment variable names consisting of
characters other than letters, numbers, and underscores.
- The value of the `make' variable `SHELL' is not exported. Instead,
-the value of the `SHELL' variable from the invoking environment is
-passed to the sub-`make'. You can force `make' to export its value for
-`SHELL' by using the `export' directive, described below. *Note
+ The value of the 'make' variable 'SHELL' is not exported. Instead,
+the value of the 'SHELL' variable from the invoking environment is
+passed to the sub-'make'. You can force 'make' to export its value for
+'SHELL' by using the 'export' directive, described below. *Note
Choosing the Shell::.
- The special variable `MAKEFLAGS' is always exported (unless you
-unexport it). `MAKEFILES' is exported if you set it to anything.
+ The special variable 'MAKEFLAGS' is always exported (unless you
+unexport it). 'MAKEFILES' is exported if you set it to anything.
- `make' automatically passes down variable values that were defined
-on the command line, by putting them in the `MAKEFLAGS' variable.
-*Note Options/Recursion::.
+ 'make' automatically passes down variable values that were defined on
+the command line, by putting them in the 'MAKEFLAGS' variable. *Note
+Options/Recursion::.
Variables are _not_ normally passed down if they were created by
-default by `make' (*note Variables Used by Implicit Rules: Implicit
-Variables.). The sub-`make' will define these for itself.
+default by 'make' (*note Variables Used by Implicit Rules: Implicit
+Variables.). The sub-'make' will define these for itself.
- If you want to export specific variables to a sub-`make', use the
-`export' directive, like this:
+ If you want to export specific variables to a sub-'make', use the
+'export' directive, like this:
export VARIABLE ...
If you want to _prevent_ a variable from being exported, use the
-`unexport' directive, like this:
+'unexport' directive, like this:
unexport VARIABLE ...
-In both of these forms, the arguments to `export' and `unexport' are
-expanded, and so could be variables or functions which expand to a
-(list of) variable names to be (un)exported.
+In both of these forms, the arguments to 'export' and 'unexport' are
+expanded, and so could be variables or functions which expand to a (list
+of) variable names to be (un)exported.
As a convenience, you can define a variable and export it at the same
time by doing:
@@ -3846,189 +3843,186 @@ is just like:
*Note Appending More Text to Variables: Appending.
- You may notice that the `export' and `unexport' directives work in
-`make' in the same way they work in the shell, `sh'.
+ You may notice that the 'export' and 'unexport' directives work in
+'make' in the same way they work in the shell, 'sh'.
If you want all variables to be exported by default, you can use
-`export' by itself:
+'export' by itself:
export
-This tells `make' that variables which are not explicitly mentioned in
-an `export' or `unexport' directive should be exported. Any variable
-given in an `unexport' directive will still _not_ be exported. If you
-use `export' by itself to export variables by default, variables whose
+This tells 'make' that variables which are not explicitly mentioned in
+an 'export' or 'unexport' directive should be exported. Any variable
+given in an 'unexport' directive will still _not_ be exported. If you
+use 'export' by itself to export variables by default, variables whose
names contain characters other than alphanumerics and underscores will
-not be exported unless specifically mentioned in an `export' directive.
+not be exported unless specifically mentioned in an 'export' directive.
- The behavior elicited by an `export' directive by itself was the
-default in older versions of GNU `make'. If your makefiles depend on
-this behavior and you want to be compatible with old versions of
-`make', you can write a rule for the special target
-`.EXPORT_ALL_VARIABLES' instead of using the `export' directive. This
-will be ignored by old `make's, while the `export' directive will cause
-a syntax error.
+ The behavior elicited by an 'export' directive by itself was the
+default in older versions of GNU 'make'. If your makefiles depend on
+this behavior and you want to be compatible with old versions of 'make',
+you can write a rule for the special target '.EXPORT_ALL_VARIABLES'
+instead of using the 'export' directive. This will be ignored by old
+'make's, while the 'export' directive will cause a syntax error.
- Likewise, you can use `unexport' by itself to tell `make' _not_ to
+ Likewise, you can use 'unexport' by itself to tell 'make' _not_ to
export variables by default. Since this is the default behavior, you
-would only need to do this if `export' had been used by itself earlier
-(in an included makefile, perhaps). You *cannot* use `export' and
-`unexport' by themselves to have variables exported for some recipes
-and not for others. The last `export' or `unexport' directive that
-appears by itself determines the behavior for the entire run of `make'.
+would only need to do this if 'export' had been used by itself earlier
+(in an included makefile, perhaps). You *cannot* use 'export' and
+'unexport' by themselves to have variables exported for some recipes and
+not for others. The last 'export' or 'unexport' directive that appears
+by itself determines the behavior for the entire run of 'make'.
- As a special feature, the variable `MAKELEVEL' is changed when it is
+ As a special feature, the variable 'MAKELEVEL' is changed when it is
passed down from level to level. This variable's value is a string
-which is the depth of the level as a decimal number. The value is `0'
-for the top-level `make'; `1' for a sub-`make', `2' for a
-sub-sub-`make', and so on. The incrementation happens when `make' sets
+which is the depth of the level as a decimal number. The value is '0'
+for the top-level 'make'; '1' for a sub-'make', '2' for a
+sub-sub-'make', and so on. The incrementation happens when 'make' sets
up the environment for a recipe.
- The main use of `MAKELEVEL' is to test it in a conditional directive
+ The main use of 'MAKELEVEL' is to test it in a conditional directive
(*note Conditional Parts of Makefiles: Conditionals.); this way you can
-write a makefile that behaves one way if run recursively and another
-way if run directly by you.
+write a makefile that behaves one way if run recursively and another way
+if run directly by you.
- You can use the variable `MAKEFILES' to cause all sub-`make'
-commands to use additional makefiles. The value of `MAKEFILES' is a
+ You can use the variable 'MAKEFILES' to cause all sub-'make' commands
+to use additional makefiles. The value of 'MAKEFILES' is a
whitespace-separated list of file names. This variable, if defined in
the outer-level makefile, is passed down through the environment; then
-it serves as a list of extra makefiles for the sub-`make' to read
-before the usual or specified ones. *Note The Variable `MAKEFILES':
-MAKEFILES Variable.
+it serves as a list of extra makefiles for the sub-'make' to read before
+the usual or specified ones. *Note The Variable 'MAKEFILES': MAKEFILES
+Variable.

File: make.info, Node: Options/Recursion, Next: -w Option, Prev: Variables/Recursion, Up: Recursion
-5.7.3 Communicating Options to a Sub-`make'
+5.7.3 Communicating Options to a Sub-'make'
-------------------------------------------
-Flags such as `-s' and `-k' are passed automatically to the sub-`make'
-through the variable `MAKEFLAGS'. This variable is set up
-automatically by `make' to contain the flag letters that `make'
-received. Thus, if you do `make -ks' then `MAKEFLAGS' gets the value
-`ks'.
+Flags such as '-s' and '-k' are passed automatically to the sub-'make'
+through the variable 'MAKEFLAGS'. This variable is set up automatically
+by 'make' to contain the flag letters that 'make' received. Thus, if
+you do 'make -ks' then 'MAKEFLAGS' gets the value 'ks'.
- As a consequence, every sub-`make' gets a value for `MAKEFLAGS' in
+ As a consequence, every sub-'make' gets a value for 'MAKEFLAGS' in
its environment. In response, it takes the flags from that value and
-processes them as if they had been given as arguments. *Note Summary
-of Options: Options Summary.
+processes them as if they had been given as arguments. *Note Summary of
+Options: Options Summary.
Likewise variables defined on the command line are passed to the
-sub-`make' through `MAKEFLAGS'. Words in the value of `MAKEFLAGS' that
-contain `=', `make' treats as variable definitions just as if they
+sub-'make' through 'MAKEFLAGS'. Words in the value of 'MAKEFLAGS' that
+contain '=', 'make' treats as variable definitions just as if they
appeared on the command line. *Note Overriding Variables: Overriding.
- The options `-C', `-f', `-o', and `-W' are not put into `MAKEFLAGS';
+ The options '-C', '-f', '-o', and '-W' are not put into 'MAKEFLAGS';
these options are not passed down.
- The `-j' option is a special case (*note Parallel Execution:
-Parallel.). If you set it to some numeric value `N' and your operating
+ The '-j' option is a special case (*note Parallel Execution:
+Parallel.). If you set it to some numeric value 'N' and your operating
system supports it (most any UNIX system will; others typically won't),
-the parent `make' and all the sub-`make's will communicate to ensure
-that there are only `N' jobs running at the same time between them all.
+the parent 'make' and all the sub-'make's will communicate to ensure
+that there are only 'N' jobs running at the same time between them all.
Note that any job that is marked recursive (*note Instead of Executing
-Recipes: Instead of Execution.) doesn't count against the total jobs
-(otherwise we could get `N' sub-`make's running and have no slots left
+Recipes: Instead of Execution.) doesn't count against the total jobs
+(otherwise we could get 'N' sub-'make's running and have no slots left
over for any real work!)
If your operating system doesn't support the above communication,
-then `-j 1' is always put into `MAKEFLAGS' instead of the value you
-specified. This is because if the `-j' option were passed down to
-sub-`make's, you would get many more jobs running in parallel than you
-asked for. If you give `-j' with no numeric argument, meaning to run
-as many jobs as possible in parallel, this is passed down, since
-multiple infinities are no more than one.
+then '-j 1' is always put into 'MAKEFLAGS' instead of the value you
+specified. This is because if the '-j' option were passed down to
+sub-'make's, you would get many more jobs running in parallel than you
+asked for. If you give '-j' with no numeric argument, meaning to run as
+many jobs as possible in parallel, this is passed down, since multiple
+infinities are no more than one.
If you do not want to pass the other flags down, you must change the
-value of `MAKEFLAGS', like this:
+value of 'MAKEFLAGS', like this:
subsystem:
cd subdir && $(MAKE) MAKEFLAGS=
The command line variable definitions really appear in the variable
-`MAKEOVERRIDES', and `MAKEFLAGS' contains a reference to this variable.
+'MAKEOVERRIDES', and 'MAKEFLAGS' contains a reference to this variable.
If you do want to pass flags down normally, but don't want to pass down
-the command line variable definitions, you can reset `MAKEOVERRIDES' to
+the command line variable definitions, you can reset 'MAKEOVERRIDES' to
empty, like this:
MAKEOVERRIDES =
This is not usually useful to do. However, some systems have a small
fixed limit on the size of the environment, and putting so much
-information into the value of `MAKEFLAGS' can exceed it. If you see
-the error message `Arg list too long', this may be the problem. (For
-strict compliance with POSIX.2, changing `MAKEOVERRIDES' does not
-affect `MAKEFLAGS' if the special target `.POSIX' appears in the
-makefile. You probably do not care about this.)
-
- A similar variable `MFLAGS' exists also, for historical
-compatibility. It has the same value as `MAKEFLAGS' except that it
-does not contain the command line variable definitions, and it always
-begins with a hyphen unless it is empty (`MAKEFLAGS' begins with a
-hyphen only when it begins with an option that has no single-letter
-version, such as `--warn-undefined-variables'). `MFLAGS' was
-traditionally used explicitly in the recursive `make' command, like
-this:
+information into the value of 'MAKEFLAGS' can exceed it. If you see the
+error message 'Arg list too long', this may be the problem. (For strict
+compliance with POSIX.2, changing 'MAKEOVERRIDES' does not affect
+'MAKEFLAGS' if the special target '.POSIX' appears in the makefile. You
+probably do not care about this.)
+
+ A similar variable 'MFLAGS' exists also, for historical
+compatibility. It has the same value as 'MAKEFLAGS' except that it does
+not contain the command line variable definitions, and it always begins
+with a hyphen unless it is empty ('MAKEFLAGS' begins with a hyphen only
+when it begins with an option that has no single-letter version, such as
+'--warn-undefined-variables'). 'MFLAGS' was traditionally used
+explicitly in the recursive 'make' command, like this:
subsystem:
cd subdir && $(MAKE) $(MFLAGS)
-but now `MAKEFLAGS' makes this usage redundant. If you want your
-makefiles to be compatible with old `make' programs, use this
-technique; it will work fine with more modern `make' versions too.
+but now 'MAKEFLAGS' makes this usage redundant. If you want your
+makefiles to be compatible with old 'make' programs, use this technique;
+it will work fine with more modern 'make' versions too.
- The `MAKEFLAGS' variable can also be useful if you want to have
-certain options, such as `-k' (*note Summary of Options: Options
-Summary.), set each time you run `make'. You simply put a value for
-`MAKEFLAGS' in your environment. You can also set `MAKEFLAGS' in a
+ The 'MAKEFLAGS' variable can also be useful if you want to have
+certain options, such as '-k' (*note Summary of Options: Options
+Summary.), set each time you run 'make'. You simply put a value for
+'MAKEFLAGS' in your environment. You can also set 'MAKEFLAGS' in a
makefile, to specify additional flags that should also be in effect for
-that makefile. (Note that you cannot use `MFLAGS' this way. That
-variable is set only for compatibility; `make' does not interpret a
+that makefile. (Note that you cannot use 'MFLAGS' this way. That
+variable is set only for compatibility; 'make' does not interpret a
value you set for it in any way.)
- When `make' interprets the value of `MAKEFLAGS' (either from the
+ When 'make' interprets the value of 'MAKEFLAGS' (either from the
environment or from a makefile), it first prepends a hyphen if the value
does not already begin with one. Then it chops the value into words
separated by blanks, and parses these words as if they were options
-given on the command line (except that `-C', `-f', `-h', `-o', `-W',
-and their long-named versions are ignored; and there is no error for an
+given on the command line (except that '-C', '-f', '-h', '-o', '-W', and
+their long-named versions are ignored; and there is no error for an
invalid option).
- If you do put `MAKEFLAGS' in your environment, you should be sure not
+ If you do put 'MAKEFLAGS' in your environment, you should be sure not
to include any options that will drastically affect the actions of
-`make' and undermine the purpose of makefiles and of `make' itself.
-For instance, the `-t', `-n', and `-q' options, if put in one of these
+'make' and undermine the purpose of makefiles and of 'make' itself. For
+instance, the '-t', '-n', and '-q' options, if put in one of these
variables, could have disastrous consequences and would certainly have
at least surprising and probably annoying effects.
- If you'd like to run other implementations of `make' in addition to
-GNU `make', and hence do not want to add GNU `make'-specific flags to
-the `MAKEFLAGS' variable, you can add them to the `GNUMAKEFLAGS'
-variable instead. This variable is parsed just before `MAKEFLAGS', in
-the same way as `MAKEFLAGS'. When `make' constructs `MAKEFLAGS' to
-pass to a recursive `make' it will include all flags, even those taken
-from `GNUMAKEFLAGS'. As a result, after parsing `GNUMAKEFLAGS' GNU
-`make' sets this variable to the empty string to avoid duplicating
-flags during recursion.
-
- It's best to use `GNUMAKEFLAGS' only with flags which won't
+ If you'd like to run other implementations of 'make' in addition to
+GNU 'make', and hence do not want to add GNU 'make'-specific flags to
+the 'MAKEFLAGS' variable, you can add them to the 'GNUMAKEFLAGS'
+variable instead. This variable is parsed just before 'MAKEFLAGS', in
+the same way as 'MAKEFLAGS'. When 'make' constructs 'MAKEFLAGS' to pass
+to a recursive 'make' it will include all flags, even those taken from
+'GNUMAKEFLAGS'. As a result, after parsing 'GNUMAKEFLAGS' GNU 'make'
+sets this variable to the empty string to avoid duplicating flags during
+recursion.
+
+ It's best to use 'GNUMAKEFLAGS' only with flags which won't
materially change the behavior of your makefiles. If your makefiles
-require GNU make anyway then simply use `MAKEFLAGS'. Flags such as
-`--no-print-directory' or `--output-sync' may be appropriate for
-`GNUMAKEFLAGS'.
+require GNU make anyway then simply use 'MAKEFLAGS'. Flags such as
+'--no-print-directory' or '--output-sync' may be appropriate for
+'GNUMAKEFLAGS'.

File: make.info, Node: -w Option, Prev: Options/Recursion, Up: Recursion
-5.7.4 The `--print-directory' Option
+5.7.4 The '--print-directory' Option
------------------------------------
-If you use several levels of recursive `make' invocations, the `-w' or
-`--print-directory' option can make the output a lot easier to
-understand by showing each directory as `make' starts processing it and
-as `make' finishes processing it. For example, if `make -w' is run in
-the directory `/u/gnu/make', `make' will print a line of the form:
+If you use several levels of recursive 'make' invocations, the '-w' or '--print-directory'
+option can make the output a lot easier to understand by showing each
+directory as 'make' starts processing it and as 'make' finishes
+processing it. For example, if 'make -w' is run in the directory
+'/u/gnu/make', 'make' will print a line of the form:
make: Entering directory `/u/gnu/make'.
@@ -4038,11 +4032,11 @@ before doing anything else, and a line of the form:
when processing is completed.
- Normally, you do not need to specify this option because `make' does
-it for you: `-w' is turned on automatically when you use the `-C'
-option, and in sub-`make's. `make' will not automatically turn on `-w'
-if you also use `-s', which says to be silent, or if you use
-`--no-print-directory' to explicitly disable it.
+ Normally, you do not need to specify this option because 'make' does
+it for you: '-w' is turned on automatically when you use the '-C'
+option, and in sub-'make's. 'make' will not automatically turn on '-w'
+if you also use '-s', which says to be silent, or if you use
+'--no-print-directory' to explicitly disable it.

File: make.info, Node: Canned Recipes, Next: Empty Recipes, Prev: Recursion, Up: Recipes
@@ -4051,7 +4045,7 @@ File: make.info, Node: Canned Recipes, Next: Empty Recipes, Prev: Recursion,
===========================
When the same sequence of commands is useful in making various targets,
-you can define it as a canned sequence with the `define' directive, and
+you can define it as a canned sequence with the 'define' directive, and
refer to the canned sequence from the recipes for those targets. The
canned sequence is actually a variable, so the name must not conflict
with other variable names.
@@ -4062,42 +4056,42 @@ with other variable names.
yacc $(firstword $^)
mv y.tab.c $@
endef
-
-Here `run-yacc' is the name of the variable being defined; `endef'
-marks the end of the definition; the lines in between are the commands.
-The `define' directive does not expand variable references and function
-calls in the canned sequence; the `$' characters, parentheses, variable
+
+Here 'run-yacc' is the name of the variable being defined; 'endef' marks
+the end of the definition; the lines in between are the commands. The
+'define' directive does not expand variable references and function
+calls in the canned sequence; the '$' characters, parentheses, variable
names, and so on, all become part of the value of the variable you are
defining. *Note Defining Multi-Line Variables: Multi-Line, for a
-complete explanation of `define'.
+complete explanation of 'define'.
- The first command in this example runs Yacc on the first
-prerequisite of whichever rule uses the canned sequence. The output
-file from Yacc is always named `y.tab.c'. The second command moves the
-output to the rule's target file name.
+ The first command in this example runs Yacc on the first prerequisite
+of whichever rule uses the canned sequence. The output file from Yacc
+is always named 'y.tab.c'. The second command moves the output to the
+rule's target file name.
To use the canned sequence, substitute the variable into the recipe
of a rule. You can substitute it like any other variable (*note Basics
of Variable References: Reference.). Because variables defined by
-`define' are recursively expanded variables, all the variable
-references you wrote inside the `define' are expanded now. For example:
+'define' are recursively expanded variables, all the variable references
+you wrote inside the 'define' are expanded now. For example:
foo.c : foo.y
$(run-yacc)
-`foo.y' will be substituted for the variable `$^' when it occurs in
-`run-yacc''s value, and `foo.c' for `$@'.
+'foo.y' will be substituted for the variable '$^' when it occurs in
+'run-yacc''s value, and 'foo.c' for '$@'.
This is a realistic example, but this particular one is not needed in
-practice because `make' has an implicit rule to figure out these
+practice because 'make' has an implicit rule to figure out these
commands based on the file names involved (*note Using Implicit Rules:
Implicit Rules.).
In recipe execution, each line of a canned sequence is treated just
as if the line appeared on its own in the rule, preceded by a tab. In
-particular, `make' invokes a separate sub-shell for each line. You can
-use the special prefix characters that affect command lines (`@', `-',
-and `+') on each line of a canned sequence. *Note Writing Recipes in
+particular, 'make' invokes a separate sub-shell for each line. You can
+use the special prefix characters that affect command lines ('@', '-',
+and '+') on each line of a canned sequence. *Note Writing Recipes in
Rules: Recipes. For example, using this canned sequence:
define frobnicate =
@@ -4106,7 +4100,7 @@ Rules: Recipes. For example, using this canned sequence:
frob-step-2 $@-step-1 -o $@
endef
-`make' will not echo the first line, the `echo' command. But it _will_
+'make' will not echo the first line, the 'echo' command. But it _will_
echo the following two recipe lines.
On the other hand, prefix characters on the recipe line that refers
@@ -4115,8 +4109,8 @@ to a canned sequence apply to every line in the sequence. So the rule:
frob.out: frob.in
@$(frobnicate)
-does not echo _any_ recipe lines. (*Note Recipe Echoing: Echoing, for
-a full explanation of `@'.)
+does not echo _any_ recipe lines. (*Note Recipe Echoing: Echoing, for a
+full explanation of '@'.)

File: make.info, Node: Empty Recipes, Prev: Canned Recipes, Up: Recipes
@@ -4130,13 +4124,13 @@ example:
target: ;
-defines an empty recipe for `target'. You could also use a line
+defines an empty recipe for 'target'. You could also use a line
beginning with a recipe prefix character to define an empty recipe, but
this would be confusing because such a line looks empty.
You may be wondering why you would want to define a recipe that does
nothing. The only reason this is useful is to prevent a target from
-getting implicit recipes (from implicit rules or the `.DEFAULT' special
+getting implicit recipes (from implicit rules or the '.DEFAULT' special
target; *note Implicit Rules:: and *note Defining Last-Resort Default
Rules: Last Resort.).
@@ -4155,29 +4149,29 @@ File: make.info, Node: Using Variables, Next: Conditionals, Prev: Recipes, U
A "variable" is a name defined in a makefile to represent a string of
text, called the variable's "value". These values are substituted by
explicit request into targets, prerequisites, recipes, and other parts
-of the makefile. (In some other versions of `make', variables are
-called "macros".)
+of the makefile. (In some other versions of 'make', variables are
+called "macros".)
Variables and functions in all parts of a makefile are expanded when
read, except for in recipes, the right-hand sides of variable
-definitions using `=', and the bodies of variable definitions using the
-`define' directive.
+definitions using '=', and the bodies of variable definitions using the
+'define' directive.
Variables can represent lists of file names, options to pass to
compilers, programs to run, directories to look in for source files,
directories to write output in, or anything else you can imagine.
- A variable name may be any sequence of characters not containing
-`:', `#', `=', or whitespace. However, variable names containing
-characters other than letters, numbers, and underscores should be
-considered carefully, as in some shells they cannot be passed through
-the environment to a sub-`make' (*note Communicating Variables to a
-Sub-`make': Variables/Recursion.). Variable names beginning with `.'
+ A variable name may be any sequence of characters not containing ':',
+'#', '=', or whitespace. However, variable names containing characters
+other than letters, numbers, and underscores should be considered
+carefully, as in some shells they cannot be passed through the
+environment to a sub-'make' (*note Communicating Variables to a
+Sub-'make': Variables/Recursion.). Variable names beginning with '.'
and an uppercase letter may be given special meaning in future versions
-of `make'.
+of 'make'.
- Variable names are case-sensitive. The names `foo', `FOO', and
-`Foo' all refer to different variables.
+ Variable names are case-sensitive. The names 'foo', 'FOO', and 'Foo'
+all refer to different variables.
It is traditional to use upper case letters in variable names, but we
recommend using lower case letters for variable names that serve
@@ -4220,9 +4214,9 @@ File: make.info, Node: Reference, Next: Flavors, Prev: Using Variables, Up:
=================================
To substitute a variable's value, write a dollar sign followed by the
-name of the variable in parentheses or braces: either `$(foo)' or
-`${foo}' is a valid reference to the variable `foo'. This special
-significance of `$' is why you must write `$$' to have the effect of a
+name of the variable in parentheses or braces: either '$(foo)' or
+'${foo}' is a valid reference to the variable 'foo'. This special
+significance of '$' is why you must write '$$' to have the effect of a
single dollar sign in a file name or recipe.
Variable references can be used in any context: targets,
@@ -4243,13 +4237,13 @@ rule
prog.o : prog.$(foo)
$(foo)$(foo) -$(foo) prog.$(foo)
-could be used to compile a C program `prog.c'. Since spaces before the
-variable value are ignored in variable assignments, the value of `foo'
-is precisely `c'. (Don't actually write your makefiles this way!)
+could be used to compile a C program 'prog.c'. Since spaces before the
+variable value are ignored in variable assignments, the value of 'foo'
+is precisely 'c'. (Don't actually write your makefiles this way!)
A dollar sign followed by a character other than a dollar sign,
open-parenthesis or open-brace treats that single character as the
-variable name. Thus, you could reference the variable `x' with `$x'.
+variable name. Thus, you could reference the variable 'x' with '$x'.
However, this practice is strongly discouraged, except in the case of
the automatic variables (*note Automatic Variables::).
@@ -4259,18 +4253,18 @@ File: make.info, Node: Flavors, Next: Advanced, Prev: Reference, Up: Using V
6.2 The Two Flavors of Variables
================================
-There are two ways that a variable in GNU `make' can have a value; we
+There are two ways that a variable in GNU 'make' can have a value; we
call them the two "flavors" of variables. The two flavors are
distinguished in how they are defined and in what they do when expanded.
The first flavor of variable is a "recursively expanded" variable.
-Variables of this sort are defined by lines using `=' (*note Setting
-Variables: Setting.) or by the `define' directive (*note Defining
+Variables of this sort are defined by lines using '=' (*note Setting
+Variables: Setting.) or by the 'define' directive (*note Defining
Multi-Line Variables: Multi-Line.). The value you specify is installed
-verbatim; if it contains references to other variables, these
-references are expanded whenever this variable is substituted (in the
-course of expanding some other string). When this happens, it is
-called "recursive expansion".
+verbatim; if it contains references to other variables, these references
+are expanded whenever this variable is substituted (in the course of
+expanding some other string). When this happens, it is called
+"recursive expansion".
For example,
@@ -4280,47 +4274,47 @@ called "recursive expansion".
all:;echo $(foo)
-will echo `Huh?': `$(foo)' expands to `$(bar)' which expands to
-`$(ugh)' which finally expands to `Huh?'.
+will echo 'Huh?': '$(foo)' expands to '$(bar)' which expands to '$(ugh)'
+which finally expands to 'Huh?'.
This flavor of variable is the only sort supported by most other
-versions of `make'. It has its advantages and its disadvantages. An
+versions of 'make'. It has its advantages and its disadvantages. An
advantage (most would say) is that:
CFLAGS = $(include_dirs) -O
include_dirs = -Ifoo -Ibar
-will do what was intended: when `CFLAGS' is expanded in a recipe, it
-will expand to `-Ifoo -Ibar -O'. A major disadvantage is that you
+will do what was intended: when 'CFLAGS' is expanded in a recipe, it
+will expand to '-Ifoo -Ibar -O'. A major disadvantage is that you
cannot append something on the end of a variable, as in
CFLAGS = $(CFLAGS) -O
because it will cause an infinite loop in the variable expansion.
-(Actually `make' detects the infinite loop and reports an error.)
+(Actually 'make' detects the infinite loop and reports an error.)
Another disadvantage is that any functions (*note Functions for
-Transforming Text: Functions.) referenced in the definition will be
-executed every time the variable is expanded. This makes `make' run
-slower; worse, it causes the `wildcard' and `shell' functions to give
+Transforming Text: Functions.) referenced in the definition will be
+executed every time the variable is expanded. This makes 'make' run
+slower; worse, it causes the 'wildcard' and 'shell' functions to give
unpredictable results because you cannot easily control when they are
called, or even how many times.
To avoid all the problems and inconveniences of recursively expanded
variables, there is another flavor: simply expanded variables.
- "Simply expanded variables" are defined by lines using `:=' or `::='
+ "Simply expanded variables" are defined by lines using ':=' or '::='
(*note Setting Variables: Setting.). Both forms are equivalent in GNU
-`make'; however only the `::=' form is described by the POSIX standard
-(support for `::=' was added to the POSIX standard in 2012, so older
-versions of `make' won't accept this form either).
+'make'; however only the '::=' form is described by the POSIX standard
+(support for '::=' was added to the POSIX standard in 2012, so older
+versions of 'make' won't accept this form either).
The value of a simply expanded variable is scanned once and for all,
expanding any references to other variables and functions, when the
variable is defined. The actual value of the simply expanded variable
-is the result of expanding the text that you write. It does not
-contain any references to other variables; it contains their values _as
-of the time this variable was defined_. Therefore,
+is the result of expanding the text that you write. It does not contain
+any references to other variables; it contains their values _as of the
+time this variable was defined_. Therefore,
x := foo
y := $(x) bar
@@ -4335,11 +4329,11 @@ is equivalent to
substituted verbatim.
Here is a somewhat more complicated example, illustrating the use of
-`:=' in conjunction with the `shell' function. (*Note The `shell'
+':=' in conjunction with the 'shell' function. (*Note The 'shell'
Function: Shell Function.) This example also shows use of the variable
-`MAKELEVEL', which is changed when it is passed down from level to
-level. (*Note Communicating Variables to a Sub-`make':
-Variables/Recursion, for information about `MAKELEVEL'.)
+'MAKELEVEL', which is changed when it is passed down from level to
+level. (*Note Communicating Variables to a Sub-'make':
+Variables/Recursion, for information about 'MAKELEVEL'.)
ifeq (0,${MAKELEVEL})
whoami := $(shell whoami)
@@ -4347,7 +4341,7 @@ Variables/Recursion, for information about `MAKELEVEL'.)
MAKE := ${MAKE} host-type=${host-type} whoami=${whoami}
endif
-An advantage of this use of `:=' is that a typical `descend into a
+An advantage of this use of ':=' is that a typical 'descend into a
directory' recipe then looks like this:
${subdirs}:
@@ -4369,37 +4363,37 @@ protecting them with variable references, like this:
nullstring :=
space := $(nullstring) # end of the line
-Here the value of the variable `space' is precisely one space. The
-comment `# end of the line' is included here just for clarity. Since
+Here the value of the variable 'space' is precisely one space. The
+comment '# end of the line' is included here just for clarity. Since
trailing space characters are _not_ stripped from variable values, just
-a space at the end of the line would have the same effect (but be
-rather hard to read). If you put whitespace at the end of a variable
-value, it is a good idea to put a comment like that at the end of the
-line to make your intent clear. Conversely, if you do _not_ want any
-whitespace characters at the end of your variable value, you must
-remember not to put a random comment on the end of the line after some
-whitespace, such as this:
+a space at the end of the line would have the same effect (but be rather
+hard to read). If you put whitespace at the end of a variable value, it
+is a good idea to put a comment like that at the end of the line to make
+your intent clear. Conversely, if you do _not_ want any whitespace
+characters at the end of your variable value, you must remember not to
+put a random comment on the end of the line after some whitespace, such
+as this:
dir := /foo/bar # directory to put the frobs in
-Here the value of the variable `dir' is `/foo/bar ' (with four
+Here the value of the variable 'dir' is '/foo/bar ' (with four
trailing spaces), which was probably not the intention. (Imagine
-something like `$(dir)/file' with this definition!)
+something like '$(dir)/file' with this definition!)
- There is another assignment operator for variables, `?='. This is
+ There is another assignment operator for variables, '?='. This is
called a conditional variable assignment operator, because it only has
an effect if the variable is not yet defined. This statement:
FOO ?= bar
-is exactly equivalent to this (*note The `origin' Function: Origin
+is exactly equivalent to this (*note The 'origin' Function: Origin
Function.):
ifeq ($(origin FOO), undefined)
FOO = bar
endif
- Note that a variable set to an empty value is still defined, so `?='
+ Note that a variable set to an empty value is still defined, so '?='
will not set that variable.

@@ -4424,40 +4418,40 @@ File: make.info, Node: Substitution Refs, Next: Computed Names, Prev: Advance
-----------------------------
A "substitution reference" substitutes the value of a variable with
-alterations that you specify. It has the form `$(VAR:A=B)' (or
-`${VAR:A=B}') and its meaning is to take the value of the variable VAR,
+alterations that you specify. It has the form '$(VAR:A=B)' (or
+'${VAR:A=B}') and its meaning is to take the value of the variable VAR,
replace every A at the end of a word with B in that value, and
substitute the resulting string.
- When we say "at the end of a word", we mean that A must appear
-either followed by whitespace or at the end of the value in order to be
+ When we say "at the end of a word", we mean that A must appear either
+followed by whitespace or at the end of the value in order to be
replaced; other occurrences of A in the value are unaltered. For
example:
foo := a.o b.o c.o
bar := $(foo:.o=.c)
-sets `bar' to `a.c b.c c.c'. *Note Setting Variables: Setting.
+sets 'bar' to 'a.c b.c c.c'. *Note Setting Variables: Setting.
A substitution reference is actually an abbreviation for use of the
-`patsubst' expansion function (*note Functions for String Substitution
+'patsubst' expansion function (*note Functions for String Substitution
and Analysis: Text Functions.). We provide substitution references as
-well as `patsubst' for compatibility with other implementations of
-`make'.
+well as 'patsubst' for compatibility with other implementations of
+'make'.
Another type of substitution reference lets you use the full power of
-the `patsubst' function. It has the same form `$(VAR:A=B)' described
-above, except that now A must contain a single `%' character. This
-case is equivalent to `$(patsubst A,B,$(VAR))'. *Note Functions for
-String Substitution and Analysis: Text Functions, for a description of
-the `patsubst' function.
+the 'patsubst' function. It has the same form '$(VAR:A=B)' described
+above, except that now A must contain a single '%' character. This case
+is equivalent to '$(patsubst A,B,$(VAR))'. *Note Functions for String
+Substitution and Analysis: Text Functions, for a description of the
+'patsubst' function.
For example:
foo := a.o b.o c.o
bar := $(foo:%.o=%.c)
-sets `bar' to `a.c b.c c.c'.
+sets 'bar' to 'a.c b.c c.c'.

File: make.info, Node: Computed Names, Prev: Substitution Refs, Up: Advanced
@@ -4473,18 +4467,18 @@ that wants to understand everything, or you are actually interested in
what they do, read on.
Variables may be referenced inside the name of a variable. This is
-called a "computed variable name" or a "nested variable reference".
-For example,
+called a "computed variable name" or a "nested variable reference". For
+example,
x = y
y = z
a := $($(x))
-defines `a' as `z': the `$(x)' inside `$($(x))' expands to `y', so
-`$($(x))' expands to `$(y)' which in turn expands to `z'. Here the
-name of the variable to reference is not stated explicitly; it is
-computed by expansion of `$(x)'. The reference `$(x)' here is nested
-within the outer variable reference.
+defines 'a' as 'z': the '$(x)' inside '$($(x))' expands to 'y', so
+'$($(x))' expands to '$(y)' which in turn expands to 'z'. Here the name
+of the variable to reference is not stated explicitly; it is computed by
+expansion of '$(x)'. The reference '$(x)' here is nested within the
+outer variable reference.
The previous example shows two levels of nesting, but any number of
levels is possible. For example, here are three levels:
@@ -4494,9 +4488,8 @@ levels is possible. For example, here are three levels:
z = u
a := $($($(x)))
-Here the innermost `$(x)' expands to `y', so `$($(x))' expands to
-`$(y)' which in turn expands to `z'; now we have `$(z)', which becomes
-`u'.
+Here the innermost '$(x)' expands to 'y', so '$($(x))' expands to '$(y)'
+which in turn expands to 'z'; now we have '$(z)', which becomes 'u'.
References to recursively-expanded variables within a variable name
are re-expanded in the usual fashion. For example:
@@ -4506,13 +4499,13 @@ are re-expanded in the usual fashion. For example:
z = Hello
a := $($(x))
-defines `a' as `Hello': `$($(x))' becomes `$($(y))' which becomes
-`$(z)' which becomes `Hello'.
+defines 'a' as 'Hello': '$($(x))' becomes '$($(y))' which becomes '$(z)'
+which becomes 'Hello'.
Nested variable references can also contain modified references and
function invocations (*note Functions for Transforming Text:
Functions.), just like any other reference. For example, using the
-`subst' function (*note Functions for String Substitution and Analysis:
+'subst' function (*note Functions for String Substitution and Analysis:
Text Functions.):
x = variable1
@@ -4521,16 +4514,16 @@ Text Functions.):
z = y
a := $($($(z)))
-eventually defines `a' as `Hello'. It is doubtful that anyone would
+eventually defines 'a' as 'Hello'. It is doubtful that anyone would
ever want to write a nested reference as convoluted as this one, but it
-works: `$($($(z)))' expands to `$($(y))' which becomes `$($(subst
-1,2,$(x)))'. This gets the value `variable1' from `x' and changes it
-by substitution to `variable2', so that the entire string becomes
-`$(variable2)', a simple variable reference whose value is `Hello'.
+works: '$($($(z)))' expands to '$($(y))' which becomes '$($(subst
+1,2,$(x)))'. This gets the value 'variable1' from 'x' and changes it by
+substitution to 'variable2', so that the entire string becomes
+'$(variable2)', a simple variable reference whose value is 'Hello'.
A computed variable name need not consist entirely of a single
-variable reference. It can contain several variable references, as
-well as some invariant text. For example,
+variable reference. It can contain several variable references, as well
+as some invariant text. For example,
a_dirs := dira dirb
1_dirs := dir1 dir2
@@ -4552,8 +4545,8 @@ well as some invariant text. For example,
dirs := $($(a1)_$(df))
-will give `dirs' the same value as `a_dirs', `1_dirs', `a_files' or
-`1_files' depending on the settings of `use_a' and `use_dirs'.
+will give 'dirs' the same value as 'a_dirs', '1_dirs', 'a_files' or
+'1_files' depending on the settings of 'use_a' and 'use_dirs'.
Computed variable names can also be used in substitution references:
@@ -4562,13 +4555,13 @@ will give `dirs' the same value as `a_dirs', `1_dirs', `a_files' or
sources := $($(a1)_objects:.o=.c)
-defines `sources' as either `a.c b.c c.c' or `1.c 2.c 3.c', depending
-on the value of `a1'.
+defines 'sources' as either 'a.c b.c c.c' or '1.c 2.c 3.c', depending on
+the value of 'a1'.
The only restriction on this sort of use of nested variable
-references is that they cannot specify part of the name of a function
-to be called. This is because the test for a recognized function name
-is done before the expansion of nested references. For example,
+references is that they cannot specify part of the name of a function to
+be called. This is because the test for a recognized function name is
+done before the expansion of nested references. For example,
ifdef do_sort
func := sort
@@ -4580,13 +4573,13 @@ is done before the expansion of nested references. For example,
foo := $($(func) $(bar))
-attempts to give `foo' the value of the variable `sort a d b g q c' or
-`strip a d b g q c', rather than giving `a d b g q c' as the argument
-to either the `sort' or the `strip' function. This restriction could
-be removed in the future if that change is shown to be a good idea.
+attempts to give 'foo' the value of the variable 'sort a d b g q c' or
+'strip a d b g q c', rather than giving 'a d b g q c' as the argument to
+either the 'sort' or the 'strip' function. This restriction could be
+removed in the future if that change is shown to be a good idea.
You can also use computed variable names in the left-hand side of a
-variable assignment, or in a `define' directive, as in:
+variable assignment, or in a 'define' directive, as in:
dir = foo
$(dir)_sources := $(wildcard $(dir)/*.c)
@@ -4594,8 +4587,8 @@ variable assignment, or in a `define' directive, as in:
lpr $($(dir)_sources)
endef
-This example defines the variables `dir', `foo_sources', and
-`foo_print'.
+This example defines the variables 'dir', 'foo_sources', and
+'foo_print'.
Note that "nested variable references" are quite different from
"recursively expanded variables" (*note The Two Flavors of Variables:
@@ -4610,14 +4603,14 @@ File: make.info, Node: Values, Next: Setting, Prev: Advanced, Up: Using Vari
Variables can get values in several different ways:
- * You can specify an overriding value when you run `make'. *Note
+ * You can specify an overriding value when you run 'make'. *Note
Overriding Variables: Overriding.
* You can specify a value in the makefile, either with an assignment
(*note Setting Variables: Setting.) or with a verbatim definition
(*note Defining Multi-Line Variables: Multi-Line.).
- * Variables in the environment become `make' variables. *Note
+ * Variables in the environment become 'make' variables. *Note
Variables from the Environment: Environment.
* Several "automatic" variables are given new values for each rule.
@@ -4634,28 +4627,28 @@ File: make.info, Node: Setting, Next: Appending, Prev: Values, Up: Using Var
=====================
To set a variable from the makefile, write a line starting with the
-variable name followed by `=' `:=', or `::='. Whatever follows the
-`=', `:=', or `::=' on the line becomes the value. For example,
+variable name followed by '=' ':=', or '::='. Whatever follows the '=',
+':=', or '::=' on the line becomes the value. For example,
objects = main.o foo.o bar.o utils.o
-defines a variable named `objects'. Whitespace around the variable
-name and immediately after the `=' is ignored.
+defines a variable named 'objects'. Whitespace around the variable name
+and immediately after the '=' is ignored.
- Variables defined with `=' are "recursively expanded" variables.
-Variables defined with `:=' or `::=' are "simply expanded" variables;
-these definitions can contain variable references which will be
-expanded before the definition is made. *Note The Two Flavors of
-Variables: Flavors.
+ Variables defined with '=' are "recursively expanded" variables.
+Variables defined with ':=' or '::=' are "simply expanded" variables;
+these definitions can contain variable references which will be expanded
+before the definition is made. *Note The Two Flavors of Variables:
+Flavors.
The variable name may contain function and variable references, which
are expanded when the line is read to find the actual variable name to
use.
There is no limit on the length of the value of a variable except the
-amount of memory on the computer. You can split the value of a
-variable into multiple physical lines for readability (*note Splitting
-Long Lines: Splitting Lines.).
+amount of memory on the computer. You can split the value of a variable
+into multiple physical lines for readability (*note Splitting Long
+Lines: Splitting Lines.).
Most variable names are considered to have the empty string as a
value if you have never set them. Several variables have built-in
@@ -4666,9 +4659,9 @@ rule; these are called the "automatic" variables (*note Automatic
Variables::).
If you'd like a variable to be set to a value only if it's not
-already set, then you can use the shorthand operator `?=' instead of
-`='. These two settings of the variable `FOO' are identical (*note The
-`origin' Function: Origin Function.):
+already set, then you can use the shorthand operator '?=' instead of
+'='. These two settings of the variable 'FOO' are identical (*note The
+'origin' Function: Origin Function.):
FOO ?= bar
@@ -4678,23 +4671,23 @@ and
FOO = bar
endif
- The shell assignment operator `!=' can be used to execute a program
+ The shell assignment operator '!=' can be used to execute a program
and set a variable to its output. This operator first evaluates the
-right-hand side, then passes that result to the shell for execution.
-If the result of the execution ends in a newline, that one newline is
+right-hand side, then passes that result to the shell for execution. If
+the result of the execution ends in a newline, that one newline is
removed; all other newlines are replaced by spaces. The resulting
-string is then placed into the named recursively-expanded variable.
-For example:
+string is then placed into the named recursively-expanded variable. For
+example:
hash != printf '\043'
file_list != find . -name '*.c'
- If the result of the execution could produce a `$', and you don't
+ If the result of the execution could produce a '$', and you don't
intend what follows that to be interpreted as a make variable or
-function reference, then you must replace every `$' with `$$' as part
-of the execution. Alternatively, you can set a simply expanded
-variable to the result of running a program using the `shell' function
-call. *Note The `shell' Function: Shell Function. For example:
+function reference, then you must replace every '$' with '$$' as part of
+the execution. Alternatively, you can set a simply expanded variable to
+the result of running a program using the 'shell' function call. *Note
+The 'shell' Function: Shell Function. For example:
hash := $(shell printf '\043')
var := $(shell find . -name "*.c")
@@ -4706,19 +4699,19 @@ File: make.info, Node: Appending, Next: Override Directive, Prev: Setting, U
====================================
Often it is useful to add more text to the value of a variable already
-defined. You do this with a line containing `+=', like this:
+defined. You do this with a line containing '+=', like this:
objects += another.o
-This takes the value of the variable `objects', and adds the text
-`another.o' to it (preceded by a single space). Thus:
+This takes the value of the variable 'objects', and adds the text
+'another.o' to it (preceded by a single space). Thus:
objects = main.o foo.o bar.o utils.o
objects += another.o
-sets `objects' to `main.o foo.o bar.o utils.o another.o'.
+sets 'objects' to 'main.o foo.o bar.o utils.o another.o'.
- Using `+=' is similar to:
+ Using '+=' is similar to:
objects = main.o foo.o bar.o utils.o
objects := $(objects) another.o
@@ -4726,39 +4719,38 @@ sets `objects' to `main.o foo.o bar.o utils.o another.o'.
but differs in ways that become important when you use more complex
values.
- When the variable in question has not been defined before, `+=' acts
-just like normal `=': it defines a recursively-expanded variable.
-However, when there _is_ a previous definition, exactly what `+=' does
+ When the variable in question has not been defined before, '+=' acts
+just like normal '=': it defines a recursively-expanded variable.
+However, when there _is_ a previous definition, exactly what '+=' does
depends on what flavor of variable you defined originally. *Note The
-Two Flavors of Variables: Flavors, for an explanation of the two
-flavors of variables.
+Two Flavors of Variables: Flavors, for an explanation of the two flavors
+of variables.
- When you add to a variable's value with `+=', `make' acts
-essentially as if you had included the extra text in the initial
-definition of the variable. If you defined it first with `:=' or
-`::=', making it a simply-expanded variable, `+=' adds to that
-simply-expanded definition, and expands the new text before appending
-it to the old value just as `:=' does (see *note Setting Variables:
-Setting, for a full explanation of `:=' or `::='). In fact,
+ When you add to a variable's value with '+=', 'make' acts essentially
+as if you had included the extra text in the initial definition of the
+variable. If you defined it first with ':=' or '::=', making it a
+simply-expanded variable, '+=' adds to that simply-expanded definition,
+and expands the new text before appending it to the old value just as
+':=' does (see *note Setting Variables: Setting, for a full explanation
+of ':=' or '::='). In fact,
variable := value
variable += more
is exactly equivalent to:
-
variable := value
variable := $(variable) more
- On the other hand, when you use `+=' with a variable that you defined
-first to be recursively-expanded using plain `=', `make' does something
+ On the other hand, when you use '+=' with a variable that you defined
+first to be recursively-expanded using plain '=', 'make' does something
a bit different. Recall that when you define a recursively-expanded
-variable, `make' does not expand the value you set for variable and
+variable, 'make' does not expand the value you set for variable and
function references immediately. Instead it stores the text verbatim,
and saves these variable and function references to be expanded later,
when you refer to the new variable (*note The Two Flavors of Variables:
-Flavors.). When you use `+=' on a recursively-expanded variable, it is
-this unexpanded text to which `make' appends the new text you specify.
+Flavors.). When you use '+=' on a recursively-expanded variable, it is
+this unexpanded text to which 'make' appends the new text you specify.
variable = value
variable += more
@@ -4768,46 +4760,46 @@ is roughly equivalent to:
temp = value
variable = $(temp) more
-except that of course it never defines a variable called `temp'. The
-importance of this comes when the variable's old value contains
-variable references. Take this common example:
+except that of course it never defines a variable called 'temp'. The
+importance of this comes when the variable's old value contains variable
+references. Take this common example:
CFLAGS = $(includes) -O
...
CFLAGS += -pg # enable profiling
-The first line defines the `CFLAGS' variable with a reference to another
-variable, `includes'. (`CFLAGS' is used by the rules for C
-compilation; *note Catalogue of Implicit Rules: Catalogue of Rules.)
-Using `=' for the definition makes `CFLAGS' a recursively-expanded
-variable, meaning `$(includes) -O' is _not_ expanded when `make'
-processes the definition of `CFLAGS'. Thus, `includes' need not be
-defined yet for its value to take effect. It only has to be defined
-before any reference to `CFLAGS'. If we tried to append to the value
-of `CFLAGS' without using `+=', we might do it like this:
+The first line defines the 'CFLAGS' variable with a reference to another
+variable, 'includes'. ('CFLAGS' is used by the rules for C compilation;
+*note Catalogue of Built-In Rules: Catalogue of Rules.) Using '=' for
+the definition makes 'CFLAGS' a recursively-expanded variable, meaning '$(includes) -O'
+is _not_ expanded when 'make' processes the definition of 'CFLAGS'.
+Thus, 'includes' need not be defined yet for its value to take effect.
+It only has to be defined before any reference to 'CFLAGS'. If we tried
+to append to the value of 'CFLAGS' without using '+=', we might do it
+like this:
CFLAGS := $(CFLAGS) -pg # enable profiling
-This is pretty close, but not quite what we want. Using `:=' redefines
-`CFLAGS' as a simply-expanded variable; this means `make' expands the
-text `$(CFLAGS) -pg' before setting the variable. If `includes' is not
-yet defined, we get ` -O -pg', and a later definition of `includes'
-will have no effect. Conversely, by using `+=' we set `CFLAGS' to the
-_unexpanded_ value `$(includes) -O -pg'. Thus we preserve the
-reference to `includes', so if that variable gets defined at any later
-point, a reference like `$(CFLAGS)' still uses its value.
+This is pretty close, but not quite what we want. Using ':=' redefines
+'CFLAGS' as a simply-expanded variable; this means 'make' expands the
+text '$(CFLAGS) -pg' before setting the variable. If 'includes' is not
+yet defined, we get ' -O -pg', and a later definition of 'includes' will
+have no effect. Conversely, by using '+=' we set 'CFLAGS' to the
+_unexpanded_ value '$(includes) -O -pg'. Thus we preserve the reference
+to 'includes', so if that variable gets defined at any later point, a
+reference like '$(CFLAGS)' still uses its value.

File: make.info, Node: Override Directive, Next: Multi-Line, Prev: Appending, Up: Using Variables
-6.7 The `override' Directive
+6.7 The 'override' Directive
============================
If a variable has been set with a command argument (*note Overriding
Variables: Overriding.), then ordinary assignments in the makefile are
-ignored. If you want to set the variable in the makefile even though
-it was set with a command argument, you can use an `override'
-directive, which is a line that looks like this:
+ignored. If you want to set the variable in the makefile even though it
+was set with a command argument, you can use an 'override' directive,
+which is a line that looks like this:
override VARIABLE = VALUE
@@ -4821,23 +4813,23 @@ or
*Note Appending More Text to Variables: Appending.
- Variable assignments marked with the `override' flag have a higher
-priority than all other assignments, except another `override'.
+ Variable assignments marked with the 'override' flag have a higher
+priority than all other assignments, except another 'override'.
Subsequent assignments or appends to this variable which are not marked
-`override' will be ignored.
+'override' will be ignored.
- The `override' directive was not invented for escalation in the war
+ The 'override' directive was not invented for escalation in the war
between makefiles and command arguments. It was invented so you can
alter and add to values that the user specifies with command arguments.
- For example, suppose you always want the `-g' switch when you run the
+ For example, suppose you always want the '-g' switch when you run the
C compiler, but you would like to allow the user to specify the other
switches with a command argument just as usual. You could use this
-`override' directive:
+'override' directive:
override CFLAGS += -g
- You can also use `override' directives with `define' directives.
+ You can also use 'override' directives with 'define' directives.
This is done as you might expect:
override define foo =
@@ -4852,34 +4844,34 @@ File: make.info, Node: Multi-Line, Next: Undefine Directive, Prev: Override D
6.8 Defining Multi-Line Variables
=================================
-Another way to set the value of a variable is to use the `define'
+Another way to set the value of a variable is to use the 'define'
directive. This directive has an unusual syntax which allows newline
-characters to be included in the value, which is convenient for
-defining both canned sequences of commands (*note Defining Canned
-Recipes: Canned Recipes.), and also sections of makefile syntax to use
-with `eval' (*note Eval Function::).
+characters to be included in the value, which is convenient for defining
+both canned sequences of commands (*note Defining Canned Recipes: Canned
+Recipes.), and also sections of makefile syntax to use with 'eval'
+(*note Eval Function::).
- The `define' directive is followed on the same line by the name of
+ The 'define' directive is followed on the same line by the name of
the variable being defined and an (optional) assignment operator, and
nothing more. The value to give the variable appears on the following
lines. The end of the value is marked by a line containing just the
-word `endef'. Aside from this difference in syntax, `define' works
-just like any other variable definition. The variable name may contain
+word 'endef'. Aside from this difference in syntax, 'define' works just
+like any other variable definition. The variable name may contain
function and variable references, which are expanded when the directive
is read to find the actual variable name to use.
You may omit the variable assignment operator if you prefer. If
-omitted, `make' assumes it to be `=' and creates a recursively-expanded
+omitted, 'make' assumes it to be '=' and creates a recursively-expanded
variable (*note The Two Flavors of Variables: Flavors.). When using a
-`+=' operator, the value is appended to the previous value as with any
+'+=' operator, the value is appended to the previous value as with any
other append operation: with a single space separating the old and new
values.
- You may nest `define' directives: `make' will keep track of nested
+ You may nest 'define' directives: 'make' will keep track of nested
directives and report an error if they are not all properly closed with
-`endef'. Note that lines beginning with the recipe prefix character
-are considered part of a recipe, so any `define' or `endef' strings
-appearing on such a line will not be considered `make' directives.
+'endef'. Note that lines beginning with the recipe prefix character are
+considered part of a recipe, so any 'define' or 'endef' strings
+appearing on such a line will not be considered 'make' directives.
define two-lines =
echo foo
@@ -4887,9 +4879,9 @@ appearing on such a line will not be considered `make' directives.
endef
The value in an ordinary assignment cannot contain a newline; but the
-newlines that separate the lines of the value in a `define' become part
-of the variable's value (except for the final newline which precedes
-the `endef' and is not considered part of the value).
+newlines that separate the lines of the value in a 'define' become part
+of the variable's value (except for the final newline which precedes the
+'endef' and is not considered part of the value).
When used in a recipe, the previous example is functionally
equivalent to this:
@@ -4898,19 +4890,19 @@ equivalent to this:
since two commands separated by semicolon behave much like two separate
shell commands. However, note that using two separate lines means
-`make' will invoke the shell twice, running an independent sub-shell
-for each line. *Note Recipe Execution: Execution.
+'make' will invoke the shell twice, running an independent sub-shell for
+each line. *Note Recipe Execution: Execution.
- If you want variable definitions made with `define' to take
+ If you want variable definitions made with 'define' to take
precedence over command-line variable definitions, you can use the
-`override' directive together with `define':
+'override' directive together with 'define':
override define two-lines =
foo
$(bar)
endef
-*Note The `override' Directive: Override Directive.
+*Note The 'override' Directive: Override Directive.

File: make.info, Node: Undefine Directive, Next: Environment, Prev: Multi-Line, Up: Using Variables
@@ -4919,13 +4911,13 @@ File: make.info, Node: Undefine Directive, Next: Environment, Prev: Multi-Lin
========================
If you want to clear a variable, setting its value to empty is usually
-sufficient. Expanding such a variable will yield the same result (empty
-string) regardless of whether it was set or not. However, if you are
-using the `flavor' (*note Flavor Function::) and `origin' (*note Origin
-Function::) functions, there is a difference between a variable that
-was never set and a variable with an empty value. In such situations
-you may want to use the `undefine' directive to make a variable appear
-as if it was never set. For example:
+sufficient. Expanding such a variable will yield the same result (empty
+string) regardless of whether it was set or not. However, if you are
+using the 'flavor' (*note Flavor Function::) and 'origin' (*note Origin
+Function::) functions, there is a difference between a variable that was
+never set and a variable with an empty value. In such situations you
+may want to use the 'undefine' directive to make a variable appear as if
+it was never set. For example:
foo := foo
bar = bar
@@ -4939,7 +4931,7 @@ as if it was never set. For example:
This example will print "undefined" for both variables.
If you want to undefine a command-line variable definition, you can
-use the `override' directive together with `undefine', similar to how
+use the 'override' directive together with 'undefine', similar to how
this is done for variable definitions:
override undefine CFLAGS
@@ -4950,41 +4942,41 @@ File: make.info, Node: Environment, Next: Target-specific, Prev: Undefine Dir
6.10 Variables from the Environment
===================================
-Variables in `make' can come from the environment in which `make' is
-run. Every environment variable that `make' sees when it starts up is
-transformed into a `make' variable with the same name and value.
+Variables in 'make' can come from the environment in which 'make' is
+run. Every environment variable that 'make' sees when it starts up is
+transformed into a 'make' variable with the same name and value.
However, an explicit assignment in the makefile, or with a command
-argument, overrides the environment. (If the `-e' flag is specified,
+argument, overrides the environment. (If the '-e' flag is specified,
then values from the environment override assignments in the makefile.
*Note Summary of Options: Options Summary. But this is not recommended
practice.)
- Thus, by setting the variable `CFLAGS' in your environment, you can
+ Thus, by setting the variable 'CFLAGS' in your environment, you can
cause all C compilations in most makefiles to use the compiler switches
you prefer. This is safe for variables with standard or conventional
meanings because you know that no makefile will use them for other
-things. (Note this is not totally reliable; some makefiles set
-`CFLAGS' explicitly and therefore are not affected by the value in the
+things. (Note this is not totally reliable; some makefiles set 'CFLAGS'
+explicitly and therefore are not affected by the value in the
environment.)
- When `make' runs a recipe, variables defined in the makefile are
+ When 'make' runs a recipe, variables defined in the makefile are
placed into the environment of each shell. This allows you to pass
-values to sub-`make' invocations (*note Recursive Use of `make':
+values to sub-'make' invocations (*note Recursive Use of 'make':
Recursion.). By default, only variables that came from the environment
or the command line are passed to recursive invocations. You can use
-the `export' directive to pass other variables. *Note Communicating
-Variables to a Sub-`make': Variables/Recursion, for full details.
+the 'export' directive to pass other variables. *Note Communicating
+Variables to a Sub-'make': Variables/Recursion, for full details.
Other use of variables from the environment is not recommended. It
-is not wise for makefiles to depend for their functioning on
-environment variables set up outside their control, since this would
-cause different users to get different results from the same makefile.
-This is against the whole purpose of most makefiles.
+is not wise for makefiles to depend for their functioning on environment
+variables set up outside their control, since this would cause different
+users to get different results from the same makefile. This is against
+the whole purpose of most makefiles.
- Such problems would be especially likely with the variable `SHELL',
+ Such problems would be especially likely with the variable 'SHELL',
which is normally present in the environment to specify the user's
choice of interactive shell. It would be very undesirable for this
-choice to affect `make'; so, `make' handles the `SHELL' environment
+choice to affect 'make'; so, 'make' handles the 'SHELL' environment
variable in a special way; see *note Choosing the Shell::.

@@ -4993,14 +4985,14 @@ File: make.info, Node: Target-specific, Next: Pattern-specific, Prev: Environ
6.11 Target-specific Variable Values
====================================
-Variable values in `make' are usually global; that is, they are the
-same regardless of where they are evaluated (unless they're reset, of
+Variable values in 'make' are usually global; that is, they are the same
+regardless of where they are evaluated (unless they're reset, of
course). One exception to that is automatic variables (*note Automatic
Variables::).
The other exception is "target-specific variable values". This
feature allows you to define different values for the same variable,
-based on the target that `make' is currently building. As with
+based on the target that 'make' is currently building. As with
automatic variables, these values are only available within the context
of a target's recipe (and in other target-specific assignments).
@@ -5009,15 +5001,15 @@ of a target's recipe (and in other target-specific assignments).
TARGET ... : VARIABLE-ASSIGNMENT
Target-specific variable assignments can be prefixed with any or all
-of the special keywords `export', `override', or `private'; these apply
+of the special keywords 'export', 'override', or 'private'; these apply
their normal behavior to this instance of the variable only.
Multiple TARGET values create a target-specific variable value for
each member of the target list individually.
The VARIABLE-ASSIGNMENT can be any valid form of assignment;
-recursive (`='), simple (`:=' or `::='), appending (`+='), or
-conditional (`?='). All variables that appear within the
+recursive ('='), simple (':=' or '::='), appending ('+='), or
+conditional ('?='). All variables that appear within the
VARIABLE-ASSIGNMENT are evaluated within the context of the target:
thus, any previously-defined target-specific variable values will be in
effect. Note that this variable is actually distinct from any "global"
@@ -5026,8 +5018,8 @@ vs. simple).
Target-specific variables have the same priority as any other
makefile variable. Variables provided on the command line (and in the
-environment if the `-e' option is in force) will take precedence.
-Specifying the `override' directive will allow the target-specific
+environment if the '-e' option is in force) will take precedence.
+Specifying the 'override' directive will allow the target-specific
variable value to be preferred.
There is one more special feature of target-specific variables: when
@@ -5040,17 +5032,17 @@ statement like this:
prog : CFLAGS = -g
prog : prog.o foo.o bar.o
-will set `CFLAGS' to `-g' in the recipe for `prog', but it will also
-set `CFLAGS' to `-g' in the recipes that create `prog.o', `foo.o', and
-`bar.o', and any recipes which create their prerequisites.
+will set 'CFLAGS' to '-g' in the recipe for 'prog', but it will also set
+'CFLAGS' to '-g' in the recipes that create 'prog.o', 'foo.o', and
+'bar.o', and any recipes which create their prerequisites.
Be aware that a given prerequisite will only be built once per
invocation of make, at most. If the same file is a prerequisite of
multiple targets, and each of those targets has a different value for
the same target-specific variable, then the first target to be built
will cause that prerequisite to be built and the prerequisite will
-inherit the target-specific value from the first target. It will
-ignore the target-specific values from any other targets.
+inherit the target-specific value from the first target. It will ignore
+the target-specific values from any other targets.

File: make.info, Node: Pattern-specific, Next: Suppressing Inheritance, Prev: Target-specific, Up: Using Variables
@@ -5059,25 +5051,25 @@ File: make.info, Node: Pattern-specific, Next: Suppressing Inheritance, Prev:
=====================================
In addition to target-specific variable values (*note Target-specific
-Variable Values: Target-specific.), GNU `make' supports
-pattern-specific variable values. In this form, the variable is
-defined for any target that matches the pattern specified.
+Variable Values: Target-specific.), GNU 'make' supports pattern-specific
+variable values. In this form, the variable is defined for any target
+that matches the pattern specified.
Set a pattern-specific variable value like this:
PATTERN ... : VARIABLE-ASSIGNMENT
where PATTERN is a %-pattern. As with target-specific variable
-values, multiple PATTERN values create a pattern-specific variable
-value for each pattern individually. The VARIABLE-ASSIGNMENT can be
-any valid form of assignment. Any command line variable setting will
-take precedence, unless `override' is specified.
+values, multiple PATTERN values create a pattern-specific variable value
+for each pattern individually. The VARIABLE-ASSIGNMENT can be any valid
+form of assignment. Any command line variable setting will take
+precedence, unless 'override' is specified.
For example:
%.o : CFLAGS = -O
-will assign `CFLAGS' the value of `-O' for all targets matching the
-pattern `%.o'.
+will assign 'CFLAGS' the value of '-O' for all targets matching the
+pattern '%.o'.
If a target matches more than one pattern, the matching
pattern-specific variables with longer stems are interpreted first.
@@ -5092,11 +5084,11 @@ generic ones, for example:
all: foo.o lib/bar.o
- In this example the first definition of the `CFLAGS' variable will
-be used to update `lib/bar.o' even though the second one also applies
-to this target. Pattern-specific variables which result in the same
-stem length are considered in the order in which they were defined in
-the makefile.
+ In this example the first definition of the 'CFLAGS' variable will be
+used to update 'lib/bar.o' even though the second one also applies to
+this target. Pattern-specific variables which result in the same stem
+length are considered in the order in which they were defined in the
+makefile.
Pattern-specific variables are searched after any target-specific
variables defined explicitly for that target, and before target-specific
@@ -5108,22 +5100,22 @@ File: make.info, Node: Suppressing Inheritance, Next: Special Variables, Prev
6.13 Suppressing Inheritance
============================
-As described in previous sections, `make' variables are inherited by
+As described in previous sections, 'make' variables are inherited by
prerequisites. This capability allows you to modify the behavior of a
prerequisite based on which targets caused it to be rebuilt. For
-example, you might set a target-specific variable on a `debug' target,
-then running `make debug' will cause that variable to be inherited by
-all prerequisites of `debug', while just running `make all' (for
+example, you might set a target-specific variable on a 'debug' target,
+then running 'make debug' will cause that variable to be inherited by
+all prerequisites of 'debug', while just running 'make all' (for
example) would not have that assignment.
Sometimes, however, you may not want a variable to be inherited. For
-these situations, `make' provides the `private' modifier. Although
-this modifier can be used with any variable assignment, it makes the
-most sense with target- and pattern-specific variables. Any variable
-marked `private' will be visible to its local target but will not be
-inherited by prerequisites of that target. A global variable marked
-`private' will be visible in the global scope but will not be inherited
-by any target, and hence will not be visible in any recipe.
+these situations, 'make' provides the 'private' modifier. Although this
+modifier can be used with any variable assignment, it makes the most
+sense with target- and pattern-specific variables. Any variable marked
+'private' will be visible to its local target but will not be inherited
+by prerequisites of that target. A global variable marked 'private'
+will be visible in the global scope but will not be inherited by any
+target, and hence will not be visible in any recipe.
As an example, consider this makefile:
EXTRA_CFLAGS =
@@ -5131,8 +5123,8 @@ by any target, and hence will not be visible in any recipe.
prog: private EXTRA_CFLAGS = -L/usr/local/lib
prog: a.o b.o
- Due to the `private' modifier, `a.o' and `b.o' will not inherit the
-`EXTRA_CFLAGS' variable assignment from the `prog' target.
+ Due to the 'private' modifier, 'a.o' and 'b.o' will not inherit the
+'EXTRA_CFLAGS' variable assignment from the 'prog' target.

File: make.info, Node: Special Variables, Prev: Suppressing Inheritance, Up: Using Variables
@@ -5140,18 +5132,18 @@ File: make.info, Node: Special Variables, Prev: Suppressing Inheritance, Up:
6.14 Other Special Variables
============================
-GNU `make' supports some variables that have special properties.
+GNU 'make' supports some variables that have special properties.
-`MAKEFILE_LIST'
- Contains the name of each makefile that is parsed by `make', in
- the order in which it was parsed. The name is appended just
- before `make' begins to parse the makefile. Thus, if the first
- thing a makefile does is examine the last word in this variable, it
- will be the name of the current makefile. Once the current
- makefile has used `include', however, the last word will be the
- just-included makefile.
+'MAKEFILE_LIST'
+ Contains the name of each makefile that is parsed by 'make', in the
+ order in which it was parsed. The name is appended just before
+ 'make' begins to parse the makefile. Thus, if the first thing a
+ makefile does is examine the last word in this variable, it will be
+ the name of the current makefile. Once the current makefile has
+ used 'include', however, the last word will be the just-included
+ makefile.
- If a makefile named `Makefile' has this content:
+ If a makefile named 'Makefile' has this content:
name1 := $(lastword $(MAKEFILE_LIST))
@@ -5168,10 +5160,10 @@ GNU `make' supports some variables that have special properties.
name1 = Makefile
name2 = inc.mk
-`.DEFAULT_GOAL'
+'.DEFAULT_GOAL'
Sets the default goal to be used if no targets were specified on
the command line (*note Arguments to Specify the Goals: Goals.).
- The `.DEFAULT_GOAL' variable allows you to discover the current
+ The '.DEFAULT_GOAL' variable allows you to discover the current
default goal, restart the default goal selection algorithm by
clearing its value, or to explicitly set the default goal. The
following example illustrates these cases:
@@ -5204,17 +5196,36 @@ GNU `make' supports some variables that have special properties.
default goal is bar
foo
- Note that assigning more than one target name to `.DEFAULT_GOAL' is
+ Note that assigning more than one target name to '.DEFAULT_GOAL' is
invalid and will result in an error.
-`MAKE_RESTARTS'
- This variable is set only if this instance of `make' has restarted
+'MAKE_RESTARTS'
+ This variable is set only if this instance of 'make' has restarted
(*note How Makefiles Are Remade: Remaking Makefiles.): it will
- contain the number of times this instance has restarted. Note
- this is not the same as recursion (counted by the `MAKELEVEL'
- variable). You should not set, modify, or export this variable.
-
-`.RECIPEPREFIX'
+ contain the number of times this instance has restarted. Note this
+ is not the same as recursion (counted by the 'MAKELEVEL' variable).
+ You should not set, modify, or export this variable.
+
+'MAKE_TERMOUT'
+'MAKE_TERMERR'
+ When 'make' starts it will check whether stdout and stderr will
+ show their output on a terminal. If so, it will set 'MAKE_TERMOUT'
+ and 'MAKE_TERMERR', respectively, to the name of the terminal
+ device (or 'true' if this cannot be determined). If set these
+ variables will be marked for export. These variables will not be
+ changed by 'make' and they will not be modified if already set.
+
+ These values can be used (particularly in combination with output
+ synchronization (*note Output During Parallel Execution: Parallel
+ Output.) to determine whether 'make' itself is writing to a
+ terminal; they can be tested to decide whether to force recipe
+ commands to generate colorized output for example.
+
+ If you invoke a sub-'make' and redirect its stdout or stderr it is
+ your responsibility to reset or unexport these variables as well,
+ if your makefiles rely on them.
+
+'.RECIPEPREFIX'
The first character of the value of this variable is used as the
character make assumes is introducing a recipe line. If the
variable is empty (as it is by default) that character is the
@@ -5224,76 +5235,75 @@ GNU `make' supports some variables that have special properties.
all:
> @echo Hello, world
- The value of `.RECIPEPREFIX' can be changed multiple times; once
+ The value of '.RECIPEPREFIX' can be changed multiple times; once
set it stays in effect for all rules parsed until it is modified.
-`.VARIABLES'
- Expands to a list of the _names_ of all global variables defined
- so far. This includes variables which have empty values, as well
- as built-in variables (*note Variables Used by Implicit Rules:
+'.VARIABLES'
+ Expands to a list of the _names_ of all global variables defined so
+ far. This includes variables which have empty values, as well as
+ built-in variables (*note Variables Used by Implicit Rules:
Implicit Variables.), but does not include any variables which are
- only defined in a target-specific context. Note that any value
- you assign to this variable will be ignored; it will always return
- its special value.
+ only defined in a target-specific context. Note that any value you
+ assign to this variable will be ignored; it will always return its
+ special value.
-`.FEATURES'
+'.FEATURES'
Expands to a list of special features supported by this version of
- `make'. Possible values include, but are not limited to:
+ 'make'. Possible values include, but are not limited to:
- `archives'
- Supports `ar' (archive) files using special file name syntax.
- *Note Using `make' to Update Archive Files: Archives.
+ 'archives'
+ Supports 'ar' (archive) files using special file name syntax.
+ *Note Using 'make' to Update Archive Files: Archives.
- `check-symlink'
- Supports the `-L' (`--check-symlink-times') flag. *Note
+ 'check-symlink'
+ Supports the '-L' ('--check-symlink-times') flag. *Note
Summary of Options: Options Summary.
- `else-if'
+ 'else-if'
Supports "else if" non-nested conditionals. *Note Syntax of
Conditionals: Conditional Syntax.
- `jobserver'
+ 'jobserver'
Supports "job server" enhanced parallel builds. *Note
Parallel Execution: Parallel.
- `oneshell'
- Supports the `.ONESHELL' special target. *Note Using One
+ 'oneshell'
+ Supports the '.ONESHELL' special target. *Note Using One
Shell: One Shell.
- `order-only'
+ 'order-only'
Supports order-only prerequisites. *Note Types of
Prerequisites: Prerequisite Types.
- `second-expansion'
+ 'second-expansion'
Supports secondary expansion of prerequisite lists.
- `shortest-stem'
+ 'shortest-stem'
Uses the "shortest stem" method of choosing which pattern, of
- multiple applicable options, will be used. *Note How
- Patterns Match: Pattern Match.
+ multiple applicable options, will be used. *Note How Patterns
+ Match: Pattern Match.
- `target-specific'
+ 'target-specific'
Supports target-specific and pattern-specific variable
assignments. *Note Target-specific Variable Values:
Target-specific.
- `undefine'
- Supports the `undefine' directive. *Note Undefine
+ 'undefine'
+ Supports the 'undefine' directive. *Note Undefine
Directive::.
- `guile'
+ 'guile'
Has GNU Guile available as an embedded extension language.
*Note GNU Guile Integration: Guile Integration.
- `load'
+ 'load'
Supports dynamically loadable objects for creating custom
extensions. *Note Loading Dynamic Objects: Loading Objects.
-`.INCLUDE_DIRS'
- Expands to a list of directories that `make' searches for included
+'.INCLUDE_DIRS'
+ Expands to a list of directories that 'make' searches for included
makefiles (*note Including Other Makefiles: Include.).
-

File: make.info, Node: Conditionals, Next: Functions, Prev: Using Variables, Up: Top
@@ -5303,9 +5313,9 @@ File: make.info, Node: Conditionals, Next: Functions, Prev: Using Variables,
A "conditional" directive causes part of a makefile to be obeyed or
ignored depending on the values of variables. Conditionals can compare
the value of one variable to another, or the value of a variable to a
-constant string. Conditionals control what `make' actually "sees" in
-the makefile, so they _cannot_ be used to control recipes at the time
-of execution.
+constant string. Conditionals control what 'make' actually "sees" in
+the makefile, so they _cannot_ be used to control recipes at the time of
+execution.
* Menu:
@@ -5319,11 +5329,11 @@ File: make.info, Node: Conditional Example, Next: Conditional Syntax, Prev: C
7.1 Example of a Conditional
============================
-The following example of a conditional tells `make' to use one set of
-libraries if the `CC' variable is `gcc', and a different set of
+The following example of a conditional tells 'make' to use one set of
+libraries if the 'CC' variable is 'gcc', and a different set of
libraries otherwise. It works by controlling which of two recipe lines
-will be used for the rule. The result is that `CC=gcc' as an argument
-to `make' changes not only which compiler is used but also which
+will be used for the rule. The result is that 'CC=gcc' as an argument
+to 'make' changes not only which compiler is used but also which
libraries are linked.
libs_for_gcc = -lgnu
@@ -5336,45 +5346,44 @@ libraries are linked.
$(CC) -o foo $(objects) $(normal_libs)
endif
- This conditional uses three directives: one `ifeq', one `else' and
-one `endif'.
+ This conditional uses three directives: one 'ifeq', one 'else' and
+one 'endif'.
- The `ifeq' directive begins the conditional, and specifies the
+ The 'ifeq' directive begins the conditional, and specifies the
condition. It contains two arguments, separated by a comma and
surrounded by parentheses. Variable substitution is performed on both
arguments and then they are compared. The lines of the makefile
-following the `ifeq' are obeyed if the two arguments match; otherwise
+following the 'ifeq' are obeyed if the two arguments match; otherwise
they are ignored.
- The `else' directive causes the following lines to be obeyed if the
+ The 'else' directive causes the following lines to be obeyed if the
previous conditional failed. In the example above, this means that the
second alternative linking command is used whenever the first
-alternative is not used. It is optional to have an `else' in a
+alternative is not used. It is optional to have an 'else' in a
conditional.
- The `endif' directive ends the conditional. Every conditional must
-end with an `endif'. Unconditional makefile text follows.
+ The 'endif' directive ends the conditional. Every conditional must
+end with an 'endif'. Unconditional makefile text follows.
As this example illustrates, conditionals work at the textual level:
the lines of the conditional are treated as part of the makefile, or
ignored, according to the condition. This is why the larger syntactic
-units of the makefile, such as rules, may cross the beginning or the
-end of the conditional.
+units of the makefile, such as rules, may cross the beginning or the end
+of the conditional.
- When the variable `CC' has the value `gcc', the above example has
+ When the variable 'CC' has the value 'gcc', the above example has
this effect:
foo: $(objects)
$(CC) -o foo $(objects) $(libs_for_gcc)
-When the variable `CC' has any other value, the effect is this:
+When the variable 'CC' has any other value, the effect is this:
foo: $(objects)
$(CC) -o foo $(objects) $(normal_libs)
- Equivalent results can be obtained in another way by
-conditionalizing a variable assignment and then using the variable
-unconditionally:
+ Equivalent results can be obtained in another way by conditionalizing
+a variable assignment and then using the variable unconditionally:
libs_for_gcc = -lgnu
normal_libs =
@@ -5394,7 +5403,7 @@ File: make.info, Node: Conditional Syntax, Next: Testing Flags, Prev: Conditi
7.2 Syntax of Conditionals
==========================
-The syntax of a simple conditional with no `else' is as follows:
+The syntax of a simple conditional with no 'else' is as follows:
CONDITIONAL-DIRECTIVE
TEXT-IF-TRUE
@@ -5422,58 +5431,57 @@ text is used instead.
TEXT-IF-ONE-AND-TWO-ARE-FALSE
endif
-There can be as many "`else' CONDITIONAL-DIRECTIVE" clauses as
+There can be as many "'else' CONDITIONAL-DIRECTIVE" clauses as
necessary. Once a given condition is true, TEXT-IF-TRUE is used and no
other clause is used; if no condition is true then TEXT-IF-FALSE is
used. The TEXT-IF-TRUE and TEXT-IF-FALSE can be any number of lines of
text.
The syntax of the CONDITIONAL-DIRECTIVE is the same whether the
-conditional is simple or complex; after an `else' or not. There are
+conditional is simple or complex; after an 'else' or not. There are
four different directives that test different conditions. Here is a
table of them:
-`ifeq (ARG1, ARG2)'
-`ifeq 'ARG1' 'ARG2''
-`ifeq "ARG1" "ARG2"'
-`ifeq "ARG1" 'ARG2''
-`ifeq 'ARG1' "ARG2"'
+'ifeq (ARG1, ARG2)'
+'ifeq 'ARG1' 'ARG2''
+'ifeq "ARG1" "ARG2"'
+'ifeq "ARG1" 'ARG2''
+'ifeq 'ARG1' "ARG2"'
Expand all variable references in ARG1 and ARG2 and compare them.
If they are identical, the TEXT-IF-TRUE is effective; otherwise,
the TEXT-IF-FALSE, if any, is effective.
Often you want to test if a variable has a non-empty value. When
the value results from complex expansions of variables and
- functions, expansions you would consider empty may actually
- contain whitespace characters and thus are not seen as empty.
- However, you can use the `strip' function (*note Text Functions::)
- to avoid interpreting whitespace as a non-empty value. For
- example:
+ functions, expansions you would consider empty may actually contain
+ whitespace characters and thus are not seen as empty. However, you
+ can use the 'strip' function (*note Text Functions::) to avoid
+ interpreting whitespace as a non-empty value. For example:
ifeq ($(strip $(foo)),)
TEXT-IF-EMPTY
endif
- will evaluate TEXT-IF-EMPTY even if the expansion of `$(foo)'
+ will evaluate TEXT-IF-EMPTY even if the expansion of '$(foo)'
contains whitespace characters.
-`ifneq (ARG1, ARG2)'
-`ifneq 'ARG1' 'ARG2''
-`ifneq "ARG1" "ARG2"'
-`ifneq "ARG1" 'ARG2''
-`ifneq 'ARG1' "ARG2"'
+'ifneq (ARG1, ARG2)'
+'ifneq 'ARG1' 'ARG2''
+'ifneq "ARG1" "ARG2"'
+'ifneq "ARG1" 'ARG2''
+'ifneq 'ARG1' "ARG2"'
Expand all variable references in ARG1 and ARG2 and compare them.
If they are different, the TEXT-IF-TRUE is effective; otherwise,
the TEXT-IF-FALSE, if any, is effective.
-`ifdef VARIABLE-NAME'
- The `ifdef' form takes the _name_ of a variable as its argument,
+'ifdef VARIABLE-NAME'
+ The 'ifdef' form takes the _name_ of a variable as its argument,
not a reference to a variable. The value of that variable has a
non-empty value, the TEXT-IF-TRUE is effective; otherwise, the
TEXT-IF-FALSE, if any, is effective. Variables that have never
been defined have an empty value. The text VARIABLE-NAME is
- expanded, so it could be a variable or function that expands to
- the name of a variable. For example:
+ expanded, so it could be a variable or function that expands to the
+ name of a variable. For example:
bar = true
foo = bar
@@ -5481,16 +5489,16 @@ table of them:
frobozz = yes
endif
- The variable reference `$(foo)' is expanded, yielding `bar', which
- is considered to be the name of a variable. The variable `bar' is
+ The variable reference '$(foo)' is expanded, yielding 'bar', which
+ is considered to be the name of a variable. The variable 'bar' is
not expanded, but its value is examined to determine if it is
non-empty.
- Note that `ifdef' only tests whether a variable has a value. It
+ Note that 'ifdef' only tests whether a variable has a value. It
does not expand the variable to see if that value is nonempty.
- Consequently, tests using `ifdef' return true for all definitions
- except those like `foo ='. To test for an empty value, use
- `ifeq ($(foo),)'. For example,
+ Consequently, tests using 'ifdef' return true for all definitions
+ except those like 'foo ='. To test for an empty value, use
+ 'ifeq ($(foo),)'. For example,
bar =
foo = $(bar)
@@ -5500,7 +5508,7 @@ table of them:
frobozz = no
endif
- sets `frobozz' to `yes', while:
+ sets 'frobozz' to 'yes', while:
foo =
ifdef foo
@@ -5509,42 +5517,42 @@ table of them:
frobozz = no
endif
- sets `frobozz' to `no'.
+ sets 'frobozz' to 'no'.
-`ifndef VARIABLE-NAME'
+'ifndef VARIABLE-NAME'
If the variable VARIABLE-NAME has an empty value, the TEXT-IF-TRUE
is effective; otherwise, the TEXT-IF-FALSE, if any, is effective.
The rules for expansion and testing of VARIABLE-NAME are identical
- to the `ifdef' directive.
+ to the 'ifdef' directive.
Extra spaces are allowed and ignored at the beginning of the
conditional directive line, but a tab is not allowed. (If the line
begins with a tab, it will be considered part of a recipe for a rule.)
Aside from this, extra spaces or tabs may be inserted with no effect
anywhere except within the directive name or within an argument. A
-comment starting with `#' may appear at the end of the line.
+comment starting with '#' may appear at the end of the line.
- The other two directives that play a part in a conditional are `else'
-and `endif'. Each of these directives is written as one word, with no
+ The other two directives that play a part in a conditional are 'else'
+and 'endif'. Each of these directives is written as one word, with no
arguments. Extra spaces are allowed and ignored at the beginning of the
-line, and spaces or tabs at the end. A comment starting with `#' may
+line, and spaces or tabs at the end. A comment starting with '#' may
appear at the end of the line.
- Conditionals affect which lines of the makefile `make' uses. If the
-condition is true, `make' reads the lines of the TEXT-IF-TRUE as part
-of the makefile; if the condition is false, `make' ignores those lines
+ Conditionals affect which lines of the makefile 'make' uses. If the
+condition is true, 'make' reads the lines of the TEXT-IF-TRUE as part of
+the makefile; if the condition is false, 'make' ignores those lines
completely. It follows that syntactic units of the makefile, such as
rules, may safely be split across the beginning or the end of the
conditional.
- `make' evaluates conditionals when it reads a makefile.
+ 'make' evaluates conditionals when it reads a makefile.
Consequently, you cannot use automatic variables in the tests of
conditionals because they are not defined until recipes are run (*note
Automatic Variables::).
To prevent intolerable confusion, it is not permitted to start a
conditional in one makefile and end it in another. However, you may
-write an `include' directive within a conditional, provided you do not
+write an 'include' directive within a conditional, provided you do not
attempt to terminate the conditional inside the included file.

@@ -5553,17 +5561,17 @@ File: make.info, Node: Testing Flags, Prev: Conditional Syntax, Up: Condition
7.3 Conditionals that Test Flags
================================
-You can write a conditional that tests `make' command flags such as
-`-t' by using the variable `MAKEFLAGS' together with the `findstring'
+You can write a conditional that tests 'make' command flags such as '-t'
+by using the variable 'MAKEFLAGS' together with the 'findstring'
function (*note Functions for String Substitution and Analysis: Text
-Functions.). This is useful when `touch' is not enough to make a file
+Functions.). This is useful when 'touch' is not enough to make a file
appear up to date.
- The `findstring' function determines whether one string appears as a
-substring of another. If you want to test for the `-t' flag, use `t'
-as the first string and the value of `MAKEFLAGS' as the other.
+ The 'findstring' function determines whether one string appears as a
+substring of another. If you want to test for the '-t' flag, use 't' as
+the first string and the value of 'MAKEFLAGS' as the other.
- For example, here is how to arrange to use `ranlib -t' to finish
+ For example, here is how to arrange to use 'ranlib -t' to finish
marking an archive file up to date:
archive.a: ...
@@ -5574,9 +5582,9 @@ marking an archive file up to date:
ranlib archive.a
endif
-The `+' prefix marks those recipe lines as "recursive" so that they
-will be executed despite use of the `-t' flag. *Note Recursive Use of
-`make': Recursion.
+The '+' prefix marks those recipe lines as "recursive" so that they will
+be executed despite use of the '-t' flag. *Note Recursive Use of
+'make': Recursion.

File: make.info, Node: Functions, Next: Running, Prev: Conditionals, Up: Top
@@ -5615,8 +5623,8 @@ File: make.info, Node: Syntax of Functions, Next: Text Functions, Prev: Funct
========================
A function call resembles a variable reference. It can appear anywhere
-a variable reference can appear, and it is expanded using the same
-rules as variable references. A function call looks like this:
+a variable reference can appear, and it is expanded using the same rules
+as variable references. A function call looks like this:
$(FUNCTION ARGUMENTS)
@@ -5625,8 +5633,8 @@ or like this:
${FUNCTION ARGUMENTS}
Here FUNCTION is a function name; one of a short list of names that
-are part of `make'. You can also essentially create your own functions
-by using the `call' built-in function.
+are part of 'make'. You can also essentially create your own functions
+by using the 'call' built-in function.
The ARGUMENTS are the arguments of the function. They are separated
from the function name by one or more spaces or tabs, and if there is
@@ -5637,32 +5645,31 @@ parentheses or braces, can appear in an argument only in matching pairs;
the other kind of delimiters may appear singly. If the arguments
themselves contain other function calls or variable references, it is
wisest to use the same kind of delimiters for all the references; write
-`$(subst a,b,$(x))', not `$(subst a,b,${x})'. This is because it is
+'$(subst a,b,$(x))', not '$(subst a,b,${x})'. This is because it is
clearer, and because only one type of delimiter is matched to find the
end of the reference.
The text written for each argument is processed by substitution of
-variables and function calls to produce the argument value, which is
-the text on which the function acts. The substitution is done in the
-order in which the arguments appear.
+variables and function calls to produce the argument value, which is the
+text on which the function acts. The substitution is done in the order
+in which the arguments appear.
Commas and unmatched parentheses or braces cannot appear in the text
of an argument as written; leading spaces cannot appear in the text of
the first argument as written. These characters can be put into the
-argument value by variable substitution. First define variables
-`comma' and `space' whose values are isolated comma and space
-characters, then substitute these variables where such characters are
-wanted, like this:
+argument value by variable substitution. First define variables 'comma'
+and 'space' whose values are isolated comma and space characters, then
+substitute these variables where such characters are wanted, like this:
comma:= ,
empty:=
space:= $(empty) $(empty)
foo:= a b c
bar:= $(subst $(space),$(comma),$(foo))
- # bar is now `a,b,c'.
+ # bar is now 'a,b,c'.
-Here the `subst' function replaces each space with a comma, through the
-value of `foo', and substitutes the result.
+Here the 'subst' function replaces each space with a comma, through the
+value of 'foo', and substitutes the result.

File: make.info, Node: Text Functions, Next: File Name Functions, Prev: Syntax of Functions, Up: Functions
@@ -5672,34 +5679,34 @@ File: make.info, Node: Text Functions, Next: File Name Functions, Prev: Synta
Here are some functions that operate on strings:
-`$(subst FROM,TO,TEXT)'
- Performs a textual replacement on the text TEXT: each occurrence
- of FROM is replaced by TO. The result is substituted for the
- function call. For example,
+'$(subst FROM,TO,TEXT)'
+ Performs a textual replacement on the text TEXT: each occurrence of
+ FROM is replaced by TO. The result is substituted for the function
+ call. For example,
$(subst ee,EE,feet on the street)
- substitutes the string `fEEt on the strEEt'.
+ substitutes the string 'fEEt on the strEEt'.
-`$(patsubst PATTERN,REPLACEMENT,TEXT)'
+'$(patsubst PATTERN,REPLACEMENT,TEXT)'
Finds whitespace-separated words in TEXT that match PATTERN and
- replaces them with REPLACEMENT. Here PATTERN may contain a `%'
+ replaces them with REPLACEMENT. Here PATTERN may contain a '%'
which acts as a wildcard, matching any number of any characters
- within a word. If REPLACEMENT also contains a `%', the `%' is
- replaced by the text that matched the `%' in PATTERN. Only the
- first `%' in the PATTERN and REPLACEMENT is treated this way; any
- subsequent `%' is unchanged.
-
- `%' characters in `patsubst' function invocations can be quoted
- with preceding backslashes (`\'). Backslashes that would
- otherwise quote `%' characters can be quoted with more backslashes.
- Backslashes that quote `%' characters or other backslashes are
+ within a word. If REPLACEMENT also contains a '%', the '%' is
+ replaced by the text that matched the '%' in PATTERN. Only the
+ first '%' in the PATTERN and REPLACEMENT is treated this way; any
+ subsequent '%' is unchanged.
+
+ '%' characters in 'patsubst' function invocations can be quoted
+ with preceding backslashes ('\'). Backslashes that would otherwise
+ quote '%' characters can be quoted with more backslashes.
+ Backslashes that quote '%' characters or other backslashes are
removed from the pattern before it is compared file names or has a
stem substituted into it. Backslashes that are not in danger of
- quoting `%' characters go unmolested. For example, the pattern
- `the\%weird\\%pattern\\' has `the%weird\' preceding the operative
- `%' character, and `pattern\\' following it. The final two
- backslashes are left alone because they cannot affect any `%'
+ quoting '%' characters go unmolested. For example, the pattern
+ 'the\%weird\\%pattern\\' has 'the%weird\' preceding the operative
+ '%' character, and 'pattern\\' following it. The final two
+ backslashes are left alone because they cannot affect any '%'
character.
Whitespace between words is folded into single space characters;
@@ -5709,11 +5716,11 @@ Here are some functions that operate on strings:
$(patsubst %.c,%.o,x.c.c bar.c)
- produces the value `x.c.o bar.o'.
+ produces the value 'x.c.o bar.o'.
Substitution references (*note Substitution References:
Substitution Refs.) are a simpler way to get the effect of the
- `patsubst' function:
+ 'patsubst' function:
$(VAR:PATTERN=REPLACEMENT)
@@ -5722,7 +5729,7 @@ Here are some functions that operate on strings:
$(patsubst PATTERN,REPLACEMENT,$(VAR))
The second shorthand simplifies one of the most common uses of
- `patsubst': replacing the suffix at the end of file names.
+ 'patsubst': replacing the suffix at the end of file names.
$(VAR:SUFFIX=REPLACEMENT)
@@ -5743,14 +5750,14 @@ Here are some functions that operate on strings:
$(patsubst %.o,%.c,$(objects))
-`$(strip STRING)'
+'$(strip STRING)'
Removes leading and trailing whitespace from STRING and replaces
each internal sequence of one or more whitespace characters with a
- single space. Thus, `$(strip a b c )' results in `a b c'.
+ single space. Thus, '$(strip a b c )' results in 'a b c'.
- The function `strip' can be very useful when used in conjunction
+ The function 'strip' can be very useful when used in conjunction
with conditionals. When comparing something with the empty string
- `' using `ifeq' or `ifneq', you usually want a string of just
+ '' using 'ifeq' or 'ifneq', you usually want a string of just
whitespace to match the empty string (*note Conditionals::).
Thus, the following may fail to have the desired results:
@@ -5762,43 +5769,43 @@ Here are some functions that operate on strings:
all:;@echo 'Nothing to make!'
endif
- Replacing the variable reference `$(needs_made)' with the function
- call `$(strip $(needs_made))' in the `ifneq' directive would make
+ Replacing the variable reference '$(needs_made)' with the function
+ call '$(strip $(needs_made))' in the 'ifneq' directive would make
it more robust.
-`$(findstring FIND,IN)'
+'$(findstring FIND,IN)'
Searches IN for an occurrence of FIND. If it occurs, the value is
FIND; otherwise, the value is empty. You can use this function in
- a conditional to test for the presence of a specific substring in
- a given string. Thus, the two examples,
+ a conditional to test for the presence of a specific substring in a
+ given string. Thus, the two examples,
$(findstring a,a b c)
$(findstring a,b c)
- produce the values `a' and `' (the empty string), respectively.
- *Note Testing Flags::, for a practical application of `findstring'.
+ produce the values 'a' and '' (the empty string), respectively.
+ *Note Testing Flags::, for a practical application of 'findstring'.
-`$(filter PATTERN...,TEXT)'
+'$(filter PATTERN...,TEXT)'
Returns all whitespace-separated words in TEXT that _do_ match any
of the PATTERN words, removing any words that _do not_ match. The
- patterns are written using `%', just like the patterns used in the
- `patsubst' function above.
+ patterns are written using '%', just like the patterns used in the
+ 'patsubst' function above.
- The `filter' function can be used to separate out different types
+ The 'filter' function can be used to separate out different types
of strings (such as file names) in a variable. For example:
sources := foo.c bar.c baz.s ugh.h
foo: $(sources)
cc $(filter %.c %.s,$(sources)) -o foo
- says that `foo' depends of `foo.c', `bar.c', `baz.s' and `ugh.h'
- but only `foo.c', `bar.c' and `baz.s' should be specified in the
+ says that 'foo' depends of 'foo.c', 'bar.c', 'baz.s' and 'ugh.h'
+ but only 'foo.c', 'bar.c' and 'baz.s' should be specified in the
command to the compiler.
-`$(filter-out PATTERN...,TEXT)'
+'$(filter-out PATTERN...,TEXT)'
Returns all whitespace-separated words in TEXT that _do not_ match
- any of the PATTERN words, removing the words that _do_ match one
- or more. This is the exact opposite of the `filter' function.
+ any of the PATTERN words, removing the words that _do_ match one or
+ more. This is the exact opposite of the 'filter' function.
For example, given:
@@ -5806,48 +5813,47 @@ Here are some functions that operate on strings:
mains=main1.o main2.o
the following generates a list which contains all the object files
- not in `mains':
+ not in 'mains':
$(filter-out $(mains),$(objects))
-`$(sort LIST)'
- Sorts the words of LIST in lexical order, removing duplicate
- words. The output is a list of words separated by single spaces.
- Thus,
+'$(sort LIST)'
+ Sorts the words of LIST in lexical order, removing duplicate words.
+ The output is a list of words separated by single spaces. Thus,
$(sort foo bar lose)
- returns the value `bar foo lose'.
+ returns the value 'bar foo lose'.
- Incidentally, since `sort' removes duplicate words, you can use it
+ Incidentally, since 'sort' removes duplicate words, you can use it
for this purpose even if you don't care about the sort order.
-`$(word N,TEXT)'
+'$(word N,TEXT)'
Returns the Nth word of TEXT. The legitimate values of N start
- from 1. If N is bigger than the number of words in TEXT, the
- value is empty. For example,
+ from 1. If N is bigger than the number of words in TEXT, the value
+ is empty. For example,
$(word 2, foo bar baz)
- returns `bar'.
+ returns 'bar'.
-`$(wordlist S,E,TEXT)'
+'$(wordlist S,E,TEXT)'
Returns the list of words in TEXT starting with word S and ending
with word E (inclusive). The legitimate values of S start from 1;
E may start from 0. If S is bigger than the number of words in
TEXT, the value is empty. If E is bigger than the number of words
- in TEXT, words up to the end of TEXT are returned. If S is
- greater than E, nothing is returned. For example,
+ in TEXT, words up to the end of TEXT are returned. If S is greater
+ than E, nothing is returned. For example,
$(wordlist 2, 3, foo bar baz)
- returns `bar baz'.
+ returns 'bar baz'.
-`$(words TEXT)'
+'$(words TEXT)'
Returns the number of words in TEXT. Thus, the last word of TEXT
- is `$(word $(words TEXT),TEXT)'.
+ is '$(word $(words TEXT),TEXT)'.
-`$(firstword NAMES...)'
+'$(firstword NAMES...)'
The argument NAMES is regarded as a series of names, separated by
whitespace. The value is the first name in the series. The rest
of the names are ignored.
@@ -5856,11 +5862,11 @@ Here are some functions that operate on strings:
$(firstword foo bar)
- produces the result `foo'. Although `$(firstword TEXT)' is the
- same as `$(word 1,TEXT)', the `firstword' function is retained for
+ produces the result 'foo'. Although '$(firstword TEXT)' is the
+ same as '$(word 1,TEXT)', the 'firstword' function is retained for
its simplicity.
-`$(lastword NAMES...)'
+'$(lastword NAMES...)'
The argument NAMES is regarded as a series of names, separated by
whitespace. The value is the last name in the series.
@@ -5868,34 +5874,34 @@ Here are some functions that operate on strings:
$(lastword foo bar)
- produces the result `bar'. Although `$(lastword TEXT)' is the
- same as `$(word $(words TEXT),TEXT)', the `lastword' function was
- added for its simplicity and better performance.
+ produces the result 'bar'. Although '$(lastword TEXT)' is the same
+ as '$(word $(words TEXT),TEXT)', the 'lastword' function was added
+ for its simplicity and better performance.
- Here is a realistic example of the use of `subst' and `patsubst'.
-Suppose that a makefile uses the `VPATH' variable to specify a list of
-directories that `make' should search for prerequisite files (*note
-`VPATH' Search Path for All Prerequisites: General Search.). This
+ Here is a realistic example of the use of 'subst' and 'patsubst'.
+Suppose that a makefile uses the 'VPATH' variable to specify a list of
+directories that 'make' should search for prerequisite files (*note
+'VPATH' Search Path for All Prerequisites: General Search.). This
example shows how to tell the C compiler to search for header files in
the same list of directories.
- The value of `VPATH' is a list of directories separated by colons,
-such as `src:../headers'. First, the `subst' function is used to
-change the colons to spaces:
+ The value of 'VPATH' is a list of directories separated by colons,
+such as 'src:../headers'. First, the 'subst' function is used to change
+the colons to spaces:
$(subst :, ,$(VPATH))
-This produces `src ../headers'. Then `patsubst' is used to turn each
-directory name into a `-I' flag. These can be added to the value of
-the variable `CFLAGS', which is passed automatically to the C compiler,
-like this:
+This produces 'src ../headers'. Then 'patsubst' is used to turn each
+directory name into a '-I' flag. These can be added to the value of the
+variable 'CFLAGS', which is passed automatically to the C compiler, like
+this:
override CFLAGS += $(patsubst %,-I%,$(subst :, ,$(VPATH)))
-The effect is to append the text `-Isrc -I../headers' to the previously
-given value of `CFLAGS'. The `override' directive is used so that the
-new value is assigned even if the previous value of `CFLAGS' was
-specified with a command argument (*note The `override' Directive:
+The effect is to append the text '-Isrc -I../headers' to the previously
+given value of 'CFLAGS'. The 'override' directive is used so that the
+new value is assigned even if the previous value of 'CFLAGS' was
+specified with a command argument (*note The 'override' Directive:
Override Directive.).

@@ -5907,27 +5913,26 @@ File: make.info, Node: File Name Functions, Next: Conditional Functions, Prev
Several of the built-in expansion functions relate specifically to
taking apart file names or lists of file names.
- Each of the following functions performs a specific transformation
-on a file name. The argument of the function is regarded as a series
-of file names, separated by whitespace. (Leading and trailing
-whitespace is ignored.) Each file name in the series is transformed in
-the same way and the results are concatenated with single spaces
-between them.
+ Each of the following functions performs a specific transformation on
+a file name. The argument of the function is regarded as a series of
+file names, separated by whitespace. (Leading and trailing whitespace
+is ignored.) Each file name in the series is transformed in the same
+way and the results are concatenated with single spaces between them.
-`$(dir NAMES...)'
+'$(dir NAMES...)'
Extracts the directory-part of each file name in NAMES. The
directory-part of the file name is everything up through (and
including) the last slash in it. If the file name contains no
- slash, the directory part is the string `./'. For example,
+ slash, the directory part is the string './'. For example,
$(dir src/foo.c hacks)
- produces the result `src/ ./'.
+ produces the result 'src/ ./'.
-`$(notdir NAMES...)'
- Extracts all but the directory-part of each file name in NAMES.
- If the file name contains no slash, it is left unchanged.
- Otherwise, everything through the last slash is removed from it.
+'$(notdir NAMES...)'
+ Extracts all but the directory-part of each file name in NAMES. If
+ the file name contains no slash, it is left unchanged. Otherwise,
+ everything through the last slash is removed from it.
A file name that ends with a slash becomes an empty string. This
is unfortunate, because it means that the result does not always
@@ -5938,9 +5943,9 @@ between them.
$(notdir src/foo.c hacks)
- produces the result `foo.c hacks'.
+ produces the result 'foo.c hacks'.
-`$(suffix NAMES...)'
+'$(suffix NAMES...)'
Extracts the suffix of each file name in NAMES. If the file name
contains a period, the suffix is everything starting with the last
period. Otherwise, the suffix is the empty string. This
@@ -5952,42 +5957,42 @@ between them.
$(suffix src/foo.c src-1.0/bar.c hacks)
- produces the result `.c .c'.
+ produces the result '.c .c'.
-`$(basename NAMES...)'
+'$(basename NAMES...)'
Extracts all but the suffix of each file name in NAMES. If the
- file name contains a period, the basename is everything starting
- up to (and not including) the last period. Periods in the
- directory part are ignored. If there is no period, the basename
- is the entire file name. For example,
+ file name contains a period, the basename is everything starting up
+ to (and not including) the last period. Periods in the directory
+ part are ignored. If there is no period, the basename is the
+ entire file name. For example,
$(basename src/foo.c src-1.0/bar hacks)
- produces the result `src/foo src-1.0/bar hacks'.
+ produces the result 'src/foo src-1.0/bar hacks'.
-`$(addsuffix SUFFIX,NAMES...)'
+'$(addsuffix SUFFIX,NAMES...)'
The argument NAMES is regarded as a series of names, separated by
whitespace; SUFFIX is used as a unit. The value of SUFFIX is
appended to the end of each individual name and the resulting
- larger names are concatenated with single spaces between them.
- For example,
+ larger names are concatenated with single spaces between them. For
+ example,
$(addsuffix .c,foo bar)
- produces the result `foo.c bar.c'.
+ produces the result 'foo.c bar.c'.
-`$(addprefix PREFIX,NAMES...)'
+'$(addprefix PREFIX,NAMES...)'
The argument NAMES is regarded as a series of names, separated by
whitespace; PREFIX is used as a unit. The value of PREFIX is
prepended to the front of each individual name and the resulting
- larger names are concatenated with single spaces between them.
- For example,
+ larger names are concatenated with single spaces between them. For
+ example,
$(addprefix src/,foo bar)
- produces the result `src/foo src/bar'.
+ produces the result 'src/foo src/bar'.
-`$(join LIST1,LIST2)'
+'$(join LIST1,LIST2)'
Concatenates the two arguments word by word: the two first words
(one from each argument) concatenated form the first word of the
result, the two second words form the second word of the result,
@@ -5995,36 +6000,36 @@ between them.
of each argument. If one argument has more words that the other,
the extra words are copied unchanged into the result.
- For example, `$(join a b,.c .o)' produces `a.c b.o'.
+ For example, '$(join a b,.c .o)' produces 'a.c b.o'.
Whitespace between the words in the lists is not preserved; it is
replaced with a single space.
- This function can merge the results of the `dir' and `notdir'
- functions, to produce the original list of files which was given
- to those two functions.
+ This function can merge the results of the 'dir' and 'notdir'
+ functions, to produce the original list of files which was given to
+ those two functions.
-`$(wildcard PATTERN)'
+'$(wildcard PATTERN)'
The argument PATTERN is a file name pattern, typically containing
wildcard characters (as in shell file name patterns). The result
- of `wildcard' is a space-separated list of the names of existing
+ of 'wildcard' is a space-separated list of the names of existing
files that match the pattern. *Note Using Wildcard Characters in
File Names: Wildcards.
-`$(realpath NAMES...)'
+'$(realpath NAMES...)'
For each file name in NAMES return the canonical absolute name. A
- canonical name does not contain any `.' or `..' components, nor
- any repeated path separators (`/') or symlinks. In case of a
- failure the empty string is returned. Consult the `realpath(3)'
+ canonical name does not contain any '.' or '..' components, nor any
+ repeated path separators ('/') or symlinks. In case of a failure
+ the empty string is returned. Consult the 'realpath(3)'
documentation for a list of possible failure causes.
-`$(abspath NAMES...)'
+'$(abspath NAMES...)'
For each file name in NAMES return an absolute name that does not
- contain any `.' or `..' components, nor any repeated path
- separators (`/'). Note that, in contrast to `realpath' function,
- `abspath' does not resolve symlinks and does not require the file
+ contain any '.' or '..' components, nor any repeated path
+ separators ('/'). Note that, in contrast to 'realpath' function,
+ 'abspath' does not resolve symlinks and does not require the file
names to refer to an existing file or directory. Use the
- `wildcard' function to test for existence.
+ 'wildcard' function to test for existence.

File: make.info, Node: Conditional Functions, Next: Foreach Function, Prev: File Name Functions, Up: Functions
@@ -6037,87 +6042,85 @@ aspect of these functions is that not all of the arguments are expanded
initially. Only those arguments which need to be expanded, will be
expanded.
-`$(if CONDITION,THEN-PART[,ELSE-PART])'
- The `if' function provides support for conditional expansion in a
- functional context (as opposed to the GNU `make' makefile
- conditionals such as `ifeq' (*note Syntax of Conditionals:
+'$(if CONDITION,THEN-PART[,ELSE-PART])'
+ The 'if' function provides support for conditional expansion in a
+ functional context (as opposed to the GNU 'make' makefile
+ conditionals such as 'ifeq' (*note Syntax of Conditionals:
Conditional Syntax.).
- The first argument, CONDITION, first has all preceding and
- trailing whitespace stripped, then is expanded. If it expands to
- any non-empty string, then the condition is considered to be true.
- If it expands to an empty string, the condition is considered to
- be false.
+ The first argument, CONDITION, first has all preceding and trailing
+ whitespace stripped, then is expanded. If it expands to any
+ non-empty string, then the condition is considered to be true. If
+ it expands to an empty string, the condition is considered to be
+ false.
If the condition is true then the second argument, THEN-PART, is
evaluated and this is used as the result of the evaluation of the
- entire `if' function.
+ entire 'if' function.
If the condition is false then the third argument, ELSE-PART, is
- evaluated and this is the result of the `if' function. If there is
- no third argument, the `if' function evaluates to nothing (the
+ evaluated and this is the result of the 'if' function. If there is
+ no third argument, the 'if' function evaluates to nothing (the
empty string).
Note that only one of the THEN-PART or the ELSE-PART will be
- evaluated, never both. Thus, either can contain side-effects
- (such as `shell' function calls, etc.)
+ evaluated, never both. Thus, either can contain side-effects (such
+ as 'shell' function calls, etc.)
-`$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
- The `or' function provides a "short-circuiting" OR operation.
- Each argument is expanded, in order. If an argument expands to a
+'$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
+ The 'or' function provides a "short-circuiting" OR operation. Each
+ argument is expanded, in order. If an argument expands to a
non-empty string the processing stops and the result of the
expansion is that string. If, after all arguments are expanded,
all of them are false (empty), then the result of the expansion is
the empty string.
-`$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
- The `and' function provides a "short-circuiting" AND operation.
+'$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
+ The 'and' function provides a "short-circuiting" AND operation.
Each argument is expanded, in order. If an argument expands to an
empty string the processing stops and the result of the expansion
- is the empty string. If all arguments expand to a non-empty
- string then the result of the expansion is the expansion of the
- last argument.
-
+ is the empty string. If all arguments expand to a non-empty string
+ then the result of the expansion is the expansion of the last
+ argument.

File: make.info, Node: Foreach Function, Next: File Function, Prev: Conditional Functions, Up: Functions
-8.5 The `foreach' Function
+8.5 The 'foreach' Function
==========================
-The `foreach' function is very different from other functions. It
+The 'foreach' function is very different from other functions. It
causes one piece of text to be used repeatedly, each time with a
-different substitution performed on it. It resembles the `for' command
-in the shell `sh' and the `foreach' command in the C-shell `csh'.
+different substitution performed on it. It resembles the 'for' command
+in the shell 'sh' and the 'foreach' command in the C-shell 'csh'.
- The syntax of the `foreach' function is:
+ The syntax of the 'foreach' function is:
$(foreach VAR,LIST,TEXT)
-The first two arguments, VAR and LIST, are expanded before anything
-else is done; note that the last argument, TEXT, is *not* expanded at
-the same time. Then for each word of the expanded value of LIST, the
+The first two arguments, VAR and LIST, are expanded before anything else
+is done; note that the last argument, TEXT, is *not* expanded at the
+same time. Then for each word of the expanded value of LIST, the
variable named by the expanded value of VAR is set to that word, and
-TEXT is expanded. Presumably TEXT contains references to that
-variable, so its expansion will be different each time.
+TEXT is expanded. Presumably TEXT contains references to that variable,
+so its expansion will be different each time.
The result is that TEXT is expanded as many times as there are
-whitespace-separated words in LIST. The multiple expansions of TEXT
-are concatenated, with spaces between them, to make the result of
-`foreach'.
+whitespace-separated words in LIST. The multiple expansions of TEXT are
+concatenated, with spaces between them, to make the result of 'foreach'.
- This simple example sets the variable `files' to the list of all
-files in the directories in the list `dirs':
+ This simple example sets the variable 'files' to the list of all
+files in the directories in the list 'dirs':
dirs := a b c d
files := $(foreach dir,$(dirs),$(wildcard $(dir)/*))
- Here TEXT is `$(wildcard $(dir)/*)'. The first repetition finds the
-value `a' for `dir', so it produces the same result as `$(wildcard
-a/*)'; the second repetition produces the result of `$(wildcard b/*)';
-and the third, that of `$(wildcard c/*)'.
+ Here TEXT is '$(wildcard $(dir)/*)'. The first repetition finds the
+value 'a' for 'dir', so it produces the same result as '$(wildcard
+a/*)'; the second repetition produces the result of '$(wildcard b/*)';
+and the third, that of '$(wildcard c/*)'.
- This example has the same result (except for setting `dirs') as the
+ This example has the same result (except for setting 'dirs') as the
following example:
files := $(wildcard a/* b/* c/* d/*)
@@ -6129,18 +6132,18 @@ name, with an additional variable:
dirs := a b c d
files := $(foreach dir,$(dirs),$(find_files))
-Here we use the variable `find_files' this way. We use plain `=' to
+Here we use the variable 'find_files' this way. We use plain '=' to
define a recursively-expanding variable, so that its value contains an
-actual function call to be re-expanded under the control of `foreach';
-a simply-expanded variable would not do, since `wildcard' would be
-called only once at the time of defining `find_files'.
-
- The `foreach' function has no permanent effect on the variable VAR;
-its value and flavor after the `foreach' function call are the same as
-they were beforehand. The other values which are taken from LIST are
-in effect only temporarily, during the execution of `foreach'. The
+actual function call to be re-expanded under the control of 'foreach'; a
+simply-expanded variable would not do, since 'wildcard' would be called
+only once at the time of defining 'find_files'.
+
+ The 'foreach' function has no permanent effect on the variable VAR;
+its value and flavor after the 'foreach' function call are the same as
+they were beforehand. The other values which are taken from LIST are in
+effect only temporarily, during the execution of 'foreach'. The
variable VAR is a simply-expanded variable during the execution of
-`foreach'. If VAR was undefined before the `foreach' function call, it
+'foreach'. If VAR was undefined before the 'foreach' function call, it
is undefined after the call. *Note The Two Flavors of Variables:
Flavors.
@@ -6150,45 +6153,46 @@ names, but are probably not what you intended. For example,
files := $(foreach Esta-escrito-en-espanol!,b c ch,$(find_files))
-might be useful if the value of `find_files' references the variable
-whose name is `Esta-escrito-en-espanol!' (es un nombre bastante largo,
+might be useful if the value of 'find_files' references the variable
+whose name is 'Esta-escrito-en-espanol!' (es un nombre bastante largo,
no?), but it is more likely to be a mistake.

File: make.info, Node: File Function, Next: Call Function, Prev: Foreach Function, Up: Functions
-8.6 The `file' Function
+8.6 The 'file' Function
=======================
-The `file' function allows the makefile to write to a file. Two modes
+The 'file' function allows the makefile to write to a file. Two modes
of writing are supported: overwrite, where the text is written to the
beginning of the file and any existing content is lost, and append,
where the text is written to the end of the file, preserving the
existing content. In all cases the file is created if it does not
exist.
- The syntax of the `file' function is:
+ The syntax of the 'file' function is:
- $(file OP FILENAME,TEXT)
+ $(file OP FILENAME[,TEXT])
- The operator OP can be either `>' which indicates overwrite mode, or
-`>>' which indicates append mode. The FILENAME indicates the file to
-be written to. There may optionally be whitespace between the operator
-and the file name.
+ The operator OP can be either '>' which indicates overwrite mode, or
+'>>' which indicates append mode. The FILENAME indicates the file to be
+written to. There may optionally be whitespace between the operator and
+the file name.
- When the `file' function is expanded all its arguments are expanded
+ When the 'file' function is expanded all its arguments are expanded
first, then the file indicated by FILENAME will be opened in the mode
described by OP. Finally TEXT will be written to the file. If TEXT
-does not already end in a newline, a final newline will be written.
-The result of evaluating the `file' function is always the empty string.
+does not already end in a newline, even if empty, a final newline will
+be written. If the TEXT argument is not given, nothing will be written.
+The result of evaluating the 'file' function is always the empty string.
It is a fatal error if the file cannot be opened for writing, or if
the write operation fails.
- For example, the `file' function can be useful if your build system
+ For example, the 'file' function can be useful if your build system
has a limited command line size and your recipe runs a command that can
accept arguments from a file as well. Many commands use the convention
-that an argument prefixed with an `@' specifies a file containing more
+that an argument prefixed with an '@' specifies a file containing more
arguments. Then you might write your recipe in this way:
program: $(OBJECTS)
@@ -6200,47 +6204,46 @@ arguments. Then you might write your recipe in this way:
input file, you might write your recipe like this:
program: $(OBJECTS)
- $(file >$@.in,) $(foreach O,$^,$(file >>$@.in,$O))
+ $(file >$@.in) $(foreach O,$^,$(file >>$@.in,$O))
$(CMD) $(CMDFLAGS) @$@.in
@rm $@.in

File: make.info, Node: Call Function, Next: Value Function, Prev: File Function, Up: Functions
-8.7 The `call' Function
+8.7 The 'call' Function
=======================
-The `call' function is unique in that it can be used to create new
+The 'call' function is unique in that it can be used to create new
parameterized functions. You can write a complex expression as the
-value of a variable, then use `call' to expand it with different values.
+value of a variable, then use 'call' to expand it with different values.
- The syntax of the `call' function is:
+ The syntax of the 'call' function is:
$(call VARIABLE,PARAM,PARAM,...)
- When `make' expands this function, it assigns each PARAM to
-temporary variables `$(1)', `$(2)', etc. The variable `$(0)' will
-contain VARIABLE. There is no maximum number of parameter arguments.
-There is no minimum, either, but it doesn't make sense to use `call'
-with no parameters.
+ When 'make' expands this function, it assigns each PARAM to temporary
+variables '$(1)', '$(2)', etc. The variable '$(0)' will contain
+VARIABLE. There is no maximum number of parameter arguments. There is
+no minimum, either, but it doesn't make sense to use 'call' with no
+parameters.
- Then VARIABLE is expanded as a `make' variable in the context of
-these temporary assignments. Thus, any reference to `$(1)' in the
-value of VARIABLE will resolve to the first PARAM in the invocation of
-`call'.
+ Then VARIABLE is expanded as a 'make' variable in the context of
+these temporary assignments. Thus, any reference to '$(1)' in the value
+of VARIABLE will resolve to the first PARAM in the invocation of 'call'.
Note that VARIABLE is the _name_ of a variable, not a _reference_ to
-that variable. Therefore you would not normally use a `$' or
+that variable. Therefore you would not normally use a '$' or
parentheses when writing it. (You can, however, use a variable
reference in the name if you want the name not to be a constant.)
If VARIABLE is the name of a built-in function, the built-in function
-is always invoked (even if a `make' variable by that name also exists).
+is always invoked (even if a 'make' variable by that name also exists).
- The `call' function expands the PARAM arguments before assigning
-them to temporary variables. This means that VARIABLE values
-containing references to built-in functions that have special expansion
-rules, like `foreach' or `if', may not work as you expect.
+ The 'call' function expands the PARAM arguments before assigning them
+to temporary variables. This means that VARIABLE values containing
+references to built-in functions that have special expansion rules, like
+'foreach' or 'if', may not work as you expect.
Some examples may make this clearer.
@@ -6250,56 +6253,56 @@ rules, like `foreach' or `if', may not work as you expect.
foo = $(call reverse,a,b)
-Here FOO will contain `b a'.
+Here FOO will contain 'b a'.
This one is slightly more interesting: it defines a macro to search
-for the first instance of a program in `PATH':
+for the first instance of a program in 'PATH':
pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH)))))
LS := $(call pathsearch,ls)
-Now the variable LS contains `/bin/ls' or similar.
+Now the variable LS contains '/bin/ls' or similar.
- The `call' function can be nested. Each recursive invocation gets
-its own local values for `$(1)', etc. that mask the values of
-higher-level `call'. For example, here is an implementation of a "map"
+ The 'call' function can be nested. Each recursive invocation gets
+its own local values for '$(1)', etc. that mask the values of
+higher-level 'call'. For example, here is an implementation of a "map"
function:
map = $(foreach a,$(2),$(call $(1),$(a)))
Now you can MAP a function that normally takes only one argument,
-such as `origin', to multiple values in one step:
+such as 'origin', to multiple values in one step:
o = $(call map,origin,o map MAKE)
- and end up with O containing something like `file file default'.
+ and end up with O containing something like 'file file default'.
A final caution: be careful when adding whitespace to the arguments
-to `call'. As with other functions, any whitespace contained in the
-second and subsequent arguments is kept; this can cause strange
-effects. It's generally safest to remove all extraneous whitespace when
-providing parameters to `call'.
+to 'call'. As with other functions, any whitespace contained in the
+second and subsequent arguments is kept; this can cause strange effects.
+It's generally safest to remove all extraneous whitespace when providing
+parameters to 'call'.

File: make.info, Node: Value Function, Next: Eval Function, Prev: Call Function, Up: Functions
-8.8 The `value' Function
+8.8 The 'value' Function
========================
-The `value' function provides a way for you to use the value of a
+The 'value' function provides a way for you to use the value of a
variable _without_ having it expanded. Please note that this does not
-undo expansions which have already occurred; for example if you create
-a simply expanded variable its value is expanded during the definition;
-in that case the `value' function will return the same result as using
-the variable directly.
+undo expansions which have already occurred; for example if you create a
+simply expanded variable its value is expanded during the definition; in
+that case the 'value' function will return the same result as using the
+variable directly.
- The syntax of the `value' function is:
+ The syntax of the 'value' function is:
$(value VARIABLE)
Note that VARIABLE is the _name_ of a variable, not a _reference_ to
-that variable. Therefore you would not normally use a `$' or
+that variable. Therefore you would not normally use a '$' or
parentheses when writing it. (You can, however, use a variable
reference in the name if you want the name not to be a constant.)
@@ -6313,44 +6316,44 @@ makefile:
@echo $(FOO)
@echo $(value FOO)
-The first output line would be `ATH', since the "$P" would be expanded
-as a `make' variable, while the second output line would be the current
-value of your `$PATH' environment variable, since the `value' function
+The first output line would be 'ATH', since the "$P" would be expanded
+as a 'make' variable, while the second output line would be the current
+value of your '$PATH' environment variable, since the 'value' function
avoided the expansion.
- The `value' function is most often used in conjunction with the
-`eval' function (*note Eval Function::).
+ The 'value' function is most often used in conjunction with the
+'eval' function (*note Eval Function::).

File: make.info, Node: Eval Function, Next: Origin Function, Prev: Value Function, Up: Functions
-8.9 The `eval' Function
+8.9 The 'eval' Function
=======================
-The `eval' function is very special: it allows you to define new
+The 'eval' function is very special: it allows you to define new
makefile constructs that are not constant; which are the result of
-evaluating other variables and functions. The argument to the `eval'
+evaluating other variables and functions. The argument to the 'eval'
function is expanded, then the results of that expansion are parsed as
-makefile syntax. The expanded results can define new `make' variables,
+makefile syntax. The expanded results can define new 'make' variables,
targets, implicit or explicit rules, etc.
- The result of the `eval' function is always the empty string; thus,
-it can be placed virtually anywhere in a makefile without causing
-syntax errors.
+ The result of the 'eval' function is always the empty string; thus,
+it can be placed virtually anywhere in a makefile without causing syntax
+errors.
- It's important to realize that the `eval' argument is expanded
-_twice_; first by the `eval' function, then the results of that
+ It's important to realize that the 'eval' argument is expanded
+_twice_; first by the 'eval' function, then the results of that
expansion are expanded again when they are parsed as makefile syntax.
This means you may need to provide extra levels of escaping for "$"
-characters when using `eval'. The `value' function (*note Value
+characters when using 'eval'. The 'value' function (*note Value
Function::) can sometimes be useful in these situations, to circumvent
unwanted expansions.
- Here is an example of how `eval' can be used; this example combines
-a number of concepts and other functions. Although it might seem
-overly complex to use `eval' in this example, rather than just writing
-out the rules, consider two things: first, the template definition (in
-`PROGRAM_template') could need to be much more complex than it is here;
+ Here is an example of how 'eval' can be used; this example combines a
+number of concepts and other functions. Although it might seem overly
+complex to use 'eval' in this example, rather than just writing out the
+rules, consider two things: first, the template definition (in
+'PROGRAM_template') could need to be much more complex than it is here;
and second, you might put the complex, "generic" part of this example
into another makefile, then include it in all the individual makefiles.
Now your individual makefiles are quite straightforward.
@@ -6384,68 +6387,76 @@ Now your individual makefiles are quite straightforward.

File: make.info, Node: Origin Function, Next: Flavor Function, Prev: Eval Function, Up: Functions
-8.10 The `origin' Function
+8.10 The 'origin' Function
==========================
-The `origin' function is unlike most other functions in that it does
-not operate on the values of variables; it tells you something _about_
-a variable. Specifically, it tells you where it came from.
+The 'origin' function is unlike most other functions in that it does not
+operate on the values of variables; it tells you something _about_ a
+variable. Specifically, it tells you where it came from.
- The syntax of the `origin' function is:
+ The syntax of the 'origin' function is:
$(origin VARIABLE)
Note that VARIABLE is the _name_ of a variable to inquire about, not
a _reference_ to that variable. Therefore you would not normally use a
-`$' or parentheses when writing it. (You can, however, use a variable
+'$' or parentheses when writing it. (You can, however, use a variable
reference in the name if you want the name not to be a constant.)
The result of this function is a string telling you how the variable
VARIABLE was defined:
-`undefined'
+'undefined'
+
if VARIABLE was never defined.
-`default'
- if VARIABLE has a default definition, as is usual with `CC' and so
+'default'
+
+ if VARIABLE has a default definition, as is usual with 'CC' and so
on. *Note Variables Used by Implicit Rules: Implicit Variables.
- Note that if you have redefined a default variable, the `origin'
+ Note that if you have redefined a default variable, the 'origin'
function will return the origin of the later definition.
-`environment'
- if VARIABLE was inherited from the environment provided to `make'.
+'environment'
+
+ if VARIABLE was inherited from the environment provided to 'make'.
+
+'environment override'
-`environment override'
- if VARIABLE was inherited from the environment provided to `make',
+ if VARIABLE was inherited from the environment provided to 'make',
and is overriding a setting for VARIABLE in the makefile as a
- result of the `-e' option (*note Summary of Options: Options
+ result of the '-e' option (*note Summary of Options: Options
Summary.).
-`file'
+'file'
+
if VARIABLE was defined in a makefile.
-`command line'
+'command line'
+
if VARIABLE was defined on the command line.
-`override'
- if VARIABLE was defined with an `override' directive in a makefile
- (*note The `override' Directive: Override Directive.).
+'override'
+
+ if VARIABLE was defined with an 'override' directive in a makefile
+ (*note The 'override' Directive: Override Directive.).
+
+'automatic'
-`automatic'
if VARIABLE is an automatic variable defined for the execution of
the recipe for each rule (*note Automatic Variables::).
This information is primarily useful (other than for your curiosity)
to determine if you want to believe the value of a variable. For
-example, suppose you have a makefile `foo' that includes another
-makefile `bar'. You want a variable `bletch' to be defined in `bar' if
-you run the command `make -f bar', even if the environment contains a
-definition of `bletch'. However, if `foo' defined `bletch' before
-including `bar', you do not want to override that definition. This
-could be done by using an `override' directive in `foo', giving that
-definition precedence over the later definition in `bar';
-unfortunately, the `override' directive would also override any command
-line definitions. So, `bar' could include:
+example, suppose you have a makefile 'foo' that includes another
+makefile 'bar'. You want a variable 'bletch' to be defined in 'bar' if
+you run the command 'make -f bar', even if the environment contains a
+definition of 'bletch'. However, if 'foo' defined 'bletch' before
+including 'bar', you do not want to override that definition. This
+could be done by using an 'override' directive in 'foo', giving that
+definition precedence over the later definition in 'bar'; unfortunately,
+the 'override' directive would also override any command line
+definitions. So, 'bar' could include:
ifdef bletch
ifeq "$(origin bletch)" "environment"
@@ -6453,52 +6464,54 @@ line definitions. So, `bar' could include:
endif
endif
-If `bletch' has been defined from the environment, this will redefine
+If 'bletch' has been defined from the environment, this will redefine
it.
- If you want to override a previous definition of `bletch' if it came
-from the environment, even under `-e', you could instead write:
+ If you want to override a previous definition of 'bletch' if it came
+from the environment, even under '-e', you could instead write:
ifneq "$(findstring environment,$(origin bletch))" ""
bletch = barf, gag, etc.
endif
- Here the redefinition takes place if `$(origin bletch)' returns
-either `environment' or `environment override'. *Note Functions for
+ Here the redefinition takes place if '$(origin bletch)' returns
+either 'environment' or 'environment override'. *Note Functions for
String Substitution and Analysis: Text Functions.

File: make.info, Node: Flavor Function, Next: Make Control Functions, Prev: Origin Function, Up: Functions
-8.11 The `flavor' Function
+8.11 The 'flavor' Function
==========================
-The `flavor' function, like the `origin' function, does not operate on
+The 'flavor' function, like the 'origin' function, does not operate on
the values of variables but rather it tells you something _about_ a
variable. Specifically, it tells you the flavor of a variable (*note
The Two Flavors of Variables: Flavors.).
- The syntax of the `flavor' function is:
+ The syntax of the 'flavor' function is:
$(flavor VARIABLE)
Note that VARIABLE is the _name_ of a variable to inquire about, not
a _reference_ to that variable. Therefore you would not normally use a
-`$' or parentheses when writing it. (You can, however, use a variable
+'$' or parentheses when writing it. (You can, however, use a variable
reference in the name if you want the name not to be a constant.)
- The result of this function is a string that identifies the flavor
-of the variable VARIABLE:
+ The result of this function is a string that identifies the flavor of
+the variable VARIABLE:
+
+'undefined'
-`undefined'
if VARIABLE was never defined.
-`recursive'
+'recursive'
+
if VARIABLE is a recursively expanded variable.
-`simple'
- if VARIABLE is a simply expanded variable.
+'simple'
+ if VARIABLE is a simply expanded variable.

File: make.info, Node: Make Control Functions, Next: Shell Function, Prev: Flavor Function, Up: Functions
@@ -6510,12 +6523,12 @@ These functions control the way make runs. Generally, they are used to
provide information to the user of the makefile or to cause make to stop
if some sort of environmental error is detected.
-`$(error TEXT...)'
+'$(error TEXT...)'
Generates a fatal error where the message is TEXT. Note that the
- error is generated whenever this function is evaluated. So, if
- you put it inside a recipe or on the right side of a recursive
- variable assignment, it won't be evaluated until later. The TEXT
- will be expanded before the error is generated.
+ error is generated whenever this function is evaluated. So, if you
+ put it inside a recipe or on the right side of a recursive variable
+ assignment, it won't be evaluated until later. The TEXT will be
+ expanded before the error is generated.
For example,
@@ -6524,114 +6537,111 @@ if some sort of environmental error is detected.
endif
will generate a fatal error during the read of the makefile if the
- `make' variable `ERROR1' is defined. Or,
+ 'make' variable 'ERROR1' is defined. Or,
ERR = $(error found an error!)
.PHONY: err
err: ; $(ERR)
- will generate a fatal error while `make' is running, if the `err'
+ will generate a fatal error while 'make' is running, if the 'err'
target is invoked.
-`$(warning TEXT...)'
- This function works similarly to the `error' function, above,
- except that `make' doesn't exit. Instead, TEXT is expanded and
- the resulting message is displayed, but processing of the makefile
+'$(warning TEXT...)'
+ This function works similarly to the 'error' function, above,
+ except that 'make' doesn't exit. Instead, TEXT is expanded and the
+ resulting message is displayed, but processing of the makefile
continues.
The result of the expansion of this function is the empty string.
-`$(info TEXT...)'
+'$(info TEXT...)'
This function does nothing more than print its (expanded)
- argument(s) to standard output. No makefile name or line number
- is added. The result of the expansion of this function is the
- empty string.
+ argument(s) to standard output. No makefile name or line number is
+ added. The result of the expansion of this function is the empty
+ string.

File: make.info, Node: Shell Function, Next: Guile Function, Prev: Make Control Functions, Up: Functions
-8.13 The `shell' Function
+8.13 The 'shell' Function
=========================
-The `shell' function is unlike any other function other than the
-`wildcard' function (*note The Function `wildcard': Wildcard Function.)
-in that it communicates with the world outside of `make'.
+The 'shell' function is unlike any other function other than the
+'wildcard' function (*note The Function 'wildcard': Wildcard Function.)
+in that it communicates with the world outside of 'make'.
- The `shell' function performs the same function that backquotes
-(``') perform in most shells: it does "command expansion". This means
-that it takes as an argument a shell command and evaluates to the
-output of the command. The only processing `make' does on the result
-is to convert each newline (or carriage-return / newline pair) to a
-single space. If there is a trailing (carriage-return and) newline it
-will simply be removed.
+ The 'shell' function performs the same function that backquotes ('`')
+perform in most shells: it does "command expansion". This means that it
+takes as an argument a shell command and evaluates to the output of the
+command. The only processing 'make' does on the result is to convert
+each newline (or carriage-return / newline pair) to a single space. If
+there is a trailing (carriage-return and) newline it will simply be
+removed.
- The commands run by calls to the `shell' function are run when the
-function calls are expanded (*note How `make' Reads a Makefile: Reading
+ The commands run by calls to the 'shell' function are run when the
+function calls are expanded (*note How 'make' Reads a Makefile: Reading
Makefiles.). Because this function involves spawning a new shell, you
should carefully consider the performance implications of using the
-`shell' function within recursively expanded variables vs. simply
+'shell' function within recursively expanded variables vs. simply
expanded variables (*note The Two Flavors of Variables: Flavors.).
- Here are some examples of the use of the `shell' function:
+ Here are some examples of the use of the 'shell' function:
contents := $(shell cat foo)
-sets `contents' to the contents of the file `foo', with a space (rather
+sets 'contents' to the contents of the file 'foo', with a space (rather
than a newline) separating each line.
files := $(shell echo *.c)
-sets `files' to the expansion of `*.c'. Unless `make' is using a very
-strange shell, this has the same result as `$(wildcard *.c)' (as long
-as at least one `.c' file exists).
+sets 'files' to the expansion of '*.c'. Unless 'make' is using a very
+strange shell, this has the same result as '$(wildcard *.c)' (as long as
+at least one '.c' file exists).

File: make.info, Node: Guile Function, Prev: Shell Function, Up: Functions
-8.14 The `guile' Function
+8.14 The 'guile' Function
=========================
-If GNU `make' is built with support for GNU Guile as an embedded
-extension language then the `guile' function will be available. The
-`guile' function takes one argument which is first expanded by `make'
-in the normal fashion, then passed to the GNU Guile evaluator. The
-result of the evaluator is converted into a string and used as the
-expansion of the `guile' function in the makefile. See *note GNU Guile
-Integration: Guile Integration. for details on writing extensions to
-`make' in Guile.
+If GNU 'make' is built with support for GNU Guile as an embedded
+extension language then the 'guile' function will be available. The
+'guile' function takes one argument which is first expanded by 'make' in
+the normal fashion, then passed to the GNU Guile evaluator. The result
+of the evaluator is converted into a string and used as the expansion of
+the 'guile' function in the makefile. See *note GNU Guile Integration:
+Guile Integration. for details on writing extensions to 'make' in Guile.
You can determine whether GNU Guile support is available by checking
-the `.FEATURES' variable for the word GUILE.
+the '.FEATURES' variable for the word GUILE.

File: make.info, Node: Running, Next: Implicit Rules, Prev: Functions, Up: Top
-9 How to Run `make'
+9 How to Run 'make'
*******************
-A makefile that says how to recompile a program can be used in more
-than one way. The simplest use is to recompile every file that is out
-of date. Usually, makefiles are written so that if you run `make' with
-no arguments, it does just that.
+A makefile that says how to recompile a program can be used in more than
+one way. The simplest use is to recompile every file that is out of
+date. Usually, makefiles are written so that if you run 'make' with no
+arguments, it does just that.
But you might want to update only some of the files; you might want
to use a different compiler or different compiler options; you might
want just to find out which files are out of date without changing them.
- By giving arguments when you run `make', you can do any of these
+ By giving arguments when you run 'make', you can do any of these
things and many others.
- The exit status of `make' is always one of three values:
-`0'
- The exit status is zero if `make' is successful.
-
-`2'
- The exit status is two if `make' encounters any errors. It will
+ The exit status of 'make' is always one of three values:
+'0'
+ The exit status is zero if 'make' is successful.
+'2'
+ The exit status is two if 'make' encounters any errors. It will
print messages describing the particular errors.
-
-`1'
- The exit status is one if you use the `-q' flag and `make'
+'1'
+ The exit status is one if you use the '-q' flag and 'make'
determines that some target is not already up to date. *Note
Instead of Executing Recipes: Instead of Execution.
@@ -6657,15 +6667,15 @@ File: make.info, Node: Makefile Arguments, Next: Goals, Prev: Running, Up: R
9.1 Arguments to Specify the Makefile
=====================================
-The way to specify the name of the makefile is with the `-f' or
-`--file' option (`--makefile' also works). For example, `-f altmake'
-says to use the file `altmake' as the makefile.
+The way to specify the name of the makefile is with the '-f' or '--file'
+option ('--makefile' also works). For example, '-f altmake' says to use
+the file 'altmake' as the makefile.
- If you use the `-f' flag several times and follow each `-f' with an
+ If you use the '-f' flag several times and follow each '-f' with an
argument, all the specified files are used jointly as makefiles.
- If you do not use the `-f' or `--file' flag, the default is to try
-`GNUmakefile', `makefile', and `Makefile', in that order, and use the
+ If you do not use the '-f' or '--file' flag, the default is to try
+'GNUmakefile', 'makefile', and 'Makefile', in that order, and use the
first of these three which exists or can be made (*note Writing
Makefiles: Makefiles.).
@@ -6675,7 +6685,7 @@ File: make.info, Node: Goals, Next: Instead of Execution, Prev: Makefile Argu
9.2 Arguments to Specify the Goals
==================================
-The "goals" are the targets that `make' should strive ultimately to
+The "goals" are the targets that 'make' should strive ultimately to
update. Other targets are updated as well if they appear as
prerequisites of goals, or prerequisites of prerequisites of goals, etc.
@@ -6685,28 +6695,28 @@ usually written so that the first target is for compiling the entire
program or programs they describe. If the first rule in the makefile
has several targets, only the first target in the rule becomes the
default goal, not the whole list. You can manage the selection of the
-default goal from within your makefile using the `.DEFAULT_GOAL'
+default goal from within your makefile using the '.DEFAULT_GOAL'
variable (*note Other Special Variables: Special Variables.).
You can also specify a different goal or goals with command line
-arguments to `make'. Use the name of the goal as an argument. If you
-specify several goals, `make' processes each of them in turn, in the
+arguments to 'make'. Use the name of the goal as an argument. If you
+specify several goals, 'make' processes each of them in turn, in the
order you name them.
Any target in the makefile may be specified as a goal (unless it
-starts with `-' or contains an `=', in which case it will be parsed as
-a switch or variable definition, respectively). Even targets not in
-the makefile may be specified, if `make' can find implicit rules that
-say how to make them.
+starts with '-' or contains an '=', in which case it will be parsed as a
+switch or variable definition, respectively). Even targets not in the
+makefile may be specified, if 'make' can find implicit rules that say
+how to make them.
- `Make' will set the special variable `MAKECMDGOALS' to the list of
+ 'Make' will set the special variable 'MAKECMDGOALS' to the list of
goals you specified on the command line. If no goals were given on the
-command line, this variable is empty. Note that this variable should
-be used only in special circumstances.
+command line, this variable is empty. Note that this variable should be
+used only in special circumstances.
- An example of appropriate use is to avoid including `.d' files
-during `clean' rules (*note Automatic Prerequisites::), so `make' won't
-create them only to immediately remove them again:
+ An example of appropriate use is to avoid including '.d' files during
+'clean' rules (*note Automatic Prerequisites::), so 'make' won't create
+them only to immediately remove them again:
sources = foo.c bar.c
@@ -6722,68 +6732,68 @@ containing several programs, with a makefile that starts like this:
.PHONY: all
all: size nm ld ar as
- If you are working on the program `size', you might want to say
-`make size' so that only the files of that program are recompiled.
+ If you are working on the program 'size', you might want to say 'make size'
+so that only the files of that program are recompiled.
Another use of specifying a goal is to make files that are not
-normally made. For example, there may be a file of debugging output,
-or a version of the program that is compiled specially for testing,
-which has a rule in the makefile but is not a prerequisite of the
-default goal.
+normally made. For example, there may be a file of debugging output, or
+a version of the program that is compiled specially for testing, which
+has a rule in the makefile but is not a prerequisite of the default
+goal.
Another use of specifying a goal is to run the recipe associated with
a phony target (*note Phony Targets::) or empty target (*note Empty
Target Files to Record Events: Empty Targets.). Many makefiles contain
-a phony target named `clean' which deletes everything except source
+a phony target named 'clean' which deletes everything except source
files. Naturally, this is done only if you request it explicitly with
-`make clean'. Following is a list of typical phony and empty target
+'make clean'. Following is a list of typical phony and empty target
names. *Note Standard Targets::, for a detailed list of all the
standard target names which GNU software packages use.
-`all'
+'all'
Make all the top-level targets the makefile knows about.
-`clean'
- Delete all files that are normally created by running `make'.
+'clean'
+ Delete all files that are normally created by running 'make'.
-`mostlyclean'
- Like `clean', but may refrain from deleting a few files that people
- normally don't want to recompile. For example, the `mostlyclean'
- target for GCC does not delete `libgcc.a', because recompiling it
+'mostlyclean'
+ Like 'clean', but may refrain from deleting a few files that people
+ normally don't want to recompile. For example, the 'mostlyclean'
+ target for GCC does not delete 'libgcc.a', because recompiling it
is rarely necessary and takes a lot of time.
-`distclean'
-`realclean'
-`clobber'
+'distclean'
+'realclean'
+'clobber'
Any of these targets might be defined to delete _more_ files than
- `clean' does. For example, this would delete configuration files
+ 'clean' does. For example, this would delete configuration files
or links that you would normally create as preparation for
compilation, even if the makefile itself cannot create these files.
-`install'
+'install'
Copy the executable file into a directory that users typically
search for commands; copy any auxiliary files that the executable
uses into the directories where it will look for them.
-`print'
+'print'
Print listings of the source files that have changed.
-`tar'
+'tar'
Create a tar file of the source files.
-`shar'
+'shar'
Create a shell archive (shar file) of the source files.
-`dist'
+'dist'
Create a distribution file of the source files. This might be a
tar file, or a shar file, or a compressed version of one of the
above, or even more than one of the above.
-`TAGS'
+'TAGS'
Update a tags table for this program.
-`check'
-`test'
+'check'
+'test'
Perform self tests on the program this makefile builds.

@@ -6792,88 +6802,92 @@ File: make.info, Node: Instead of Execution, Next: Avoiding Compilation, Prev
9.3 Instead of Executing Recipes
================================
-The makefile tells `make' how to tell whether a target is up to date,
+The makefile tells 'make' how to tell whether a target is up to date,
and how to update each target. But updating the targets is not always
-what you want. Certain options specify other activities for `make'.
+what you want. Certain options specify other activities for 'make'.
+
+'-n'
+'--just-print'
+'--dry-run'
+'--recon'
-`-n'
-`--just-print'
-`--dry-run'
-`--recon'
- "No-op". Causes `make' to print the recipes that are needed to
+ "No-op". Causes 'make' to print the recipes that are needed to
make the targets up to date, but not actually execute them. Note
that some recipes are still executed, even with this flag (*note
- How the `MAKE' Variable Works: MAKE Variable.). Also any recipes
+ How the 'MAKE' Variable Works: MAKE Variable.). Also any recipes
needed to update included makefiles are still executed (*note How
Makefiles Are Remade: Remaking Makefiles.).
-`-t'
-`--touch'
+'-t'
+'--touch'
+
"Touch". Marks targets as up to date without actually changing
- them. In other words, `make' pretends to update the targets but
+ them. In other words, 'make' pretends to update the targets but
does not really change their contents; instead only their modified
times are updated.
-`-q'
-`--question'
+'-q'
+'--question'
+
"Question". Silently check whether the targets are up to date, but
do not execute recipes; the exit code shows whether any updates are
needed.
-`-W FILE'
-`--what-if=FILE'
-`--assume-new=FILE'
-`--new-file=FILE'
- "What if". Each `-W' flag is followed by a file name. The given
- files' modification times are recorded by `make' as being the
+'-W FILE'
+'--what-if=FILE'
+'--assume-new=FILE'
+'--new-file=FILE'
+
+ "What if". Each '-W' flag is followed by a file name. The given
+ files' modification times are recorded by 'make' as being the
present time, although the actual modification times remain the
- same. You can use the `-W' flag in conjunction with the `-n' flag
+ same. You can use the '-W' flag in conjunction with the '-n' flag
to see what would happen if you were to modify specific files.
- With the `-n' flag, `make' prints the recipe that it would normally
+ With the '-n' flag, 'make' prints the recipe that it would normally
execute but usually does not execute it.
- With the `-t' flag, `make' ignores the recipes in the rules and uses
-(in effect) the command `touch' for each target that needs to be
-remade. The `touch' command is also printed, unless `-s' or `.SILENT'
-is used. For speed, `make' does not actually invoke the program
-`touch'. It does the work directly.
+ With the '-t' flag, 'make' ignores the recipes in the rules and uses
+(in effect) the command 'touch' for each target that needs to be remade.
+The 'touch' command is also printed, unless '-s' or '.SILENT' is used.
+For speed, 'make' does not actually invoke the program 'touch'. It does
+the work directly.
- With the `-q' flag, `make' prints nothing and executes no recipes,
+ With the '-q' flag, 'make' prints nothing and executes no recipes,
but the exit status code it returns is zero if and only if the targets
to be considered are already up to date. If the exit status is one,
-then some updating needs to be done. If `make' encounters an error,
-the exit status is two, so you can distinguish an error from a target
-that is not up to date.
+then some updating needs to be done. If 'make' encounters an error, the
+exit status is two, so you can distinguish an error from a target that
+is not up to date.
It is an error to use more than one of these three flags in the same
-invocation of `make'.
+invocation of 'make'.
- The `-n', `-t', and `-q' options do not affect recipe lines that
-begin with `+' characters or contain the strings `$(MAKE)' or
-`${MAKE}'. Note that only the line containing the `+' character or the
-strings `$(MAKE)' or `${MAKE}' is run regardless of these options.
-Other lines in the same rule are not run unless they too begin with `+'
-or contain `$(MAKE)' or `${MAKE}' (*Note How the `MAKE' Variable Works:
-MAKE Variable.)
+ The '-n', '-t', and '-q' options do not affect recipe lines that
+begin with '+' characters or contain the strings '$(MAKE)' or '${MAKE}'.
+Note that only the line containing the '+' character or the strings
+'$(MAKE)' or '${MAKE}' is run regardless of these options. Other lines
+in the same rule are not run unless they too begin with '+' or contain
+'$(MAKE)' or '${MAKE}' (*Note How the 'MAKE' Variable Works: MAKE
+Variable.)
- The `-t' flag prevents phony targets (*note Phony Targets::) from
-being updated, unless there are recipe lines beginning with `+' or
-containing `$(MAKE)' or `${MAKE}'.
+ The '-t' flag prevents phony targets (*note Phony Targets::) from
+being updated, unless there are recipe lines beginning with '+' or
+containing '$(MAKE)' or '${MAKE}'.
- The `-W' flag provides two features:
+ The '-W' flag provides two features:
- * If you also use the `-n' or `-q' flag, you can see what `make'
+ * If you also use the '-n' or '-q' flag, you can see what 'make'
would do if you were to modify some files.
- * Without the `-n' or `-q' flag, when `make' is actually executing
- recipes, the `-W' flag can direct `make' to act as if some files
+ * Without the '-n' or '-q' flag, when 'make' is actually executing
+ recipes, the '-W' flag can direct 'make' to act as if some files
had been modified, without actually running the recipes for those
files.
- Note that the options `-p' and `-v' allow you to obtain other
-information about `make' or about the makefiles in use (*note Summary
-of Options: Options Summary.).
+ Note that the options '-p' and '-v' allow you to obtain other
+information about 'make' or about the makefiles in use (*note Summary of
+Options: Options Summary.).

File: make.info, Node: Avoiding Compilation, Next: Overriding, Prev: Instead of Execution, Up: Running
@@ -6884,39 +6898,39 @@ File: make.info, Node: Avoiding Compilation, Next: Overriding, Prev: Instead
Sometimes you may have changed a source file but you do not want to
recompile all the files that depend on it. For example, suppose you add
a macro or a declaration to a header file that many other files depend
-on. Being conservative, `make' assumes that any change in the header
+on. Being conservative, 'make' assumes that any change in the header
file requires recompilation of all dependent files, but you know that
they do not need to be recompiled and you would rather not waste the
time waiting for them to compile.
If you anticipate the problem before changing the header file, you
-can use the `-t' flag. This flag tells `make' not to run the recipes
-in the rules, but rather to mark the target up to date by changing its
+can use the '-t' flag. This flag tells 'make' not to run the recipes in
+the rules, but rather to mark the target up to date by changing its
last-modification date. You would follow this procedure:
- 1. Use the command `make' to recompile the source files that really
+ 1. Use the command 'make' to recompile the source files that really
need recompilation, ensuring that the object files are up-to-date
before you begin.
2. Make the changes in the header files.
- 3. Use the command `make -t' to mark all the object files as up to
- date. The next time you run `make', the changes in the header
+ 3. Use the command 'make -t' to mark all the object files as up to
+ date. The next time you run 'make', the changes in the header
files will not cause any recompilation.
If you have already changed the header file at a time when some files
do need recompilation, it is too late to do this. Instead, you can use
-the `-o FILE' flag, which marks a specified file as "old" (*note
-Summary of Options: Options Summary.). This means that the file itself
-will not be remade, and nothing else will be remade on its account.
-Follow this procedure:
+the '-o FILE' flag, which marks a specified file as "old" (*note Summary
+of Options: Options Summary.). This means that the file itself will not
+be remade, and nothing else will be remade on its account. Follow this
+procedure:
1. Recompile the source files that need compilation for reasons
- independent of the particular header file, with `make -o
+ independent of the particular header file, with 'make -o
HEADERFILE'. If several header files are involved, use a separate
- `-o' option for each header file.
+ '-o' option for each header file.
- 2. Touch all the object files with `make -t'.
+ 2. Touch all the object files with 'make -t'.

File: make.info, Node: Overriding, Next: Testing, Prev: Avoiding Compilation, Up: Running
@@ -6924,7 +6938,7 @@ File: make.info, Node: Overriding, Next: Testing, Prev: Avoiding Compilation,
9.5 Overriding Variables
========================
-An argument that contains `=' specifies the value of a variable: `V=X'
+An argument that contains '=' specifies the value of a variable: 'V=X'
sets the value of the variable V to X. If you specify a value in this
way, all ordinary assignments of the same variable in the makefile are
ignored; we say they have been "overridden" by the command line
@@ -6932,24 +6946,24 @@ argument.
The most common way to use this facility is to pass extra flags to
compilers. For example, in a properly written makefile, the variable
-`CFLAGS' is included in each recipe that runs the C compiler, so a file
-`foo.c' would be compiled something like this:
+'CFLAGS' is included in each recipe that runs the C compiler, so a file
+'foo.c' would be compiled something like this:
cc -c $(CFLAGS) foo.c
- Thus, whatever value you set for `CFLAGS' affects each compilation
+ Thus, whatever value you set for 'CFLAGS' affects each compilation
that occurs. The makefile probably specifies the usual value for
-`CFLAGS', like this:
+'CFLAGS', like this:
CFLAGS=-g
- Each time you run `make', you can override this value if you wish.
-For example, if you say `make CFLAGS='-g -O'', each C compilation will
-be done with `cc -c -g -O'. (This also illustrates how you can use
+ Each time you run 'make', you can override this value if you wish.
+For example, if you say 'make CFLAGS='-g -O'', each C compilation will
+be done with 'cc -c -g -O'. (This also illustrates how you can use
quoting in the shell to enclose spaces and other special characters in
the value of a variable when you override it.)
- The variable `CFLAGS' is only one of many standard variables that
+ The variable 'CFLAGS' is only one of many standard variables that
exist just so that you can change them this way. *Note Variables Used
by Implicit Rules: Implicit Variables, for a complete list.
@@ -6960,15 +6974,15 @@ the makefile works by changing the variables.
When you override a variable with a command line argument, you can
define either a recursively-expanded variable or a simply-expanded
variable. The examples shown above make a recursively-expanded
-variable; to make a simply-expanded variable, write `:=' or `::='
-instead of `='. But, unless you want to include a variable reference
-or function call in the _value_ that you specify, it makes no
-difference which kind of variable you create.
+variable; to make a simply-expanded variable, write ':=' or '::='
+instead of '='. But, unless you want to include a variable reference or
+function call in the _value_ that you specify, it makes no difference
+which kind of variable you create.
There is one way that the makefile can change a variable that you
-have overridden. This is to use the `override' directive, which is a
-line that looks like this: `override VARIABLE = VALUE' (*note The
-`override' Directive: Override Directive.).
+have overridden. This is to use the 'override' directive, which is a
+line that looks like this: 'override VARIABLE = VALUE' (*note The
+'override' Directive: Override Directive.).

File: make.info, Node: Testing, Next: Options Summary, Prev: Overriding, Up: Running
@@ -6976,33 +6990,327 @@ File: make.info, Node: Testing, Next: Options Summary, Prev: Overriding, Up:
9.6 Testing the Compilation of a Program
========================================
-Normally, when an error happens in executing a shell command, `make'
+Normally, when an error happens in executing a shell command, 'make'
gives up immediately, returning a nonzero status. No further recipes
are executed for any target. The error implies that the goal cannot be
-correctly remade, and `make' reports this as soon as it knows.
+correctly remade, and 'make' reports this as soon as it knows.
When you are compiling a program that you have just changed, this is
-not what you want. Instead, you would rather that `make' try compiling
+not what you want. Instead, you would rather that 'make' try compiling
every file that can be tried, to show you as many compilation errors as
possible.
- On these occasions, you should use the `-k' or `--keep-going' flag.
-This tells `make' to continue to consider the other prerequisites of
-the pending targets, remaking them if necessary, before it gives up and
+ On these occasions, you should use the '-k' or '--keep-going' flag.
+This tells 'make' to continue to consider the other prerequisites of the
+pending targets, remaking them if necessary, before it gives up and
returns nonzero status. For example, after an error in compiling one
-object file, `make -k' will continue compiling other object files even
+object file, 'make -k' will continue compiling other object files even
though it already knows that linking them will be impossible. In
-addition to continuing after failed shell commands, `make -k' will
-continue as much as possible after discovering that it does not know
-how to make a target or prerequisite file. This will always cause an
-error message, but without `-k', it is a fatal error (*note Summary of
+addition to continuing after failed shell commands, 'make -k' will
+continue as much as possible after discovering that it does not know how
+to make a target or prerequisite file. This will always cause an error
+message, but without '-k', it is a fatal error (*note Summary of
Options: Options Summary.).
- The usual behavior of `make' assumes that your purpose is to get the
-goals up to date; once `make' learns that this is impossible, it might
-as well report the failure immediately. The `-k' flag says that the
+ The usual behavior of 'make' assumes that your purpose is to get the
+goals up to date; once 'make' learns that this is impossible, it might
+as well report the failure immediately. The '-k' flag says that the
real purpose is to test as much as possible of the changes made in the
program, perhaps to find several independent problems so that you can
correct them all before the next attempt to compile. This is why Emacs'
-`M-x compile' command passes the `-k' flag by default.
+'M-x compile' command passes the '-k' flag by default.
+
+
+File: make.info, Node: Options Summary, Prev: Testing, Up: Running
+
+9.7 Summary of Options
+======================
+
+Here is a table of all the options 'make' understands:
+
+'-b'
+'-m'
+ These options are ignored for compatibility with other versions of
+ 'make'.
+
+'-B'
+'--always-make'
+ Consider all targets out-of-date. GNU 'make' proceeds to consider
+ targets and their prerequisites using the normal algorithms;
+ however, all targets so considered are always remade regardless of
+ the status of their prerequisites. To avoid infinite recursion, if
+ 'MAKE_RESTARTS' (*note Other Special Variables: Special Variables.)
+ is set to a number greater than 0 this option is disabled when
+ considering whether to remake makefiles (*note How Makefiles Are
+ Remade: Remaking Makefiles.).
+
+'-C DIR'
+'--directory=DIR'
+ Change to directory DIR before reading the makefiles. If multiple
+ '-C' options are specified, each is interpreted relative to the
+ previous one: '-C / -C etc' is equivalent to '-C /etc'. This is
+ typically used with recursive invocations of 'make' (*note
+ Recursive Use of 'make': Recursion.).
+
+'-d'
+
+ Print debugging information in addition to normal processing. The
+ debugging information says which files are being considered for
+ remaking, which file-times are being compared and with what
+ results, which files actually need to be remade, which implicit
+ rules are considered and which are applied--everything interesting
+ about how 'make' decides what to do. The '-d' option is equivalent
+ to '--debug=a' (see below).
+
+'--debug[=OPTIONS]'
+
+ Print debugging information in addition to normal processing.
+ Various levels and types of output can be chosen. With no
+ arguments, print the "basic" level of debugging. Possible
+ arguments are below; only the first character is considered, and
+ values must be comma- or space-separated.
+
+ 'a (all)'
+ All types of debugging output are enabled. This is equivalent
+ to using '-d'.
+
+ 'b (basic)'
+ Basic debugging prints each target that was found to be
+ out-of-date, and whether the build was successful or not.
+
+ 'v (verbose)'
+ A level above 'basic'; includes messages about which makefiles
+ were parsed, prerequisites that did not need to be rebuilt,
+ etc. This option also enables 'basic' messages.
+
+ 'i (implicit)'
+ Prints messages describing the implicit rule searches for each
+ target. This option also enables 'basic' messages.
+
+ 'j (jobs)'
+ Prints messages giving details on the invocation of specific
+ sub-commands.
+
+ 'm (makefile)'
+ By default, the above messages are not enabled while trying to
+ remake the makefiles. This option enables messages while
+ rebuilding makefiles, too. Note that the 'all' option does
+ enable this option. This option also enables 'basic'
+ messages.
+
+ 'n (none)'
+ Disable all debugging currently enabled. If additional
+ debugging flags are encountered after this they will still
+ take effect.
+
+'-e'
+'--environment-overrides'
+ Give variables taken from the environment precedence over variables
+ from makefiles. *Note Variables from the Environment: Environment.
+
+'--eval=STRING'
+
+ Evaluate STRING as makefile syntax. This is a command-line version
+ of the 'eval' function (*note Eval Function::). The evaluation is
+ performed after the default rules and variables have been defined,
+ but before any makefiles are read.
+
+'-f FILE'
+'--file=FILE'
+'--makefile=FILE'
+ Read the file named FILE as a makefile. *Note Writing Makefiles:
+ Makefiles.
+
+'-h'
+'--help'
+
+ Remind you of the options that 'make' understands and then exit.
+
+'-i'
+'--ignore-errors'
+ Ignore all errors in recipes executed to remake files. *Note
+ Errors in Recipes: Errors.
+
+'-I DIR'
+'--include-dir=DIR'
+ Specifies a directory DIR to search for included makefiles. *Note
+ Including Other Makefiles: Include. If several '-I' options are
+ used to specify several directories, the directories are searched
+ in the order specified.
+
+'-j [JOBS]'
+'--jobs[=JOBS]'
+ Specifies the number of recipes (jobs) to run simultaneously. With
+ no argument, 'make' runs as many recipes simultaneously as
+ possible. If there is more than one '-j' option, the last one is
+ effective. *Note Parallel Execution: Parallel, for more
+ information on how recipes are run. Note that this option is
+ ignored on MS-DOS.
+
+'-k'
+'--keep-going'
+ Continue as much as possible after an error. While the target that
+ failed, and those that depend on it, cannot be remade, the other
+ prerequisites of these targets can be processed all the same.
+ *Note Testing the Compilation of a Program: Testing.
+
+'-l [LOAD]'
+'--load-average[=LOAD]'
+'--max-load[=LOAD]'
+ Specifies that no new recipes should be started if there are other
+ recipes running and the load average is at least LOAD (a
+ floating-point number). With no argument, removes a previous load
+ limit. *Note Parallel Execution: Parallel.
+
+'-L'
+'--check-symlink-times'
+ On systems that support symbolic links, this option causes 'make'
+ to consider the timestamps on any symbolic links in addition to the
+ timestamp on the file referenced by those links. When this option
+ is provided, the most recent timestamp among the file and the
+ symbolic links is taken as the modification time for this target
+ file.
+
+'-n'
+'--just-print'
+'--dry-run'
+'--recon'
+
+ Print the recipe that would be executed, but do not execute it
+ (except in certain circumstances). *Note Instead of Executing
+ Recipes: Instead of Execution.
+
+'-o FILE'
+'--old-file=FILE'
+'--assume-old=FILE'
+ Do not remake the file FILE even if it is older than its
+ prerequisites, and do not remake anything on account of changes in
+ FILE. Essentially the file is treated as very old and its rules
+ are ignored. *Note Avoiding Recompilation of Some Files: Avoiding
+ Compilation.
+
+'-O[TYPE]'
+'--output-sync[=TYPE]'
+ Ensure that the complete output from each recipe is printed in one
+ uninterrupted sequence. This option is only useful when using the
+ '--jobs' option to run multiple recipes simultaneously (*note
+ Parallel Execution: Parallel.) Without this option output will be
+ displayed as it is generated by the recipes.
+
+ With no type or the type 'target', output from the entire recipe of
+ each target is grouped together. With the type 'line', output from
+ each line in the recipe is grouped together. With the type
+ 'recurse', the output from an entire recursive make is grouped
+ together. With the type 'none', no output synchronization is
+ performed. *Note Output During Parallel Execution: Parallel
+ Output.
+
+'-p'
+'--print-data-base'
+ Print the data base (rules and variable values) that results from
+ reading the makefiles; then execute as usual or as otherwise
+ specified. This also prints the version information given by the
+ '-v' switch (see below). To print the data base without trying to
+ remake any files, use 'make -qp'. To print the data base of
+ predefined rules and variables, use 'make -p -f /dev/null'. The
+ data base output contains file name and line number information for
+ recipe and variable definitions, so it can be a useful debugging
+ tool in complex environments.
+
+'-q'
+'--question'
+ "Question mode". Do not run any recipes, or print anything; just
+ return an exit status that is zero if the specified targets are
+ already up to date, one if any remaking is required, or two if an
+ error is encountered. *Note Instead of Executing Recipes: Instead
+ of Execution.
+
+'-r'
+'--no-builtin-rules'
+ Eliminate use of the built-in implicit rules (*note Using Implicit
+ Rules: Implicit Rules.). You can still define your own by writing
+ pattern rules (*note Defining and Redefining Pattern Rules: Pattern
+ Rules.). The '-r' option also clears out the default list of
+ suffixes for suffix rules (*note Old-Fashioned Suffix Rules: Suffix
+ Rules.). But you can still define your own suffixes with a rule
+ for '.SUFFIXES', and then define your own suffix rules. Note that
+ only _rules_ are affected by the '-r' option; default variables
+ remain in effect (*note Variables Used by Implicit Rules: Implicit
+ Variables.); see the '-R' option below.
+
+'-R'
+'--no-builtin-variables'
+ Eliminate use of the built-in rule-specific variables (*note
+ Variables Used by Implicit Rules: Implicit Variables.). You can
+ still define your own, of course. The '-R' option also
+ automatically enables the '-r' option (see above), since it doesn't
+ make sense to have implicit rules without any definitions for the
+ variables that they use.
+
+'-s'
+'--silent'
+'--quiet'
+
+ Silent operation; do not print the recipes as they are executed.
+ *Note Recipe Echoing: Echoing.
+
+'-S'
+'--no-keep-going'
+'--stop'
+
+ Cancel the effect of the '-k' option. This is never necessary
+ except in a recursive 'make' where '-k' might be inherited from the
+ top-level 'make' via 'MAKEFLAGS' (*note Recursive Use of 'make':
+ Recursion.) or if you set '-k' in 'MAKEFLAGS' in your environment.
+
+'-t'
+'--touch'
+
+ Touch files (mark them up to date without really changing them)
+ instead of running their recipes. This is used to pretend that the
+ recipes were done, in order to fool future invocations of 'make'.
+ *Note Instead of Executing Recipes: Instead of Execution.
+
+'--trace'
+ Show tracing information for 'make' execution. Prints the entire
+ recipe to be executed, even for recipes that are normally silent
+ (due to '.SILENT' or '@'). Also prints the makefile name and line
+ number where the recipe was defined, and information on why the
+ target is being rebuilt.
+
+'-v'
+'--version'
+ Print the version of the 'make' program plus a copyright, a list of
+ authors, and a notice that there is no warranty; then exit.
+
+'-w'
+'--print-directory'
+ Print a message containing the working directory both before and
+ after executing the makefile. This may be useful for tracking down
+ errors from complicated nests of recursive 'make' commands. *Note
+ Recursive Use of 'make': Recursion. (In practice, you rarely need
+ to specify this option since 'make' does it for you; see *note The
+ '--print-directory' Option: -w Option.)
+
+'--no-print-directory'
+ Disable printing of the working directory under '-w'. This option
+ is useful when '-w' is turned on automatically, but you do not want
+ to see the extra messages. *Note The '--print-directory' Option:
+ -w Option.
+
+'-W FILE'
+'--what-if=FILE'
+'--new-file=FILE'
+'--assume-new=FILE'
+ Pretend that the target FILE has just been modified. When used
+ with the '-n' flag, this shows you what would happen if you were to
+ modify that file. Without '-n', it is almost the same as running a
+ 'touch' command on the given file before running 'make', except
+ that the modification time is changed only in the imagination of
+ 'make'. *Note Instead of Executing Recipes: Instead of Execution.
+
+'--warn-undefined-variables'
+ Issue a warning message whenever 'make' sees a reference to an
+ undefined variable. This can be helpful when you are trying to
+ debug makefiles which use variables in complex ways.
diff --git a/doc/make.info-2 b/doc/make.info-2
index af881aa..c6229ff 100644
--- a/doc/make.info-2
+++ b/doc/make.info-2
@@ -1,15 +1,15 @@
-This is make.info, produced by makeinfo version 4.13 from make.texi.
+This is make.info, produced by makeinfo version 5.2 from make.texi.
-This file documents the GNU `make' utility, which determines
-automatically which pieces of a large program need to be recompiled,
-and issues the commands to recompile them.
+This file documents the GNU 'make' utility, which determines
+automatically which pieces of a large program need to be recompiled, and
+issues the commands to recompile them.
- This is Edition 0.72, last updated 9 October 2013, of `The GNU Make
-Manual', for GNU `make' version 4.0.
+ This is Edition 0.73, last updated 5 October 2014, of 'The GNU Make
+Manual', for GNU 'make' version 4.1.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -22,302 +22,12 @@ Manual', for GNU `make' version 4.0.
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual. Buying copies from the FSF supports it in
developing GNU and promoting software freedom."
-
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Make: (make). Remake files automatically.
END-INFO-DIR-ENTRY

-File: make.info, Node: Options Summary, Prev: Testing, Up: Running
-
-9.7 Summary of Options
-======================
-
-Here is a table of all the options `make' understands:
-
-`-b'
-`-m'
- These options are ignored for compatibility with other versions of
- `make'.
-
-`-B'
-`--always-make'
- Consider all targets out-of-date. GNU `make' proceeds to consider
- targets and their prerequisites using the normal algorithms;
- however, all targets so considered are always remade regardless of
- the status of their prerequisites. To avoid infinite recursion, if
- `MAKE_RESTARTS' (*note Other Special Variables: Special
- Variables.) is set to a number greater than 0 this option is
- disabled when considering whether to remake makefiles (*note How
- Makefiles Are Remade: Remaking Makefiles.).
-
-`-C DIR'
-`--directory=DIR'
- Change to directory DIR before reading the makefiles. If multiple
- `-C' options are specified, each is interpreted relative to the
- previous one: `-C / -C etc' is equivalent to `-C /etc'. This is
- typically used with recursive invocations of `make' (*note
- Recursive Use of `make': Recursion.).
-
-`-d'
- Print debugging information in addition to normal processing. The
- debugging information says which files are being considered for
- remaking, which file-times are being compared and with what
- results, which files actually need to be remade, which implicit
- rules are considered and which are applied--everything interesting
- about how `make' decides what to do. The `-d' option is
- equivalent to `--debug=a' (see below).
-
-`--debug[=OPTIONS]'
- Print debugging information in addition to normal processing.
- Various levels and types of output can be chosen. With no
- arguments, print the "basic" level of debugging. Possible
- arguments are below; only the first character is considered, and
- values must be comma- or space-separated.
-
- `a (all)'
- All types of debugging output are enabled. This is
- equivalent to using `-d'.
-
- `b (basic)'
- Basic debugging prints each target that was found to be
- out-of-date, and whether the build was successful or not.
-
- `v (verbose)'
- A level above `basic'; includes messages about which
- makefiles were parsed, prerequisites that did not need to be
- rebuilt, etc. This option also enables `basic' messages.
-
- `i (implicit)'
- Prints messages describing the implicit rule searches for
- each target. This option also enables `basic' messages.
-
- `j (jobs)'
- Prints messages giving details on the invocation of specific
- sub-commands.
-
- `m (makefile)'
- By default, the above messages are not enabled while trying
- to remake the makefiles. This option enables messages while
- rebuilding makefiles, too. Note that the `all' option does
- enable this option. This option also enables `basic'
- messages.
-
- `n (none)'
- Disable all debugging currently enabled. If additional
- debugging flags are encountered after this they will still
- take effect.
-
-`-e'
-`--environment-overrides'
- Give variables taken from the environment precedence over
- variables from makefiles. *Note Variables from the Environment:
- Environment.
-
-`--eval=STRING'
- Evaluate STRING as makefile syntax. This is a command-line
- version of the `eval' function (*note Eval Function::). The
- evaluation is performed after the default rules and variables have
- been defined, but before any makefiles are read.
-
-`-f FILE'
-`--file=FILE'
-`--makefile=FILE'
- Read the file named FILE as a makefile. *Note Writing Makefiles:
- Makefiles.
-
-`-h'
-`--help'
- Remind you of the options that `make' understands and then exit.
-
-`-i'
-`--ignore-errors'
- Ignore all errors in recipes executed to remake files. *Note
- Errors in Recipes: Errors.
-
-`-I DIR'
-`--include-dir=DIR'
- Specifies a directory DIR to search for included makefiles. *Note
- Including Other Makefiles: Include. If several `-I' options are
- used to specify several directories, the directories are searched
- in the order specified.
-
-`-j [JOBS]'
-`--jobs[=JOBS]'
- Specifies the number of recipes (jobs) to run simultaneously.
- With no argument, `make' runs as many recipes simultaneously as
- possible. If there is more than one `-j' option, the last one is
- effective. *Note Parallel Execution: Parallel, for more
- information on how recipes are run. Note that this option is
- ignored on MS-DOS.
-
-`-k'
-`--keep-going'
- Continue as much as possible after an error. While the target that
- failed, and those that depend on it, cannot be remade, the other
- prerequisites of these targets can be processed all the same.
- *Note Testing the Compilation of a Program: Testing.
-
-`-l [LOAD]'
-`--load-average[=LOAD]'
-`--max-load[=LOAD]'
- Specifies that no new recipes should be started if there are other
- recipes running and the load average is at least LOAD (a
- floating-point number). With no argument, removes a previous load
- limit. *Note Parallel Execution: Parallel.
-
-`-L'
-`--check-symlink-times'
- On systems that support symbolic links, this option causes `make'
- to consider the timestamps on any symbolic links in addition to the
- timestamp on the file referenced by those links. When this option
- is provided, the most recent timestamp among the file and the
- symbolic links is taken as the modification time for this target
- file.
-
-`-n'
-`--just-print'
-`--dry-run'
-`--recon'
- Print the recipe that would be executed, but do not execute it
- (except in certain circumstances). *Note Instead of Executing
- Recipes: Instead of Execution.
-
-`-o FILE'
-`--old-file=FILE'
-`--assume-old=FILE'
- Do not remake the file FILE even if it is older than its
- prerequisites, and do not remake anything on account of changes in
- FILE. Essentially the file is treated as very old and its rules
- are ignored. *Note Avoiding Recompilation of Some Files: Avoiding
- Compilation.
-
-`-O[TYPE]'
-`--output-sync[=TYPE]'
- Ensure that the complete output from each recipe is printed in one
- uninterrupted sequence. This option is only useful when using the
- `--jobs' option to run multiple recipes simultaneously (*note
- Parallel Execution: Parallel.) Without this option output will be
- displayed as it is generated by the recipes.
-
- With no type or the type `target', output from the entire recipe
- of each target is grouped together. With the type `line', output
- from each line in the recipe is grouped together. With the type
- `recurse', the output from an entire recursive make is grouped
- together. With the type `none', no output synchronization is
- performed. *Note Output During Parallel Execution: Parallel
- Output.
-
-`-p'
-`--print-data-base'
- Print the data base (rules and variable values) that results from
- reading the makefiles; then execute as usual or as otherwise
- specified. This also prints the version information given by the
- `-v' switch (see below). To print the data base without trying to
- remake any files, use `make -qp'. To print the data base of
- predefined rules and variables, use `make -p -f /dev/null'. The
- data base output contains file name and line number information for
- recipe and variable definitions, so it can be a useful debugging
- tool in complex environments.
-
-`-q'
-`--question'
- "Question mode". Do not run any recipes, or print anything; just
- return an exit status that is zero if the specified targets are
- already up to date, one if any remaking is required, or two if an
- error is encountered. *Note Instead of Executing Recipes: Instead
- of Execution.
-
-`-r'
-`--no-builtin-rules'
- Eliminate use of the built-in implicit rules (*note Using Implicit
- Rules: Implicit Rules.). You can still define your own by writing
- pattern rules (*note Defining and Redefining Pattern Rules:
- Pattern Rules.). The `-r' option also clears out the default list
- of suffixes for suffix rules (*note Old-Fashioned Suffix Rules:
- Suffix Rules.). But you can still define your own suffixes with a
- rule for `.SUFFIXES', and then define your own suffix rules. Note
- that only _rules_ are affected by the `-r' option; default
- variables remain in effect (*note Variables Used by Implicit
- Rules: Implicit Variables.); see the `-R' option below.
-
-`-R'
-`--no-builtin-variables'
- Eliminate use of the built-in rule-specific variables (*note
- Variables Used by Implicit Rules: Implicit Variables.). You can
- still define your own, of course. The `-R' option also
- automatically enables the `-r' option (see above), since it
- doesn't make sense to have implicit rules without any definitions
- for the variables that they use.
-
-`-s'
-`--silent'
-`--quiet'
- Silent operation; do not print the recipes as they are executed.
- *Note Recipe Echoing: Echoing.
-
-`-S'
-`--no-keep-going'
-`--stop'
- Cancel the effect of the `-k' option. This is never necessary
- except in a recursive `make' where `-k' might be inherited from
- the top-level `make' via `MAKEFLAGS' (*note Recursive Use of
- `make': Recursion.) or if you set `-k' in `MAKEFLAGS' in your
- environment.
-
-`-t'
-`--touch'
- Touch files (mark them up to date without really changing them)
- instead of running their recipes. This is used to pretend that the
- recipes were done, in order to fool future invocations of `make'.
- *Note Instead of Executing Recipes: Instead of Execution.
-
-`--trace'
- Show tracing information for `make' execution. Prints the entire
- recipe to be executed, even for recipes that are normally silent
- (due to `.SILENT' or `@'). Also prints the makefile name and line
- number where the recipe was defined, and information on why the
- target is being rebuilt.
-
-`-v'
-`--version'
- Print the version of the `make' program plus a copyright, a list
- of authors, and a notice that there is no warranty; then exit.
-
-`-w'
-`--print-directory'
- Print a message containing the working directory both before and
- after executing the makefile. This may be useful for tracking
- down errors from complicated nests of recursive `make' commands.
- *Note Recursive Use of `make': Recursion. (In practice, you
- rarely need to specify this option since `make' does it for you;
- see *note The `--print-directory' Option: -w Option.)
-
-`--no-print-directory'
- Disable printing of the working directory under `-w'. This option
- is useful when `-w' is turned on automatically, but you do not
- want to see the extra messages. *Note The `--print-directory'
- Option: -w Option.
-
-`-W FILE'
-`--what-if=FILE'
-`--new-file=FILE'
-`--assume-new=FILE'
- Pretend that the target FILE has just been modified. When used
- with the `-n' flag, this shows you what would happen if you were
- to modify that file. Without `-n', it is almost the same as
- running a `touch' command on the given file before running `make',
- except that the modification time is changed only in the
- imagination of `make'. *Note Instead of Executing Recipes:
- Instead of Execution.
-
-`--warn-undefined-variables'
- Issue a warning message whenever `make' sees a reference to an
- undefined variable. This can be helpful when you are trying to
- debug makefiles which use variables in complex ways.
-
-
File: make.info, Node: Implicit Rules, Next: Archives, Prev: Running, Up: Top
10 Using Implicit Rules
@@ -325,22 +35,22 @@ File: make.info, Node: Implicit Rules, Next: Archives, Prev: Running, Up: To
Certain standard ways of remaking target files are used very often. For
example, one customary way to make an object file is from a C source
-file using the C compiler, `cc'.
+file using the C compiler, 'cc'.
- "Implicit rules" tell `make' how to use customary techniques so that
+ "Implicit rules" tell 'make' how to use customary techniques so that
you do not have to specify them in detail when you want to use them.
For example, there is an implicit rule for C compilation. File names
determine which implicit rules are run. For example, C compilation
-typically takes a `.c' file and makes a `.o' file. So `make' applies
+typically takes a '.c' file and makes a '.o' file. So 'make' applies
the implicit rule for C compilation when it sees this combination of
file name endings.
- A chain of implicit rules can apply in sequence; for example, `make'
-will remake a `.o' file from a `.y' file by way of a `.c' file.
+ A chain of implicit rules can apply in sequence; for example, 'make'
+will remake a '.o' file from a '.y' file by way of a '.c' file.
The built-in implicit rules use several variables in their recipes so
that, by changing the values of the variables, you can change the way
-the implicit rule works. For example, the variable `CFLAGS' controls
+the implicit rule works. For example, the variable 'CFLAGS' controls
the flags given to the C compiler by the implicit rule for C
compilation.
@@ -354,7 +64,7 @@ retained for compatibility.
* Using Implicit:: How to use an existing implicit rule
to get the recipes for updating a file.
-* Catalogue of Rules:: A list of built-in implicit rules.
+* Catalogue of Rules:: A list of built-in rules.
* Implicit Variables:: How to change what predefined rules do.
* Chained Rules:: How to use a chain of implicit rules.
* Pattern Rules:: How to define new implicit rules.
@@ -370,68 +80,68 @@ File: make.info, Node: Using Implicit, Next: Catalogue of Rules, Prev: Implic
10.1 Using Implicit Rules
=========================
-To allow `make' to find a customary method for updating a target file,
+To allow 'make' to find a customary method for updating a target file,
all you have to do is refrain from specifying recipes yourself. Either
-write a rule with no recipe, or don't write a rule at all. Then `make'
-will figure out which implicit rule to use based on which kind of
-source file exists or can be made.
+write a rule with no recipe, or don't write a rule at all. Then 'make'
+will figure out which implicit rule to use based on which kind of source
+file exists or can be made.
For example, suppose the makefile looks like this:
foo : foo.o bar.o
cc -o foo foo.o bar.o $(CFLAGS) $(LDFLAGS)
-Because you mention `foo.o' but do not give a rule for it, `make' will
+Because you mention 'foo.o' but do not give a rule for it, 'make' will
automatically look for an implicit rule that tells how to update it.
-This happens whether or not the file `foo.o' currently exists.
+This happens whether or not the file 'foo.o' currently exists.
If an implicit rule is found, it can supply both a recipe and one or
more prerequisites (the source files). You would want to write a rule
-for `foo.o' with no recipe if you need to specify additional
+for 'foo.o' with no recipe if you need to specify additional
prerequisites, such as header files, that the implicit rule cannot
supply.
Each implicit rule has a target pattern and prerequisite patterns.
There may be many implicit rules with the same target pattern. For
-example, numerous rules make `.o' files: one, from a `.c' file with the
-C compiler; another, from a `.p' file with the Pascal compiler; and so
-on. The rule that actually applies is the one whose prerequisites
-exist or can be made. So, if you have a file `foo.c', `make' will run
-the C compiler; otherwise, if you have a file `foo.p', `make' will run
-the Pascal compiler; and so on.
+example, numerous rules make '.o' files: one, from a '.c' file with the
+C compiler; another, from a '.p' file with the Pascal compiler; and so
+on. The rule that actually applies is the one whose prerequisites exist
+or can be made. So, if you have a file 'foo.c', 'make' will run the C
+compiler; otherwise, if you have a file 'foo.p', 'make' will run the
+Pascal compiler; and so on.
Of course, when you write the makefile, you know which implicit rule
-you want `make' to use, and you know it will choose that one because you
+you want 'make' to use, and you know it will choose that one because you
know which possible prerequisite files are supposed to exist. *Note
-Catalogue of Implicit Rules: Catalogue of Rules, for a catalogue of all
+Catalogue of Built-In Rules: Catalogue of Rules, for a catalogue of all
the predefined implicit rules.
- Above, we said an implicit rule applies if the required
-prerequisites "exist or can be made". A file "can be made" if it is
-mentioned explicitly in the makefile as a target or a prerequisite, or
-if an implicit rule can be recursively found for how to make it. When
-an implicit prerequisite is the result of another implicit rule, we say
+ Above, we said an implicit rule applies if the required prerequisites
+"exist or can be made". A file "can be made" if it is mentioned
+explicitly in the makefile as a target or a prerequisite, or if an
+implicit rule can be recursively found for how to make it. When an
+implicit prerequisite is the result of another implicit rule, we say
that "chaining" is occurring. *Note Chains of Implicit Rules: Chained
Rules.
- In general, `make' searches for an implicit rule for each target, and
+ In general, 'make' searches for an implicit rule for each target, and
for each double-colon rule, that has no recipe. A file that is
mentioned only as a prerequisite is considered a target whose rule
specifies nothing, so implicit rule search happens for it. *Note
-Implicit Rule Search Algorithm: Implicit Rule Search, for the details
-of how the search is done.
+Implicit Rule Search Algorithm: Implicit Rule Search, for the details of
+how the search is done.
Note that explicit prerequisites do not influence implicit rule
search. For example, consider this explicit rule:
foo.o: foo.p
-The prerequisite on `foo.p' does not necessarily mean that `make' will
-remake `foo.o' according to the implicit rule to make an object file, a
-`.o' file, from a Pascal source file, a `.p' file. For example, if
-`foo.c' also exists, the implicit rule to make an object file from a C
+The prerequisite on 'foo.p' does not necessarily mean that 'make' will
+remake 'foo.o' according to the implicit rule to make an object file, a
+'.o' file, from a Pascal source file, a '.p' file. For example, if
+'foo.c' also exists, the implicit rule to make an object file from a C
source file is used instead, because it appears before the Pascal rule
-in the list of predefined implicit rules (*note Catalogue of Implicit
+in the list of predefined implicit rules (*note Catalogue of Built-In
Rules: Catalogue of Rules.).
If you do not want an implicit rule to be used for a target that has
@@ -441,30 +151,30 @@ semicolon (*note Defining Empty Recipes: Empty Recipes.).

File: make.info, Node: Catalogue of Rules, Next: Implicit Variables, Prev: Using Implicit, Up: Implicit Rules
-10.2 Catalogue of Implicit Rules
+10.2 Catalogue of Built-In Rules
================================
Here is a catalogue of predefined implicit rules which are always
available unless the makefile explicitly overrides or cancels them.
*Note Canceling Implicit Rules: Canceling Rules, for information on
-canceling or overriding an implicit rule. The `-r' or
-`--no-builtin-rules' option cancels all predefined rules.
+canceling or overriding an implicit rule. The '-r' or
+'--no-builtin-rules' option cancels all predefined rules.
This manual only documents the default rules available on POSIX-based
-operating systems. Other operating systems, such as VMS, Windows,
-OS/2, etc. may have different sets of default rules. To see the full
-list of default rules and variables available in your version of GNU
-`make', run `make -p' in a directory with no makefile.
+operating systems. Other operating systems, such as VMS, Windows, OS/2,
+etc. may have different sets of default rules. To see the full list of
+default rules and variables available in your version of GNU 'make', run
+'make -p' in a directory with no makefile.
- Not all of these rules will always be defined, even when the `-r'
+ Not all of these rules will always be defined, even when the '-r'
option is not given. Many of the predefined implicit rules are
-implemented in `make' as suffix rules, so which ones will be defined
+implemented in 'make' as suffix rules, so which ones will be defined
depends on the "suffix list" (the list of prerequisites of the special
-target `.SUFFIXES'). The default suffix list is: `.out', `.a', `.ln',
-`.o', `.c', `.cc', `.C', `.cpp', `.p', `.f', `.F', `.m', `.r', `.y',
-`.l', `.ym', `.lm', `.s', `.S', `.mod', `.sym', `.def', `.h', `.info',
-`.dvi', `.tex', `.texinfo', `.texi', `.txinfo', `.w', `.ch' `.web',
-`.sh', `.elc', `.el'. All of the implicit rules described below whose
+target '.SUFFIXES'). The default suffix list is: '.out', '.a', '.ln',
+'.o', '.c', '.cc', '.C', '.cpp', '.p', '.f', '.F', '.m', '.r', '.y',
+'.l', '.ym', '.lm', '.s', '.S', '.mod', '.sym', '.def', '.h', '.info',
+'.dvi', '.tex', '.texinfo', '.texi', '.txinfo', '.w', '.ch' '.web',
+'.sh', '.elc', '.el'. All of the implicit rules described below whose
prerequisites have one of these suffixes are actually suffix rules. If
you modify the suffix list, the only predefined suffix rules in effect
will be those named by one or two of the suffixes that are on the list
@@ -473,60 +183,57 @@ you specify; rules whose suffixes fail to be on the list are disabled.
suffix rules.
Compiling C programs
- `N.o' is made automatically from `N.c' with a recipe of the form
- `$(CC) $(CPPFLAGS) $(CFLAGS) -c'.
+ 'N.o' is made automatically from 'N.c' with a recipe of the form
+ '$(CC) $(CPPFLAGS) $(CFLAGS) -c'.
Compiling C++ programs
- `N.o' is made automatically from `N.cc', `N.cpp', or `N.C' with a
- recipe of the form `$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c'. We
- encourage you to use the suffix `.cc' for C++ source files instead
- of `.C'.
+ 'N.o' is made automatically from 'N.cc', 'N.cpp', or 'N.C' with a
+ recipe of the form '$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c'. We
+ encourage you to use the suffix '.cc' for C++ source files instead
+ of '.C'.
Compiling Pascal programs
- `N.o' is made automatically from `N.p' with the recipe `$(PC)
+ 'N.o' is made automatically from 'N.p' with the recipe '$(PC)
$(PFLAGS) -c'.
Compiling Fortran and Ratfor programs
- `N.o' is made automatically from `N.r', `N.F' or `N.f' by running
+ 'N.o' is made automatically from 'N.r', 'N.F' or 'N.f' by running
the Fortran compiler. The precise recipe used is as follows:
- `.f'
- `$(FC) $(FFLAGS) -c'.
-
- `.F'
- `$(FC) $(FFLAGS) $(CPPFLAGS) -c'.
-
- `.r'
- `$(FC) $(FFLAGS) $(RFLAGS) -c'.
+ '.f'
+ '$(FC) $(FFLAGS) -c'.
+ '.F'
+ '$(FC) $(FFLAGS) $(CPPFLAGS) -c'.
+ '.r'
+ '$(FC) $(FFLAGS) $(RFLAGS) -c'.
Preprocessing Fortran and Ratfor programs
- `N.f' is made automatically from `N.r' or `N.F'. This rule runs
- just the preprocessor to convert a Ratfor or preprocessable
- Fortran program into a strict Fortran program. The precise recipe
- used is as follows:
+ 'N.f' is made automatically from 'N.r' or 'N.F'. This rule runs
+ just the preprocessor to convert a Ratfor or preprocessable Fortran
+ program into a strict Fortran program. The precise recipe used is
+ as follows:
- `.F'
- `$(FC) $(CPPFLAGS) $(FFLAGS) -F'.
-
- `.r'
- `$(FC) $(FFLAGS) $(RFLAGS) -F'.
+ '.F'
+ '$(FC) $(CPPFLAGS) $(FFLAGS) -F'.
+ '.r'
+ '$(FC) $(FFLAGS) $(RFLAGS) -F'.
Compiling Modula-2 programs
- `N.sym' is made from `N.def' with a recipe of the form `$(M2C)
- $(M2FLAGS) $(DEFFLAGS)'. `N.o' is made from `N.mod'; the form is:
- `$(M2C) $(M2FLAGS) $(MODFLAGS)'.
+ 'N.sym' is made from 'N.def' with a recipe of the form '$(M2C)
+ $(M2FLAGS) $(DEFFLAGS)'. 'N.o' is made from 'N.mod'; the form is:
+ '$(M2C) $(M2FLAGS) $(MODFLAGS)'.
Assembling and preprocessing assembler programs
- `N.o' is made automatically from `N.s' by running the assembler,
- `as'. The precise recipe is `$(AS) $(ASFLAGS)'.
+ 'N.o' is made automatically from 'N.s' by running the assembler,
+ 'as'. The precise recipe is '$(AS) $(ASFLAGS)'.
- `N.s' is made automatically from `N.S' by running the C
- preprocessor, `cpp'. The precise recipe is `$(CPP) $(CPPFLAGS)'.
+ 'N.s' is made automatically from 'N.S' by running the C
+ preprocessor, 'cpp'. The precise recipe is '$(CPP) $(CPPFLAGS)'.
Linking a single object file
- `N' is made automatically from `N.o' by running the linker
- (usually called `ld') via the C compiler. The precise recipe used
- is `$(CC) $(LDFLAGS) N.o $(LOADLIBES) $(LDLIBS)'.
+ 'N' is made automatically from 'N.o' by running the linker (usually
+ called 'ld') via the C compiler. The precise recipe used is
+ '$(CC) $(LDFLAGS) N.o $(LOADLIBES) $(LDLIBS)'.
This rule does the right thing for a simple program with only one
source file. It will also do the right thing if there are multiple
@@ -536,7 +243,7 @@ Linking a single object file
x: y.o z.o
- when `x.c', `y.c' and `z.c' all exist will execute:
+ when 'x.c', 'y.c' and 'z.c' all exist will execute:
cc -c x.c -o x.o
cc -c y.c -o y.o
@@ -547,109 +254,108 @@ Linking a single object file
rm -f z.o
In more complicated cases, such as when there is no object file
- whose name derives from the executable file name, you must write
- an explicit recipe for linking.
+ whose name derives from the executable file name, you must write an
+ explicit recipe for linking.
- Each kind of file automatically made into `.o' object files will
- be automatically linked by using the compiler (`$(CC)', `$(FC)' or
- `$(PC)'; the C compiler `$(CC)' is used to assemble `.s' files)
- without the `-c' option. This could be done by using the `.o'
- object files as intermediates, but it is faster to do the
- compiling and linking in one step, so that's how it's done.
+ Each kind of file automatically made into '.o' object files will be
+ automatically linked by using the compiler ('$(CC)', '$(FC)' or
+ '$(PC)'; the C compiler '$(CC)' is used to assemble '.s' files)
+ without the '-c' option. This could be done by using the '.o'
+ object files as intermediates, but it is faster to do the compiling
+ and linking in one step, so that's how it's done.
Yacc for C programs
- `N.c' is made automatically from `N.y' by running Yacc with the
- recipe `$(YACC) $(YFLAGS)'.
+ 'N.c' is made automatically from 'N.y' by running Yacc with the
+ recipe '$(YACC) $(YFLAGS)'.
Lex for C programs
- `N.c' is made automatically from `N.l' by running Lex. The actual
- recipe is `$(LEX) $(LFLAGS)'.
+ 'N.c' is made automatically from 'N.l' by running Lex. The actual
+ recipe is '$(LEX) $(LFLAGS)'.
Lex for Ratfor programs
- `N.r' is made automatically from `N.l' by running Lex. The actual
- recipe is `$(LEX) $(LFLAGS)'.
+ 'N.r' is made automatically from 'N.l' by running Lex. The actual
+ recipe is '$(LEX) $(LFLAGS)'.
- The convention of using the same suffix `.l' for all Lex files
+ The convention of using the same suffix '.l' for all Lex files
regardless of whether they produce C code or Ratfor code makes it
- impossible for `make' to determine automatically which of the two
- languages you are using in any particular case. If `make' is
- called upon to remake an object file from a `.l' file, it must
+ impossible for 'make' to determine automatically which of the two
+ languages you are using in any particular case. If 'make' is
+ called upon to remake an object file from a '.l' file, it must
guess which compiler to use. It will guess the C compiler, because
- that is more common. If you are using Ratfor, make sure `make'
- knows this by mentioning `N.r' in the makefile. Or, if you are
- using Ratfor exclusively, with no C files, remove `.c' from the
+ that is more common. If you are using Ratfor, make sure 'make'
+ knows this by mentioning 'N.r' in the makefile. Or, if you are
+ using Ratfor exclusively, with no C files, remove '.c' from the
list of implicit rule suffixes with:
.SUFFIXES:
.SUFFIXES: .o .r .f .l ...
Making Lint Libraries from C, Yacc, or Lex programs
- `N.ln' is made from `N.c' by running `lint'. The precise recipe
- is `$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i'. The same recipe is used
- on the C code produced from `N.y' or `N.l'.
+ 'N.ln' is made from 'N.c' by running 'lint'. The precise recipe is
+ '$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i'. The same recipe is used on
+ the C code produced from 'N.y' or 'N.l'.
TeX and Web
- `N.dvi' is made from `N.tex' with the recipe `$(TEX)'. `N.tex' is
- made from `N.web' with `$(WEAVE)', or from `N.w' (and from `N.ch'
- if it exists or can be made) with `$(CWEAVE)'. `N.p' is made from
- `N.web' with `$(TANGLE)' and `N.c' is made from `N.w' (and from
- `N.ch' if it exists or can be made) with `$(CTANGLE)'.
+ 'N.dvi' is made from 'N.tex' with the recipe '$(TEX)'. 'N.tex' is
+ made from 'N.web' with '$(WEAVE)', or from 'N.w' (and from 'N.ch'
+ if it exists or can be made) with '$(CWEAVE)'. 'N.p' is made from
+ 'N.web' with '$(TANGLE)' and 'N.c' is made from 'N.w' (and from
+ 'N.ch' if it exists or can be made) with '$(CTANGLE)'.
Texinfo and Info
- `N.dvi' is made from `N.texinfo', `N.texi', or `N.txinfo', with
- the recipe `$(TEXI2DVI) $(TEXI2DVI_FLAGS)'. `N.info' is made from
- `N.texinfo', `N.texi', or `N.txinfo', with the recipe
- `$(MAKEINFO) $(MAKEINFO_FLAGS)'.
+ 'N.dvi' is made from 'N.texinfo', 'N.texi', or 'N.txinfo', with the
+ recipe '$(TEXI2DVI) $(TEXI2DVI_FLAGS)'. 'N.info' is made from
+ 'N.texinfo', 'N.texi', or 'N.txinfo', with the recipe
+ '$(MAKEINFO) $(MAKEINFO_FLAGS)'.
RCS
- Any file `N' is extracted if necessary from an RCS file named
- either `N,v' or `RCS/N,v'. The precise recipe used is
- `$(CO) $(COFLAGS)'. `N' will not be extracted from RCS if it
+ Any file 'N' is extracted if necessary from an RCS file named
+ either 'N,v' or 'RCS/N,v'. The precise recipe used is
+ '$(CO) $(COFLAGS)'. 'N' will not be extracted from RCS if it
already exists, even if the RCS file is newer. The rules for RCS
are terminal (*note Match-Anything Pattern Rules: Match-Anything
- Rules.), so RCS files cannot be generated from another source;
- they must actually exist.
+ Rules.), so RCS files cannot be generated from another source; they
+ must actually exist.
SCCS
- Any file `N' is extracted if necessary from an SCCS file named
- either `s.N' or `SCCS/s.N'. The precise recipe used is
- `$(GET) $(GFLAGS)'. The rules for SCCS are terminal (*note
- Match-Anything Pattern Rules: Match-Anything Rules.), so SCCS
- files cannot be generated from another source; they must actually
- exist.
-
- For the benefit of SCCS, a file `N' is copied from `N.sh' and made
+ Any file 'N' is extracted if necessary from an SCCS file named
+ either 's.N' or 'SCCS/s.N'. The precise recipe used is
+ '$(GET) $(GFLAGS)'. The rules for SCCS are terminal (*note
+ Match-Anything Pattern Rules: Match-Anything Rules.), so SCCS files
+ cannot be generated from another source; they must actually exist.
+
+ For the benefit of SCCS, a file 'N' is copied from 'N.sh' and made
executable (by everyone). This is for shell scripts that are
- checked into SCCS. Since RCS preserves the execution permission
- of a file, you do not need to use this feature with RCS.
+ checked into SCCS. Since RCS preserves the execution permission of
+ a file, you do not need to use this feature with RCS.
- We recommend that you avoid using of SCCS. RCS is widely held to
- be superior, and is also free. By choosing free software in place
- of comparable (or inferior) proprietary software, you support the
- free software movement.
+ We recommend that you avoid using of SCCS. RCS is widely held to be
+ superior, and is also free. By choosing free software in place of
+ comparable (or inferior) proprietary software, you support the free
+ software movement.
Usually, you want to change only the variables listed in the table
above, which are documented in the following section.
However, the recipes in built-in implicit rules actually use
-variables such as `COMPILE.c', `LINK.p', and `PREPROCESS.S', whose
+variables such as 'COMPILE.c', 'LINK.p', and 'PREPROCESS.S', whose
values contain the recipes listed above.
- `make' follows the convention that the rule to compile a `.X' source
-file uses the variable `COMPILE.X'. Similarly, the rule to produce an
-executable from a `.X' file uses `LINK.X'; and the rule to preprocess a
-`.X' file uses `PREPROCESS.X'.
+ 'make' follows the convention that the rule to compile a '.X' source
+file uses the variable 'COMPILE.X'. Similarly, the rule to produce an
+executable from a '.X' file uses 'LINK.X'; and the rule to preprocess a
+'.X' file uses 'PREPROCESS.X'.
Every rule that produces an object file uses the variable
-`OUTPUT_OPTION'. `make' defines this variable either to contain `-o
+'OUTPUT_OPTION'. 'make' defines this variable either to contain '-o
$@', or to be empty, depending on a compile-time option. You need the
-`-o' option to ensure that the output goes into the right file when the
-source file is in a different directory, as when using `VPATH' (*note
-Directory Search::). However, compilers on some systems do not accept
-a `-o' switch for object files. If you use such a system, and use
-`VPATH', some compilations will put their output in the wrong place. A
-possible workaround for this problem is to give `OUTPUT_OPTION' the
-value `; mv $*.o $@'.
+'-o' option to ensure that the output goes into the right file when the
+source file is in a different directory, as when using 'VPATH' (*note
+Directory Search::). However, compilers on some systems do not accept a
+'-o' switch for object files. If you use such a system, and use
+'VPATH', some compilations will put their output in the wrong place. A
+possible workaround for this problem is to give 'OUTPUT_OPTION' the
+value '; mv $*.o $@'.

File: make.info, Node: Implicit Variables, Next: Chained Rules, Prev: Catalogue of Rules, Up: Implicit Rules
@@ -659,160 +365,160 @@ File: make.info, Node: Implicit Variables, Next: Chained Rules, Prev: Catalog
The recipes in built-in implicit rules make liberal use of certain
predefined variables. You can alter the values of these variables in
-the makefile, with arguments to `make', or in the environment to alter
+the makefile, with arguments to 'make', or in the environment to alter
how the implicit rules work without redefining the rules themselves.
-You can cancel all variables used by implicit rules with the `-R' or
-`--no-builtin-variables' option.
+You can cancel all variables used by implicit rules with the '-R' or
+'--no-builtin-variables' option.
For example, the recipe used to compile a C source file actually says
-`$(CC) -c $(CFLAGS) $(CPPFLAGS)'. The default values of the variables
-used are `cc' and nothing, resulting in the command `cc -c'. By
-redefining `CC' to `ncc', you could cause `ncc' to be used for all C
-compilations performed by the implicit rule. By redefining `CFLAGS' to
-be `-g', you could pass the `-g' option to each compilation. _All_
-implicit rules that do C compilation use `$(CC)' to get the program
-name for the compiler and _all_ include `$(CFLAGS)' among the arguments
-given to the compiler.
+'$(CC) -c $(CFLAGS) $(CPPFLAGS)'. The default values of the variables
+used are 'cc' and nothing, resulting in the command 'cc -c'. By
+redefining 'CC' to 'ncc', you could cause 'ncc' to be used for all C
+compilations performed by the implicit rule. By redefining 'CFLAGS' to
+be '-g', you could pass the '-g' option to each compilation. _All_
+implicit rules that do C compilation use '$(CC)' to get the program name
+for the compiler and _all_ include '$(CFLAGS)' among the arguments given
+to the compiler.
The variables used in implicit rules fall into two classes: those
-that are names of programs (like `CC') and those that contain arguments
-for the programs (like `CFLAGS'). (The "name of a program" may also
+that are names of programs (like 'CC') and those that contain arguments
+for the programs (like 'CFLAGS'). (The "name of a program" may also
contain some command arguments, but it must start with an actual
executable program name.) If a variable value contains more than one
argument, separate them with spaces.
The following tables describe of some of the more commonly-used
predefined variables. This list is not exhaustive, and the default
-values shown here may not be what `make' selects for your environment.
+values shown here may not be what 'make' selects for your environment.
To see the complete list of predefined variables for your instance of
-GNU `make' you can run `make -p' in a directory with no makefiles.
+GNU 'make' you can run 'make -p' in a directory with no makefiles.
Here is a table of some of the more common variables used as names of
programs in built-in rules:
-`AR'
- Archive-maintaining program; default `ar'.
+'AR'
+ Archive-maintaining program; default 'ar'.
-`AS'
- Program for compiling assembly files; default `as'.
+'AS'
+ Program for compiling assembly files; default 'as'.
-`CC'
- Program for compiling C programs; default `cc'.
+'CC'
+ Program for compiling C programs; default 'cc'.
-`CXX'
- Program for compiling C++ programs; default `g++'.
+'CXX'
+ Program for compiling C++ programs; default 'g++'.
-`CPP'
+'CPP'
Program for running the C preprocessor, with results to standard
- output; default `$(CC) -E'.
+ output; default '$(CC) -E'.
-`FC'
+'FC'
Program for compiling or preprocessing Fortran and Ratfor programs;
- default `f77'.
+ default 'f77'.
-`M2C'
- Program to use to compile Modula-2 source code; default `m2c'.
+'M2C'
+ Program to use to compile Modula-2 source code; default 'm2c'.
-`PC'
- Program for compiling Pascal programs; default `pc'.
+'PC'
+ Program for compiling Pascal programs; default 'pc'.
-`CO'
- Program for extracting a file from RCS; default `co'.
+'CO'
+ Program for extracting a file from RCS; default 'co'.
-`GET'
- Program for extracting a file from SCCS; default `get'.
+'GET'
+ Program for extracting a file from SCCS; default 'get'.
-`LEX'
+'LEX'
Program to use to turn Lex grammars into source code; default
- `lex'.
+ 'lex'.
-`YACC'
+'YACC'
Program to use to turn Yacc grammars into source code; default
- `yacc'.
+ 'yacc'.
-`LINT'
- Program to use to run lint on source code; default `lint'.
+'LINT'
+ Program to use to run lint on source code; default 'lint'.
-`MAKEINFO'
+'MAKEINFO'
Program to convert a Texinfo source file into an Info file; default
- `makeinfo'.
+ 'makeinfo'.
-`TEX'
- Program to make TeX DVI files from TeX source; default `tex'.
+'TEX'
+ Program to make TeX DVI files from TeX source; default 'tex'.
-`TEXI2DVI'
+'TEXI2DVI'
Program to make TeX DVI files from Texinfo source; default
- `texi2dvi'.
+ 'texi2dvi'.
-`WEAVE'
- Program to translate Web into TeX; default `weave'.
+'WEAVE'
+ Program to translate Web into TeX; default 'weave'.
-`CWEAVE'
- Program to translate C Web into TeX; default `cweave'.
+'CWEAVE'
+ Program to translate C Web into TeX; default 'cweave'.
-`TANGLE'
- Program to translate Web into Pascal; default `tangle'.
+'TANGLE'
+ Program to translate Web into Pascal; default 'tangle'.
-`CTANGLE'
- Program to translate C Web into C; default `ctangle'.
+'CTANGLE'
+ Program to translate C Web into C; default 'ctangle'.
-`RM'
- Command to remove a file; default `rm -f'.
+'RM'
+ Command to remove a file; default 'rm -f'.
Here is a table of variables whose values are additional arguments
for the programs above. The default values for all of these is the
empty string, unless otherwise noted.
-`ARFLAGS'
- Flags to give the archive-maintaining program; default `rv'.
+'ARFLAGS'
+ Flags to give the archive-maintaining program; default 'rv'.
-`ASFLAGS'
+'ASFLAGS'
Extra flags to give to the assembler (when explicitly invoked on a
- `.s' or `.S' file).
+ '.s' or '.S' file).
-`CFLAGS'
+'CFLAGS'
Extra flags to give to the C compiler.
-`CXXFLAGS'
+'CXXFLAGS'
Extra flags to give to the C++ compiler.
-`COFLAGS'
- Extra flags to give to the RCS `co' program.
+'COFLAGS'
+ Extra flags to give to the RCS 'co' program.
-`CPPFLAGS'
+'CPPFLAGS'
Extra flags to give to the C preprocessor and programs that use it
(the C and Fortran compilers).
-`FFLAGS'
+'FFLAGS'
Extra flags to give to the Fortran compiler.
-`GFLAGS'
- Extra flags to give to the SCCS `get' program.
+'GFLAGS'
+ Extra flags to give to the SCCS 'get' program.
-`LDFLAGS'
+'LDFLAGS'
Extra flags to give to compilers when they are supposed to invoke
- the linker, `ld', such as `-L'. Libraries (`-lfoo') should be
- added to the `LDLIBS' variable instead.
+ the linker, 'ld', such as '-L'. Libraries ('-lfoo') should be
+ added to the 'LDLIBS' variable instead.
-`LDLIBS'
+'LDLIBS'
Library flags or names given to compilers when they are supposed to
- invoke the linker, `ld'. `LOADLIBES' is a deprecated (but still
- supported) alternative to `LDLIBS'. Non-library linker flags,
- such as `-L', should go in the `LDFLAGS' variable.
+ invoke the linker, 'ld'. 'LOADLIBES' is a deprecated (but still
+ supported) alternative to 'LDLIBS'. Non-library linker flags, such
+ as '-L', should go in the 'LDFLAGS' variable.
-`LFLAGS'
+'LFLAGS'
Extra flags to give to Lex.
-`YFLAGS'
+'YFLAGS'
Extra flags to give to Yacc.
-`PFLAGS'
+'PFLAGS'
Extra flags to give to the Pascal compiler.
-`RFLAGS'
+'RFLAGS'
Extra flags to give to the Fortran compiler for Ratfor programs.
-`LINTFLAGS'
+'LINTFLAGS'
Extra flags to give to lint.

@@ -822,18 +528,18 @@ File: make.info, Node: Chained Rules, Next: Pattern Rules, Prev: Implicit Var
=============================
Sometimes a file can be made by a sequence of implicit rules. For
-example, a file `N.o' could be made from `N.y' by running first Yacc
-and then `cc'. Such a sequence is called a "chain".
-
- If the file `N.c' exists, or is mentioned in the makefile, no
-special searching is required: `make' finds that the object file can be
-made by C compilation from `N.c'; later on, when considering how to
-make `N.c', the rule for running Yacc is used. Ultimately both `N.c'
-and `N.o' are updated.
-
- However, even if `N.c' does not exist and is not mentioned, `make'
-knows how to envision it as the missing link between `N.o' and `N.y'!
-In this case, `N.c' is called an "intermediate file". Once `make' has
+example, a file 'N.o' could be made from 'N.y' by running first Yacc and
+then 'cc'. Such a sequence is called a "chain".
+
+ If the file 'N.c' exists, or is mentioned in the makefile, no special
+searching is required: 'make' finds that the object file can be made by
+C compilation from 'N.c'; later on, when considering how to make 'N.c',
+the rule for running Yacc is used. Ultimately both 'N.c' and 'N.o' are
+updated.
+
+ However, even if 'N.c' does not exist and is not mentioned, 'make'
+knows how to envision it as the missing link between 'N.o' and 'N.y'!
+In this case, 'N.c' is called an "intermediate file". Once 'make' has
decided to use the intermediate file, it is entered in the data base as
if it had been mentioned in the makefile, along with the implicit rule
that says how to create it.
@@ -842,56 +548,56 @@ that says how to create it.
files. But intermediate files are treated differently in two ways.
The first difference is what happens if the intermediate file does
-not exist. If an ordinary file B does not exist, and `make' considers
-a target that depends on B, it invariably creates B and then updates
-the target from B. But if B is an intermediate file, then `make' can
-leave well enough alone. It won't bother updating B, or the ultimate
-target, unless some prerequisite of B is newer than that target or
-there is some other reason to update that target.
-
- The second difference is that if `make' _does_ create B in order to
+not exist. If an ordinary file B does not exist, and 'make' considers a
+target that depends on B, it invariably creates B and then updates the
+target from B. But if B is an intermediate file, then 'make' can leave
+well enough alone. It won't bother updating B, or the ultimate target,
+unless some prerequisite of B is newer than that target or there is some
+other reason to update that target.
+
+ The second difference is that if 'make' _does_ create B in order to
update something else, it deletes B later on after it is no longer
needed. Therefore, an intermediate file which did not exist before
-`make' also does not exist after `make'. `make' reports the deletion
-to you by printing a `rm -f' command showing which file it is deleting.
+'make' also does not exist after 'make'. 'make' reports the deletion to
+you by printing a 'rm -f' command showing which file it is deleting.
Ordinarily, a file cannot be intermediate if it is mentioned in the
makefile as a target or prerequisite. However, you can explicitly mark
a file as intermediate by listing it as a prerequisite of the special
-target `.INTERMEDIATE'. This takes effect even if the file is mentioned
+target '.INTERMEDIATE'. This takes effect even if the file is mentioned
explicitly in some other way.
- You can prevent automatic deletion of an intermediate file by
-marking it as a "secondary" file. To do this, list it as a
-prerequisite of the special target `.SECONDARY'. When a file is
-secondary, `make' will not create the file merely because it does not
-already exist, but `make' does not automatically delete the file.
-Marking a file as secondary also marks it as intermediate.
+ You can prevent automatic deletion of an intermediate file by marking
+it as a "secondary" file. To do this, list it as a prerequisite of the
+special target '.SECONDARY'. When a file is secondary, 'make' will not
+create the file merely because it does not already exist, but 'make'
+does not automatically delete the file. Marking a file as secondary
+also marks it as intermediate.
- You can list the target pattern of an implicit rule (such as `%.o')
-as a prerequisite of the special target `.PRECIOUS' to preserve
+ You can list the target pattern of an implicit rule (such as '%.o')
+as a prerequisite of the special target '.PRECIOUS' to preserve
intermediate files made by implicit rules whose target patterns match
-that file's name; see *note Interrupts::.
+that file's name; see *note Interrupts::.
A chain can involve more than two implicit rules. For example, it is
-possible to make a file `foo' from `RCS/foo.y,v' by running RCS, Yacc
-and `cc'. Then both `foo.y' and `foo.c' are intermediate files that
-are deleted at the end.
+possible to make a file 'foo' from 'RCS/foo.y,v' by running RCS, Yacc
+and 'cc'. Then both 'foo.y' and 'foo.c' are intermediate files that are
+deleted at the end.
No single implicit rule can appear more than once in a chain. This
-means that `make' will not even consider such a ridiculous thing as
-making `foo' from `foo.o.o' by running the linker twice. This
+means that 'make' will not even consider such a ridiculous thing as
+making 'foo' from 'foo.o.o' by running the linker twice. This
constraint has the added benefit of preventing any infinite loop in the
search for an implicit rule chain.
There are some special implicit rules to optimize certain cases that
-would otherwise be handled by rule chains. For example, making `foo'
-from `foo.c' could be handled by compiling and linking with separate
-chained rules, using `foo.o' as an intermediate file. But what
-actually happens is that a special rule for this case does the
-compilation and linking with a single `cc' command. The optimized rule
-is used in preference to the step-by-step chain because it comes
-earlier in the ordering of rules.
+would otherwise be handled by rule chains. For example, making 'foo'
+from 'foo.c' could be handled by compiling and linking with separate
+chained rules, using 'foo.o' as an intermediate file. But what actually
+happens is that a special rule for this case does the compilation and
+linking with a single 'cc' command. The optimized rule is used in
+preference to the step-by-step chain because it comes earlier in the
+ordering of rules.

File: make.info, Node: Pattern Rules, Next: Last Resort, Prev: Chained Rules, Up: Implicit Rules
@@ -899,18 +605,17 @@ File: make.info, Node: Pattern Rules, Next: Last Resort, Prev: Chained Rules,
10.5 Defining and Redefining Pattern Rules
==========================================
-You define an implicit rule by writing a "pattern rule". A pattern
-rule looks like an ordinary rule, except that its target contains the
-character `%' (exactly one of them). The target is considered a
-pattern for matching file names; the `%' can match any nonempty
-substring, while other characters match only themselves. The
-prerequisites likewise use `%' to show how their names relate to the
-target name.
+You define an implicit rule by writing a "pattern rule". A pattern rule
+looks like an ordinary rule, except that its target contains the
+character '%' (exactly one of them). The target is considered a pattern
+for matching file names; the '%' can match any nonempty substring, while
+other characters match only themselves. The prerequisites likewise use
+'%' to show how their names relate to the target name.
- Thus, a pattern rule `%.o : %.c' says how to make any file `STEM.o'
-from another file `STEM.c'.
+ Thus, a pattern rule '%.o : %.c' says how to make any file 'STEM.o'
+from another file 'STEM.c'.
- Note that expansion using `%' in pattern rules occurs *after* any
+ Note that expansion using '%' in pattern rules occurs *after* any
variable or function expansions, which take place when the makefile is
read. *Note How to Use Variables: Using Variables, and *note Functions
for Transforming Text: Functions.
@@ -933,54 +638,54 @@ File: make.info, Node: Pattern Intro, Next: Pattern Examples, Prev: Pattern R
10.5.1 Introduction to Pattern Rules
------------------------------------
-A pattern rule contains the character `%' (exactly one of them) in the
+A pattern rule contains the character '%' (exactly one of them) in the
target; otherwise, it looks exactly like an ordinary rule. The target
-is a pattern for matching file names; the `%' matches any nonempty
-substring, while other characters match only themselves.
-
- For example, `%.c' as a pattern matches any file name that ends in
-`.c'. `s.%.c' as a pattern matches any file name that starts with
-`s.', ends in `.c' and is at least five characters long. (There must
-be at least one character to match the `%'.) The substring that the
-`%' matches is called the "stem".
-
- `%' in a prerequisite of a pattern rule stands for the same stem
-that was matched by the `%' in the target. In order for the pattern
-rule to apply, its target pattern must match the file name under
-consideration and all of its prerequisites (after pattern substitution)
-must name files that exist or can be made. These files become
-prerequisites of the target.
+is a pattern for matching file names; the '%' matches any nonempty
+substring, while other characters match only themselves.
+
+ For example, '%.c' as a pattern matches any file name that ends in
+'.c'. 's.%.c' as a pattern matches any file name that starts with 's.',
+ends in '.c' and is at least five characters long. (There must be at
+least one character to match the '%'.) The substring that the '%'
+matches is called the "stem".
+
+ '%' in a prerequisite of a pattern rule stands for the same stem that
+was matched by the '%' in the target. In order for the pattern rule to
+apply, its target pattern must match the file name under consideration
+and all of its prerequisites (after pattern substitution) must name
+files that exist or can be made. These files become prerequisites of
+the target.
Thus, a rule of the form
%.o : %.c ; RECIPE...
-specifies how to make a file `N.o', with another file `N.c' as its
-prerequisite, provided that `N.c' exists or can be made.
+specifies how to make a file 'N.o', with another file 'N.c' as its
+prerequisite, provided that 'N.c' exists or can be made.
- There may also be prerequisites that do not use `%'; such a
+ There may also be prerequisites that do not use '%'; such a
prerequisite attaches to every file made by this pattern rule. These
unvarying prerequisites are useful occasionally.
- A pattern rule need not have any prerequisites that contain `%', or
+ A pattern rule need not have any prerequisites that contain '%', or
in fact any prerequisites at all. Such a rule is effectively a general
wildcard. It provides a way to make any file that matches the target
pattern. *Note Last Resort::.
- More than one pattern rule may match a target. In this case `make'
+ More than one pattern rule may match a target. In this case 'make'
will choose the "best fit" rule. *Note How Patterns Match: Pattern
Match.
Pattern rules may have more than one target. Unlike normal rules,
this does not act as many different rules with the same prerequisites
-and recipe. If a pattern rule has multiple targets, `make' knows that
+and recipe. If a pattern rule has multiple targets, 'make' knows that
the rule's recipe is responsible for making all of the targets. The
recipe is executed only once to make all the targets. When searching
for a pattern rule to match a target, the target patterns of a rule
other than the one that matches the target in need of a rule are
-incidental: `make' worries only about giving a recipe and prerequisites
+incidental: 'make' worries only about giving a recipe and prerequisites
to the file presently in question. However, when this file's recipe is
-run, the other targets are marked as having been updated themselves.
+run, the other targets are marked as having been updated themselves.

File: make.info, Node: Pattern Examples, Next: Automatic Variables, Prev: Pattern Intro, Up: Pattern Rules
@@ -988,15 +693,15 @@ File: make.info, Node: Pattern Examples, Next: Automatic Variables, Prev: Pat
10.5.2 Pattern Rule Examples
----------------------------
-Here are some examples of pattern rules actually predefined in `make'.
-First, the rule that compiles `.c' files into `.o' files:
+Here are some examples of pattern rules actually predefined in 'make'.
+First, the rule that compiles '.c' files into '.o' files:
%.o : %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
-defines a rule that can make any file `X.o' from `X.c'. The recipe
-uses the automatic variables `$@' and `$<' to substitute the names of
-the target file and the source file in each case where the rule applies
+defines a rule that can make any file 'X.o' from 'X.c'. The recipe uses
+the automatic variables '$@' and '$<' to substitute the names of the
+target file and the source file in each case where the rule applies
(*note Automatic Variables::).
Here is a second built-in rule:
@@ -1004,9 +709,9 @@ the target file and the source file in each case where the rule applies
% :: RCS/%,v
$(CO) $(COFLAGS) $<
-defines a rule that can make any file `X' whatsoever from a
-corresponding file `X,v' in the sub-directory `RCS'. Since the target
-is `%', this rule will apply to any file whatever, provided the
+defines a rule that can make any file 'X' whatsoever from a
+corresponding file 'X,v' in the sub-directory 'RCS'. Since the target
+is '%', this rule will apply to any file whatever, provided the
appropriate prerequisite file exists. The double colon makes the rule
"terminal", which means that its prerequisite may not be an intermediate
file (*note Match-Anything Pattern Rules: Match-Anything Rules.).
@@ -1016,15 +721,15 @@ file (*note Match-Anything Pattern Rules: Match-Anything Rules.).
%.tab.c %.tab.h: %.y
bison -d $<
-This tells `make' that the recipe `bison -d X.y' will make both
-`X.tab.c' and `X.tab.h'. If the file `foo' depends on the files
-`parse.tab.o' and `scan.o' and the file `scan.o' depends on the file
-`parse.tab.h', when `parse.y' is changed, the recipe `bison -d parse.y'
-will be executed only once, and the prerequisites of both `parse.tab.o'
-and `scan.o' will be satisfied. (Presumably the file `parse.tab.o'
-will be recompiled from `parse.tab.c' and the file `scan.o' from
-`scan.c', while `foo' is linked from `parse.tab.o', `scan.o', and its
-other prerequisites, and it will execute happily ever after.)
+This tells 'make' that the recipe 'bison -d X.y' will make both
+'X.tab.c' and 'X.tab.h'. If the file 'foo' depends on the files
+'parse.tab.o' and 'scan.o' and the file 'scan.o' depends on the file
+'parse.tab.h', when 'parse.y' is changed, the recipe 'bison -d parse.y'
+will be executed only once, and the prerequisites of both 'parse.tab.o'
+and 'scan.o' will be satisfied. (Presumably the file 'parse.tab.o' will
+be recompiled from 'parse.tab.c' and the file 'scan.o' from 'scan.c',
+while 'foo' is linked from 'parse.tab.o', 'scan.o', and its other
+prerequisites, and it will execute happily ever after.)

File: make.info, Node: Automatic Variables, Next: Pattern Match, Prev: Pattern Examples, Up: Pattern Rules
@@ -1032,97 +737,97 @@ File: make.info, Node: Automatic Variables, Next: Pattern Match, Prev: Patter
10.5.3 Automatic Variables
--------------------------
-Suppose you are writing a pattern rule to compile a `.c' file into a
-`.o' file: how do you write the `cc' command so that it operates on the
+Suppose you are writing a pattern rule to compile a '.c' file into a
+'.o' file: how do you write the 'cc' command so that it operates on the
right source file name? You cannot write the name in the recipe,
because the name is different each time the implicit rule is applied.
- What you do is use a special feature of `make', the "automatic
+ What you do is use a special feature of 'make', the "automatic
variables". These variables have values computed afresh for each rule
-that is executed, based on the target and prerequisites of the rule.
-In this example, you would use `$@' for the object file name and `$<'
-for the source file name.
+that is executed, based on the target and prerequisites of the rule. In
+this example, you would use '$@' for the object file name and '$<' for
+the source file name.
It's very important that you recognize the limited scope in which
automatic variable values are available: they only have values within
the recipe. In particular, you cannot use them anywhere within the
target list of a rule; they have no value there and will expand to the
empty string. Also, they cannot be accessed directly within the
-prerequisite list of a rule. A common mistake is attempting to use
-`$@' within the prerequisites list; this will not work. However, there
-is a special feature of GNU `make', secondary expansion (*note
-Secondary Expansion::), which will allow automatic variable values to
-be used in prerequisite lists.
+prerequisite list of a rule. A common mistake is attempting to use '$@'
+within the prerequisites list; this will not work. However, there is a
+special feature of GNU 'make', secondary expansion (*note Secondary
+Expansion::), which will allow automatic variable values to be used in
+prerequisite lists.
Here is a table of automatic variables:
-`$@'
+'$@'
The file name of the target of the rule. If the target is an
- archive member, then `$@' is the name of the archive file. In a
+ archive member, then '$@' is the name of the archive file. In a
pattern rule that has multiple targets (*note Introduction to
- Pattern Rules: Pattern Intro.), `$@' is the name of whichever
+ Pattern Rules: Pattern Intro.), '$@' is the name of whichever
target caused the rule's recipe to be run.
-`$%'
+'$%'
The target member name, when the target is an archive member.
- *Note Archives::. For example, if the target is `foo.a(bar.o)'
- then `$%' is `bar.o' and `$@' is `foo.a'. `$%' is empty when the
+ *Note Archives::. For example, if the target is 'foo.a(bar.o)'
+ then '$%' is 'bar.o' and '$@' is 'foo.a'. '$%' is empty when the
target is not an archive member.
-`$<'
+'$<'
The name of the first prerequisite. If the target got its recipe
- from an implicit rule, this will be the first prerequisite added
- by the implicit rule (*note Implicit Rules::).
+ from an implicit rule, this will be the first prerequisite added by
+ the implicit rule (*note Implicit Rules::).
-`$?'
+'$?'
The names of all the prerequisites that are newer than the target,
with spaces between them. For prerequisites which are archive
- members, only the named member is used (*note Archives::).
+ members, only the named member is used (*note Archives::).
-`$^'
+'$^'
The names of all the prerequisites, with spaces between them. For
prerequisites which are archive members, only the named member is
used (*note Archives::). A target has only one prerequisite on
each other file it depends on, no matter how many times each file
is listed as a prerequisite. So if you list a prerequisite more
- than once for a target, the value of `$^' contains just one copy
- of the name. This list does *not* contain any of the order-only
- prerequisites; for those see the `$|' variable, below.
+ than once for a target, the value of '$^' contains just one copy of
+ the name. This list does *not* contain any of the order-only
+ prerequisites; for those see the '$|' variable, below.
-`$+'
- This is like `$^', but prerequisites listed more than once are
+'$+'
+ This is like '$^', but prerequisites listed more than once are
duplicated in the order they were listed in the makefile. This is
- primarily useful for use in linking commands where it is
- meaningful to repeat library file names in a particular order.
+ primarily useful for use in linking commands where it is meaningful
+ to repeat library file names in a particular order.
-`$|'
+'$|'
The names of all the order-only prerequisites, with spaces between
them.
-`$*'
+'$*'
The stem with which an implicit rule matches (*note How Patterns
- Match: Pattern Match.). If the target is `dir/a.foo.b' and the
- target pattern is `a.%.b' then the stem is `dir/foo'. The stem is
- useful for constructing names of related files.
+ Match: Pattern Match.). If the target is 'dir/a.foo.b' and the
+ target pattern is 'a.%.b' then the stem is 'dir/foo'. The stem is
+ useful for constructing names of related files.
In a static pattern rule, the stem is part of the file name that
- matched the `%' in the target pattern.
+ matched the '%' in the target pattern.
- In an explicit rule, there is no stem; so `$*' cannot be determined
+ In an explicit rule, there is no stem; so '$*' cannot be determined
in that way. Instead, if the target name ends with a recognized
- suffix (*note Old-Fashioned Suffix Rules: Suffix Rules.), `$*' is
+ suffix (*note Old-Fashioned Suffix Rules: Suffix Rules.), '$*' is
set to the target name minus the suffix. For example, if the
- target name is `foo.c', then `$*' is set to `foo', since `.c' is a
- suffix. GNU `make' does this bizarre thing only for compatibility
- with other implementations of `make'. You should generally avoid
- using `$*' except in implicit rules or static pattern rules.
+ target name is 'foo.c', then '$*' is set to 'foo', since '.c' is a
+ suffix. GNU 'make' does this bizarre thing only for compatibility
+ with other implementations of 'make'. You should generally avoid
+ using '$*' except in implicit rules or static pattern rules.
If the target name in an explicit rule does not end with a
- recognized suffix, `$*' is set to the empty string for that rule.
+ recognized suffix, '$*' is set to the empty string for that rule.
- `$?' is useful even in explicit rules when you wish to operate on
+ '$?' is useful even in explicit rules when you wish to operate on
only the prerequisites that have changed. For example, suppose that an
-archive named `lib' is supposed to contain copies of several object
+archive named 'lib' is supposed to contain copies of several object
files. This rule copies just the changed object files into the archive:
lib: foo.o bar.o lose.o win.o
@@ -1132,66 +837,65 @@ files. This rule copies just the changed object files into the archive:
names, and three have values that are lists of file names. These seven
have variants that get just the file's directory name or just the file
name within the directory. The variant variables' names are formed by
-appending `D' or `F', respectively. These variants are semi-obsolete
-in GNU `make' since the functions `dir' and `notdir' can be used to get
-a similar effect (*note Functions for File Names: File Name
-Functions.). Note, however, that the `D' variants all omit the
-trailing slash which always appears in the output of the `dir'
-function. Here is a table of the variants:
-
-`$(@D)'
+appending 'D' or 'F', respectively. These variants are semi-obsolete in
+GNU 'make' since the functions 'dir' and 'notdir' can be used to get a
+similar effect (*note Functions for File Names: File Name Functions.).
+Note, however, that the 'D' variants all omit the trailing slash which
+always appears in the output of the 'dir' function. Here is a table of
+the variants:
+
+'$(@D)'
The directory part of the file name of the target, with the
- trailing slash removed. If the value of `$@' is `dir/foo.o' then
- `$(@D)' is `dir'. This value is `.' if `$@' does not contain a
+ trailing slash removed. If the value of '$@' is 'dir/foo.o' then
+ '$(@D)' is 'dir'. This value is '.' if '$@' does not contain a
slash.
-`$(@F)'
+'$(@F)'
The file-within-directory part of the file name of the target. If
- the value of `$@' is `dir/foo.o' then `$(@F)' is `foo.o'. `$(@F)'
- is equivalent to `$(notdir $@)'.
+ the value of '$@' is 'dir/foo.o' then '$(@F)' is 'foo.o'. '$(@F)'
+ is equivalent to '$(notdir $@)'.
-`$(*D)'
-`$(*F)'
+'$(*D)'
+'$(*F)'
The directory part and the file-within-directory part of the stem;
- `dir' and `foo' in this example.
+ 'dir' and 'foo' in this example.
-`$(%D)'
-`$(%F)'
+'$(%D)'
+'$(%F)'
The directory part and the file-within-directory part of the target
archive member name. This makes sense only for archive member
- targets of the form `ARCHIVE(MEMBER)' and is useful only when
+ targets of the form 'ARCHIVE(MEMBER)' and is useful only when
MEMBER may contain a directory name. (*Note Archive Members as
Targets: Archive Members.)
-`$(<D)'
-`$(<F)'
+'$(<D)'
+'$(<F)'
The directory part and the file-within-directory part of the first
prerequisite.
-`$(^D)'
-`$(^F)'
- Lists of the directory parts and the file-within-directory parts
- of all prerequisites.
+'$(^D)'
+'$(^F)'
+ Lists of the directory parts and the file-within-directory parts of
+ all prerequisites.
-`$(+D)'
-`$(+F)'
- Lists of the directory parts and the file-within-directory parts
- of all prerequisites, including multiple instances of duplicated
+'$(+D)'
+'$(+F)'
+ Lists of the directory parts and the file-within-directory parts of
+ all prerequisites, including multiple instances of duplicated
prerequisites.
-`$(?D)'
-`$(?F)'
+'$(?D)'
+'$(?F)'
Lists of the directory parts and the file-within-directory parts of
all prerequisites that are newer than the target.
Note that we use a special stylistic convention when we talk about
-these automatic variables; we write "the value of `$<'", rather than
-"the variable `<'" as we would write for ordinary variables such as
-`objects' and `CFLAGS'. We think this convention looks more natural in
-this special case. Please do not assume it has a deep significance;
-`$<' refers to the variable named `<' just as `$(CFLAGS)' refers to the
-variable named `CFLAGS'. You could just as well use `$(<)' in place of
-`$<'.
+these automatic variables; we write "the value of '$<'", rather than "the variable '<'"
+as we would write for ordinary variables such as 'objects' and 'CFLAGS'.
+We think this convention looks more natural in this special case.
+Please do not assume it has a deep significance; '$<' refers to the
+variable named '<' just as '$(CFLAGS)' refers to the variable named
+'CFLAGS'. You could just as well use '$(<)' in place of '$<'.

File: make.info, Node: Pattern Match, Next: Match-Anything Rules, Prev: Automatic Variables, Up: Pattern Rules
@@ -1199,15 +903,15 @@ File: make.info, Node: Pattern Match, Next: Match-Anything Rules, Prev: Autom
10.5.4 How Patterns Match
-------------------------
-A target pattern is composed of a `%' between a prefix and a suffix,
+A target pattern is composed of a '%' between a prefix and a suffix,
either or both of which may be empty. The pattern matches a file name
only if the file name starts with the prefix and ends with the suffix,
without overlap. The text between the prefix and the suffix is called
-the "stem". Thus, when the pattern `%.o' matches the file name
-`test.o', the stem is `test'. The pattern rule prerequisites are
-turned into actual file names by substituting the stem for the character
-`%'. Thus, if in the same example one of the prerequisites is written
-as `%.c', it expands to `test.c'.
+the "stem". Thus, when the pattern '%.o' matches the file name
+'test.o', the stem is 'test'. The pattern rule prerequisites are turned
+into actual file names by substituting the stem for the character '%'.
+Thus, if in the same example one of the prerequisites is written as
+'%.c', it expands to 'test.c'.
When the target pattern does not contain a slash (and it usually does
not), directory names in the file names are removed from the file name
@@ -1217,24 +921,24 @@ along with the slash that ends them, are added on to the prerequisite
file names generated from the pattern rule's prerequisite patterns and
the file name. The directories are ignored only for the purpose of
finding an implicit rule to use, not in the application of that rule.
-Thus, `e%t' matches the file name `src/eat', with `src/a' as the stem.
+Thus, 'e%t' matches the file name 'src/eat', with 'src/a' as the stem.
When prerequisites are turned into file names, the directories from the
stem are added at the front, while the rest of the stem is substituted
-for the `%'. The stem `src/a' with a prerequisite pattern `c%r' gives
-the file name `src/car'.
+for the '%'. The stem 'src/a' with a prerequisite pattern 'c%r' gives
+the file name 'src/car'.
A pattern rule can be used to build a given file only if there is a
target pattern that matches the file name, _and_ all prerequisites in
that rule either exist or can be built. The rules you write take
-precedence over those that are built in. Note however, that a rule
+precedence over those that are built in. Note however, that a rule
whose prerequisites actually exist or are mentioned always takes
priority over a rule with prerequisites that must be made by chaining
other implicit rules.
It is possible that more than one pattern rule will meet these
-criteria. In that case, `make' will choose the rule with the shortest
+criteria. In that case, 'make' will choose the rule with the shortest
stem (that is, the pattern that matches most specifically). If more
-than one pattern rule has the shortest stem, `make' will choose the
+than one pattern rule has the shortest stem, 'make' will choose the
first one found in the makefile.
This algorithm results in more specific rules being preferred over
@@ -1249,15 +953,15 @@ more generic ones; for example:
lib/%.o: lib/%.c
$(CC) -fPIC -c $(CFLAGS) $(CPPFLAGS) $< -o $@
- Given these rules and asked to build `bar.o' where both `bar.c' and
-`bar.f' exist, `make' will choose the first rule and compile `bar.c'
-into `bar.o'. In the same situation where `bar.c' does not exist, then
-`make' will choose the second rule and compile `bar.f' into `bar.o'.
+ Given these rules and asked to build 'bar.o' where both 'bar.c' and
+'bar.f' exist, 'make' will choose the first rule and compile 'bar.c'
+into 'bar.o'. In the same situation where 'bar.c' does not exist, then
+'make' will choose the second rule and compile 'bar.f' into 'bar.o'.
- If `make' is asked to build `lib/bar.o' and both `lib/bar.c' and
-`lib/bar.f' exist, then the third rule will be chosen since the stem
-for this rule (`bar') is shorter than the stem for the first rule
-(`lib/bar'). If `lib/bar.c' does not exist then the third rule is not
+ If 'make' is asked to build 'lib/bar.o' and both 'lib/bar.c' and
+'lib/bar.f' exist, then the third rule will be chosen since the stem for
+this rule ('bar') is shorter than the stem for the first rule
+('lib/bar'). If 'lib/bar.c' does not exist then the third rule is not
eligible and the second rule will be used, even though the stem is
longer.
@@ -1267,62 +971,61 @@ File: make.info, Node: Match-Anything Rules, Next: Canceling Rules, Prev: Pat
10.5.5 Match-Anything Pattern Rules
-----------------------------------
-When a pattern rule's target is just `%', it matches any file name
+When a pattern rule's target is just '%', it matches any file name
whatever. We call these rules "match-anything" rules. They are very
-useful, but it can take a lot of time for `make' to think about them,
+useful, but it can take a lot of time for 'make' to think about them,
because it must consider every such rule for each file name listed
either as a target or as a prerequisite.
- Suppose the makefile mentions `foo.c'. For this target, `make'
-would have to consider making it by linking an object file `foo.c.o',
-or by C compilation-and-linking in one step from `foo.c.c', or by
-Pascal compilation-and-linking from `foo.c.p', and many other
-possibilities.
+ Suppose the makefile mentions 'foo.c'. For this target, 'make' would
+have to consider making it by linking an object file 'foo.c.o', or by C
+compilation-and-linking in one step from 'foo.c.c', or by Pascal
+compilation-and-linking from 'foo.c.p', and many other possibilities.
- We know these possibilities are ridiculous since `foo.c' is a C
-source file, not an executable. If `make' did consider these
+ We know these possibilities are ridiculous since 'foo.c' is a C
+source file, not an executable. If 'make' did consider these
possibilities, it would ultimately reject them, because files such as
-`foo.c.o' and `foo.c.p' would not exist. But these possibilities are so
-numerous that `make' would run very slowly if it had to consider them.
+'foo.c.o' and 'foo.c.p' would not exist. But these possibilities are so
+numerous that 'make' would run very slowly if it had to consider them.
- To gain speed, we have put various constraints on the way `make'
+ To gain speed, we have put various constraints on the way 'make'
considers match-anything rules. There are two different constraints
that can be applied, and each time you define a match-anything rule you
must choose one or the other for that rule.
One choice is to mark the match-anything rule as "terminal" by
defining it with a double colon. When a rule is terminal, it does not
-apply unless its prerequisites actually exist. Prerequisites that
-could be made with other implicit rules are not good enough. In other
-words, no further chaining is allowed beyond a terminal rule.
+apply unless its prerequisites actually exist. Prerequisites that could
+be made with other implicit rules are not good enough. In other words,
+no further chaining is allowed beyond a terminal rule.
For example, the built-in implicit rules for extracting sources from
-RCS and SCCS files are terminal; as a result, if the file `foo.c,v' does
-not exist, `make' will not even consider trying to make it as an
-intermediate file from `foo.c,v.o' or from `RCS/SCCS/s.foo.c,v'. RCS
+RCS and SCCS files are terminal; as a result, if the file 'foo.c,v' does
+not exist, 'make' will not even consider trying to make it as an
+intermediate file from 'foo.c,v.o' or from 'RCS/SCCS/s.foo.c,v'. RCS
and SCCS files are generally ultimate source files, which should not be
-remade from any other files; therefore, `make' can save time by not
+remade from any other files; therefore, 'make' can save time by not
looking for ways to remake them.
If you do not mark the match-anything rule as terminal, then it is
-non-terminal. A non-terminal match-anything rule cannot apply to a
-file name that indicates a specific type of data. A file name
-indicates a specific type of data if some non-match-anything implicit
-rule target matches it.
+non-terminal. A non-terminal match-anything rule cannot apply to a file
+name that indicates a specific type of data. A file name indicates a
+specific type of data if some non-match-anything implicit rule target
+matches it.
- For example, the file name `foo.c' matches the target for the pattern
-rule `%.c : %.y' (the rule to run Yacc). Regardless of whether this
+ For example, the file name 'foo.c' matches the target for the pattern
+rule '%.c : %.y' (the rule to run Yacc). Regardless of whether this
rule is actually applicable (which happens only if there is a file
-`foo.y'), the fact that its target matches is enough to prevent
+'foo.y'), the fact that its target matches is enough to prevent
consideration of any non-terminal match-anything rules for the file
-`foo.c'. Thus, `make' will not even consider trying to make `foo.c' as
-an executable file from `foo.c.o', `foo.c.c', `foo.c.p', etc.
+'foo.c'. Thus, 'make' will not even consider trying to make 'foo.c' as
+an executable file from 'foo.c.o', 'foo.c.c', 'foo.c.p', etc.
The motivation for this constraint is that non-terminal
-match-anything rules are used for making files containing specific
-types of data (such as executable files) and a file name with a
-recognized suffix indicates some other specific type of data (such as a
-C source file).
+match-anything rules are used for making files containing specific types
+of data (such as executable files) and a file name with a recognized
+suffix indicates some other specific type of data (such as a C source
+file).
Special built-in dummy pattern rules are provided solely to recognize
certain file names so that non-terminal match-anything rules will not be
@@ -1332,11 +1035,11 @@ implicit rule
%.p :
-exists to make sure that Pascal source files such as `foo.p' match a
+exists to make sure that Pascal source files such as 'foo.p' match a
specific target pattern and thereby prevent time from being wasted
-looking for `foo.p.o' or `foo.p.c'.
+looking for 'foo.p.o' or 'foo.p.c'.
- Dummy pattern rules such as the one for `%.p' are made for every
+ Dummy pattern rules such as the one for '%.p' are made for every
suffix listed as valid for use in suffix rules (*note Old-Fashioned
Suffix Rules: Suffix Rules.).
@@ -1353,8 +1056,8 @@ the built-in one is replaced. The new rule's position in the sequence
of implicit rules is determined by where you write the new rule.
You can cancel a built-in implicit rule by defining a pattern rule
-with the same target and prerequisites, but no recipe. For example,
-the following would cancel the rule that runs the assembler:
+with the same target and prerequisites, but no recipe. For example, the
+following would cancel the rule that runs the assembler:
%.o : %.s
@@ -1372,8 +1075,8 @@ recipe is used for all targets and prerequisites that have no recipe of
their own and for which no other implicit rule applies.
For example, when testing a makefile, you might not care if the
-source files contain real data, only that they exist. Then you might
-do this:
+source files contain real data, only that they exist. Then you might do
+this:
%::
touch $@
@@ -1383,20 +1086,20 @@ automatically.
You can instead define a recipe to be used for targets for which
there are no rules at all, even ones which don't specify recipes. You
-do this by writing a rule for the target `.DEFAULT'. Such a rule's
+do this by writing a rule for the target '.DEFAULT'. Such a rule's
recipe is used for all prerequisites which do not appear as targets in
any explicit rule, and for which no implicit rule applies. Naturally,
-there is no `.DEFAULT' rule unless you write one.
+there is no '.DEFAULT' rule unless you write one.
- If you use `.DEFAULT' with no recipe or prerequisites:
+ If you use '.DEFAULT' with no recipe or prerequisites:
.DEFAULT:
-the recipe previously stored for `.DEFAULT' is cleared. Then `make'
-acts as if you had never defined `.DEFAULT' at all.
+the recipe previously stored for '.DEFAULT' is cleared. Then 'make'
+acts as if you had never defined '.DEFAULT' at all.
If you do not want a target to get the recipe from a match-anything
-pattern rule or `.DEFAULT', but you also do not want any recipe to be
+pattern rule or '.DEFAULT', but you also do not want any recipe to be
run for the target, you can give it an empty recipe (*note Defining
Empty Recipes: Empty Recipes.).
@@ -1410,34 +1113,34 @@ File: make.info, Node: Suffix Rules, Next: Implicit Rule Search, Prev: Last R
===============================
"Suffix rules" are the old-fashioned way of defining implicit rules for
-`make'. Suffix rules are obsolete because pattern rules are more
-general and clearer. They are supported in GNU `make' for
-compatibility with old makefiles. They come in two kinds:
-"double-suffix" and "single-suffix".
+'make'. Suffix rules are obsolete because pattern rules are more
+general and clearer. They are supported in GNU 'make' for compatibility
+with old makefiles. They come in two kinds: "double-suffix" and
+"single-suffix".
A double-suffix rule is defined by a pair of suffixes: the target
suffix and the source suffix. It matches any file whose name ends with
the target suffix. The corresponding implicit prerequisite is made by
replacing the target suffix with the source suffix in the file name. A
-two-suffix rule whose target and source suffixes are `.o' and `.c' is
-equivalent to the pattern rule `%.o : %.c'.
+two-suffix rule whose target and source suffixes are '.o' and '.c' is
+equivalent to the pattern rule '%.o : %.c'.
A single-suffix rule is defined by a single suffix, which is the
source suffix. It matches any file name, and the corresponding implicit
prerequisite name is made by appending the source suffix. A
-single-suffix rule whose source suffix is `.c' is equivalent to the
-pattern rule `% : %.c'.
+single-suffix rule whose source suffix is '.c' is equivalent to the
+pattern rule '% : %.c'.
Suffix rule definitions are recognized by comparing each rule's
-target against a defined list of known suffixes. When `make' sees a
+target against a defined list of known suffixes. When 'make' sees a
rule whose target is a known suffix, this rule is considered a
-single-suffix rule. When `make' sees a rule whose target is two known
+single-suffix rule. When 'make' sees a rule whose target is two known
suffixes concatenated, this rule is taken as a double-suffix rule.
- For example, `.c' and `.o' are both on the default list of known
-suffixes. Therefore, if you define a rule whose target is `.c.o',
-`make' takes it to be a double-suffix rule with source suffix `.c' and
-target suffix `.o'. Here is the old-fashioned way to define the rule
+ For example, '.c' and '.o' are both on the default list of known
+suffixes. Therefore, if you define a rule whose target is '.c.o',
+'make' takes it to be a double-suffix rule with source suffix '.c' and
+target suffix '.o'. Here is the old-fashioned way to define the rule
for compiling a C source file:
.c.o:
@@ -1450,43 +1153,43 @@ suffix rules. Thus, the rule:
.c.o: foo.h
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
-tells how to make the file `.c.o' from the prerequisite file `foo.h',
+tells how to make the file '.c.o' from the prerequisite file 'foo.h',
and is not at all like the pattern rule:
%.o: %.c foo.h
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
-which tells how to make `.o' files from `.c' files, and makes all `.o'
-files using this pattern rule also depend on `foo.h'.
+which tells how to make '.o' files from '.c' files, and makes all '.o'
+files using this pattern rule also depend on 'foo.h'.
Suffix rules with no recipe are also meaningless. They do not remove
previous rules as do pattern rules with no recipe (*note Canceling
-Implicit Rules: Canceling Rules.). They simply enter the suffix or
-pair of suffixes concatenated as a target in the data base.
+Implicit Rules: Canceling Rules.). They simply enter the suffix or pair
+of suffixes concatenated as a target in the data base.
The known suffixes are simply the names of the prerequisites of the
-special target `.SUFFIXES'. You can add your own suffixes by writing a
-rule for `.SUFFIXES' that adds more prerequisites, as in:
+special target '.SUFFIXES'. You can add your own suffixes by writing a
+rule for '.SUFFIXES' that adds more prerequisites, as in:
.SUFFIXES: .hack .win
-which adds `.hack' and `.win' to the end of the list of suffixes.
+which adds '.hack' and '.win' to the end of the list of suffixes.
If you wish to eliminate the default known suffixes instead of just
-adding to them, write a rule for `.SUFFIXES' with no prerequisites. By
+adding to them, write a rule for '.SUFFIXES' with no prerequisites. By
special dispensation, this eliminates all existing prerequisites of
-`.SUFFIXES'. You can then write another rule to add the suffixes you
+'.SUFFIXES'. You can then write another rule to add the suffixes you
want. For example,
.SUFFIXES: # Delete the default suffixes
.SUFFIXES: .c .o .h # Define our suffix list
- The `-r' or `--no-builtin-rules' flag causes the default list of
+ The '-r' or '--no-builtin-rules' flag causes the default list of
suffixes to be empty.
- The variable `SUFFIXES' is defined to the default list of suffixes
-before `make' reads any makefiles. You can change the list of suffixes
-with a rule for the special target `.SUFFIXES', but that does not alter
+ The variable 'SUFFIXES' is defined to the default list of suffixes
+before 'make' reads any makefiles. You can change the list of suffixes
+with a rule for the special target '.SUFFIXES', but that does not alter
this variable.

@@ -1495,28 +1198,28 @@ File: make.info, Node: Implicit Rule Search, Prev: Suffix Rules, Up: Implicit
10.8 Implicit Rule Search Algorithm
===================================
-Here is the procedure `make' uses for searching for an implicit rule
-for a target T. This procedure is followed for each double-colon rule
-with no recipe, for each target of ordinary rules none of which have a
+Here is the procedure 'make' uses for searching for an implicit rule for
+a target T. This procedure is followed for each double-colon rule with
+no recipe, for each target of ordinary rules none of which have a
recipe, and for each prerequisite that is not the target of any rule.
It is also followed recursively for prerequisites that come from
implicit rules, in the search for a chain of rules.
- Suffix rules are not mentioned in this algorithm because suffix
-rules are converted to equivalent pattern rules once the makefiles have
-been read in.
+ Suffix rules are not mentioned in this algorithm because suffix rules
+are converted to equivalent pattern rules once the makefiles have been
+read in.
- For an archive member target of the form `ARCHIVE(MEMBER)', the
+ For an archive member target of the form 'ARCHIVE(MEMBER)', the
following algorithm is run twice, first using the entire target name T,
-and second using `(MEMBER)' as the target T if the first run found no
+and second using '(MEMBER)' as the target T if the first run found no
rule.
1. Split T into a directory part, called D, and the rest, called N.
- For example, if T is `src/foo.o', then D is `src/' and N is
- `foo.o'.
+ For example, if T is 'src/foo.o', then D is 'src/' and N is
+ 'foo.o'.
- 2. Make a list of all the pattern rules one of whose targets matches
- T or N. If the target pattern contains a slash, it is matched
+ 2. Make a list of all the pattern rules one of whose targets matches T
+ or N. If the target pattern contains a slash, it is matched
against T; otherwise, against N.
3. If any rule in that list is _not_ a match-anything rule, then
@@ -1527,15 +1230,15 @@ rule.
5. For each pattern rule in the list:
a. Find the stem S, which is the nonempty part of T or N matched
- by the `%' in the target pattern.
+ by the '%' in the target pattern.
- b. Compute the prerequisite names by substituting S for `%'; if
+ b. Compute the prerequisite names by substituting S for '%'; if
the target pattern does not contain a slash, append D to the
front of each prerequisite name.
c. Test whether all the prerequisites exist or ought to exist.
- (If a file name is mentioned in the makefile as a target or
- as an explicit prerequisite, then we say it ought to exist.)
+ (If a file name is mentioned in the makefile as a target or as
+ an explicit prerequisite, then we say it ought to exist.)
If all prerequisites exist or ought to exist, or there are no
prerequisites, then this rule applies.
@@ -1556,17 +1259,17 @@ rule.
e. If all prerequisites exist, ought to exist, or can be made by
implicit rules, then this rule applies.
- 7. If no implicit rule applies, the rule for `.DEFAULT', if any,
- applies. In that case, give T the same recipe that `.DEFAULT'
- has. Otherwise, there is no recipe for T.
+ 7. If no implicit rule applies, the rule for '.DEFAULT', if any,
+ applies. In that case, give T the same recipe that '.DEFAULT' has.
+ Otherwise, there is no recipe for T.
Once a rule that applies has been found, for each target pattern of
-the rule other than the one that matched T or N, the `%' in the pattern
+the rule other than the one that matched T or N, the '%' in the pattern
is replaced with S and the resultant file name is stored until the
recipe to remake the target file T is executed. After the recipe is
-executed, each of these stored file names are entered into the data
-base and marked as having been updated and having the same update
-status as the file T.
+executed, each of these stored file names are entered into the data base
+and marked as having been updated and having the same update status as
+the file T.
When the recipe of a pattern rule is executed for T, the automatic
variables are set corresponding to the target and prerequisites. *Note
@@ -1575,11 +1278,11 @@ Automatic Variables::.

File: make.info, Node: Archives, Next: Extending make, Prev: Implicit Rules, Up: Top
-11 Using `make' to Update Archive Files
+11 Using 'make' to Update Archive Files
***************************************
"Archive files" are files containing named sub-files called "members";
-they are maintained with the program `ar' and their main use is as
+they are maintained with the program 'ar' and their main use is as
subroutine libraries for linking.
* Menu:
@@ -1597,25 +1300,25 @@ File: make.info, Node: Archive Members, Next: Archive Update, Prev: Archives,
===============================
An individual member of an archive file can be used as a target or
-prerequisite in `make'. You specify the member named MEMBER in archive
+prerequisite in 'make'. You specify the member named MEMBER in archive
file ARCHIVE as follows:
ARCHIVE(MEMBER)
This construct is available only in targets and prerequisites, not in
recipes! Most programs that you might use in recipes do not support
-this syntax and cannot act directly on archive members. Only `ar' and
+this syntax and cannot act directly on archive members. Only 'ar' and
other programs specifically designed to operate on archives can do so.
Therefore, valid recipes to update an archive member target probably
-must use `ar'. For example, this rule says to create a member `hack.o'
-in archive `foolib' by copying the file `hack.o':
+must use 'ar'. For example, this rule says to create a member 'hack.o'
+in archive 'foolib' by copying the file 'hack.o':
foolib(hack.o) : hack.o
ar cr foolib hack.o
In fact, nearly all archive member targets are updated in just this
way and there is an implicit rule to do it for you. *Please note:* The
-`c' flag to `ar' is required if the archive file does not already exist.
+'c' flag to 'ar' is required if the archive file does not already exist.
To specify several members in the same archive, you can write all the
member names together between the parentheses. For example:
@@ -1628,8 +1331,8 @@ is equivalent to:
You can also use shell-style wildcards in an archive member
reference. *Note Using Wildcard Characters in File Names: Wildcards.
-For example, `foolib(*.o)' expands to all existing members of the
-`foolib' archive whose names end in `.o'; perhaps `foolib(hack.o)
+For example, 'foolib(*.o)' expands to all existing members of the
+'foolib' archive whose names end in '.o'; perhaps 'foolib(hack.o)
foolib(kludge.o)'.

@@ -1638,45 +1341,45 @@ File: make.info, Node: Archive Update, Next: Archive Pitfalls, Prev: Archive
11.2 Implicit Rule for Archive Member Targets
=============================================
-Recall that a target that looks like `A(M)' stands for the member named
+Recall that a target that looks like 'A(M)' stands for the member named
M in the archive file A.
- When `make' looks for an implicit rule for such a target, as a
-special feature it considers implicit rules that match `(M)', as well as
-those that match the actual target `A(M)'.
+ When 'make' looks for an implicit rule for such a target, as a
+special feature it considers implicit rules that match '(M)', as well as
+those that match the actual target 'A(M)'.
- This causes one special rule whose target is `(%)' to match. This
-rule updates the target `A(M)' by copying the file M into the archive.
-For example, it will update the archive member target `foo.a(bar.o)' by
-copying the _file_ `bar.o' into the archive `foo.a' as a _member_ named
-`bar.o'.
+ This causes one special rule whose target is '(%)' to match. This
+rule updates the target 'A(M)' by copying the file M into the archive.
+For example, it will update the archive member target 'foo.a(bar.o)' by
+copying the _file_ 'bar.o' into the archive 'foo.a' as a _member_ named
+'bar.o'.
When this rule is chained with others, the result is very powerful.
-Thus, `make "foo.a(bar.o)"' (the quotes are needed to protect the `('
-and `)' from being interpreted specially by the shell) in the presence
-of a file `bar.c' is enough to cause the following recipe to be run,
+Thus, 'make "foo.a(bar.o)"' (the quotes are needed to protect the '('
+and ')' from being interpreted specially by the shell) in the presence
+of a file 'bar.c' is enough to cause the following recipe to be run,
even without a makefile:
cc -c bar.c -o bar.o
ar r foo.a bar.o
rm -f bar.o
-Here `make' has envisioned the file `bar.o' as an intermediate file.
+Here 'make' has envisioned the file 'bar.o' as an intermediate file.
*Note Chains of Implicit Rules: Chained Rules.
Implicit rules such as this one are written using the automatic
-variable `$%'. *Note Automatic Variables::.
+variable '$%'. *Note Automatic Variables::.
- An archive member name in an archive cannot contain a directory
-name, but it may be useful in a makefile to pretend that it does. If
-you write an archive member target `foo.a(dir/file.o)', `make' will
-perform automatic updating with this recipe:
+ An archive member name in an archive cannot contain a directory name,
+but it may be useful in a makefile to pretend that it does. If you
+write an archive member target 'foo.a(dir/file.o)', 'make' will perform
+automatic updating with this recipe:
ar r foo.a dir/file.o
-which has the effect of copying the file `dir/file.o' into a member
-named `file.o'. In connection with such usage, the automatic variables
-`%D' and `%F' may be useful.
+which has the effect of copying the file 'dir/file.o' into a member
+named 'file.o'. In connection with such usage, the automatic variables
+'%D' and '%F' may be useful.
* Menu:
@@ -1689,10 +1392,10 @@ File: make.info, Node: Archive Symbols, Prev: Archive Update, Up: Archive Upd
------------------------------------------
An archive file that is used as a library usually contains a special
-member named `__.SYMDEF' that contains a directory of the external
+member named '__.SYMDEF' that contains a directory of the external
symbol names defined by all the other members. After you update any
-other members, you need to update `__.SYMDEF' so that it will summarize
-the other members properly. This is done by running the `ranlib'
+other members, you need to update '__.SYMDEF' so that it will summarize
+the other members properly. This is done by running the 'ranlib'
program:
ranlib ARCHIVEFILE
@@ -1704,14 +1407,14 @@ For example,
libfoo.a: libfoo.a(x.o) libfoo.a(y.o) ...
ranlib libfoo.a
-The effect of this is to update archive members `x.o', `y.o', etc., and
-then update the symbol directory member `__.SYMDEF' by running
-`ranlib'. The rules for updating the members are not shown here; most
-likely you can omit them and use the implicit rule which copies files
-into the archive, as described in the preceding section.
+The effect of this is to update archive members 'x.o', 'y.o', etc., and
+then update the symbol directory member '__.SYMDEF' by running 'ranlib'.
+The rules for updating the members are not shown here; most likely you
+can omit them and use the implicit rule which copies files into the
+archive, as described in the preceding section.
- This is not necessary when using the GNU `ar' program, which updates
-the `__.SYMDEF' member automatically.
+ This is not necessary when using the GNU 'ar' program, which updates
+the '__.SYMDEF' member automatically.

File: make.info, Node: Archive Pitfalls, Next: Archive Suffix Rules, Prev: Archive Update, Up: Archives
@@ -1719,15 +1422,15 @@ File: make.info, Node: Archive Pitfalls, Next: Archive Suffix Rules, Prev: Ar
11.3 Dangers When Using Archives
================================
-It is important to be careful when using parallel execution (the `-j'
+It is important to be careful when using parallel execution (the '-j'
switch; *note Parallel Execution: Parallel.) and archives. If multiple
-`ar' commands run at the same time on the same archive file, they will
+'ar' commands run at the same time on the same archive file, they will
not know about each other and can corrupt the file.
- Possibly a future version of `make' will provide a mechanism to
+ Possibly a future version of 'make' will provide a mechanism to
circumvent this problem by serializing all recipes that operate on the
same archive file. But for the time being, you must either write your
-makefiles to avoid this problem in some other way, or not use `-j'.
+makefiles to avoid this problem in some other way, or not use '-j'.

File: make.info, Node: Archive Suffix Rules, Prev: Archive Pitfalls, Up: Archives
@@ -1737,12 +1440,12 @@ File: make.info, Node: Archive Suffix Rules, Prev: Archive Pitfalls, Up: Arch
You can write a special kind of suffix rule for dealing with archive
files. *Note Suffix Rules::, for a full explanation of suffix rules.
-Archive suffix rules are obsolete in GNU `make', because pattern rules
-for archives are a more general mechanism (*note Archive Update::).
-But they are retained for compatibility with other `make's.
+Archive suffix rules are obsolete in GNU 'make', because pattern rules
+for archives are a more general mechanism (*note Archive Update::). But
+they are retained for compatibility with other 'make's.
To write a suffix rule for archives, you simply write a suffix rule
-using the target suffix `.a' (the usual suffix for archive files). For
+using the target suffix '.a' (the usual suffix for archive files). For
example, here is the old-fashioned suffix rule to update a library
archive from C source files:
@@ -1758,36 +1461,36 @@ This works just as if you had written the pattern rule:
$(AR) r $@ $*.o
$(RM) $*.o
- In fact, this is just what `make' does when it sees a suffix rule
-with `.a' as the target suffix. Any double-suffix rule `.X.a' is
-converted to a pattern rule with the target pattern `(%.o)' and a
-prerequisite pattern of `%.X'.
+ In fact, this is just what 'make' does when it sees a suffix rule
+with '.a' as the target suffix. Any double-suffix rule '.X.a' is
+converted to a pattern rule with the target pattern '(%.o)' and a
+prerequisite pattern of '%.X'.
- Since you might want to use `.a' as the suffix for some other kind
-of file, `make' also converts archive suffix rules to pattern rules in
-the normal way (*note Suffix Rules::). Thus a double-suffix rule
-`.X.a' produces two pattern rules: `(%.o): %.X' and `%.a: %.X'.
+ Since you might want to use '.a' as the suffix for some other kind of
+file, 'make' also converts archive suffix rules to pattern rules in the
+normal way (*note Suffix Rules::). Thus a double-suffix rule '.X.a'
+produces two pattern rules: '(%.o): %.X' and '%.a: %.X'.

File: make.info, Node: Extending make, Next: Features, Prev: Archives, Up: Top
-12 Extending GNU `make'
+12 Extending GNU 'make'
***********************
-GNU `make' provides many advanced capabilities, including many useful
-functions. However, it does not contain a complete programming
-language and so it has limitations. Sometimes these limitations can be
-overcome through use of the `shell' function to invoke a separate
-program, although this can be inefficient.
+GNU 'make' provides many advanced capabilities, including many useful
+functions. However, it does not contain a complete programming language
+and so it has limitations. Sometimes these limitations can be overcome
+through use of the 'shell' function to invoke a separate program,
+although this can be inefficient.
- In cases where the built-in capabilities of GNU `make' are
+ In cases where the built-in capabilities of GNU 'make' are
insufficient to your requirements there are two options for extending
-`make'. On systems where it's provided, you can utilize GNU Guile as
-an embedded scripting language (*note GNU Guile Integration: Guile
+'make'. On systems where it's provided, you can utilize GNU Guile as an
+embedded scripting language (*note GNU Guile Integration: Guile
Integration.). On systems which support dynamically loadable objects,
you can write your own extension in any language (which can be compiled
-into such an object) and load it to provide extended capabilities
-(*note The `load' Directive: load Directive.).
+into such an object) and load it to provide extended capabilities (*note
+The 'load' Directive: load Directive.).
* Menu:
@@ -1800,29 +1503,29 @@ File: make.info, Node: Guile Integration, Next: Loading Objects, Prev: Extend
12.1 GNU Guile Integration
==========================
-GNU `make' may be built with support for GNU Guile as an embedded
+GNU 'make' may be built with support for GNU Guile as an embedded
extension language. Guile implements the Scheme language. A review of
GNU Guile and the Scheme language and its features is beyond the scope
of this manual: see the documentation for GNU Guile and Scheme.
- You can determine if `make' contains support for Guile by examining
-the `.FEATURES' variable; it will contain the word GUILE if Guile
+ You can determine if 'make' contains support for Guile by examining
+the '.FEATURES' variable; it will contain the word GUILE if Guile
support is available.
- The Guile integration provides one new `make' function: `guile'.
-The `guile' function takes one argument which is first expanded by
-`make' in the normal fashion, then passed to the GNU Guile evaluator.
-The result of the evaluator is converted into a string and used as the
-expansion of the `guile' function in the makefile.
+ The Guile integration provides one new 'make' function: 'guile'. The
+'guile' function takes one argument which is first expanded by 'make' in
+the normal fashion, then passed to the GNU Guile evaluator. The result
+of the evaluator is converted into a string and used as the expansion of
+the 'guile' function in the makefile.
- In addition, GNU `make' exposes Guile procedures for use in Guile
+ In addition, GNU 'make' exposes Guile procedures for use in Guile
scripts.
* Menu:
-* Guile Types:: Converting Guile types to `make' strings.
-* Guile Interface:: Invoking `make' functions from Guile.
-* Guile Example:: Example using Guile in `make'.
+* Guile Types:: Converting Guile types to 'make' strings.
+* Guile Interface:: Invoking 'make' functions from Guile.
+* Guile Example:: Example using Guile in 'make'.

File: make.info, Node: Guile Types, Next: Guile Interface, Prev: Guile Integration, Up: Guile Integration
@@ -1830,109 +1533,106 @@ File: make.info, Node: Guile Types, Next: Guile Interface, Prev: Guile Integr
12.1.1 Conversion of Guile Types
--------------------------------
-There is only one "data type" in `make': a string. GNU Guile, on the
+There is only one "data type" in 'make': a string. GNU Guile, on the
other hand, provides a rich variety of different data types. An
-important aspect of the interface between `make' and GNU Guile is the
-conversion of Guile data types into `make' strings.
+important aspect of the interface between 'make' and GNU Guile is the
+conversion of Guile data types into 'make' strings.
This conversion is relevant in two places: when a makefile invokes
-the `guile' function to evaluate a Guile expression, the result of that
+the 'guile' function to evaluate a Guile expression, the result of that
evaluation must be converted into a make string so it can be further
-evaluated by `make'. And secondly, when a Guile script invokes one of
-the procedures exported by `make' the argument provided to the
-procedure must be converted into a string.
+evaluated by 'make'. And secondly, when a Guile script invokes one of
+the procedures exported by 'make' the argument provided to the procedure
+must be converted into a string.
- The conversion of Guile types into `make' strings is as below:
+ The conversion of Guile types into 'make' strings is as below:
-`#f'
- False is converted into the empty string: in `make' conditionals
+'#f'
+ False is converted into the empty string: in 'make' conditionals
the empty string is considered false.
-`#t'
- True is converted to the string `#t': in `make' conditionals any
+'#t'
+ True is converted to the string '#t': in 'make' conditionals any
non-empty string is considered true.
-`symbol'
-
-`number'
+'symbol'
+'number'
A symbol or number is converted into the string representation of
that symbol or number.
-`character'
+'character'
A printable character is converted to the same character.
-`string'
+'string'
A string containing only printable characters is converted to the
same string.
-`list'
+'list'
A list is converted recursively according to the above rules. This
implies that any structured list will be flattened (that is, a
- result of `'(a b (c d) e)' will be converted to the `make' string
- `a b c d e').
+ result of ''(a b (c d) e)' will be converted to the 'make' string
+ 'a b c d e').
-`other'
+'other'
Any other Guile type results in an error. In future versions of
- `make', other Guile types may be converted.
+ 'make', other Guile types may be converted.
-
- The translation of `#f' (to the empty string) and `#t' (to the
-non-empty string `#t') is designed to allow you to use Guile boolean
-results directly as `make' boolean conditions. For example:
+ The translation of '#f' (to the empty string) and '#t' (to the
+non-empty string '#t') is designed to allow you to use Guile boolean
+results directly as 'make' boolean conditions. For example:
$(if $(guile (access? "myfile" R_OK)),$(info myfile exists))
As a consequence of these conversion rules you must consider the
result of your Guile script, as that result will be converted into a
-string and parsed by `make'. If there is no natural result for the
+string and parsed by 'make'. If there is no natural result for the
script (that is, the script exists solely for its side-effects), you
-should add `#f' as the final expression in order to avoid syntax errors
+should add '#f' as the final expression in order to avoid syntax errors
in your makefile.

File: make.info, Node: Guile Interface, Next: Guile Example, Prev: Guile Types, Up: Guile Integration
-12.1.2 Interfaces from Guile to `make'
+12.1.2 Interfaces from Guile to 'make'
--------------------------------------
-In addition to the `guile' function available in makefiles, `make'
+In addition to the 'guile' function available in makefiles, 'make'
exposes some procedures for use in your Guile scripts. At startup
-`make' creates a new Guile module, `gnu make', and exports these
+'make' creates a new Guile module, 'gnu make', and exports these
procedures as public interfaces from that module:
-`gmk-expand'
+'gmk-expand'
This procedure takes a single argument which is converted into a
- string. The string is expanded by `make' using normal `make'
+ string. The string is expanded by 'make' using normal 'make'
expansion rules. The result of the expansion is converted into a
Guile string and provided as the result of the procedure.
-`gmk-eval'
+'gmk-eval'
This procedure takes a single argument which is converted into a
- string. The string is evaluated by `make' as if it were a
- makefile. This is the same capability available via the `eval'
- function (*note Eval Function::). The result of the `gmk-eval'
+ string. The string is evaluated by 'make' as if it were a
+ makefile. This is the same capability available via the 'eval'
+ function (*note Eval Function::). The result of the 'gmk-eval'
procedure is always the empty string.
- Note that `gmk-eval' is not quite the same as using `gmk-expand'
- with the `eval' function: in the latter case the evaluated string
- will be expanded _twice_; first by `gmk-expand', then again by the
- `eval' function.
-
+ Note that 'gmk-eval' is not quite the same as using 'gmk-expand'
+ with the 'eval' function: in the latter case the evaluated string
+ will be expanded _twice_; first by 'gmk-expand', then again by the
+ 'eval' function.

File: make.info, Node: Guile Example, Prev: Guile Interface, Up: Guile Integration
-12.1.3 Example Using Guile in `make'
+12.1.3 Example Using Guile in 'make'
------------------------------------
Here is a very simple example using GNU Guile to manage writing to a
file. These Guile procedures simply open a file, allow writing to the
file (one string per line), and close the file. Note that because we
-cannot store complex values such as Guile ports in `make' variables,
+cannot store complex values such as Guile ports in 'make' variables,
we'll keep the port as a global variable in the Guile interpreter.
- You can create Guile functions easily using `define'/`endef' to
-create a Guile script, then use the `guile' function to internalize it:
+ You can create Guile functions easily using 'define'/'endef' to
+create a Guile script, then use the 'guile' function to internalize it:
define GUILEIO
;; A simple Guile IO library for GNU make
@@ -1959,14 +1659,14 @@ create a Guile script, then use the `guile' function to internalize it:
$(guile $(GUILEIO))
If you have a significant amount of Guile support code, you might
-consider keeping it in a different file (e.g., `guileio.scm') and then
-loading it in your makefile using the `guile' function:
+consider keeping it in a different file (e.g., 'guileio.scm') and then
+loading it in your makefile using the 'guile' function:
$(guile (load "guileio.scm"))
- An advantage to this method is that when editing `guileio.scm', your
-editor will understand that this file contains Scheme syntax rather
-than makefile syntax.
+ An advantage to this method is that when editing 'guileio.scm', your
+editor will understand that this file contains Scheme syntax rather than
+makefile syntax.
Now you can use these Guile functions to create files. Suppose you
need to operate on a very large list, which cannot fit on the command
@@ -1980,9 +1680,9 @@ line, but the utility you're using accepts the list as input as well:
A more comprehensive suite of file manipulation procedures is
possible of course. You could, for example, maintain multiple output
-files at the same time by choosing a symbol for each one and using it
-as the key to a hash table, where the value is a port, then returning
-the symbol to be stored in a `make' variable.
+files at the same time by choosing a symbol for each one and using it as
+the key to a hash table, where the value is a port, then returning the
+symbol to be stored in a 'make' variable.

File: make.info, Node: Loading Objects, Prev: Guile Integration, Up: Extending make
@@ -1990,25 +1690,25 @@ File: make.info, Node: Loading Objects, Prev: Guile Integration, Up: Extendin
12.2 Loading Dynamic Objects
============================
- Warning: The `load' directive and extension capability is
+ Warning: The 'load' directive and extension capability is
considered a "technology preview" in this release of GNU make. We
- encourage you to experiment with this feature and we appreciate
- any feedback on it. However we cannot guarantee to maintain
+ encourage you to experiment with this feature and we appreciate any
+ feedback on it. However we cannot guarantee to maintain
backward-compatibility in the next release. Consider using GNU
- Guile instead for extending GNU make (*note The `guile' Function:
+ Guile instead for extending GNU make (*note The 'guile' Function:
Guile Function.).
-Many operating systems provide a facility for dynamically loading
-compiled objects. If your system provides this facility, GNU `make'
-can make use of it to load dynamic objects at runtime, providing new
+ Many operating systems provide a facility for dynamically loading
+compiled objects. If your system provides this facility, GNU 'make' can
+make use of it to load dynamic objects at runtime, providing new
capabilities which may then be invoked by your makefile.
- The `load' directive is used to load a dynamic object. Once the
-object is loaded, a "setup" function will be invoked to allow the
-object to initialize itself and register new facilities with GNU
-`make'. A dynamic object might include new `make' functions, for
-example, and the "setup" function would register them with GNU `make''s
-function handling system.
+ The 'load' directive is used to load a dynamic object. Once the
+object is loaded, a "setup" function will be invoked to allow the object
+to initialize itself and register new facilities with GNU 'make'. A
+dynamic object might include new 'make' functions, for example, and the
+"setup" function would register them with GNU 'make''s function handling
+system.
* Menu:
@@ -2020,11 +1720,11 @@ function handling system.

File: make.info, Node: load Directive, Next: Remaking Loaded Objects, Prev: Loading Objects, Up: Loading Objects
-12.2.1 The `load' Directive
+12.2.1 The 'load' Directive
---------------------------
-Objects are loaded into GNU `make' by placing the `load' directive into
-your makefile. The syntax of the `load' directive is as follows:
+Objects are loaded into GNU 'make' by placing the 'load' directive into
+your makefile. The syntax of the 'load' directive is as follows:
load OBJECT-FILE ...
@@ -2032,13 +1732,13 @@ your makefile. The syntax of the `load' directive is as follows:
load OBJECT-FILE(SYMBOL-NAME) ...
- The file OBJECT-FILE is dynamically loaded by GNU `make'. If
+ The file OBJECT-FILE is dynamically loaded by GNU 'make'. If
OBJECT-FILE does not include a directory path then it is first looked
for in the current directory. If it is not found there, or a directory
path is included, then system-specific paths will be searched. If the
-load fails for any reason, `make' will print a message and exit.
+load fails for any reason, 'make' will print a message and exit.
- If the load succeeds `make' will invoke an initializing function.
+ If the load succeeds 'make' will invoke an initializing function.
If SYMBOL-NAME is provided, it will be used as the name of the
initializing function.
@@ -2047,16 +1747,16 @@ initializing function.
created by taking the base file name of OBJECT-FILE, up to the first
character which is not a valid symbol name character (alphanumerics and
underscores are valid symbol name characters). To this prefix will be
-appended the suffix `_gmk_setup'.
+appended the suffix '_gmk_setup'.
- More than one object file may be loaded with a single `load'
-directive, and both forms of `load' arguments may be used in the same
+ More than one object file may be loaded with a single 'load'
+directive, and both forms of 'load' arguments may be used in the same
directive.
The initializing function will be provided the file name and line
-number of the invocation of the `load' operation. It should return a
-value of type `int', which must be `0' on failure and non-`0' on
-success. If the return value is `-1', then GNU make will _not_ attempt
+number of the invocation of the 'load' operation. It should return a
+value of type 'int', which must be '0' on failure and non-'0' on
+success. If the return value is '-1', then GNU make will _not_ attempt
to rebuild the object file (*note How Loaded Objects Are Remade:
Remaking Loaded Objects.).
@@ -2064,30 +1764,30 @@ Remaking Loaded Objects.).
load ../mk_funcs.so
- will load the dynamic object `../mk_funcs.so'. After the object is
-loaded, `make' will invoke the function (assumed to be defined by the
-shared object) `mk_funcs_gmk_setup'.
+ will load the dynamic object '../mk_funcs.so'. After the object is
+loaded, 'make' will invoke the function (assumed to be defined by the
+shared object) 'mk_funcs_gmk_setup'.
On the other hand:
load ../mk_funcs.so(init_mk_func)
- will load the dynamic object `../mk_funcs.so'. After the object is
-loaded, `make' will invoke the function `init_mk_func'.
+ will load the dynamic object '../mk_funcs.so'. After the object is
+loaded, 'make' will invoke the function 'init_mk_func'.
- Regardless of how many times an object file appears in a `load'
+ Regardless of how many times an object file appears in a 'load'
directive, it will only be loaded (and its setup function will only be
invoked) once.
After an object has been successfully loaded, its file name is
-appended to the `.LOADED' variable.
+appended to the '.LOADED' variable.
If you would prefer that failure to load a dynamic object not be
-reported as an error, you can use the `-load' directive instead of
-`load'. GNU `make' will not fail and no message will be generated if
-an object fails to load. The failed object is not added to the
-`.LOADED' variable, which can then be consulted to determine if the
-load was successful.
+reported as an error, you can use the '-load' directive instead of
+'load'. GNU 'make' will not fail and no message will be generated if an
+object fails to load. The failed object is not added to the '.LOADED'
+variable, which can then be consulted to determine if the load was
+successful.

File: make.info, Node: Remaking Loaded Objects, Next: Loaded Object API, Prev: load Directive, Up: Loading Objects
@@ -2096,8 +1796,8 @@ File: make.info, Node: Remaking Loaded Objects, Next: Loaded Object API, Prev
------------------------------------
Loaded objects undergo the same re-make procedure as makefiles (*note
-How Makefiles Are Remade: Remaking Makefiles.). If any loaded object
-is recreated, then `make' will start from scratch and re-read all the
+How Makefiles Are Remade: Remaking Makefiles.). If any loaded object is
+recreated, then 'make' will start from scratch and re-read all the
makefiles, and reload the object files again. It is not necessary for
the loaded object to do anything special to support this.
@@ -2110,156 +1810,155 @@ File: make.info, Node: Loaded Object API, Next: Loaded Object Example, Prev:
12.2.3 Loaded Object Interface
------------------------------
- Warning: For this feature to be useful your extensions will need
- to invoke various functions internal to GNU `make'. The
- programming interfaces provided in this release should not be
- considered stable: functions may be added, removed, or change
- calling signatures or implementations in future versions of GNU
- `make'.
+ Warning: For this feature to be useful your extensions will need to
+ invoke various functions internal to GNU 'make'. The programming
+ interfaces provided in this release should not be considered
+ stable: functions may be added, removed, or change calling
+ signatures or implementations in future versions of GNU 'make'.
-To be useful, loaded objects must be able to interact with GNU `make'.
-This interaction includes both interfaces the loaded object provides to
-makefiles and also interfaces `make' provides to the loaded object to
-manipulate `make''s operation.
+ To be useful, loaded objects must be able to interact with GNU
+'make'. This interaction includes both interfaces the loaded object
+provides to makefiles and also interfaces 'make' provides to the loaded
+object to manipulate 'make''s operation.
- The interface between loaded objects and `make' is defined by the
-`gnumake.h' C header file. All loaded objects written in C should
+ The interface between loaded objects and 'make' is defined by the
+'gnumake.h' C header file. All loaded objects written in C should
include this header file. Any loaded object not written in C will need
to implement the interface defined in this header file.
- Typically, a loaded object will register one or more new GNU `make'
-functions using the `gmk_add_function' routine from within its setup
-function. The implementations of these `make' functions may make use
-of the `gmk_expand' and `gmk_eval' routines to perform their tasks,
-then optionally return a string as the result of the function expansion.
+ Typically, a loaded object will register one or more new GNU 'make'
+functions using the 'gmk_add_function' routine from within its setup
+function. The implementations of these 'make' functions may make use of
+the 'gmk_expand' and 'gmk_eval' routines to perform their tasks, then
+optionally return a string as the result of the function expansion.
Loaded Object Licensing
.......................
Every dynamic extension should define the global symbol
-`plugin_is_GPL_compatible' to assert that it has been licensed under a
-GPL-compatible license. If this symbol does not exist, `make' emits a
+'plugin_is_GPL_compatible' to assert that it has been licensed under a
+GPL-compatible license. If this symbol does not exist, 'make' emits a
fatal error and exits when it tries to load your extension.
- The declared type of the symbol should be `int'. It does not need to
+ The declared type of the symbol should be 'int'. It does not need to
be in any allocated section, though. The code merely asserts that the
-symbol exists in the global scope. Something like this is enough:
+symbol exists in the global scope. Something like this is enough:
int plugin_is_GPL_compatible;
Data Structures
...............
-`gmk_floc'
+'gmk_floc'
This structure represents a filename/location pair. It is provided
- when defining items, so GNU `make' can inform the user later where
+ when defining items, so GNU 'make' can inform the user later where
the definition occurred if necessary.
Registering Functions
.....................
There is currently one way for makefiles to invoke operations provided
-by the loaded object: through the `make' function call interface. A
+by the loaded object: through the 'make' function call interface. A
loaded object can register one or more new functions which may then be
invoked from within the makefile in the same way as any other function.
- Use `gmk_add_function' to create a new `make' function. Its
+ Use 'gmk_add_function' to create a new 'make' function. Its
arguments are as follows:
-`name'
+'name'
The function name. This is what the makefile should use to invoke
the function. The name must be between 1 and 255 characters long
- and it may only contain alphanumeric, period (`.'), dash (`-'), and
- underscore (`_') characters. It may not begin with a period.
+ and it may only contain alphanumeric, period ('.'), dash ('-'), and
+ underscore ('_') characters. It may not begin with a period.
-`func_ptr'
- A pointer to a function that `make' will invoke when it expands
- the function in a makefile. This function must be defined by the
+'func_ptr'
+ A pointer to a function that 'make' will invoke when it expands the
+ function in a makefile. This function must be defined by the
loaded object.
-`min_args'
+'min_args'
The minimum number of arguments the function will accept. Must be
- between 0 and 255. GNU `make' will check this and fail before
- invoking `func_ptr' if the function was invoked with too few
+ between 0 and 255. GNU 'make' will check this and fail before
+ invoking 'func_ptr' if the function was invoked with too few
arguments.
-`max_args'
+'max_args'
The maximum number of arguments the function will accept. Must be
- between 0 and 255. GNU `make' will check this and fail before
- invoking `func_ptr' if the function was invoked with too few
+ between 0 and 255. GNU 'make' will check this and fail before
+ invoking 'func_ptr' if the function was invoked with too few
arguments. If the value is 0, then any number of arguments is
accepted. If the value is greater than 0, then it must be greater
- than or equal to `min_args'.
+ than or equal to 'min_args'.
-`flags'
+'flags'
Flags that specify how this function will operate; the desired
- flags should be OR'd together. If the `GMK_FUNC_NOEXPAND' flag is
+ flags should be OR'd together. If the 'GMK_FUNC_NOEXPAND' flag is
given then the function arguments will not be expanded before the
function is called; otherwise they will be expanded first.
Registered Function Interface
.............................
-A function registered with `make' must match the `gmk_func_ptr' type.
-It will be invoked with three parameters: `name' (the name of the
-function), `argc' (the number of arguments to the function), and `argv'
+A function registered with 'make' must match the 'gmk_func_ptr' type.
+It will be invoked with three parameters: 'name' (the name of the
+function), 'argc' (the number of arguments to the function), and 'argv'
(an array of pointers to arguments to the function). The last pointer
-(that is, `argv[argc]') will be null (`0').
+(that is, 'argv[argc]') will be null ('0').
The return value of the function is the result of expanding the
function. If the function expands to nothing the return value may be
null. Otherwise, it must be a pointer to a string created with
-`gmk_alloc'. Once the function returns, `make' owns this string and
+'gmk_alloc'. Once the function returns, 'make' owns this string and
will free it when appropriate; it cannot be accessed by the loaded
object.
-GNU `make' Facilities
+GNU 'make' Facilities
.....................
-There are some facilities exported by GNU `make' for use by loaded
+There are some facilities exported by GNU 'make' for use by loaded
objects. Typically these would be run from within the setup function
-and/or the functions registered via `gmk_add_function', to retrieve or
-modify the data `make' works with.
+and/or the functions registered via 'gmk_add_function', to retrieve or
+modify the data 'make' works with.
-`gmk_expand'
- This function takes a string and expands it using `make' expansion
- rules. The result of the expansion is returned in a
- nil-terminated string buffer. The caller is responsible for
- calling `gmk_free' with a pointer to the returned buffer when done.
+'gmk_expand'
+ This function takes a string and expands it using 'make' expansion
+ rules. The result of the expansion is returned in a nil-terminated
+ string buffer. The caller is responsible for calling 'gmk_free'
+ with a pointer to the returned buffer when done.
-`gmk_eval'
+'gmk_eval'
This function takes a buffer and evaluates it as a segment of
makefile syntax. This function can be used to define new
- variables, new rules, etc. It is equivalent to using the `eval'
- `make' function.
+ variables, new rules, etc. It is equivalent to using the 'eval'
+ 'make' function.
- Note that there is a difference between `gmk_eval' and calling
-`gmk_expand' with a string using the `eval' function: in the latter
-case the string will be expanded _twice_; once by `gmk_expand' and then
-again by the `eval' function. Using `gmk_eval' the buffer is only
-expanded once, at most (as it's read by the `make' parser).
+ Note that there is a difference between 'gmk_eval' and calling
+'gmk_expand' with a string using the 'eval' function: in the latter case
+the string will be expanded _twice_; once by 'gmk_expand' and then again
+by the 'eval' function. Using 'gmk_eval' the buffer is only expanded
+once, at most (as it's read by the 'make' parser).
Memory Management
.................
Some systems allow for different memory management schemes. Thus you
-should never pass memory that you've allocated directly to any `make'
-function, nor should you attempt to directly free any memory returned
-to you by any `make' function. Instead, use the `gmk_alloc' and
-`gmk_free' functions.
+should never pass memory that you've allocated directly to any 'make'
+function, nor should you attempt to directly free any memory returned to
+you by any 'make' function. Instead, use the 'gmk_alloc' and 'gmk_free'
+functions.
- In particular, the string returned to `make' by a function
-registered using `gmk_add_function' _must_ be allocated using
-`gmk_alloc', and the string returned from the `make' `gmk_expand'
-function _must_ be freed (when no longer needed) using `gmk_free'.
+ In particular, the string returned to 'make' by a function registered
+using 'gmk_add_function' _must_ be allocated using 'gmk_alloc', and the
+string returned from the 'make' 'gmk_expand' function _must_ be freed
+(when no longer needed) using 'gmk_free'.
-`gmk_alloc'
+'gmk_alloc'
Return a pointer to a newly-allocated buffer. This function will
always return a valid pointer; if not enough memory is available
- `make' will exit.
+ 'make' will exit.
-`gmk_free'
- Free a buffer returned to you by `make'. Once the `gmk_free'
+'gmk_free'
+ Free a buffer returned to you by 'make'. Once the 'gmk_free'
function returns the string will no longer be valid.

@@ -2268,10 +1967,10 @@ File: make.info, Node: Loaded Object Example, Prev: Loaded Object API, Up: Lo
12.2.4 Example Loaded Object
----------------------------
-Let's suppose we wanted to write a new GNU `make' function that would
-create a temporary file and return its name. We would like our
-function to take a prefix as an argument. First we can write the
-function in a file `mk_temp.c':
+Let's suppose we wanted to write a new GNU 'make' function that would
+create a temporary file and return its name. We would like our function
+to take a prefix as an argument. First we can write the function in a
+file 'mk_temp.c':
#include <stdlib.h>
#include <stdlib.h>
@@ -2331,15 +2030,15 @@ load it, and use it:
On MS-Windows, due to peculiarities of how shared objects are
produced, the compiler needs to scan the "import library" produced when
-building `make', typically called `libgnumake-VERSION.dll.a', where
-VERSION is the version of the load object API. So the recipe to
-produce a shared object will look on Windows like this (assuming the
-API version is 1):
+building 'make', typically called 'libgnumake-VERSION.dll.a', where
+VERSION is the version of the load object API. So the recipe to produce
+a shared object will look on Windows like this (assuming the API version
+is 1):
mk_temp.dll: mk_temp.c
$(CC) -shared -o $ $< -lgnumake-1
- Now when you run `make' you'll see something like:
+ Now when you run 'make' you'll see something like:
$ make
cc -shared -fPIC -o mk_temp.so mk_temp.c
@@ -2348,53 +2047,53 @@ API version is 1):

File: make.info, Node: Features, Next: Missing, Prev: Extending make, Up: Top
-13 Features of GNU `make'
+13 Features of GNU 'make'
*************************
-Here is a summary of the features of GNU `make', for comparison with
-and credit to other versions of `make'. We consider the features of
-`make' in 4.2 BSD systems as a baseline. If you are concerned with
-writing portable makefiles, you should not use the features of `make'
-listed here, nor the ones in *note Missing::.
+Here is a summary of the features of GNU 'make', for comparison with and
+credit to other versions of 'make'. We consider the features of 'make'
+in 4.2 BSD systems as a baseline. If you are concerned with writing
+portable makefiles, you should not use the features of 'make' listed
+here, nor the ones in *note Missing::.
- Many features come from the version of `make' in System V.
+ Many features come from the version of 'make' in System V.
- * The `VPATH' variable and its special meaning. *Note Searching
+ * The 'VPATH' variable and its special meaning. *Note Searching
Directories for Prerequisites: Directory Search. This feature
- exists in System V `make', but is undocumented. It is documented
- in 4.3 BSD `make' (which says it mimics System V's `VPATH'
+ exists in System V 'make', but is undocumented. It is documented
+ in 4.3 BSD 'make' (which says it mimics System V's 'VPATH'
feature).
* Included makefiles. *Note Including Other Makefiles: Include.
- Allowing multiple files to be included with a single directive is
- a GNU extension.
+ Allowing multiple files to be included with a single directive is a
+ GNU extension.
* Variables are read from and communicated via the environment.
*Note Variables from the Environment: Environment.
- * Options passed through the variable `MAKEFLAGS' to recursive
- invocations of `make'. *Note Communicating Options to a
- Sub-`make': Options/Recursion.
+ * Options passed through the variable 'MAKEFLAGS' to recursive
+ invocations of 'make'. *Note Communicating Options to a
+ Sub-'make': Options/Recursion.
- * The automatic variable `$%' is set to the member name in an
- archive reference. *Note Automatic Variables::.
+ * The automatic variable '$%' is set to the member name in an archive
+ reference. *Note Automatic Variables::.
- * The automatic variables `$@', `$*', `$<', `$%', and `$?' have
- corresponding forms like `$(@F)' and `$(@D)'. We have generalized
- this to `$^' as an obvious extension. *Note Automatic Variables::.
+ * The automatic variables '$@', '$*', '$<', '$%', and '$?' have
+ corresponding forms like '$(@F)' and '$(@D)'. We have generalized
+ this to '$^' as an obvious extension. *Note Automatic Variables::.
* Substitution variable references. *Note Basics of Variable
References: Reference.
- * The command line options `-b' and `-m', accepted and ignored. In
- System V `make', these options actually do something.
+ * The command line options '-b' and '-m', accepted and ignored. In
+ System V 'make', these options actually do something.
- * Execution of recursive commands to run `make' via the variable
- `MAKE' even if `-n', `-q' or `-t' is specified. *Note Recursive
- Use of `make': Recursion.
+ * Execution of recursive commands to run 'make' via the variable
+ 'MAKE' even if '-n', '-q' or '-t' is specified. *Note Recursive
+ Use of 'make': Recursion.
- * Support for suffix `.a' in suffix rules. *Note Archive Suffix
- Rules::. This feature is obsolete in GNU `make', because the
+ * Support for suffix '.a' in suffix rules. *Note Archive Suffix
+ Rules::. This feature is obsolete in GNU 'make', because the
general feature of rule chaining (*note Chains of Implicit Rules:
Chained Rules.) allows one pattern rule for installing members in
an archive (*note Archive Update::) to be sufficient.
@@ -2405,33 +2104,33 @@ listed here, nor the ones in *note Missing::.
whitespace.
The following features were inspired by various other versions of
-`make'. In some cases it is unclear exactly which versions inspired
+'make'. In some cases it is unclear exactly which versions inspired
which others.
- * Pattern rules using `%'. This has been implemented in several
- versions of `make'. We're not sure who invented it first, but
- it's been spread around a bit. *Note Defining and Redefining
- Pattern Rules: Pattern Rules.
+ * Pattern rules using '%'. This has been implemented in several
+ versions of 'make'. We're not sure who invented it first, but it's
+ been spread around a bit. *Note Defining and Redefining Pattern
+ Rules: Pattern Rules.
* Rule chaining and implicit intermediate files. This was
- implemented by Stu Feldman in his version of `make' for AT&T
- Eighth Edition Research Unix, and later by Andrew Hume of AT&T
- Bell Labs in his `mk' program (where he terms it "transitive
- closure"). We do not really know if we got this from either of
- them or thought it up ourselves at the same time. *Note Chains of
- Implicit Rules: Chained Rules.
-
- * The automatic variable `$^' containing a list of all prerequisites
- of the current target. We did not invent this, but we have no
- idea who did. *Note Automatic Variables::. The automatic variable
- `$+' is a simple extension of `$^'.
-
- * The "what if" flag (`-W' in GNU `make') was (as far as we know)
- invented by Andrew Hume in `mk'. *Note Instead of Executing
+ implemented by Stu Feldman in his version of 'make' for AT&T Eighth
+ Edition Research Unix, and later by Andrew Hume of AT&T Bell Labs
+ in his 'mk' program (where he terms it "transitive closure"). We
+ do not really know if we got this from either of them or thought it
+ up ourselves at the same time. *Note Chains of Implicit Rules:
+ Chained Rules.
+
+ * The automatic variable '$^' containing a list of all prerequisites
+ of the current target. We did not invent this, but we have no idea
+ who did. *Note Automatic Variables::. The automatic variable '$+'
+ is a simple extension of '$^'.
+
+ * The "what if" flag ('-W' in GNU 'make') was (as far as we know)
+ invented by Andrew Hume in 'mk'. *Note Instead of Executing
Recipes: Instead of Execution.
* The concept of doing several things at once (parallelism) exists in
- many incarnations of `make' and similar programs, though not in the
+ many incarnations of 'make' and similar programs, though not in the
System V or BSD implementations. *Note Recipe Execution:
Execution.
@@ -2441,120 +2140,119 @@ which others.
* Modified variable references using pattern substitution come from
SunOS 4. *Note Basics of Variable References: Reference. This
- functionality was provided in GNU `make' by the `patsubst'
- function before the alternate syntax was implemented for
- compatibility with SunOS 4. It is not altogether clear who
- inspired whom, since GNU `make' had `patsubst' before SunOS 4 was
- released.
+ functionality was provided in GNU 'make' by the 'patsubst' function
+ before the alternate syntax was implemented for compatibility with
+ SunOS 4. It is not altogether clear who inspired whom, since GNU
+ 'make' had 'patsubst' before SunOS 4 was released.
- * The special significance of `+' characters preceding recipe lines
+ * The special significance of '+' characters preceding recipe lines
(*note Instead of Executing Recipes: Instead of Execution.) is
- mandated by `IEEE Standard 1003.2-1992' (POSIX.2).
+ mandated by 'IEEE Standard 1003.2-1992' (POSIX.2).
- * The `+=' syntax to append to the value of a variable comes from
- SunOS 4 `make'. *Note Appending More Text to Variables: Appending.
+ * The '+=' syntax to append to the value of a variable comes from
+ SunOS 4 'make'. *Note Appending More Text to Variables: Appending.
- * The syntax `ARCHIVE(MEM1 MEM2...)' to list multiple members in a
- single archive file comes from SunOS 4 `make'. *Note Archive
+ * The syntax 'ARCHIVE(MEM1 MEM2...)' to list multiple members in a
+ single archive file comes from SunOS 4 'make'. *Note Archive
Members::.
- * The `-include' directive to include makefiles with no error for a
- nonexistent file comes from SunOS 4 `make'. (But note that SunOS 4
- `make' does not allow multiple makefiles to be specified in one
- `-include' directive.) The same feature appears with the name
- `sinclude' in SGI `make' and perhaps others.
+ * The '-include' directive to include makefiles with no error for a
+ nonexistent file comes from SunOS 4 'make'. (But note that SunOS 4
+ 'make' does not allow multiple makefiles to be specified in one
+ '-include' directive.) The same feature appears with the name
+ 'sinclude' in SGI 'make' and perhaps others.
- * The `!=' shell assignment operator exists in many BSD of `make'
- and is purposefully implemented here to behave identically to
- those implementations.
+ * The '!=' shell assignment operator exists in many BSD of 'make' and
+ is purposefully implemented here to behave identically to those
+ implementations.
* Various build management tools are implemented using scripting
languages such as Perl or Python and thus provide a natural
- embedded scripting language, similar to GNU `make''s integration
- of GNU Guile.
+ embedded scripting language, similar to GNU 'make''s integration of
+ GNU Guile.
- The remaining features are inventions new in GNU `make':
+ The remaining features are inventions new in GNU 'make':
- * Use the `-v' or `--version' option to print version and copyright
+ * Use the '-v' or '--version' option to print version and copyright
information.
- * Use the `-h' or `--help' option to summarize the options to `make'.
+ * Use the '-h' or '--help' option to summarize the options to 'make'.
* Simply-expanded variables. *Note The Two Flavors of Variables:
Flavors.
* Pass command line variable assignments automatically through the
- variable `MAKE' to recursive `make' invocations. *Note Recursive
- Use of `make': Recursion.
+ variable 'MAKE' to recursive 'make' invocations. *Note Recursive
+ Use of 'make': Recursion.
- * Use the `-C' or `--directory' command option to change directory.
+ * Use the '-C' or '--directory' command option to change directory.
*Note Summary of Options: Options Summary.
- * Make verbatim variable definitions with `define'. *Note Defining
+ * Make verbatim variable definitions with 'define'. *Note Defining
Multi-Line Variables: Multi-Line.
- * Declare phony targets with the special target `.PHONY'.
+ * Declare phony targets with the special target '.PHONY'.
Andrew Hume of AT&T Bell Labs implemented a similar feature with a
- different syntax in his `mk' program. This seems to be a case of
+ different syntax in his 'mk' program. This seems to be a case of
parallel discovery. *Note Phony Targets: Phony Targets.
* Manipulate text by calling functions. *Note Functions for
Transforming Text: Functions.
- * Use the `-o' or `--old-file' option to pretend a file's
+ * Use the '-o' or '--old-file' option to pretend a file's
modification-time is old. *Note Avoiding Recompilation of Some
Files: Avoiding Compilation.
* Conditional execution.
This feature has been implemented numerous times in various
- versions of `make'; it seems a natural extension derived from the
+ versions of 'make'; it seems a natural extension derived from the
features of the C preprocessor and similar macro languages and is
- not a revolutionary concept. *Note Conditional Parts of
- Makefiles: Conditionals.
+ not a revolutionary concept. *Note Conditional Parts of Makefiles:
+ Conditionals.
* Specify a search path for included makefiles. *Note Including
Other Makefiles: Include.
* Specify extra makefiles to read with an environment variable.
- *Note The Variable `MAKEFILES': MAKEFILES Variable.
+ *Note The Variable 'MAKEFILES': MAKEFILES Variable.
- * Strip leading sequences of `./' from file names, so that `./FILE'
- and `FILE' are considered to be the same file.
+ * Strip leading sequences of './' from file names, so that './FILE'
+ and 'FILE' are considered to be the same file.
* Use a special search method for library prerequisites written in
- the form `-lNAME'. *Note Directory Search for Link Libraries:
+ the form '-lNAME'. *Note Directory Search for Link Libraries:
Libraries/Search.
* Allow suffixes for suffix rules (*note Old-Fashioned Suffix Rules:
Suffix Rules.) to contain any characters. In other versions of
- `make', they must begin with `.' and not contain any `/'
+ 'make', they must begin with '.' and not contain any '/'
characters.
- * Keep track of the current level of `make' recursion using the
- variable `MAKELEVEL'. *Note Recursive Use of `make': Recursion.
+ * Keep track of the current level of 'make' recursion using the
+ variable 'MAKELEVEL'. *Note Recursive Use of 'make': Recursion.
* Provide any goals given on the command line in the variable
- `MAKECMDGOALS'. *Note Arguments to Specify the Goals: Goals.
+ 'MAKECMDGOALS'. *Note Arguments to Specify the Goals: Goals.
* Specify static pattern rules. *Note Static Pattern Rules: Static
Pattern.
- * Provide selective `vpath' search. *Note Searching Directories for
+ * Provide selective 'vpath' search. *Note Searching Directories for
Prerequisites: Directory Search.
* Provide computed variable references. *Note Basics of Variable
References: Reference.
* Update makefiles. *Note How Makefiles Are Remade: Remaking
- Makefiles. System V `make' has a very, very limited form of this
+ Makefiles. System V 'make' has a very, very limited form of this
functionality in that it will check out SCCS files for makefiles.
- * Various new built-in implicit rules. *Note Catalogue of Implicit
+ * Various new built-in implicit rules. *Note Catalogue of Built-In
Rules: Catalogue of Rules.
- * Load dynamic objects which can modify the behavior of `make'.
+ * Load dynamic objects which can modify the behavior of 'make'.
*Note Loading Dynamic Objects: Loading Objects.

@@ -2563,84 +2261,84 @@ File: make.info, Node: Missing, Next: Makefile Conventions, Prev: Features,
14 Incompatibilities and Missing Features
*****************************************
-The `make' programs in various other systems support a few features
-that are not implemented in GNU `make'. The POSIX.2 standard (`IEEE
-Standard 1003.2-1992') which specifies `make' does not require any of
-these features.
+The 'make' programs in various other systems support a few features that
+are not implemented in GNU 'make'. The POSIX.2 standard ('IEEE Standard
+1003.2-1992') which specifies 'make' does not require any of these
+features.
- * A target of the form `FILE((ENTRY))' stands for a member of
- archive file FILE. The member is chosen, not by name, but by
- being an object file which defines the linker symbol ENTRY.
+ * A target of the form 'FILE((ENTRY))' stands for a member of archive
+ file FILE. The member is chosen, not by name, but by being an
+ object file which defines the linker symbol ENTRY.
- This feature was not put into GNU `make' because of the
- non-modularity of putting knowledge into `make' of the internal
+ This feature was not put into GNU 'make' because of the
+ non-modularity of putting knowledge into 'make' of the internal
format of archive file symbol tables. *Note Updating Archive
Symbol Directories: Archive Symbols.
- * Suffixes (used in suffix rules) that end with the character `~'
- have a special meaning to System V `make'; they refer to the SCCS
- file that corresponds to the file one would get without the `~'.
- For example, the suffix rule `.c~.o' would make the file `N.o' from
- the SCCS file `s.N.c'. For complete coverage, a whole series of
+ * Suffixes (used in suffix rules) that end with the character '~'
+ have a special meaning to System V 'make'; they refer to the SCCS
+ file that corresponds to the file one would get without the '~'.
+ For example, the suffix rule '.c~.o' would make the file 'N.o' from
+ the SCCS file 's.N.c'. For complete coverage, a whole series of
such suffix rules is required. *Note Old-Fashioned Suffix Rules:
Suffix Rules.
- In GNU `make', this entire series of cases is handled by two
+ In GNU 'make', this entire series of cases is handled by two
pattern rules for extraction from SCCS, in combination with the
general feature of rule chaining. *Note Chains of Implicit Rules:
Chained Rules.
- * In System V and 4.3 BSD `make', files found by `VPATH' search
+ * In System V and 4.3 BSD 'make', files found by 'VPATH' search
(*note Searching Directories for Prerequisites: Directory Search.)
have their names changed inside recipes. We feel it is much
cleaner to always use automatic variables and thus make this
feature obsolete.
- * In some Unix `make's, the automatic variable `$*' appearing in the
+ * In some Unix 'make's, the automatic variable '$*' appearing in the
prerequisites of a rule has the amazingly strange "feature" of
expanding to the full name of the _target of that rule_. We cannot
- imagine what went on in the minds of Unix `make' developers to do
+ imagine what went on in the minds of Unix 'make' developers to do
this; it is utterly inconsistent with the normal definition of
- `$*'.
+ '$*'.
- * In some Unix `make's, implicit rule search (*note Using Implicit
+ * In some Unix 'make's, implicit rule search (*note Using Implicit
Rules: Implicit Rules.) is apparently done for _all_ targets, not
just those without recipes. This means you can do:
foo.o:
cc -c foo.c
- and Unix `make' will intuit that `foo.o' depends on `foo.c'.
+ and Unix 'make' will intuit that 'foo.o' depends on 'foo.c'.
We feel that such usage is broken. The prerequisite properties of
- `make' are well-defined (for GNU `make', at least), and doing such
+ 'make' are well-defined (for GNU 'make', at least), and doing such
a thing simply does not fit the model.
- * GNU `make' does not include any built-in implicit rules for
+ * GNU 'make' does not include any built-in implicit rules for
compiling or preprocessing EFL programs. If we hear of anyone who
is using EFL, we will gladly add them.
- * It appears that in SVR4 `make', a suffix rule can be specified
- with no recipe, and it is treated as if it had an empty recipe
- (*note Empty Recipes::). For example:
+ * It appears that in SVR4 'make', a suffix rule can be specified with
+ no recipe, and it is treated as if it had an empty recipe (*note
+ Empty Recipes::). For example:
.c.a:
- will override the built-in `.c.a' suffix rule.
+ will override the built-in '.c.a' suffix rule.
We feel that it is cleaner for a rule without a recipe to always
simply add to the prerequisite list for the target. The above
example can be easily rewritten to get the desired behavior in GNU
- `make':
+ 'make':
.c.a: ;
- * Some versions of `make' invoke the shell with the `-e' flag,
- except under `-k' (*note Testing the Compilation of a Program:
- Testing.). The `-e' flag tells the shell to exit as soon as any
- program it runs returns a nonzero status. We feel it is cleaner to
- write each line of the recipe to stand on its own and not require
- this special treatment.
+ * Some versions of 'make' invoke the shell with the '-e' flag, except
+ under '-k' (*note Testing the Compilation of a Program: Testing.).
+ The '-e' flag tells the shell to exit as soon as any program it
+ runs returns a nonzero status. We feel it is cleaner to write each
+ line of the recipe to stand on its own and not require this special
+ treatment.

File: make.info, Node: Makefile Conventions, Next: Quick Reference, Prev: Missing, Up: Top
@@ -2661,7 +2359,7 @@ POSIX and *note Portable Make Programming: (autoconf)Portable Make.
* DESTDIR:: Supporting staged installs.
* Directory Variables:: Variables for installation directories.
* Standard Targets:: Standard targets for users.
-* Install Command Categories:: Three categories of commands in the `install'
+* Install Command Categories:: Three categories of commands in the 'install'
rule: normal, pre-install and post-install.

@@ -2674,14 +2372,14 @@ Every Makefile should contain this line:
SHELL = /bin/sh
-to avoid trouble on systems where the `SHELL' variable might be
+to avoid trouble on systems where the 'SHELL' variable might be
inherited from the environment. (This is never a problem with GNU
-`make'.)
+'make'.)
- Different `make' programs have incompatible suffix lists and
-implicit rules, and this sometimes creates confusion or misbehavior. So
-it is a good idea to set the suffix list explicitly using only the
-suffixes you need in the particular Makefile, like this:
+ Different 'make' programs have incompatible suffix lists and implicit
+rules, and this sometimes creates confusion or misbehavior. So it is a
+good idea to set the suffix list explicitly using only the suffixes you
+need in the particular Makefile, like this:
.SUFFIXES:
.SUFFIXES: .c .o
@@ -2689,29 +2387,28 @@ suffixes you need in the particular Makefile, like this:
The first line clears out the suffix list, the second introduces all
suffixes which may be subject to implicit rules in this Makefile.
- Don't assume that `.' is in the path for command execution. When
-you need to run programs that are a part of your package during the
-make, please make sure that it uses `./' if the program is built as
-part of the make or `$(srcdir)/' if the file is an unchanging part of
-the source code. Without one of these prefixes, the current search
-path is used.
+ Don't assume that '.' is in the path for command execution. When you
+need to run programs that are a part of your package during the make,
+please make sure that it uses './' if the program is built as part of
+the make or '$(srcdir)/' if the file is an unchanging part of the source
+code. Without one of these prefixes, the current search path is used.
- The distinction between `./' (the "build directory") and
-`$(srcdir)/' (the "source directory") is important because users can
-build in a separate directory using the `--srcdir' option to
-`configure'. A rule of the form:
+ The distinction between './' (the "build directory") and '$(srcdir)/'
+(the "source directory") is important because users can build in a
+separate directory using the '--srcdir' option to 'configure'. A rule
+of the form:
foo.1 : foo.man sedscript
sed -f sedscript foo.man > foo.1
will fail when the build directory is not the source directory, because
-`foo.man' and `sedscript' are in the source directory.
+'foo.man' and 'sedscript' are in the source directory.
- When using GNU `make', relying on `VPATH' to find the source file
-will work in the case where there is a single dependency file, since
-the `make' automatic variable `$<' will represent the source file
-wherever it is. (Many versions of `make' set `$<' only in implicit
-rules.) A Makefile target like
+ When using GNU 'make', relying on 'VPATH' to find the source file
+will work in the case where there is a single dependency file, since the
+'make' automatic variable '$<' will represent the source file wherever
+it is. (Many versions of 'make' set '$<' only in implicit rules.) A
+Makefile target like
foo.o : bar.c
$(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
@@ -2721,9 +2418,9 @@ should instead be written as
foo.o : bar.c
$(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@
-in order to allow `VPATH' to work correctly. When the target has
-multiple dependencies, using an explicit `$(srcdir)' is the easiest way
-to make the rule work well. For example, the target above for `foo.1'
+in order to allow 'VPATH' to work correctly. When the target has
+multiple dependencies, using an explicit '$(srcdir)' is the easiest way
+to make the rule work well. For example, the target above for 'foo.1'
is best written as:
foo.1 : foo.man sedscript
@@ -2742,7 +2439,7 @@ program in ordinary circumstances should not modify the source directory
in any way.
Try to make the build and installation targets, at least (and all
-their subtargets) work correctly with a parallel `make'.
+their subtargets) work correctly with a parallel 'make'.

File: make.info, Node: Utilities in Makefiles, Next: Command Variables, Prev: Makefile Basics, Up: Makefile Conventions
@@ -2750,22 +2447,21 @@ File: make.info, Node: Utilities in Makefiles, Next: Command Variables, Prev:
15.2 Utilities in Makefiles
===========================
-Write the Makefile commands (and any shell scripts, such as
-`configure') to run under `sh' (both the traditional Bourne shell and
-the POSIX shell), not `csh'. Don't use any special features of `ksh'
-or `bash', or POSIX features not widely supported in traditional Bourne
-`sh'.
+Write the Makefile commands (and any shell scripts, such as 'configure')
+to run under 'sh' (both the traditional Bourne shell and the POSIX
+shell), not 'csh'. Don't use any special features of 'ksh' or 'bash',
+or POSIX features not widely supported in traditional Bourne 'sh'.
- The `configure' script and the Makefile rules for building and
+ The 'configure' script and the Makefile rules for building and
installation should not use any utilities directly except these:
awk cat cmp cp diff echo egrep expr false grep install-info ln ls
mkdir mv printf pwd rm rmdir sed sleep sort tar test touch tr true
- Compression programs such as `gzip' can be used in the `dist' rule.
+ Compression programs such as 'gzip' can be used in the 'dist' rule.
Generally, stick to the widely-supported (usually POSIX-specified)
-options and features of these programs. For example, don't use `mkdir
+options and features of these programs. For example, don't use 'mkdir
-p', convenient as it may be, because a few systems don't support it at
all and with others, it is not safe for parallel execution. For a list
of known incompatibilities, see *note Portable Shell Programming:
@@ -2775,23 +2471,23 @@ of known incompatibilities, see *note Portable Shell Programming:
since a few file systems don't support them.
The Makefile rules for building and installation can also use
-compilers and related programs, but should do so via `make' variables
-so that the user can substitute alternatives. Here are some of the
+compilers and related programs, but should do so via 'make' variables so
+that the user can substitute alternatives. Here are some of the
programs we mean:
ar bison cc flex install ld ldconfig lex
make makeinfo ranlib texi2dvi yacc
- Use the following `make' variables to run those programs:
+ Use the following 'make' variables to run those programs:
$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LDCONFIG) $(LEX)
$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
- When you use `ranlib' or `ldconfig', you should make sure nothing
-bad happens if the system does not have the program in question.
-Arrange to ignore an error from that command, and print a message before
-the command to tell the user that failure of this command does not mean
-a problem. (The Autoconf `AC_PROG_RANLIB' macro can help with this.)
+ When you use 'ranlib' or 'ldconfig', you should make sure nothing bad
+happens if the system does not have the program in question. Arrange to
+ignore an error from that command, and print a message before the
+command to tell the user that failure of this command does not mean a
+problem. (The Autoconf 'AC_PROG_RANLIB' macro can help with this.)
If you use symbolic links, you should implement a fallback for
systems that don't have symbolic links.
@@ -2814,64 +2510,63 @@ Makefiles should provide variables for overriding certain commands,
options, and so on.
In particular, you should run most utility programs via variables.
-Thus, if you use Bison, have a variable named `BISON' whose default
-value is set with `BISON = bison', and refer to it with `$(BISON)'
+Thus, if you use Bison, have a variable named 'BISON' whose default
+value is set with 'BISON = bison', and refer to it with '$(BISON)'
whenever you need to use Bison.
- File management utilities such as `ln', `rm', `mv', and so on, need
-not be referred to through variables in this way, since users don't
-need to replace them with other programs.
+ File management utilities such as 'ln', 'rm', 'mv', and so on, need
+not be referred to through variables in this way, since users don't need
+to replace them with other programs.
Each program-name variable should come with an options variable that
-is used to supply options to the program. Append `FLAGS' to the
+is used to supply options to the program. Append 'FLAGS' to the
program-name variable name to get the options variable name--for
-example, `BISONFLAGS'. (The names `CFLAGS' for the C compiler,
-`YFLAGS' for yacc, and `LFLAGS' for lex, are exceptions to this rule,
-but we keep them because they are standard.) Use `CPPFLAGS' in any
-compilation command that runs the preprocessor, and use `LDFLAGS' in
-any compilation command that does linking as well as in any direct use
-of `ld'.
+example, 'BISONFLAGS'. (The names 'CFLAGS' for the C compiler, 'YFLAGS'
+for yacc, and 'LFLAGS' for lex, are exceptions to this rule, but we keep
+them because they are standard.) Use 'CPPFLAGS' in any compilation
+command that runs the preprocessor, and use 'LDFLAGS' in any compilation
+command that does linking as well as in any direct use of 'ld'.
If there are C compiler options that _must_ be used for proper
-compilation of certain files, do not include them in `CFLAGS'. Users
-expect to be able to specify `CFLAGS' freely themselves. Instead,
-arrange to pass the necessary options to the C compiler independently
-of `CFLAGS', by writing them explicitly in the compilation commands or
-by defining an implicit rule, like this:
+compilation of certain files, do not include them in 'CFLAGS'. Users
+expect to be able to specify 'CFLAGS' freely themselves. Instead,
+arrange to pass the necessary options to the C compiler independently of
+'CFLAGS', by writing them explicitly in the compilation commands or by
+defining an implicit rule, like this:
CFLAGS = -g
ALL_CFLAGS = -I. $(CFLAGS)
.c.o:
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
- Do include the `-g' option in `CFLAGS', because that is not
+ Do include the '-g' option in 'CFLAGS', because that is not
_required_ for proper compilation. You can consider it a default that
is only recommended. If the package is set up so that it is compiled
-with GCC by default, then you might as well include `-O' in the default
-value of `CFLAGS' as well.
+with GCC by default, then you might as well include '-O' in the default
+value of 'CFLAGS' as well.
- Put `CFLAGS' last in the compilation command, after other variables
-containing compiler options, so the user can use `CFLAGS' to override
+ Put 'CFLAGS' last in the compilation command, after other variables
+containing compiler options, so the user can use 'CFLAGS' to override
the others.
- `CFLAGS' should be used in every invocation of the C compiler, both
+ 'CFLAGS' should be used in every invocation of the C compiler, both
those which do compilation and those which do linking.
- Every Makefile should define the variable `INSTALL', which is the
+ Every Makefile should define the variable 'INSTALL', which is the
basic command for installing a file into the system.
- Every Makefile should also define the variables `INSTALL_PROGRAM'
-and `INSTALL_DATA'. (The default for `INSTALL_PROGRAM' should be
-`$(INSTALL)'; the default for `INSTALL_DATA' should be `${INSTALL} -m
+ Every Makefile should also define the variables 'INSTALL_PROGRAM' and
+'INSTALL_DATA'. (The default for 'INSTALL_PROGRAM' should be
+'$(INSTALL)'; the default for 'INSTALL_DATA' should be '${INSTALL} -m
644'.) Then it should use those variables as the commands for actual
-installation, for executables and non-executables respectively.
-Minimal use of these variables is as follows:
+installation, for executables and non-executables respectively. Minimal
+use of these variables is as follows:
$(INSTALL_PROGRAM) foo $(bindir)/foo
$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
- However, it is preferable to support a `DESTDIR' prefix on the
-target files, as explained in the next section.
+ However, it is preferable to support a 'DESTDIR' prefix on the target
+files, as explained in the next section.
It is acceptable, but not required, to install multiple files in one
command, with the final argument being a directory, as in:
@@ -2881,51 +2576,49 @@ command, with the final argument being a directory, as in:

File: make.info, Node: DESTDIR, Next: Directory Variables, Prev: Command Variables, Up: Makefile Conventions
-15.4 `DESTDIR': Support for Staged Installs
+15.4 'DESTDIR': Support for Staged Installs
===========================================
-`DESTDIR' is a variable prepended to each installed target file, like
+'DESTDIR' is a variable prepended to each installed target file, like
this:
$(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
$(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
- The `DESTDIR' variable is specified by the user on the `make'
-command line as an absolute file name. For example:
+ The 'DESTDIR' variable is specified by the user on the 'make' command
+line as an absolute file name. For example:
make DESTDIR=/tmp/stage install
-`DESTDIR' should be supported only in the `install*' and `uninstall*'
+'DESTDIR' should be supported only in the 'install*' and 'uninstall*'
targets, as those are the only targets where it is useful.
- If your installation step would normally install
-`/usr/local/bin/foo' and `/usr/local/lib/libfoo.a', then an
-installation invoked as in the example above would install
-`/tmp/stage/usr/local/bin/foo' and `/tmp/stage/usr/local/lib/libfoo.a'
-instead.
+ If your installation step would normally install '/usr/local/bin/foo'
+and '/usr/local/lib/libfoo.a', then an installation invoked as in the
+example above would install '/tmp/stage/usr/local/bin/foo' and
+'/tmp/stage/usr/local/lib/libfoo.a' instead.
- Prepending the variable `DESTDIR' to each target in this way
-provides for "staged installs", where the installed files are not
-placed directly into their expected location but are instead copied
-into a temporary location (`DESTDIR'). However, installed files
-maintain their relative directory structure and any embedded file names
-will not be modified.
+ Prepending the variable 'DESTDIR' to each target in this way provides
+for "staged installs", where the installed files are not placed directly
+into their expected location but are instead copied into a temporary
+location ('DESTDIR'). However, installed files maintain their relative
+directory structure and any embedded file names will not be modified.
- You should not set the value of `DESTDIR' in your `Makefile' at all;
+ You should not set the value of 'DESTDIR' in your 'Makefile' at all;
then the files are installed into their expected locations by default.
-Also, specifying `DESTDIR' should not change the operation of the
+Also, specifying 'DESTDIR' should not change the operation of the
software in any way, so its value should not be included in any file
contents.
- `DESTDIR' support is commonly used in package creation. It is also
+ 'DESTDIR' support is commonly used in package creation. It is also
helpful to users who want to understand what a given package will
-install where, and to allow users who don't normally have permissions
-to install into protected areas to build and install before gaining
-those permissions. Finally, it can be useful with tools such as
-`stow', where code is installed in one place but made to appear to be
-installed somewhere else using symbolic links or special mount
-operations. So, we strongly recommend GNU packages support `DESTDIR',
-though it is not an absolute requirement.
+install where, and to allow users who don't normally have permissions to
+install into protected areas to build and install before gaining those
+permissions. Finally, it can be useful with tools such as 'stow', where
+code is installed in one place but made to appear to be installed
+somewhere else using symbolic links or special mount operations. So, we
+strongly recommend GNU packages support 'DESTDIR', though it is not an
+absolute requirement.

File: make.info, Node: Directory Variables, Next: Standard Targets, Prev: DESTDIR, Up: Makefile Conventions
@@ -2939,8 +2632,8 @@ variables and the values they should have in GNU packages are described
below. They are based on a standard file system layout; variants of it
are used in GNU/Linux and other modern operating systems.
- Installers are expected to override these values when calling `make'
-(e.g., `make prefix=/usr install' or `configure' (e.g., `configure
+ Installers are expected to override these values when calling 'make'
+(e.g., 'make prefix=/usr install' or 'configure' (e.g., 'configure
--prefix=/usr'). GNU packages should not try to guess which value
should be appropriate for these variables on the system they are being
installed onto: use the default settings specified here so that all GNU
@@ -2955,58 +2648,58 @@ other installation directories should be subdirectories of one of these
two, and nothing should be directly installed into these two
directories.
-`prefix'
+'prefix'
A prefix used in constructing the default values of the variables
- listed below. The default value of `prefix' should be
- `/usr/local'. When building the complete GNU system, the prefix
- will be empty and `/usr' will be a symbolic link to `/'. (If you
- are using Autoconf, write it as `@prefix@'.)
+ listed below. The default value of 'prefix' should be
+ '/usr/local'. When building the complete GNU system, the prefix
+ will be empty and '/usr' will be a symbolic link to '/'. (If you
+ are using Autoconf, write it as '@prefix@'.)
- Running `make install' with a different value of `prefix' from the
+ Running 'make install' with a different value of 'prefix' from the
one used to build the program should _not_ recompile the program.
-`exec_prefix'
+'exec_prefix'
A prefix used in constructing the default values of some of the
- variables listed below. The default value of `exec_prefix' should
- be `$(prefix)'. (If you are using Autoconf, write it as
- `@exec_prefix@'.)
+ variables listed below. The default value of 'exec_prefix' should
+ be '$(prefix)'. (If you are using Autoconf, write it as
+ '@exec_prefix@'.)
- Generally, `$(exec_prefix)' is used for directories that contain
+ Generally, '$(exec_prefix)' is used for directories that contain
machine-specific files (such as executables and subroutine
- libraries), while `$(prefix)' is used directly for other
+ libraries), while '$(prefix)' is used directly for other
directories.
- Running `make install' with a different value of `exec_prefix'
- from the one used to build the program should _not_ recompile the
+ Running 'make install' with a different value of 'exec_prefix' from
+ the one used to build the program should _not_ recompile the
program.
Executable programs are installed in one of the following
directories.
-`bindir'
+'bindir'
The directory for installing executable programs that users can
- run. This should normally be `/usr/local/bin', but write it as
- `$(exec_prefix)/bin'. (If you are using Autoconf, write it as
- `@bindir@'.)
+ run. This should normally be '/usr/local/bin', but write it as
+ '$(exec_prefix)/bin'. (If you are using Autoconf, write it as
+ '@bindir@'.)
-`sbindir'
+'sbindir'
The directory for installing executable programs that can be run
from the shell, but are only generally useful to system
- administrators. This should normally be `/usr/local/sbin', but
- write it as `$(exec_prefix)/sbin'. (If you are using Autoconf,
- write it as `@sbindir@'.)
+ administrators. This should normally be '/usr/local/sbin', but
+ write it as '$(exec_prefix)/sbin'. (If you are using Autoconf,
+ write it as '@sbindir@'.)
-`libexecdir'
+'libexecdir'
The directory for installing executable programs to be run by other
programs rather than by users. This directory should normally be
- `/usr/local/libexec', but write it as `$(exec_prefix)/libexec'.
- (If you are using Autoconf, write it as `@libexecdir@'.)
+ '/usr/local/libexec', but write it as '$(exec_prefix)/libexec'.
+ (If you are using Autoconf, write it as '@libexecdir@'.)
- The definition of `libexecdir' is the same for all packages, so
- you should install your data in a subdirectory thereof. Most
- packages install their data under `$(libexecdir)/PACKAGE-NAME/',
- possibly within additional subdirectories thereof, such as
- `$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'.
+ The definition of 'libexecdir' is the same for all packages, so you
+ should install your data in a subdirectory thereof. Most packages
+ install their data under '$(libexecdir)/PACKAGE-NAME/', possibly
+ within additional subdirectories thereof, such as
+ '$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'.
Data files used by the program during its execution are divided into
categories in two ways.
@@ -3024,212 +2717,208 @@ discourage the use of architecture-dependent files, aside from object
files and libraries. It is much cleaner to make other data files
architecture-independent, and it is generally not hard.
- Here are the variables Makefiles should use to specify directories
-to put these various kinds of files in:
+ Here are the variables Makefiles should use to specify directories to
+put these various kinds of files in:
-`datarootdir'
+'datarootdir'
The root of the directory tree for read-only
architecture-independent data files. This should normally be
- `/usr/local/share', but write it as `$(prefix)/share'. (If you
- are using Autoconf, write it as `@datarootdir@'.) `datadir''s
- default value is based on this variable; so are `infodir',
- `mandir', and others.
+ '/usr/local/share', but write it as '$(prefix)/share'. (If you are
+ using Autoconf, write it as '@datarootdir@'.) 'datadir''s default
+ value is based on this variable; so are 'infodir', 'mandir', and
+ others.
-`datadir'
+'datadir'
The directory for installing idiosyncratic read-only
architecture-independent data files for this program. This is
- usually the same place as `datarootdir', but we use the two
+ usually the same place as 'datarootdir', but we use the two
separate variables so that you can move these program-specific
files without altering the location for Info files, man pages, etc.
- This should normally be `/usr/local/share', but write it as
- `$(datarootdir)'. (If you are using Autoconf, write it as
- `@datadir@'.)
+ This should normally be '/usr/local/share', but write it as
+ '$(datarootdir)'. (If you are using Autoconf, write it as
+ '@datadir@'.)
- The definition of `datadir' is the same for all packages, so you
+ The definition of 'datadir' is the same for all packages, so you
should install your data in a subdirectory thereof. Most packages
- install their data under `$(datadir)/PACKAGE-NAME/'.
+ install their data under '$(datadir)/PACKAGE-NAME/'.
-`sysconfdir'
+'sysconfdir'
The directory for installing read-only data files that pertain to a
single machine-that is to say, files for configuring a host.
- Mailer and network configuration files, `/etc/passwd', and so
- forth belong here. All the files in this directory should be
- ordinary ASCII text files. This directory should normally be
- `/usr/local/etc', but write it as `$(prefix)/etc'. (If you are
- using Autoconf, write it as `@sysconfdir@'.)
+ Mailer and network configuration files, '/etc/passwd', and so forth
+ belong here. All the files in this directory should be ordinary
+ ASCII text files. This directory should normally be
+ '/usr/local/etc', but write it as '$(prefix)/etc'. (If you are
+ using Autoconf, write it as '@sysconfdir@'.)
Do not install executables here in this directory (they probably
- belong in `$(libexecdir)' or `$(sbindir)'). Also do not install
+ belong in '$(libexecdir)' or '$(sbindir)'). Also do not install
files that are modified in the normal course of their use (programs
whose purpose is to change the configuration of the system
- excluded). Those probably belong in `$(localstatedir)'.
+ excluded). Those probably belong in '$(localstatedir)'.
-`sharedstatedir'
+'sharedstatedir'
The directory for installing architecture-independent data files
which the programs modify while they run. This should normally be
- `/usr/local/com', but write it as `$(prefix)/com'. (If you are
- using Autoconf, write it as `@sharedstatedir@'.)
+ '/usr/local/com', but write it as '$(prefix)/com'. (If you are
+ using Autoconf, write it as '@sharedstatedir@'.)
-`localstatedir'
+'localstatedir'
The directory for installing data files which the programs modify
while they run, and that pertain to one specific machine. Users
should never need to modify files in this directory to configure
the package's operation; put such configuration information in
- separate files that go in `$(datadir)' or `$(sysconfdir)'.
- `$(localstatedir)' should normally be `/usr/local/var', but write
- it as `$(prefix)/var'. (If you are using Autoconf, write it as
- `@localstatedir@'.)
+ separate files that go in '$(datadir)' or '$(sysconfdir)'.
+ '$(localstatedir)' should normally be '/usr/local/var', but write
+ it as '$(prefix)/var'. (If you are using Autoconf, write it as
+ '@localstatedir@'.)
-`runstatedir'
+'runstatedir'
The directory for installing data files which the programs modify
while they run, that pertain to one specific machine, and which
need not persist longer than the execution of the program--which is
generally long-lived, for example, until the next reboot. PID
files for system daemons are a typical use. In addition, this
- directory should not be cleaned except perhaps at reboot, while
- the general `/tmp' (`TMPDIR') may be cleaned arbitrarily. This
- should normally be `/var/run', but write it as
- `$(localstatedir)/run'. Having it as a separate variable allows
- the use of `/run' if desired, for example. (If you are using
- Autoconf 2.70 or later, write it as `@runstatedir@'.)
+ directory should not be cleaned except perhaps at reboot, while the
+ general '/tmp' ('TMPDIR') may be cleaned arbitrarily. This should
+ normally be '/var/run', but write it as '$(localstatedir)/run'.
+ Having it as a separate variable allows the use of '/run' if
+ desired, for example. (If you are using Autoconf 2.70 or later,
+ write it as '@runstatedir@'.)
These variables specify the directory for installing certain specific
-types of files, if your program has them. Every GNU package should
-have Info files, so every program needs `infodir', but not all need
-`libdir' or `lispdir'.
+types of files, if your program has them. Every GNU package should have
+Info files, so every program needs 'infodir', but not all need 'libdir'
+or 'lispdir'.
-`includedir'
+'includedir'
The directory for installing header files to be included by user
- programs with the C `#include' preprocessor directive. This
- should normally be `/usr/local/include', but write it as
- `$(prefix)/include'. (If you are using Autoconf, write it as
- `@includedir@'.)
+ programs with the C '#include' preprocessor directive. This should
+ normally be '/usr/local/include', but write it as
+ '$(prefix)/include'. (If you are using Autoconf, write it as
+ '@includedir@'.)
Most compilers other than GCC do not look for header files in
- directory `/usr/local/include'. So installing the header files
- this way is only useful with GCC. Sometimes this is not a problem
+ directory '/usr/local/include'. So installing the header files
+ this way is only useful with GCC. Sometimes this is not a problem
because some libraries are only really intended to work with GCC.
- But some libraries are intended to work with other compilers.
- They should install their header files in two places, one
- specified by `includedir' and one specified by `oldincludedir'.
+ But some libraries are intended to work with other compilers. They
+ should install their header files in two places, one specified by
+ 'includedir' and one specified by 'oldincludedir'.
-`oldincludedir'
- The directory for installing `#include' header files for use with
- compilers other than GCC. This should normally be `/usr/include'.
- (If you are using Autoconf, you can write it as `@oldincludedir@'.)
+'oldincludedir'
+ The directory for installing '#include' header files for use with
+ compilers other than GCC. This should normally be '/usr/include'.
+ (If you are using Autoconf, you can write it as '@oldincludedir@'.)
The Makefile commands should check whether the value of
- `oldincludedir' is empty. If it is, they should not try to use
- it; they should cancel the second installation of the header files.
+ 'oldincludedir' is empty. If it is, they should not try to use it;
+ they should cancel the second installation of the header files.
A package should not replace an existing header in this directory
unless the header came from the same package. Thus, if your Foo
- package provides a header file `foo.h', then it should install the
- header file in the `oldincludedir' directory if either (1) there
- is no `foo.h' there or (2) the `foo.h' that exists came from the
- Foo package.
+ package provides a header file 'foo.h', then it should install the
+ header file in the 'oldincludedir' directory if either (1) there is
+ no 'foo.h' there or (2) the 'foo.h' that exists came from the Foo
+ package.
- To tell whether `foo.h' came from the Foo package, put a magic
- string in the file--part of a comment--and `grep' for that string.
+ To tell whether 'foo.h' came from the Foo package, put a magic
+ string in the file--part of a comment--and 'grep' for that string.
-`docdir'
+'docdir'
The directory for installing documentation files (other than Info)
for this package. By default, it should be
- `/usr/local/share/doc/YOURPKG', but it should be written as
- `$(datarootdir)/doc/YOURPKG'. (If you are using Autoconf, write
- it as `@docdir@'.) The YOURPKG subdirectory, which may include a
+ '/usr/local/share/doc/YOURPKG', but it should be written as
+ '$(datarootdir)/doc/YOURPKG'. (If you are using Autoconf, write it
+ as '@docdir@'.) The YOURPKG subdirectory, which may include a
version number, prevents collisions among files with common names,
- such as `README'.
+ such as 'README'.
-`infodir'
+'infodir'
The directory for installing the Info files for this package. By
- default, it should be `/usr/local/share/info', but it should be
- written as `$(datarootdir)/info'. (If you are using Autoconf,
- write it as `@infodir@'.) `infodir' is separate from `docdir' for
+ default, it should be '/usr/local/share/info', but it should be
+ written as '$(datarootdir)/info'. (If you are using Autoconf,
+ write it as '@infodir@'.) 'infodir' is separate from 'docdir' for
compatibility with existing practice.
-`htmldir'
-`dvidir'
-`pdfdir'
-`psdir'
+'htmldir'
+'dvidir'
+'pdfdir'
+'psdir'
Directories for installing documentation files in the particular
- format. They should all be set to `$(docdir)' by default. (If
- you are using Autoconf, write them as `@htmldir@', `@dvidir@',
- etc.) Packages which supply several translations of their
- documentation should install them in `$(htmldir)/'LL,
- `$(pdfdir)/'LL, etc. where LL is a locale abbreviation such as
- `en' or `pt_BR'.
-
-`libdir'
+ format. They should all be set to '$(docdir)' by default. (If you
+ are using Autoconf, write them as '@htmldir@', '@dvidir@', etc.)
+ Packages which supply several translations of their documentation
+ should install them in '$(htmldir)/'LL, '$(pdfdir)/'LL, etc. where
+ LL is a locale abbreviation such as 'en' or 'pt_BR'.
+
+'libdir'
The directory for object files and libraries of object code. Do
not install executables here, they probably ought to go in
- `$(libexecdir)' instead. The value of `libdir' should normally be
- `/usr/local/lib', but write it as `$(exec_prefix)/lib'. (If you
- are using Autoconf, write it as `@libdir@'.)
+ '$(libexecdir)' instead. The value of 'libdir' should normally be
+ '/usr/local/lib', but write it as '$(exec_prefix)/lib'. (If you
+ are using Autoconf, write it as '@libdir@'.)
-`lispdir'
+'lispdir'
The directory for installing any Emacs Lisp files in this package.
- By default, it should be `/usr/local/share/emacs/site-lisp', but it
- should be written as `$(datarootdir)/emacs/site-lisp'.
+ By default, it should be '/usr/local/share/emacs/site-lisp', but it
+ should be written as '$(datarootdir)/emacs/site-lisp'.
- If you are using Autoconf, write the default as `@lispdir@'. In
- order to make `@lispdir@' work, you need the following lines in
- your `configure.ac' file:
+ If you are using Autoconf, write the default as '@lispdir@'. In
+ order to make '@lispdir@' work, you need the following lines in
+ your 'configure.ac' file:
lispdir='${datarootdir}/emacs/site-lisp'
AC_SUBST(lispdir)
-`localedir'
+'localedir'
The directory for installing locale-specific message catalogs for
- this package. By default, it should be `/usr/local/share/locale',
- but it should be written as `$(datarootdir)/locale'. (If you are
- using Autoconf, write it as `@localedir@'.) This directory
- usually has a subdirectory per locale.
+ this package. By default, it should be '/usr/local/share/locale',
+ but it should be written as '$(datarootdir)/locale'. (If you are
+ using Autoconf, write it as '@localedir@'.) This directory usually
+ has a subdirectory per locale.
Unix-style man pages are installed in one of the following:
-`mandir'
+'mandir'
The top-level directory for installing the man pages (if any) for
- this package. It will normally be `/usr/local/share/man', but you
- should write it as `$(datarootdir)/man'. (If you are using
- Autoconf, write it as `@mandir@'.)
+ this package. It will normally be '/usr/local/share/man', but you
+ should write it as '$(datarootdir)/man'. (If you are using
+ Autoconf, write it as '@mandir@'.)
-`man1dir'
+'man1dir'
The directory for installing section 1 man pages. Write it as
- `$(mandir)/man1'.
-
-`man2dir'
+ '$(mandir)/man1'.
+'man2dir'
The directory for installing section 2 man pages. Write it as
- `$(mandir)/man2'
+ '$(mandir)/man2'
+'...'
-`...'
- *Don't make the primary documentation for any GNU software be a
- man page. Write a manual in Texinfo instead. Man pages are just
- for the sake of people running GNU software on Unix, which is a
+ *Don't make the primary documentation for any GNU software be a man
+ page. Write a manual in Texinfo instead. Man pages are just for
+ the sake of people running GNU software on Unix, which is a
secondary application only.*
-`manext'
+'manext'
The file name extension for the installed man page. This should
contain a period followed by the appropriate digit; it should
- normally be `.1'.
+ normally be '.1'.
-`man1ext'
+'man1ext'
The file name extension for installed section 1 man pages.
-
-`man2ext'
+'man2ext'
The file name extension for installed section 2 man pages.
-
-`...'
- Use these names instead of `manext' if the package needs to
- install man pages in more than one section of the manual.
+'...'
+ Use these names instead of 'manext' if the package needs to install
+ man pages in more than one section of the manual.
And finally, you should set the following variable:
-`srcdir'
+'srcdir'
The directory for the sources being compiled. The value of this
- variable is normally inserted by the `configure' shell script.
- (If you are using Autoconf, use `srcdir = @srcdir@'.)
+ variable is normally inserted by the 'configure' shell script. (If
+ you are using Autoconf, use 'srcdir = @srcdir@'.)
For example:
@@ -3249,7 +2938,7 @@ have Info files, so every program needs `infodir', but not all need
If your program installs a large number of files into one of the
standard user-specified directories, it might be useful to group them
into a subdirectory particular to that program. If you do this, you
-should write the `install' rule to create these subdirectories.
+should write the 'install' rule to create these subdirectories.
Do not expect the user to include the subdirectory name in the value
of any of the variables listed above. The idea of having a uniform set
@@ -3274,19 +2963,19 @@ File: make.info, Node: Standard Targets, Next: Install Command Categories, Pr
All GNU programs should have the following targets in their Makefiles:
-`all'
+'all'
Compile the entire program. This should be the default target.
This target need not rebuild any documentation files; Info files
should normally be included in the distribution, and DVI (and other
documentation format) files should be made only when explicitly
asked for.
- By default, the Make rules should compile and link with `-g', so
+ By default, the Make rules should compile and link with '-g', so
that executable programs have debugging symbols. Otherwise, you
are essentially helpless in the face of a crash, and it is often
far from easy to reproduce with a fresh build.
-`install'
+'install'
Compile the program and copy the executables, libraries, and so on
to the file names where they should reside for actual use. If
there is a simple test to verify that a program is properly
@@ -3296,34 +2985,34 @@ All GNU programs should have the following targets in their Makefiles:
debugging that may be needed later, and nowadays disk space is
cheap and dynamic loaders typically ensure debug sections are not
loaded during normal execution. Users that need stripped binaries
- may invoke the `install-strip' target to do that.
+ may invoke the 'install-strip' target to do that.
- If possible, write the `install' target rule so that it does not
+ If possible, write the 'install' target rule so that it does not
modify anything in the directory where the program was built,
- provided `make all' has just been done. This is convenient for
+ provided 'make all' has just been done. This is convenient for
building the program under one user name and installing it under
another.
The commands should create all the directories in which files are
to be installed, if they don't already exist. This includes the
- directories specified as the values of the variables `prefix' and
- `exec_prefix', as well as all subdirectories that are needed. One
- way to do this is by means of an `installdirs' target as described
+ directories specified as the values of the variables 'prefix' and
+ 'exec_prefix', as well as all subdirectories that are needed. One
+ way to do this is by means of an 'installdirs' target as described
below.
- Use `-' before any command for installing a man page, so that
- `make' will ignore any errors. This is in case there are systems
+ Use '-' before any command for installing a man page, so that
+ 'make' will ignore any errors. This is in case there are systems
that don't have the Unix man page documentation system installed.
- The way to install Info files is to copy them into `$(infodir)'
- with `$(INSTALL_DATA)' (*note Command Variables::), and then run
- the `install-info' program if it is present. `install-info' is a
- program that edits the Info `dir' file to add or update the menu
+ The way to install Info files is to copy them into '$(infodir)'
+ with '$(INSTALL_DATA)' (*note Command Variables::), and then run
+ the 'install-info' program if it is present. 'install-info' is a
+ program that edits the Info 'dir' file to add or update the menu
entry for the given Info file; it is part of the Texinfo package.
Here is a sample rule to install an Info file that also tries to
- handle some additional situations, such as `install-info' not
- being present.
+ handle some additional situations, such as 'install-info' not being
+ present.
do-install-info: foo.info installdirs
$(NORMAL_INSTALL)
@@ -3344,47 +3033,47 @@ All GNU programs should have the following targets in their Makefiles:
"$(DESTDIR)$(infodir)/foo.info"; \
else true; fi
- When writing the `install' target, you must classify all the
+ When writing the 'install' target, you must classify all the
commands into three categories: normal ones, "pre-installation"
commands and "post-installation" commands. *Note Install Command
Categories::.
-`install-html'
-`install-dvi'
-`install-pdf'
-`install-ps'
+'install-html'
+'install-dvi'
+'install-pdf'
+'install-ps'
These targets install documentation in formats other than Info;
they're intended to be called explicitly by the person installing
- the package, if that format is desired. GNU prefers Info files,
- so these must be installed by the `install' target.
+ the package, if that format is desired. GNU prefers Info files, so
+ these must be installed by the 'install' target.
When you have many documentation files to install, we recommend
that you avoid collisions and clutter by arranging for these
targets to install in subdirectories of the appropriate
- installation directory, such as `htmldir'. As one example, if
- your package has multiple manuals, and you wish to install HTML
+ installation directory, such as 'htmldir'. As one example, if your
+ package has multiple manuals, and you wish to install HTML
documentation with many files (such as the "split" mode output by
- `makeinfo --html'), you'll certainly want to use subdirectories,
- or two nodes with the same name in different manuals will
- overwrite each other.
+ 'makeinfo --html'), you'll certainly want to use subdirectories, or
+ two nodes with the same name in different manuals will overwrite
+ each other.
- Please make these `install-FORMAT' targets invoke the commands for
+ Please make these 'install-FORMAT' targets invoke the commands for
the FORMAT target, for example, by making FORMAT a dependency.
-`uninstall'
- Delete all the installed files--the copies that the `install' and
- `install-*' targets create.
+'uninstall'
+ Delete all the installed files--the copies that the 'install' and
+ 'install-*' targets create.
This rule should not modify the directories where compilation is
done, only the directories where files are installed.
- The uninstallation commands are divided into three categories,
- just like the installation commands. *Note Install Command
+ The uninstallation commands are divided into three categories, just
+ like the installation commands. *Note Install Command
Categories::.
-`install-strip'
- Like `install', but strip the executable files while installing
- them. In simple cases, this target can use the `install' target in
+'install-strip'
+ Like 'install', but strip the executable files while installing
+ them. In simple cases, this target can use the 'install' target in
a simple way:
install-strip:
@@ -3392,105 +3081,105 @@ All GNU programs should have the following targets in their Makefiles:
install
But if the package installs scripts as well as real executables,
- the `install-strip' target can't just refer to the `install'
+ the 'install-strip' target can't just refer to the 'install'
target; it has to strip the executables but not the scripts.
- `install-strip' should not strip the executables in the build
+ 'install-strip' should not strip the executables in the build
directory which are being copied for installation. It should only
strip the copies that are installed.
- Normally we do not recommend stripping an executable unless you
- are sure the program has no bugs. However, it can be reasonable
- to install a stripped executable for actual execution while saving
- the unstripped executable elsewhere in case there is a bug.
+ Normally we do not recommend stripping an executable unless you are
+ sure the program has no bugs. However, it can be reasonable to
+ install a stripped executable for actual execution while saving the
+ unstripped executable elsewhere in case there is a bug.
-`clean'
- Delete all files in the current directory that are normally
- created by building the program. Also delete files in other
- directories if they are created by this makefile. However, don't
- delete the files that record the configuration. Also preserve
- files that could be made by building, but normally aren't because
- the distribution comes with them. There is no need to delete
- parent directories that were created with `mkdir -p', since they
- could have existed anyway.
+'clean'
+ Delete all files in the current directory that are normally created
+ by building the program. Also delete files in other directories if
+ they are created by this makefile. However, don't delete the files
+ that record the configuration. Also preserve files that could be
+ made by building, but normally aren't because the distribution
+ comes with them. There is no need to delete parent directories
+ that were created with 'mkdir -p', since they could have existed
+ anyway.
- Delete `.dvi' files here if they are not part of the distribution.
+ Delete '.dvi' files here if they are not part of the distribution.
-`distclean'
+'distclean'
Delete all files in the current directory (or created by this
makefile) that are created by configuring or building the program.
If you have unpacked the source and built the program without
- creating any other files, `make distclean' should leave only the
+ creating any other files, 'make distclean' should leave only the
files that were in the distribution. However, there is no need to
- delete parent directories that were created with `mkdir -p', since
+ delete parent directories that were created with 'mkdir -p', since
they could have existed anyway.
-`mostlyclean'
- Like `clean', but may refrain from deleting a few files that people
- normally don't want to recompile. For example, the `mostlyclean'
- target for GCC does not delete `libgcc.a', because recompiling it
+'mostlyclean'
+ Like 'clean', but may refrain from deleting a few files that people
+ normally don't want to recompile. For example, the 'mostlyclean'
+ target for GCC does not delete 'libgcc.a', because recompiling it
is rarely necessary and takes a lot of time.
-`maintainer-clean'
+'maintainer-clean'
Delete almost everything that can be reconstructed with this
Makefile. This typically includes everything deleted by
- `distclean', plus more: C source files produced by Bison, tags
+ 'distclean', plus more: C source files produced by Bison, tags
tables, Info files, and so on.
The reason we say "almost everything" is that running the command
- `make maintainer-clean' should not delete `configure' even if
- `configure' can be remade using a rule in the Makefile. More
- generally, `make maintainer-clean' should not delete anything that
- needs to exist in order to run `configure' and then begin to build
+ 'make maintainer-clean' should not delete 'configure' even if
+ 'configure' can be remade using a rule in the Makefile. More
+ generally, 'make maintainer-clean' should not delete anything that
+ needs to exist in order to run 'configure' and then begin to build
the program. Also, there is no need to delete parent directories
- that were created with `mkdir -p', since they could have existed
- anyway. These are the only exceptions; `maintainer-clean' should
+ that were created with 'mkdir -p', since they could have existed
+ anyway. These are the only exceptions; 'maintainer-clean' should
delete everything else that can be rebuilt.
- The `maintainer-clean' target is intended to be used by a
+ The 'maintainer-clean' target is intended to be used by a
maintainer of the package, not by ordinary users. You may need
- special tools to reconstruct some of the files that `make
- maintainer-clean' deletes. Since these files are normally
- included in the distribution, we don't take care to make them easy
- to reconstruct. If you find you need to unpack the full
- distribution again, don't blame us.
+ special tools to reconstruct some of the files that 'make
+ maintainer-clean' deletes. Since these files are normally included
+ in the distribution, we don't take care to make them easy to
+ reconstruct. If you find you need to unpack the full distribution
+ again, don't blame us.
To help make users aware of this, the commands for the special
- `maintainer-clean' target should start with these two:
+ 'maintainer-clean' target should start with these two:
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
-`TAGS'
+'TAGS'
Update a tags table for this program.
-`info'
- Generate any Info files needed. The best way to write the rules
- is as follows:
+'info'
+ Generate any Info files needed. The best way to write the rules is
+ as follows:
info: foo.info
foo.info: foo.texi chap1.texi chap2.texi
$(MAKEINFO) $(srcdir)/foo.texi
- You must define the variable `MAKEINFO' in the Makefile. It should
- run the `makeinfo' program, which is part of the Texinfo
+ You must define the variable 'MAKEINFO' in the Makefile. It should
+ run the 'makeinfo' program, which is part of the Texinfo
distribution.
Normally a GNU distribution comes with Info files, and that means
- the Info files are present in the source directory. Therefore,
- the Make rule for an info file should update it in the source
+ the Info files are present in the source directory. Therefore, the
+ Make rule for an info file should update it in the source
directory. When users build the package, ordinarily Make will not
update the Info files because they will already be up to date.
-`dvi'
-`html'
-`pdf'
-`ps'
+'dvi'
+'html'
+'pdf'
+'ps'
Generate documentation files in the given format. These targets
should always exist, but any or all can be a no-op if the given
output format cannot be generated. These targets should not be
- dependencies of the `all' target; the user must manually invoke
+ dependencies of the 'all' target; the user must manually invoke
them.
Here's an example rule for generating DVI files from Texinfo:
@@ -3500,11 +3189,11 @@ All GNU programs should have the following targets in their Makefiles:
foo.dvi: foo.texi chap1.texi chap2.texi
$(TEXI2DVI) $(srcdir)/foo.texi
- You must define the variable `TEXI2DVI' in the Makefile. It
- should run the program `texi2dvi', which is part of the Texinfo
- distribution. (`texi2dvi' uses TeX to do the real work of
- formatting. TeX is not distributed with Texinfo.) Alternatively,
- write only the dependencies, and allow GNU `make' to provide the
+ You must define the variable 'TEXI2DVI' in the Makefile. It should
+ run the program 'texi2dvi', which is part of the Texinfo
+ distribution. ('texi2dvi' uses TeX to do the real work of
+ formatting. TeX is not distributed with Texinfo.) Alternatively,
+ write only the dependencies, and allow GNU 'make' to provide the
command.
Here's another example, this one for generating HTML from Texinfo:
@@ -3514,32 +3203,32 @@ All GNU programs should have the following targets in their Makefiles:
foo.html: foo.texi chap1.texi chap2.texi
$(TEXI2HTML) $(srcdir)/foo.texi
- Again, you would define the variable `TEXI2HTML' in the Makefile;
- for example, it might run `makeinfo --no-split --html' (`makeinfo'
+ Again, you would define the variable 'TEXI2HTML' in the Makefile;
+ for example, it might run 'makeinfo --no-split --html' ('makeinfo'
is part of the Texinfo distribution).
-`dist'
+'dist'
Create a distribution tar file for this program. The tar file
should be set up so that the file names in the tar file start with
a subdirectory name which is the name of the package it is a
distribution for. This name can include the version number.
For example, the distribution tar file of GCC version 1.40 unpacks
- into a subdirectory named `gcc-1.40'.
+ into a subdirectory named 'gcc-1.40'.
The easiest way to do this is to create a subdirectory
- appropriately named, use `ln' or `cp' to install the proper files
- in it, and then `tar' that subdirectory.
+ appropriately named, use 'ln' or 'cp' to install the proper files
+ in it, and then 'tar' that subdirectory.
- Compress the tar file with `gzip'. For example, the actual
- distribution file for GCC version 1.40 is called `gcc-1.40.tar.gz'.
+ Compress the tar file with 'gzip'. For example, the actual
+ distribution file for GCC version 1.40 is called 'gcc-1.40.tar.gz'.
It is ok to support other free compression formats as well.
- The `dist' target should explicitly depend on all non-source files
+ The 'dist' target should explicitly depend on all non-source files
that are in the distribution, to make sure they are up to date in
the distribution. *Note Making Releases: (standards)Releases.
-`check'
+'check'
Perform self-tests (if any). The user must build the program
before running the tests, but need not install the program; you
should write the self-tests so that they work when the program is
@@ -3548,15 +3237,15 @@ All GNU programs should have the following targets in their Makefiles:
The following targets are suggested as conventional names, for
programs in which they are useful.
-`installcheck'
+'installcheck'
Perform installation tests (if any). The user must build and
install the program before running the tests. You should not
- assume that `$(bindir)' is in the search path.
+ assume that '$(bindir)' is in the search path.
-`installdirs'
- It's useful to add a target named `installdirs' to create the
+'installdirs'
+ It's useful to add a target named 'installdirs' to create the
directories where files are installed, and their parent
- directories. There is a script called `mkinstalldirs' which is
+ directories. There is a script called 'mkinstalldirs' which is
convenient for this; you can find it in the Gnulib package. You
can use a rule like this:
@@ -3567,7 +3256,7 @@ programs in which they are useful.
$(libdir) $(infodir) \
$(mandir)
- or, if you wish to support `DESTDIR' (strongly encouraged),
+ or, if you wish to support 'DESTDIR' (strongly encouraged),
# Make sure all installation directories (e.g. $(bindir))
# actually exist by making them if necessary.
@@ -3586,7 +3275,7 @@ File: make.info, Node: Install Command Categories, Prev: Standard Targets, Up
15.7 Install Command Categories
===============================
-When writing the `install' target, you must classify all the commands
+When writing the 'install' target, you must classify all the commands
into three categories: normal ones, "pre-installation" commands and
"post-installation" commands.
@@ -3603,7 +3292,7 @@ commands, and post-installation commands are typically run after the
normal commands.
The most common use for a post-installation command is to run
-`install-info'. This cannot be done with a normal command, since it
+'install-info'. This cannot be done with a normal command, since it
alters a file (the Info directory) which does not come entirely and
solely from the package being installed. It is a post-installation
command because it needs to be done after the normal command which
@@ -3612,7 +3301,7 @@ installs the package's Info files.
Most programs don't need any pre-installation commands, but we have
the feature just in case it is needed.
- To classify the commands in the `install' rule into these three
+ To classify the commands in the 'install' rule into these three
categories, insert "category lines" among them. A category line
specifies the category for the commands that follow.
@@ -3630,12 +3319,12 @@ explains what it means:
$(POST_INSTALL) # Post-install commands follow.
$(NORMAL_INSTALL) # Normal commands follow.
- If you don't use a category line at the beginning of the `install'
+ If you don't use a category line at the beginning of the 'install'
rule, all the commands are classified as normal until the first category
line. If you don't use any category lines, all the commands are
classified as normal.
- These are the category lines for `uninstall':
+ These are the category lines for 'uninstall':
$(PRE_UNINSTALL) # Pre-uninstall commands follow.
$(POST_UNINSTALL) # Post-uninstall commands follow.
@@ -3644,8 +3333,8 @@ classified as normal.
Typically, a pre-uninstall command would be used for deleting entries
from the Info directory.
- If the `install' or `uninstall' target has any dependencies which
-act as subroutines of installation, then you should start _each_
+ If the 'install' or 'uninstall' target has any dependencies which act
+as subroutines of installation, then you should start _each_
dependency's commands with a category line, and start the main target's
commands with a category line also. This way, you can ensure that each
command is placed in the right category regardless of which of the
@@ -3661,15 +3350,15 @@ programs except for these:
test touch true uname xargs yes
The reason for distinguishing the commands in this way is for the
-sake of making binary packages. Typically a binary package contains
-all the executables and other files that need to be installed, and has
-its own method of installing them--so it does not need to run the normal
+sake of making binary packages. Typically a binary package contains all
+the executables and other files that need to be installed, and has its
+own method of installing them--so it does not need to run the normal
installation commands. But installing the binary package does need to
execute the pre-installation and post-installation commands.
Programs to build binary packages work by extracting the
pre-installation and post-installation commands. Here is one way of
-extracting the pre-installation commands (the `-s' option to `make' is
+extracting the pre-installation commands (the '-s' option to 'make' is
needed to silence messages about entering subdirectories):
make -s -n install -o all \
@@ -3678,7 +3367,7 @@ needed to silence messages about entering subdirectories):
NORMAL_INSTALL=normal-install \
| gawk -f pre-install.awk
-where the file `pre-install.awk' could contain this:
+where the file 'pre-install.awk' could contain this:
$0 ~ /^(normal-install|post-install)[ \t]*$/ {on = 0}
on {print $0}
@@ -3691,382 +3380,395 @@ Appendix A Quick Reference
**************************
This appendix summarizes the directives, text manipulation functions,
-and special variables which GNU `make' understands. *Note Special
-Targets::, *note Catalogue of Implicit Rules: Catalogue of Rules, and
+and special variables which GNU 'make' understands. *Note Special
+Targets::, *note Catalogue of Built-In Rules: Catalogue of Rules, and
*note Summary of Options: Options Summary, for other summaries.
- Here is a summary of the directives GNU `make' recognizes:
+ Here is a summary of the directives GNU 'make' recognizes:
-`define VARIABLE'
-`define VARIABLE ='
-`define VARIABLE :='
-`define VARIABLE ::='
-`define VARIABLE +='
-`define VARIABLE ?='
-`endef'
+'define VARIABLE'
+'define VARIABLE ='
+'define VARIABLE :='
+'define VARIABLE ::='
+'define VARIABLE +='
+'define VARIABLE ?='
+'endef'
Define multi-line variables.
*Note Multi-Line::.
-`undefine VARIABLE'
+'undefine VARIABLE'
Undefining variables.
*Note Undefine Directive::.
-`ifdef VARIABLE'
-`ifndef VARIABLE'
-`ifeq (A,B)'
-`ifeq "A" "B"'
-`ifeq 'A' 'B''
-`ifneq (A,B)'
-`ifneq "A" "B"'
-`ifneq 'A' 'B''
-`else'
-`endif'
+'ifdef VARIABLE'
+'ifndef VARIABLE'
+'ifeq (A,B)'
+'ifeq "A" "B"'
+'ifeq 'A' 'B''
+'ifneq (A,B)'
+'ifneq "A" "B"'
+'ifneq 'A' 'B''
+'else'
+'endif'
Conditionally evaluate part of the makefile.
*Note Conditionals::.
-`include FILE'
-`-include FILE'
-`sinclude FILE'
+'include FILE'
+'-include FILE'
+'sinclude FILE'
Include another makefile.
*Note Including Other Makefiles: Include.
-`override VARIABLE-ASSIGNMENT'
+'override VARIABLE-ASSIGNMENT'
Define a variable, overriding any previous definition, even one
from the command line.
- *Note The `override' Directive: Override Directive.
+ *Note The 'override' Directive: Override Directive.
-`export'
- Tell `make' to export all variables to child processes by default.
- *Note Communicating Variables to a Sub-`make': Variables/Recursion.
+'export'
+ Tell 'make' to export all variables to child processes by default.
+ *Note Communicating Variables to a Sub-'make': Variables/Recursion.
-`export VARIABLE'
-`export VARIABLE-ASSIGNMENT'
-`unexport VARIABLE'
- Tell `make' whether or not to export a particular variable to child
+'export VARIABLE'
+'export VARIABLE-ASSIGNMENT'
+'unexport VARIABLE'
+ Tell 'make' whether or not to export a particular variable to child
processes.
- *Note Communicating Variables to a Sub-`make': Variables/Recursion.
+ *Note Communicating Variables to a Sub-'make': Variables/Recursion.
-`private VARIABLE-ASSIGNMENT'
+'private VARIABLE-ASSIGNMENT'
Do not allow this variable assignment to be inherited by
prerequisites.
*Note Suppressing Inheritance::.
-`vpath PATTERN PATH'
- Specify a search path for files matching a `%' pattern.
- *Note The `vpath' Directive: Selective Search.
+'vpath PATTERN PATH'
+ Specify a search path for files matching a '%' pattern.
+ *Note The 'vpath' Directive: Selective Search.
-`vpath PATTERN'
+'vpath PATTERN'
Remove all search paths previously specified for PATTERN.
-`vpath'
- Remove all search paths previously specified in any `vpath'
+'vpath'
+ Remove all search paths previously specified in any 'vpath'
directive.
Here is a summary of the built-in functions (*note Functions::):
-`$(subst FROM,TO,TEXT)'
+'$(subst FROM,TO,TEXT)'
Replace FROM with TO in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(patsubst PATTERN,REPLACEMENT,TEXT)'
+'$(patsubst PATTERN,REPLACEMENT,TEXT)'
Replace words matching PATTERN with REPLACEMENT in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(strip STRING)'
+'$(strip STRING)'
Remove excess whitespace characters from STRING.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(findstring FIND,TEXT)'
+'$(findstring FIND,TEXT)'
Locate FIND in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(filter PATTERN...,TEXT)'
+'$(filter PATTERN...,TEXT)'
Select words in TEXT that match one of the PATTERN words.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(filter-out PATTERN...,TEXT)'
+'$(filter-out PATTERN...,TEXT)'
Select words in TEXT that _do not_ match any of the PATTERN words.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(sort LIST)'
+'$(sort LIST)'
Sort the words in LIST lexicographically, removing duplicates.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(word N,TEXT)'
+'$(word N,TEXT)'
Extract the Nth word (one-origin) of TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(words TEXT)'
+'$(words TEXT)'
Count the number of words in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(wordlist S,E,TEXT)'
+'$(wordlist S,E,TEXT)'
Returns the list of words in TEXT from S to E.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(firstword NAMES...)'
+'$(firstword NAMES...)'
Extract the first word of NAMES.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(lastword NAMES...)'
+'$(lastword NAMES...)'
Extract the last word of NAMES.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(dir NAMES...)'
+'$(dir NAMES...)'
Extract the directory part of each file name.
*Note Functions for File Names: File Name Functions.
-`$(notdir NAMES...)'
+'$(notdir NAMES...)'
Extract the non-directory part of each file name.
*Note Functions for File Names: File Name Functions.
-`$(suffix NAMES...)'
- Extract the suffix (the last `.' and following characters) of each
+'$(suffix NAMES...)'
+ Extract the suffix (the last '.' and following characters) of each
file name.
*Note Functions for File Names: File Name Functions.
-`$(basename NAMES...)'
+'$(basename NAMES...)'
Extract the base name (name without suffix) of each file name.
*Note Functions for File Names: File Name Functions.
-`$(addsuffix SUFFIX,NAMES...)'
+'$(addsuffix SUFFIX,NAMES...)'
Append SUFFIX to each word in NAMES.
*Note Functions for File Names: File Name Functions.
-`$(addprefix PREFIX,NAMES...)'
+'$(addprefix PREFIX,NAMES...)'
Prepend PREFIX to each word in NAMES.
*Note Functions for File Names: File Name Functions.
-`$(join LIST1,LIST2)'
+'$(join LIST1,LIST2)'
Join two parallel lists of words.
*Note Functions for File Names: File Name Functions.
-`$(wildcard PATTERN...)'
- Find file names matching a shell file name pattern (_not_ a `%'
+'$(wildcard PATTERN...)'
+ Find file names matching a shell file name pattern (_not_ a '%'
pattern).
- *Note The Function `wildcard': Wildcard Function.
+ *Note The Function 'wildcard': Wildcard Function.
-`$(realpath NAMES...)'
+'$(realpath NAMES...)'
For each file name in NAMES, expand to an absolute name that does
- not contain any `.', `..', nor symlinks.
+ not contain any '.', '..', nor symlinks.
*Note Functions for File Names: File Name Functions.
-`$(abspath NAMES...)'
+'$(abspath NAMES...)'
For each file name in NAMES, expand to an absolute name that does
- not contain any `.' or `..' components, but preserves symlinks.
+ not contain any '.' or '..' components, but preserves symlinks.
*Note Functions for File Names: File Name Functions.
-`$(error TEXT...)'
- When this function is evaluated, `make' generates a fatal error
+'$(error TEXT...)'
+ When this function is evaluated, 'make' generates a fatal error
with the message TEXT.
*Note Functions That Control Make: Make Control Functions.
-`$(warning TEXT...)'
- When this function is evaluated, `make' generates a warning with
+'$(warning TEXT...)'
+ When this function is evaluated, 'make' generates a warning with
the message TEXT.
*Note Functions That Control Make: Make Control Functions.
-`$(shell COMMAND)'
+'$(shell COMMAND)'
Execute a shell command and return its output.
- *Note The `shell' Function: Shell Function.
+ *Note The 'shell' Function: Shell Function.
-`$(origin VARIABLE)'
- Return a string describing how the `make' variable VARIABLE was
+'$(origin VARIABLE)'
+ Return a string describing how the 'make' variable VARIABLE was
defined.
- *Note The `origin' Function: Origin Function.
+ *Note The 'origin' Function: Origin Function.
-`$(flavor VARIABLE)'
- Return a string describing the flavor of the `make' variable
+'$(flavor VARIABLE)'
+ Return a string describing the flavor of the 'make' variable
VARIABLE.
- *Note The `flavor' Function: Flavor Function.
+ *Note The 'flavor' Function: Flavor Function.
-`$(foreach VAR,WORDS,TEXT)'
- Evaluate TEXT with VAR bound to each word in WORDS, and
- concatenate the results.
- *Note The `foreach' Function: Foreach Function.
+'$(foreach VAR,WORDS,TEXT)'
+ Evaluate TEXT with VAR bound to each word in WORDS, and concatenate
+ the results.
+ *Note The 'foreach' Function: Foreach Function.
-`$(if CONDITION,THEN-PART[,ELSE-PART])'
+'$(if CONDITION,THEN-PART[,ELSE-PART])'
Evaluate the condition CONDITION; if it's non-empty substitute the
expansion of the THEN-PART otherwise substitute the expansion of
the ELSE-PART.
*Note Functions for Conditionals: Conditional Functions.
-`$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
+'$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
Evaluate each condition CONDITIONN one at a time; substitute the
first non-empty expansion. If all expansions are empty, substitute
the empty string.
*Note Functions for Conditionals: Conditional Functions.
-`$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
+'$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
Evaluate each condition CONDITIONN one at a time; if any expansion
results in the empty string substitute the empty string. If all
expansions result in a non-empty string, substitute the expansion
of the last CONDITION.
*Note Functions for Conditionals: Conditional Functions.
-`$(call VAR,PARAM,...)'
- Evaluate the variable VAR replacing any references to `$(1)',
- `$(2)' with the first, second, etc. PARAM values.
- *Note The `call' Function: Call Function.
+'$(call VAR,PARAM,...)'
+ Evaluate the variable VAR replacing any references to '$(1)',
+ '$(2)' with the first, second, etc. PARAM values.
+ *Note The 'call' Function: Call Function.
-`$(eval TEXT)'
+'$(eval TEXT)'
Evaluate TEXT then read the results as makefile commands. Expands
to the empty string.
- *Note The `eval' Function: Eval Function.
+ *Note The 'eval' Function: Eval Function.
-`$(file OP FILENAME,TEXT)'
- Expand the arguments, then open the file FILENAME using mode OP
- and write TEXT to that file.
- *Note The `file' Function: File Function.
+'$(file OP FILENAME,TEXT)'
+ Expand the arguments, then open the file FILENAME using mode OP and
+ write TEXT to that file.
+ *Note The 'file' Function: File Function.
-`$(value VAR)'
+'$(value VAR)'
Evaluates to the contents of the variable VAR, with no expansion
performed on it.
- *Note The `value' Function: Value Function.
+ *Note The 'value' Function: Value Function.
Here is a summary of the automatic variables. *Note Automatic
Variables::, for full information.
-`$@'
+'$@'
The file name of the target.
-`$%'
+'$%'
The target member name, when the target is an archive member.
-`$<'
+'$<'
The name of the first prerequisite.
-`$?'
+'$?'
The names of all the prerequisites that are newer than the target,
with spaces between them. For prerequisites which are archive
members, only the named member is used (*note Archives::).
-`$^'
-`$+'
+'$^'
+'$+'
The names of all the prerequisites, with spaces between them. For
prerequisites which are archive members, only the named member is
- used (*note Archives::). The value of `$^' omits duplicate
- prerequisites, while `$+' retains them and preserves their order.
+ used (*note Archives::). The value of '$^' omits duplicate
+ prerequisites, while '$+' retains them and preserves their order.
-`$*'
+'$*'
The stem with which an implicit rule matches (*note How Patterns
Match: Pattern Match.).
-`$(@D)'
-`$(@F)'
- The directory part and the file-within-directory part of `$@'.
+'$(@D)'
+'$(@F)'
+ The directory part and the file-within-directory part of '$@'.
+
+'$(*D)'
+'$(*F)'
+ The directory part and the file-within-directory part of '$*'.
-`$(*D)'
-`$(*F)'
- The directory part and the file-within-directory part of `$*'.
+'$(%D)'
+'$(%F)'
+ The directory part and the file-within-directory part of '$%'.
-`$(%D)'
-`$(%F)'
- The directory part and the file-within-directory part of `$%'.
+'$(<D)'
+'$(<F)'
+ The directory part and the file-within-directory part of '$<'.
-`$(<D)'
-`$(<F)'
- The directory part and the file-within-directory part of `$<'.
+'$(^D)'
+'$(^F)'
+ The directory part and the file-within-directory part of '$^'.
-`$(^D)'
-`$(^F)'
- The directory part and the file-within-directory part of `$^'.
+'$(+D)'
+'$(+F)'
+ The directory part and the file-within-directory part of '$+'.
-`$(+D)'
-`$(+F)'
- The directory part and the file-within-directory part of `$+'.
+'$(?D)'
+'$(?F)'
+ The directory part and the file-within-directory part of '$?'.
-`$(?D)'
-`$(?F)'
- The directory part and the file-within-directory part of `$?'.
+ These variables are used specially by GNU 'make':
- These variables are used specially by GNU `make':
+'MAKEFILES'
-`MAKEFILES'
- Makefiles to be read on every invocation of `make'.
- *Note The Variable `MAKEFILES': MAKEFILES Variable.
+ Makefiles to be read on every invocation of 'make'.
+ *Note The Variable 'MAKEFILES': MAKEFILES Variable.
+
+'VPATH'
-`VPATH'
Directory search path for files not found in the current directory.
- *Note `VPATH' Search Path for All Prerequisites: General Search.
+ *Note 'VPATH' Search Path for All Prerequisites: General Search.
+
+'SHELL'
-`SHELL'
The name of the system default command interpreter, usually
- `/bin/sh'. You can set `SHELL' in the makefile to change the
- shell used to run recipes. *Note Recipe Execution: Execution.
- The `SHELL' variable is handled specially when importing from and
+ '/bin/sh'. You can set 'SHELL' in the makefile to change the shell
+ used to run recipes. *Note Recipe Execution: Execution. The
+ 'SHELL' variable is handled specially when importing from and
exporting to the environment. *Note Choosing the Shell::.
-`MAKESHELL'
+'MAKESHELL'
+
On MS-DOS only, the name of the command interpreter that is to be
- used by `make'. This value takes precedence over the value of
- `SHELL'. *Note MAKESHELL variable: Execution.
+ used by 'make'. This value takes precedence over the value of
+ 'SHELL'. *Note MAKESHELL variable: Execution.
-`MAKE'
- The name with which `make' was invoked. Using this variable in
- recipes has special meaning. *Note How the `MAKE' Variable Works:
+'MAKE'
+
+ The name with which 'make' was invoked. Using this variable in
+ recipes has special meaning. *Note How the 'MAKE' Variable Works:
MAKE Variable.
-`MAKE_VERSION'
- The built-in variable `MAKE_VERSION' expands to the version number
- of the GNU `make' program.
+'MAKE_VERSION'
+
+ The built-in variable 'MAKE_VERSION' expands to the version number
+ of the GNU 'make' program.
+
+'MAKE_HOST'
+
+ The built-in variable 'MAKE_HOST' expands to a string representing
+ the host that GNU 'make' was built to run on.
-`MAKE_HOST'
- The built-in variable `MAKE_HOST' expands to a string representing
- the host that GNU `make' was built to run on.
+'MAKELEVEL'
-`MAKELEVEL'
- The number of levels of recursion (sub-`make's).
+ The number of levels of recursion (sub-'make's).
*Note Variables/Recursion::.
-`MAKEFLAGS'
- The flags given to `make'. You can set this in the environment or
+'MAKEFLAGS'
+
+ The flags given to 'make'. You can set this in the environment or
a makefile to set flags.
- *Note Communicating Options to a Sub-`make': Options/Recursion.
+ *Note Communicating Options to a Sub-'make': Options/Recursion.
- It is _never_ appropriate to use `MAKEFLAGS' directly in a recipe
+ It is _never_ appropriate to use 'MAKEFLAGS' directly in a recipe
line: its contents may not be quoted correctly for use in the
- shell. Always allow recursive `make''s to obtain these values
+ shell. Always allow recursive 'make''s to obtain these values
through the environment from its parent.
-`GNUMAKEFLAGS'
- Other flags parsed by `make'. You can set this in the environment
- or a makefile to set `make' command-line flags. GNU `make' never
+'GNUMAKEFLAGS'
+
+ Other flags parsed by 'make'. You can set this in the environment
+ or a makefile to set 'make' command-line flags. GNU 'make' never
sets this variable itself. This variable is only needed if you'd
- like to set GNU `make'-specific flags in a POSIX-compliant
- makefile. This variable will be seen by GNU `make' and ignored by
- other `make' implementations. It's not needed if you only use GNU
- `make'; just use `MAKEFLAGS' directly. *Note Communicating
- Options to a Sub-`make': Options/Recursion.
-
-`MAKECMDGOALS'
- The targets given to `make' on the command line. Setting this
- variable has no effect on the operation of `make'.
+ like to set GNU 'make'-specific flags in a POSIX-compliant
+ makefile. This variable will be seen by GNU 'make' and ignored by
+ other 'make' implementations. It's not needed if you only use GNU
+ 'make'; just use 'MAKEFLAGS' directly. *Note Communicating Options
+ to a Sub-'make': Options/Recursion.
+
+'MAKECMDGOALS'
+
+ The targets given to 'make' on the command line. Setting this
+ variable has no effect on the operation of 'make'.
*Note Arguments to Specify the Goals: Goals.
-`CURDIR'
+'CURDIR'
+
Set to the pathname of the current working directory (after all
- `-C' options are processed, if any). Setting this variable has no
- effect on the operation of `make'.
- *Note Recursive Use of `make': Recursion.
+ '-C' options are processed, if any). Setting this variable has no
+ effect on the operation of 'make'.
+ *Note Recursive Use of 'make': Recursion.
-`SUFFIXES'
- The default list of suffixes before `make' reads any makefiles.
+'SUFFIXES'
-`.LIBPATTERNS'
- Defines the naming of the libraries `make' searches for, and their
+ The default list of suffixes before 'make' reads any makefiles.
+
+'.LIBPATTERNS'
+ Defines the naming of the libraries 'make' searches for, and their
order.
*Note Directory Search for Link Libraries: Libraries/Search.
@@ -4077,155 +3779,154 @@ Appendix B Errors Generated by Make
***********************************
Here is a list of the more common errors you might see generated by
-`make', and some information about what they mean and how to fix them.
+'make', and some information about what they mean and how to fix them.
- Sometimes `make' errors are not fatal, especially in the presence of
-a `-' prefix on a recipe line, or the `-k' command line option. Errors
-that are fatal are prefixed with the string `***'.
+ Sometimes 'make' errors are not fatal, especially in the presence of
+a '-' prefix on a recipe line, or the '-k' command line option. Errors
+that are fatal are prefixed with the string '***'.
Error messages are all either prefixed with the name of the program
-(usually `make'), or, if the error is found in a makefile, the name of
+(usually 'make'), or, if the error is found in a makefile, the name of
the file and line number containing the problem.
In the table below, these common prefixes are left off.
-`[FOO] Error NN'
-`[FOO] SIGNAL DESCRIPTION'
- These errors are not really `make' errors at all. They mean that a
- program that `make' invoked as part of a recipe returned a non-0
- error code (`Error NN'), which `make' interprets as failure, or it
- exited in some other abnormal fashion (with a signal of some
- type). *Note Errors in Recipes: Errors.
-
- If no `***' is attached to the message, then the sub-process failed
- but the rule in the makefile was prefixed with the `-' special
- character, so `make' ignored the error.
-
-`missing separator. Stop.'
-`missing separator (did you mean TAB instead of 8 spaces?). Stop.'
- This means that `make' could not understand much of anything about
- the makefile line it just read. GNU `make' looks for various
- separators (`:', `=', recipe prefix characters, etc.) to indicate
+'[FOO] Error NN'
+'[FOO] SIGNAL DESCRIPTION'
+ These errors are not really 'make' errors at all. They mean that a
+ program that 'make' invoked as part of a recipe returned a non-0
+ error code ('Error NN'), which 'make' interprets as failure, or it
+ exited in some other abnormal fashion (with a signal of some type).
+ *Note Errors in Recipes: Errors.
+
+ If no '***' is attached to the message, then the sub-process failed
+ but the rule in the makefile was prefixed with the '-' special
+ character, so 'make' ignored the error.
+
+'missing separator. Stop.'
+'missing separator (did you mean TAB instead of 8 spaces?). Stop.'
+ This means that 'make' could not understand much of anything about
+ the makefile line it just read. GNU 'make' looks for various
+ separators (':', '=', recipe prefix characters, etc.) to indicate
what kind of line it's parsing. This message means it couldn't
find a valid one.
One of the most common reasons for this message is that you (or
perhaps your oh-so-helpful editor, as is the case with many
- MS-Windows editors) have attempted to indent your recipe lines
- with spaces instead of a tab character. In this case, `make' will
- use the second form of the error above. Remember that every line
- in the recipe must begin with a tab character (unless you set
- `.RECIPEPREFIX'; *note Special Variables::). Eight spaces do not
+ MS-Windows editors) have attempted to indent your recipe lines with
+ spaces instead of a tab character. In this case, 'make' will use
+ the second form of the error above. Remember that every line in
+ the recipe must begin with a tab character (unless you set
+ '.RECIPEPREFIX'; *note Special Variables::). Eight spaces do not
count. *Note Rule Syntax::.
-`recipe commences before first target. Stop.'
-`missing rule before recipe. Stop.'
+'recipe commences before first target. Stop.'
+'missing rule before recipe. Stop.'
This means the first thing in the makefile seems to be part of a
- recipe: it begins with a recipe prefix character and doesn't
- appear to be a legal `make' directive (such as a variable
- assignment). Recipes must always be associated with a target.
+ recipe: it begins with a recipe prefix character and doesn't appear
+ to be a legal 'make' directive (such as a variable assignment).
+ Recipes must always be associated with a target.
The second form is generated if the line has a semicolon as the
- first non-whitespace character; `make' interprets this to mean you
+ first non-whitespace character; 'make' interprets this to mean you
left out the "target: prerequisite" section of a rule. *Note Rule
Syntax::.
-`No rule to make target `XXX'.'
-`No rule to make target `XXX', needed by `YYY'.'
- This means that `make' decided it needed to build a target, but
+'No rule to make target `XXX'.'
+'No rule to make target `XXX', needed by `YYY'.'
+ This means that 'make' decided it needed to build a target, but
then couldn't find any instructions in the makefile on how to do
that, either explicit or implicit (including in the default rules
database).
If you want that file to be built, you will need to add a rule to
your makefile describing how that target can be built. Other
- possible sources of this problem are typos in the makefile (if
- that file name is wrong) or a corrupted source tree (if that file
- is not supposed to be built, but rather only a prerequisite).
-
-`No targets specified and no makefile found. Stop.'
-`No targets. Stop.'
- The former means that you didn't provide any targets to be built
- on the command line, and `make' couldn't find any makefiles to
- read in. The latter means that some makefile was found, but it
- didn't contain any default goal and none was given on the command
- line. GNU `make' has nothing to do in these situations. *Note
- Arguments to Specify the Makefile: Makefile Arguments.
-
-`Makefile `XXX' was not found.'
-`Included makefile `XXX' was not found.'
+ possible sources of this problem are typos in the makefile (if that
+ file name is wrong) or a corrupted source tree (if that file is not
+ supposed to be built, but rather only a prerequisite).
+
+'No targets specified and no makefile found. Stop.'
+'No targets. Stop.'
+ The former means that you didn't provide any targets to be built on
+ the command line, and 'make' couldn't find any makefiles to read
+ in. The latter means that some makefile was found, but it didn't
+ contain any default goal and none was given on the command line.
+ GNU 'make' has nothing to do in these situations. *Note Arguments
+ to Specify the Makefile: Makefile Arguments.
+
+'Makefile `XXX' was not found.'
+'Included makefile `XXX' was not found.'
A makefile specified on the command line (first form) or included
(second form) was not found.
-`warning: overriding recipe for target `XXX''
-`warning: ignoring old recipe for target `XXX''
- GNU `make' allows only one recipe to be specified per target
+'warning: overriding recipe for target `XXX''
+'warning: ignoring old recipe for target `XXX''
+ GNU 'make' allows only one recipe to be specified per target
(except for double-colon rules). If you give a recipe for a target
which already has been defined to have one, this warning is issued
and the second recipe will overwrite the first. *Note Multiple
Rules for One Target: Multiple Rules.
-`Circular XXX <- YYY dependency dropped.'
- This means that `make' detected a loop in the dependency graph:
+'Circular XXX <- YYY dependency dropped.'
+ This means that 'make' detected a loop in the dependency graph:
after tracing the prerequisite YYY of target XXX, and its
prerequisites, etc., one of them depended on XXX again.
-`Recursive variable `XXX' references itself (eventually). Stop.'
- This means you've defined a normal (recursive) `make' variable XXX
+'Recursive variable `XXX' references itself (eventually). Stop.'
+ This means you've defined a normal (recursive) 'make' variable XXX
that, when it's expanded, will refer to itself (XXX). This is not
- allowed; either use simply-expanded variables (`:=' or `::=') or
- use the append operator (`+='). *Note How to Use Variables: Using
+ allowed; either use simply-expanded variables (':=' or '::=') or
+ use the append operator ('+='). *Note How to Use Variables: Using
Variables.
-`Unterminated variable reference. Stop.'
+'Unterminated variable reference. Stop.'
This means you forgot to provide the proper closing parenthesis or
brace in your variable or function reference.
-`insufficient arguments to function `XXX'. Stop.'
+'insufficient arguments to function `XXX'. Stop.'
This means you haven't provided the requisite number of arguments
for this function. See the documentation of the function for a
description of its arguments. *Note Functions for Transforming
Text: Functions.
-`missing target pattern. Stop.'
-`multiple target patterns. Stop.'
-`target pattern contains no `%'. Stop.'
-`mixed implicit and static pattern rules. Stop.'
+'missing target pattern. Stop.'
+'multiple target patterns. Stop.'
+'target pattern contains no `%'. Stop.'
+'mixed implicit and static pattern rules. Stop.'
These are generated for malformed static pattern rules. The first
means there's no pattern in the target section of the rule; the
- second means there are multiple patterns in the target section;
- the third means the target doesn't contain a pattern character
- (`%'); and the fourth means that all three parts of the static
- pattern rule contain pattern characters (`%')-only the first two
- parts should. If you see these errors and you aren't trying to
- create a static pattern rule, check the value of any variables in
- your target and prerequisite lists to be sure they do not contain
+ second means there are multiple patterns in the target section; the
+ third means the target doesn't contain a pattern character ('%');
+ and the fourth means that all three parts of the static pattern
+ rule contain pattern characters ('%')-only the first two parts
+ should. If you see these errors and you aren't trying to create a
+ static pattern rule, check the value of any variables in your
+ target and prerequisite lists to be sure they do not contain
colons. *Note Syntax of Static Pattern Rules: Static Usage.
-`warning: -jN forced in submake: disabling jobserver mode.'
- This warning and the next are generated if `make' detects error
+'warning: -jN forced in submake: disabling jobserver mode.'
+ This warning and the next are generated if 'make' detects error
conditions related to parallel processing on systems where
- sub-`make's can communicate (*note Communicating Options to a
- Sub-`make': Options/Recursion.). This warning is generated if a
- recursive invocation of a `make' process is forced to have `-jN'
- in its argument list (where N is greater than one). This could
- happen, for example, if you set the `MAKE' environment variable to
- `make -j2'. In this case, the sub-`make' doesn't communicate with
- other `make' processes and will simply pretend it has two jobs of
+ sub-'make's can communicate (*note Communicating Options to a
+ Sub-'make': Options/Recursion.). This warning is generated if a
+ recursive invocation of a 'make' process is forced to have '-jN' in
+ its argument list (where N is greater than one). This could
+ happen, for example, if you set the 'MAKE' environment variable to
+ 'make -j2'. In this case, the sub-'make' doesn't communicate with
+ other 'make' processes and will simply pretend it has two jobs of
its own.
-`warning: jobserver unavailable: using -j1. Add `+' to parent make rule.'
- In order for `make' processes to communicate, the parent will pass
+'warning: jobserver unavailable: using -j1. Add `+' to parent make rule.'
+ In order for 'make' processes to communicate, the parent will pass
information to the child. Since this could result in problems if
- the child process isn't actually a `make', the parent will only do
- this if it thinks the child is a `make'. The parent uses the
- normal algorithms to determine this (*note How the `MAKE' Variable
+ the child process isn't actually a 'make', the parent will only do
+ this if it thinks the child is a 'make'. The parent uses the
+ normal algorithms to determine this (*note How the 'MAKE' Variable
Works: MAKE Variable.). If the makefile is constructed such that
- the parent doesn't know the child is a `make' process, then the
- child will receive only part of the information necessary. In
- this case, the child will generate this warning message and
- proceed with its build in a sequential manner.
-
+ the parent doesn't know the child is a 'make' process, then the
+ child will receive only part of the information necessary. In this
+ case, the child will generate this warning message and proceed with
+ its build in a sequential manner.

File: make.info, Node: Complex Makefile, Next: GNU Free Documentation License, Prev: Error Messages, Up: Top
@@ -4233,36 +3934,36 @@ File: make.info, Node: Complex Makefile, Next: GNU Free Documentation License,
Appendix C Complex Makefile Example
***********************************
-Here is the makefile for the GNU `tar' program. This is a moderately
-complex makefile. The first line uses a `#!' setting to allow the
+Here is the makefile for the GNU 'tar' program. This is a moderately
+complex makefile. The first line uses a '#!' setting to allow the
makefile to be executed directly.
- Because it is the first target, the default goal is `all'. An
-interesting feature of this makefile is that `testpad.h' is a source
-file automatically created by the `testpad' program, itself compiled
-from `testpad.c'.
+ Because it is the first target, the default goal is 'all'. An
+interesting feature of this makefile is that 'testpad.h' is a source
+file automatically created by the 'testpad' program, itself compiled
+from 'testpad.c'.
- If you type `make' or `make all', then `make' creates the `tar'
-executable, the `rmt' daemon that provides remote tape access, and the
-`tar.info' Info file.
+ If you type 'make' or 'make all', then 'make' creates the 'tar'
+executable, the 'rmt' daemon that provides remote tape access, and the
+'tar.info' Info file.
- If you type `make install', then `make' not only creates `tar',
-`rmt', and `tar.info', but also installs them.
+ If you type 'make install', then 'make' not only creates 'tar',
+'rmt', and 'tar.info', but also installs them.
- If you type `make clean', then `make' removes the `.o' files, and
-the `tar', `rmt', `testpad', `testpad.h', and `core' files.
+ If you type 'make clean', then 'make' removes the '.o' files, and the
+'tar', 'rmt', 'testpad', 'testpad.h', and 'core' files.
- If you type `make distclean', then `make' not only removes the same
-files as does `make clean' but also the `TAGS', `Makefile', and
-`config.status' files. (Although it is not evident, this makefile (and
-`config.status') is generated by the user with the `configure' program,
-which is provided in the `tar' distribution, but is not shown here.)
+ If you type 'make distclean', then 'make' not only removes the same
+files as does 'make clean' but also the 'TAGS', 'Makefile', and
+'config.status' files. (Although it is not evident, this makefile (and
+'config.status') is generated by the user with the 'configure' program,
+which is provided in the 'tar' distribution, but is not shown here.)
- If you type `make realclean', then `make' removes the same files as
-does `make distclean' and also removes the Info files generated from
-`tar.texinfo'.
+ If you type 'make realclean', then 'make' removes the same files as
+does 'make distclean' and also removes the Info files generated from
+'tar.texinfo'.
- In addition, there are targets `shar' and `dist' that create
+ In addition, there are targets 'shar' and 'dist' that create
distribution kits.
#!/usr/bin/make -f
@@ -4470,7 +4171,7 @@ C.1 GNU Free Documentation License
Version 1.3, 3 November 2008
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- `http://fsf.org/'
+ <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -4495,21 +4196,21 @@ C.1 GNU Free Documentation License
free program should come with manuals providing the same freedoms
that the software does. But this License is not limited to
software manuals; it can be used for any textual work, regardless
- of subject matter or whether it is published as a printed book.
- We recommend this License principally for works whose purpose is
+ of subject matter or whether it is published as a printed book. We
+ recommend this License principally for works whose purpose is
instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium,
- that contains a notice placed by the copyright holder saying it
- can be distributed under the terms of this License. Such a notice
+ that contains a notice placed by the copyright holder saying it can
+ be distributed under the terms of this License. Such a notice
grants a world-wide, royalty-free license, unlimited in duration,
to use that work under the conditions stated herein. The
"Document", below, refers to any such manual or work. Any member
- of the public is a licensee, and is addressed as "you". You
- accept the license if you copy, modify or distribute the work in a
- way requiring permission under copyright law.
+ of the public is a licensee, and is addressed as "you". You accept
+ the license if you copy, modify or distribute the work in a way
+ requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
@@ -4527,12 +4228,12 @@ C.1 GNU Free Documentation License
regarding them.
The "Invariant Sections" are certain Secondary Sections whose
- titles are designated, as being those of Invariant Sections, in
- the notice that says that the Document is released under this
- License. If a section does not fit the above definition of
- Secondary then it is not allowed to be designated as Invariant.
- The Document may contain zero Invariant Sections. If the Document
- does not identify any Invariant Sections then there are none.
+ titles are designated, as being those of Invariant Sections, in the
+ notice that says that the Document is released under this License.
+ If a section does not fit the above definition of Secondary then it
+ is not allowed to be designated as Invariant. The Document may
+ contain zero Invariant Sections. If the Document does not identify
+ any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
@@ -4543,27 +4244,27 @@ C.1 GNU Free Documentation License
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
- straightforwardly with generic text editors or (for images
- composed of pixels) generic paint programs or (for drawings) some
- widely available drawing editor, and that is suitable for input to
- text formatters or for automatic translation to a variety of
- formats suitable for input to text formatters. A copy made in an
- otherwise Transparent file format whose markup, or absence of
- markup, has been arranged to thwart or discourage subsequent
- modification by readers is not Transparent. An image format is
- not Transparent if used for any substantial amount of text. A
- copy that is not "Transparent" is called "Opaque".
+ straightforwardly with generic text editors or (for images composed
+ of pixels) generic paint programs or (for drawings) some widely
+ available drawing editor, and that is suitable for input to text
+ formatters or for automatic translation to a variety of formats
+ suitable for input to text formatters. A copy made in an otherwise
+ Transparent file format whose markup, or absence of markup, has
+ been arranged to thwart or discourage subsequent modification by
+ readers is not Transparent. An image format is not Transparent if
+ used for any substantial amount of text. A copy that is not
+ "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
- SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML, PostScript or PDF designed for
- human modification. Examples of transparent image formats include
- PNG, XCF and JPG. Opaque formats include proprietary formats that
- can be read and edited only by proprietary word processors, SGML or
- XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML, PostScript or PDF
- produced by some word processors for output purposes only.
+ SGML or XML using a publicly available DTD, and standard-conforming
+ simple HTML, PostScript or PDF designed for human modification.
+ Examples of transparent image formats include PNG, XCF and JPG.
+ Opaque formats include proprietary formats that can be read and
+ edited only by proprietary word processors, SGML or XML for which
+ the DTD and/or processing tools are not generally available, and
+ the machine-generated HTML, PostScript or PDF produced by some word
+ processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
@@ -4601,8 +4302,8 @@ C.1 GNU Free Documentation License
may not use technical measures to obstruct or control the reading
or further copying of the copies you make or distribute. However,
you may accept compensation in exchange for copies. If you
- distribute a large enough number of copies you must also follow
- the conditions in section 3.
+ distribute a large enough number of copies you must also follow the
+ conditions in section 3.
You may also lend copies, under the same conditions stated above,
and you may publicly display copies.
@@ -4616,12 +4317,11 @@ C.1 GNU Free Documentation License
these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
- front cover must present the full title with all words of the
- title equally prominent and visible. You may add other material
- on the covers in addition. Copying with changes limited to the
- covers, as long as they preserve the title of the Document and
- satisfy these conditions, can be treated as verbatim copying in
- other respects.
+ front cover must present the full title with all words of the title
+ equally prominent and visible. You may add other material on the
+ covers in addition. Copying with changes limited to the covers, as
+ long as they preserve the title of the Document and satisfy these
+ conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
@@ -4629,40 +4329,39 @@ C.1 GNU Free Documentation License
adjacent pages.
If you publish or distribute Opaque copies of the Document
- numbering more than 100, you must either include a
- machine-readable Transparent copy along with each Opaque copy, or
- state in or with each Opaque copy a computer-network location from
- which the general network-using public has access to download
- using public-standard network protocols a complete Transparent
- copy of the Document, free of added material. If you use the
- latter option, you must take reasonably prudent steps, when you
- begin distribution of Opaque copies in quantity, to ensure that
- this Transparent copy will remain thus accessible at the stated
- location until at least one year after the last time you
- distribute an Opaque copy (directly or through your agents or
- retailers) of that edition to the public.
+ numbering more than 100, you must either include a machine-readable
+ Transparent copy along with each Opaque copy, or state in or with
+ each Opaque copy a computer-network location from which the general
+ network-using public has access to download using public-standard
+ network protocols a complete Transparent copy of the Document, free
+ of added material. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly or
+ through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of
- the Document well before redistributing any large number of
- copies, to give them a chance to provide you with an updated
- version of the Document.
+ the Document well before redistributing any large number of copies,
+ to give them a chance to provide you with an updated version of the
+ Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document
under the conditions of sections 2 and 3 above, provided that you
- release the Modified Version under precisely this License, with
- the Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version to
- whoever possesses a copy of it. In addition, you must do these
- things in the Modified Version:
+ release the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus licensing
+ distribution and modification of the Modified Version to whoever
+ possesses a copy of it. In addition, you must do these things in
+ the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title
- distinct from that of the Document, and from those of
- previous versions (which should, if there were any, be listed
- in the History section of the Document). You may use the
- same title as a previous version if the original publisher of
- that version gives permission.
+ distinct from that of the Document, and from those of previous
+ versions (which should, if there were any, be listed in the
+ History section of the Document). You may use the same title
+ as a previous version if the original publisher of that
+ version gives permission.
B. List on the Title Page, as authors, one or more persons or
entities responsible for authorship of the modifications in
@@ -4692,31 +4391,30 @@ C.1 GNU Free Documentation License
I. Preserve the section Entitled "History", Preserve its Title,
and add to it an item stating at least the title, year, new
- authors, and publisher of the Modified Version as given on
- the Title Page. If there is no section Entitled "History" in
- the Document, create one stating the title, year, authors,
- and publisher of the Document as given on its Title Page,
- then add an item describing the Modified Version as stated in
- the previous sentence.
+ authors, and publisher of the Modified Version as given on the
+ Title Page. If there is no section Entitled "History" in the
+ Document, create one stating the title, year, authors, and
+ publisher of the Document as given on its Title Page, then add
+ an item describing the Modified Version as stated in the
+ previous sentence.
J. Preserve the network location, if any, given in the Document
for public access to a Transparent copy of the Document, and
likewise the network locations given in the Document for
- previous versions it was based on. These may be placed in
- the "History" section. You may omit a network location for a
- work that was published at least four years before the
- Document itself, or if the original publisher of the version
- it refers to gives permission.
+ previous versions it was based on. These may be placed in the
+ "History" section. You may omit a network location for a work
+ that was published at least four years before the Document
+ itself, or if the original publisher of the version it refers
+ to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the
- section all the substance and tone of each of the contributor
+ Preserve the Title of the section, and preserve in the section
+ all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
- L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section
- titles.
+ L. Preserve all the Invariant Sections of the Document, unaltered
+ in their text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
@@ -4729,11 +4427,11 @@ C.1 GNU Free Documentation License
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
- material copied from the Document, you may at your option
- designate some or all of these sections as invariant. To do this,
- add their titles to the list of Invariant Sections in the Modified
- Version's license notice. These titles must be distinct from any
- other section titles.
+ material copied from the Document, you may at your option designate
+ some or all of these sections as invariant. To do this, add their
+ titles to the list of Invariant Sections in the Modified Version's
+ license notice. These titles must be distinct from any other
+ section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
@@ -4742,15 +4440,15 @@ C.1 GNU Free Documentation License
definition of a standard.
You may add a passage of up to five words as a Front-Cover Text,
- and a passage of up to 25 words as a Back-Cover Text, to the end
- of the list of Cover Texts in the Modified Version. Only one
- passage of Front-Cover Text and one of Back-Cover Text may be
- added by (or through arrangements made by) any one entity. If the
- Document already includes a cover text for the same cover,
- previously added by you or by arrangement made by the same entity
- you are acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
+ and a passage of up to 25 words as a Back-Cover Text, to the end of
+ the list of Cover Texts in the Modified Version. Only one passage
+ of Front-Cover Text and one of Back-Cover Text may be added by (or
+ through arrangements made by) any one entity. If the Document
+ already includes a cover text for the same cover, previously added
+ by you or by arrangement made by the same entity you are acting on
+ behalf of, you may not add another; but you may replace the old
+ one, on explicit permission from the previous publisher that added
+ the old one.
The author(s) and publisher(s) of the Document do not by this
License give permission to use their names for publicity for or to
@@ -4760,8 +4458,8 @@ C.1 GNU Free Documentation License
You may combine the Document with other documents released under
this License, under the terms defined in section 4 above for
- modified versions, provided that you include in the combination
- all of the Invariant Sections of all of the original documents,
+ modified versions, provided that you include in the combination all
+ of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
combined work in its license notice, and that you preserve all
their Warranty Disclaimers.
@@ -4788,20 +4486,20 @@ C.1 GNU Free Documentation License
documents released under this License, and replace the individual
copies of this License in the various documents with a single copy
that is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
+ rules of this License for verbatim copying of each of the documents
+ in all other respects.
You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert
- a copy of this License into the extracted document, and follow
- this License in all other respects regarding verbatim copying of
- that document.
+ a copy of this License into the extracted document, and follow this
+ License in all other respects regarding verbatim copying of that
+ document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other
- separate and independent documents or works, in or on a volume of
- a storage or distribution medium, is called an "aggregate" if the
+ separate and independent documents or works, in or on a volume of a
+ storage or distribution medium, is called an "aggregate" if the
copyright resulting from the compilation is not used to limit the
legal rights of the compilation's users beyond what the individual
works permit. When the Document is included in an aggregate, this
@@ -4846,8 +4544,8 @@ C.1 GNU Free Documentation License
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
- provisionally, unless and until the copyright holder explicitly
- and finally terminates your license, and (b) permanently, if the
+ provisionally, unless and until the copyright holder explicitly and
+ finally terminates your license, and (b) permanently, if the
copyright holder fails to notify you of the violation by some
reasonable means prior to 60 days after the cessation.
@@ -4859,33 +4557,33 @@ C.1 GNU Free Documentation License
after your receipt of the notice.
Termination of your rights under this section does not terminate
- the licenses of parties who have received copies or rights from
- you under this License. If your rights have been terminated and
- not permanently reinstated, receipt of a copy of some or all of
- the same material does not give you any rights to use it.
+ the licenses of parties who have received copies or rights from you
+ under this License. If your rights have been terminated and not
+ permanently reinstated, receipt of a copy of some or all of the
+ same material does not give you any rights to use it.
- 10. FUTURE REVISIONS OF THIS LICENSE
+ 10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
- `http://www.gnu.org/copyleft/'.
+ <http://www.gnu.org/copyleft/>.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
version of this License "or any later version" applies to it, you
have the option of following the terms and conditions either of
that specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by the
- Free Software Foundation. If the Document specifies that a proxy
- can decide which future versions of this License can be used, that
+ published (not as a draft) by the Free Software Foundation. If the
+ Document does not specify a version number of this License, you may
+ choose any version ever published (not as a draft) by the Free
+ Software Foundation. If the Document specifies that a proxy can
+ decide which future versions of this License can be used, that
proxy's public statement of acceptance of a version permanently
authorizes you to choose that version for the Document.
- 11. RELICENSING
+ 11. RELICENSING
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
World Wide Web server that publishes copyrightable works and also
@@ -4915,7 +4613,6 @@ C.1 GNU Free Documentation License
site under CC-BY-SA on the same site at any time before August 1,
2009, provided the MMC is eligible for relicensing.
-
ADDENDUM: How to use this License for your documents
====================================================
@@ -4943,9 +4640,9 @@ combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License, to
-permit their use in free software.
+recommend releasing these examples in parallel under your choice of free
+software license, such as the GNU General Public License, to permit
+their use in free software.

File: make.info, Node: Concept Index, Next: Name Index, Prev: GNU Free Documentation License, Up: Top
@@ -4958,277 +4655,280 @@ Index of Concepts
* !=: Setting. (line 6)
* !=, expansion: Reading Makefiles. (line 33)
-* # (comments), in makefile: Makefile Contents. (line 42)
-* # (comments), in recipes: Recipe Syntax. (line 29)
-* #include: Automatic Prerequisites.
+* '#' (comments), in makefile: Makefile Contents. (line 41)
+* '#' (comments), in recipes: Recipe Syntax. (line 29)
+* '#include': Automatic Prerequisites.
(line 16)
-* $, in function call: Syntax of Functions. (line 6)
-* $, in rules: Rule Syntax. (line 34)
-* $, in variable name: Computed Names. (line 6)
-* $, in variable reference: Reference. (line 6)
-* %, in pattern rules: Pattern Intro. (line 9)
-* %, quoting in patsubst: Text Functions. (line 26)
-* %, quoting in static pattern: Static Usage. (line 37)
-* %, quoting in vpath: Selective Search. (line 38)
-* %, quoting with \ (backslash) <1>: Text Functions. (line 26)
-* %, quoting with \ (backslash) <2>: Static Usage. (line 37)
-* %, quoting with \ (backslash): Selective Search. (line 38)
-* * (wildcard character): Wildcards. (line 6)
-* +, and define: Canned Recipes. (line 49)
+* '$', in function call: Syntax of Functions. (line 6)
+* '$', in rules: Rule Syntax. (line 33)
+* '$', in variable name: Computed Names. (line 6)
+* '$', in variable reference: Reference. (line 6)
+* '%', in pattern rules: Pattern Intro. (line 9)
+* '%', quoting in 'patsubst': Text Functions. (line 26)
+* '%', quoting in static pattern: Static Usage. (line 37)
+* '%', quoting in 'vpath': Selective Search. (line 39)
+* '%', quoting with '\' (backslash): Selective Search. (line 39)
+* '%', quoting with '\' (backslash) <1>: Static Usage. (line 37)
+* '%', quoting with '\' (backslash) <2>: Text Functions. (line 26)
+* '*' (wildcard character): Wildcards. (line 6)
+* +, and 'define': Canned Recipes. (line 49)
* +, and recipe execution: Instead of Execution.
- (line 63)
+ (line 67)
* +, and recipes: MAKE Variable. (line 18)
* +=: Appending. (line 6)
* +=, expansion: Reading Makefiles. (line 33)
-* ,v (RCS file extension): Catalogue of Rules. (line 164)
-* - (in recipes): Errors. (line 19)
-* -, and define: Canned Recipes. (line 49)
-* --always-make: Options Summary. (line 15)
-* --assume-new <1>: Options Summary. (line 276)
-* --assume-new: Instead of Execution.
- (line 38)
-* --assume-new, and recursion: Options/Recursion. (line 22)
-* --assume-old <1>: Options Summary. (line 159)
-* --assume-old: Avoiding Compilation.
+* +=, expansion <1>: Reading Makefiles. (line 33)
+* ,v (RCS file extension): Catalogue of Rules. (line 163)
+* '-' (in recipes): Errors. (line 19)
+* -, and 'define': Canned Recipes. (line 49)
+* '--always-make': Options Summary. (line 15)
+* '--assume-new': Instead of Execution.
+ (line 41)
+* '--assume-new' <1>: Options Summary. (line 284)
+* '--assume-new', and recursion: Options/Recursion. (line 22)
+* '--assume-old': Avoiding Compilation.
(line 6)
-* --assume-old, and recursion: Options/Recursion. (line 22)
-* --check-symlink-times: Options Summary. (line 141)
-* --debug: Options Summary. (line 42)
-* --directory <1>: Options Summary. (line 26)
-* --directory: Recursion. (line 20)
-* --directory, and --print-directory: -w Option. (line 20)
-* --directory, and recursion: Options/Recursion. (line 22)
-* --dry-run <1>: Options Summary. (line 151)
-* --dry-run <2>: Instead of Execution.
+* '--assume-old' <1>: Options Summary. (line 163)
+* '--assume-old', and recursion: Options/Recursion. (line 22)
+* '--check-symlink-times': Options Summary. (line 144)
+* '--debug': Options Summary. (line 43)
+* '--directory': Recursion. (line 20)
+* '--directory' <1>: Options Summary. (line 26)
+* '--directory', and '--print-directory': -w Option. (line 20)
+* '--directory', and recursion: Options/Recursion. (line 22)
+* '--dry-run': Echoing. (line 18)
+* '--dry-run' <1>: Instead of Execution.
(line 14)
-* --dry-run: Echoing. (line 18)
-* --environment-overrides: Options Summary. (line 83)
-* --eval: Options Summary. (line 88)
-* --file <1>: Options Summary. (line 95)
-* --file <2>: Makefile Arguments. (line 6)
-* --file: Makefile Names. (line 23)
-* --file, and recursion: Options/Recursion. (line 22)
-* --help: Options Summary. (line 101)
-* --ignore-errors <1>: Options Summary. (line 105)
-* --ignore-errors: Errors. (line 30)
-* --include-dir <1>: Options Summary. (line 110)
-* --include-dir: Include. (line 53)
-* --jobs <1>: Options Summary. (line 117)
-* --jobs: Parallel. (line 6)
-* --jobs, and recursion: Options/Recursion. (line 25)
-* --just-print <1>: Options Summary. (line 150)
-* --just-print <2>: Instead of Execution.
+* '--dry-run' <2>: Options Summary. (line 154)
+* '--environment-overrides': Options Summary. (line 85)
+* '--eval': Options Summary. (line 89)
+* '--file': Makefile Names. (line 23)
+* '--file' <1>: Makefile Arguments. (line 6)
+* '--file' <2>: Options Summary. (line 97)
+* '--file', and recursion: Options/Recursion. (line 22)
+* '--help': Options Summary. (line 103)
+* '--ignore-errors': Errors. (line 30)
+* '--ignore-errors' <1>: Options Summary. (line 108)
+* '--include-dir': Include. (line 53)
+* '--include-dir' <1>: Options Summary. (line 113)
+* '--jobs': Parallel. (line 6)
+* '--jobs' <1>: Options Summary. (line 120)
+* '--jobs', and recursion: Options/Recursion. (line 25)
+* '--just-print': Echoing. (line 18)
+* '--just-print' <1>: Instead of Execution.
(line 14)
-* --just-print: Echoing. (line 18)
-* --keep-going <1>: Options Summary. (line 126)
-* --keep-going <2>: Testing. (line 16)
-* --keep-going: Errors. (line 47)
-* --load-average <1>: Options Summary. (line 133)
-* --load-average: Parallel. (line 35)
-* --makefile <1>: Options Summary. (line 96)
-* --makefile <2>: Makefile Arguments. (line 6)
-* --makefile: Makefile Names. (line 23)
-* --max-load <1>: Options Summary. (line 134)
-* --max-load: Parallel. (line 35)
-* --new-file <1>: Options Summary. (line 275)
-* --new-file: Instead of Execution.
- (line 38)
-* --new-file, and recursion: Options/Recursion. (line 22)
-* --no-builtin-rules: Options Summary. (line 203)
-* --no-builtin-variables: Options Summary. (line 216)
-* --no-keep-going: Options Summary. (line 231)
-* --no-print-directory <1>: Options Summary. (line 267)
-* --no-print-directory: -w Option. (line 20)
-* --old-file <1>: Options Summary. (line 158)
-* --old-file: Avoiding Compilation.
+* '--just-print' <2>: Options Summary. (line 153)
+* '--keep-going': Errors. (line 47)
+* '--keep-going' <1>: Testing. (line 16)
+* '--keep-going' <2>: Options Summary. (line 129)
+* '--load-average': Parallel. (line 35)
+* '--load-average' <1>: Options Summary. (line 136)
+* '--makefile': Makefile Names. (line 23)
+* '--makefile' <1>: Makefile Arguments. (line 6)
+* '--makefile' <2>: Options Summary. (line 98)
+* '--max-load': Parallel. (line 35)
+* '--max-load' <1>: Options Summary. (line 137)
+* '--new-file': Instead of Execution.
+ (line 41)
+* '--new-file' <1>: Options Summary. (line 283)
+* '--new-file', and recursion: Options/Recursion. (line 22)
+* '--no-builtin-rules': Options Summary. (line 209)
+* '--no-builtin-variables': Options Summary. (line 222)
+* '--no-keep-going': Options Summary. (line 238)
+* '--no-print-directory': -w Option. (line 20)
+* '--no-print-directory' <1>: Options Summary. (line 275)
+* '--old-file': Avoiding Compilation.
(line 6)
-* --old-file, and recursion: Options/Recursion. (line 22)
-* --output-sync <1>: Options Summary. (line 167)
-* --output-sync: Parallel Output. (line 11)
-* --print-data-base: Options Summary. (line 183)
-* --print-directory: Options Summary. (line 259)
-* --print-directory, and --directory: -w Option. (line 20)
-* --print-directory, and recursion: -w Option. (line 20)
-* --print-directory, disabling: -w Option. (line 20)
-* --question <1>: Options Summary. (line 195)
-* --question: Instead of Execution.
- (line 30)
-* --quiet <1>: Options Summary. (line 226)
-* --quiet: Echoing. (line 24)
-* --recon <1>: Options Summary. (line 152)
-* --recon <2>: Instead of Execution.
+* '--old-file' <1>: Options Summary. (line 162)
+* '--old-file', and recursion: Options/Recursion. (line 22)
+* '--output-sync': Parallel Output. (line 11)
+* '--output-sync' <1>: Options Summary. (line 171)
+* '--print-data-base': Options Summary. (line 187)
+* '--print-directory': Options Summary. (line 267)
+* '--print-directory', and '--directory': -w Option. (line 20)
+* '--print-directory', and recursion: -w Option. (line 20)
+* '--print-directory', disabling: -w Option. (line 20)
+* '--question': Instead of Execution.
+ (line 32)
+* '--question' <1>: Options Summary. (line 201)
+* '--quiet': Echoing. (line 24)
+* '--quiet' <1>: Options Summary. (line 232)
+* '--recon': Echoing. (line 18)
+* '--recon' <1>: Instead of Execution.
(line 14)
-* --recon: Echoing. (line 18)
-* --silent <1>: Options Summary. (line 225)
-* --silent: Echoing. (line 24)
-* --stop: Options Summary. (line 232)
-* --touch <1>: Options Summary. (line 240)
-* --touch: Instead of Execution.
- (line 23)
-* --touch, and recursion: MAKE Variable. (line 34)
-* --trace: Options Summary. (line 246)
-* --version: Options Summary. (line 254)
-* --warn-undefined-variables: Options Summary. (line 285)
-* --what-if <1>: Options Summary. (line 274)
-* --what-if: Instead of Execution.
- (line 38)
-* -B: Options Summary. (line 14)
-* -b: Options Summary. (line 9)
-* -C <1>: Options Summary. (line 25)
-* -C: Recursion. (line 20)
-* -C, and -w: -w Option. (line 20)
-* -C, and recursion: Options/Recursion. (line 22)
-* -d: Options Summary. (line 33)
-* -e: Options Summary. (line 82)
-* -e (shell flag): Automatic Prerequisites.
- (line 66)
-* -f <1>: Options Summary. (line 94)
-* -f <2>: Makefile Arguments. (line 6)
-* -f: Makefile Names. (line 23)
-* -f, and recursion: Options/Recursion. (line 22)
-* -h: Options Summary. (line 100)
-* -I: Options Summary. (line 109)
-* -i <1>: Options Summary. (line 104)
-* -i: Errors. (line 30)
-* -I: Include. (line 53)
-* -j <1>: Options Summary. (line 116)
-* -j: Parallel. (line 6)
-* -j, and archive update: Archive Pitfalls. (line 6)
-* -j, and recursion: Options/Recursion. (line 25)
-* -k <1>: Options Summary. (line 125)
-* -k <2>: Testing. (line 16)
-* -k: Errors. (line 47)
-* -L: Options Summary. (line 140)
-* -l: Options Summary. (line 132)
-* -l (library search): Libraries/Search. (line 6)
-* -l (load average): Parallel. (line 35)
-* -m: Options Summary. (line 10)
-* -M (to compiler): Automatic Prerequisites.
+* '--recon' <2>: Options Summary. (line 155)
+* '--silent': Echoing. (line 24)
+* '--silent' <1>: Options Summary. (line 231)
+* '--stop': Options Summary. (line 239)
+* '--touch': Instead of Execution.
+ (line 24)
+* '--touch' <1>: Options Summary. (line 247)
+* '--touch', and recursion: MAKE Variable. (line 35)
+* '--trace': Options Summary. (line 254)
+* '--version': Options Summary. (line 262)
+* '--warn-undefined-variables': Options Summary. (line 292)
+* '--what-if': Instead of Execution.
+ (line 41)
+* '--what-if' <1>: Options Summary. (line 282)
+* '-b': Options Summary. (line 9)
+* '-B': Options Summary. (line 14)
+* '-C': Recursion. (line 20)
+* '-C' <1>: Options Summary. (line 25)
+* '-C', and '-w': -w Option. (line 20)
+* '-C', and recursion: Options/Recursion. (line 22)
+* '-d': Options Summary. (line 33)
+* '-e': Options Summary. (line 84)
+* '-e' (shell flag): Automatic Prerequisites.
+ (line 65)
+* '-f': Makefile Names. (line 23)
+* '-f' <1>: Makefile Arguments. (line 6)
+* '-f' <2>: Options Summary. (line 96)
+* '-f', and recursion: Options/Recursion. (line 22)
+* '-h': Options Summary. (line 102)
+* '-I': Include. (line 53)
+* '-i': Errors. (line 30)
+* '-i' <1>: Options Summary. (line 107)
+* '-I' <1>: Options Summary. (line 112)
+* '-j': Parallel. (line 6)
+* '-j' <1>: Options Summary. (line 119)
+* '-j', and archive update: Archive Pitfalls. (line 6)
+* '-j', and recursion: Options/Recursion. (line 25)
+* '-k': Errors. (line 47)
+* '-k' <1>: Testing. (line 16)
+* '-k' <2>: Options Summary. (line 128)
+* '-l': Options Summary. (line 135)
+* '-L': Options Summary. (line 143)
+* '-l' (library search): Libraries/Search. (line 6)
+* '-l' (load average): Parallel. (line 35)
+* '-m': Options Summary. (line 10)
+* '-M' (to compiler): Automatic Prerequisites.
(line 18)
-* -MM (to GNU compiler): Automatic Prerequisites.
- (line 68)
-* -n <1>: Options Summary. (line 149)
-* -n <2>: Instead of Execution.
+* '-MM' (to GNU compiler): Automatic Prerequisites.
+ (line 67)
+* '-n': Echoing. (line 18)
+* '-n' <1>: Instead of Execution.
(line 14)
-* -n: Echoing. (line 18)
-* -O: Options Summary. (line 166)
-* -o <1>: Options Summary. (line 157)
-* -o: Avoiding Compilation.
+* '-n' <2>: Options Summary. (line 152)
+* '-O': Parallel Output. (line 11)
+* '-o': Avoiding Compilation.
(line 6)
-* -O: Parallel Output. (line 11)
-* -o, and recursion: Options/Recursion. (line 22)
-* -p: Options Summary. (line 182)
-* -q <1>: Options Summary. (line 194)
-* -q: Instead of Execution.
- (line 30)
-* -R: Options Summary. (line 215)
-* -r: Options Summary. (line 202)
-* -S: Options Summary. (line 230)
-* -s <1>: Options Summary. (line 224)
-* -s: Echoing. (line 24)
-* -t <1>: Options Summary. (line 239)
-* -t: Instead of Execution.
- (line 23)
-* -t, and recursion: MAKE Variable. (line 34)
-* -v: Options Summary. (line 253)
-* -W: Options Summary. (line 273)
-* -w: Options Summary. (line 258)
-* -W: Instead of Execution.
- (line 38)
-* -w, and -C: -w Option. (line 20)
-* -w, and recursion: -w Option. (line 20)
-* -W, and recursion: Options/Recursion. (line 22)
-* -w, disabling: -w Option. (line 20)
-* .a (archives): Archive Suffix Rules.
+* '-o' <1>: Options Summary. (line 161)
+* '-O' <1>: Options Summary. (line 170)
+* '-o', and recursion: Options/Recursion. (line 22)
+* '-p': Options Summary. (line 186)
+* '-q': Instead of Execution.
+ (line 32)
+* '-q' <1>: Options Summary. (line 200)
+* '-r': Options Summary. (line 208)
+* '-R': Options Summary. (line 221)
+* '-s': Echoing. (line 24)
+* '-s' <1>: Options Summary. (line 230)
+* '-S': Options Summary. (line 237)
+* '-t': Instead of Execution.
+ (line 24)
+* '-t' <1>: Options Summary. (line 246)
+* '-t', and recursion: MAKE Variable. (line 35)
+* '-v': Options Summary. (line 261)
+* '-W': Instead of Execution.
+ (line 41)
+* '-w': Options Summary. (line 266)
+* '-W' <1>: Options Summary. (line 281)
+* '-w', and '-C': -w Option. (line 20)
+* '-W', and recursion: Options/Recursion. (line 22)
+* '-w', and recursion: -w Option. (line 20)
+* '-w', disabling: -w Option. (line 20)
+* '.a' (archives): Archive Suffix Rules.
(line 6)
-* .C: Catalogue of Rules. (line 39)
* .c: Catalogue of Rules. (line 35)
+* .C: Catalogue of Rules. (line 39)
* .cc: Catalogue of Rules. (line 39)
-* .ch: Catalogue of Rules. (line 151)
+* .ch: Catalogue of Rules. (line 149)
* .cpp: Catalogue of Rules. (line 39)
-* .d: Automatic Prerequisites.
- (line 81)
-* .def: Catalogue of Rules. (line 74)
-* .dvi: Catalogue of Rules. (line 151)
-* .F: Catalogue of Rules. (line 49)
+* '.d': Automatic Prerequisites.
+ (line 80)
+* .def: Catalogue of Rules. (line 71)
+* .dvi: Catalogue of Rules. (line 149)
* .f: Catalogue of Rules. (line 49)
-* .info: Catalogue of Rules. (line 158)
-* .l: Catalogue of Rules. (line 124)
-* .LIBPATTERNS, and link libraries: Libraries/Search. (line 6)
-* .ln: Catalogue of Rules. (line 146)
-* .mod: Catalogue of Rules. (line 74)
+* .F: Catalogue of Rules. (line 49)
+* .info: Catalogue of Rules. (line 156)
+* .l: Catalogue of Rules. (line 121)
+* '.LIBPATTERNS', and link libraries: Libraries/Search. (line 6)
+* .ln: Catalogue of Rules. (line 143)
+* .mod: Catalogue of Rules. (line 71)
* .o: Catalogue of Rules. (line 35)
-* .ONESHELL, use of: One Shell. (line 6)
+* .o <1>: Catalogue of Rules. (line 83)
+* '.ONESHELL', use of: One Shell. (line 6)
* .p: Catalogue of Rules. (line 45)
-* .PRECIOUS intermediate files: Chained Rules. (line 56)
+* '.PRECIOUS' intermediate files: Chained Rules. (line 56)
* .r: Catalogue of Rules. (line 49)
-* .S: Catalogue of Rules. (line 82)
-* .s: Catalogue of Rules. (line 79)
-* .sh: Catalogue of Rules. (line 180)
-* .SHELLFLAGS, value of: Choosing the Shell. (line 6)
-* .sym: Catalogue of Rules. (line 74)
-* .tex: Catalogue of Rules. (line 151)
-* .texi: Catalogue of Rules. (line 158)
-* .texinfo: Catalogue of Rules. (line 158)
-* .txinfo: Catalogue of Rules. (line 158)
-* .w: Catalogue of Rules. (line 151)
-* .web: Catalogue of Rules. (line 151)
-* .y: Catalogue of Rules. (line 120)
-* :: rules (double-colon): Double-Colon. (line 6)
-* ::= <1>: Setting. (line 6)
+* .s: Catalogue of Rules. (line 76)
+* .S: Catalogue of Rules. (line 79)
+* .sh: Catalogue of Rules. (line 178)
+* '.SHELLFLAGS', value of: Choosing the Shell. (line 6)
+* .sym: Catalogue of Rules. (line 71)
+* .tex: Catalogue of Rules. (line 149)
+* .texi: Catalogue of Rules. (line 156)
+* .texinfo: Catalogue of Rules. (line 156)
+* .txinfo: Catalogue of Rules. (line 156)
+* .w: Catalogue of Rules. (line 149)
+* .web: Catalogue of Rules. (line 149)
+* .y: Catalogue of Rules. (line 117)
+* '::' rules (double-colon): Double-Colon. (line 6)
* ::=: Flavors. (line 56)
-* := <1>: Setting. (line 6)
+* ::= <1>: Setting. (line 6)
* :=: Flavors. (line 56)
-* = <1>: Setting. (line 6)
+* := <1>: Setting. (line 6)
* =: Flavors. (line 10)
+* = <1>: Setting. (line 6)
* =, expansion: Reading Makefiles. (line 33)
-* ? (wildcard character): Wildcards. (line 6)
+* '?' (wildcard character): Wildcards. (line 6)
+* ?=: Flavors. (line 135)
* ?= <1>: Setting. (line 6)
-* ?=: Flavors. (line 133)
* ?=, expansion: Reading Makefiles. (line 33)
-* @ (in recipes): Echoing. (line 6)
-* @, and define: Canned Recipes. (line 49)
-* [...] (wildcard characters): Wildcards. (line 6)
-* \ (backslash), for continuation lines: Simple Makefile. (line 41)
-* \ (backslash), in recipes: Splitting Recipe Lines.
+* '@' (in recipes): Echoing. (line 6)
+* @, and 'define': Canned Recipes. (line 49)
+* '[...]' (wildcard characters): Wildcards. (line 6)
+* '\' (backslash), for continuation lines: Simple Makefile. (line 41)
+* '\' (backslash), in recipes: Splitting Recipe Lines.
(line 6)
-* \ (backslash), to quote % <1>: Text Functions. (line 26)
-* \ (backslash), to quote % <2>: Static Usage. (line 37)
-* \ (backslash), to quote %: Selective Search. (line 38)
-* __.SYMDEF: Archive Symbols. (line 6)
-* abspath: File Name Functions. (line 121)
+* '\' (backslash), to quote '%': Selective Search. (line 39)
+* '\' (backslash), to quote '%' <1>: Static Usage. (line 37)
+* '\' (backslash), to quote '%' <2>: Text Functions. (line 26)
+* '__.SYMDEF': Archive Symbols. (line 6)
+* '~' (tilde): Wildcards. (line 11)
+* abspath: File Name Functions. (line 120)
* algorithm for directory search: Search Algorithm. (line 6)
-* all (standard target): Goals. (line 72)
+* 'all' (standard target): Goals. (line 73)
* appending to variables: Appending. (line 6)
* ar: Implicit Variables. (line 40)
* archive: Archives. (line 6)
* archive member targets: Archive Members. (line 6)
* archive symbol directory updating: Archive Symbols. (line 6)
-* archive, and -j: Archive Pitfalls. (line 6)
+* archive, and '-j': Archive Pitfalls. (line 6)
* archive, and parallel execution: Archive Pitfalls. (line 6)
* archive, suffix rule for: Archive Suffix Rules.
(line 6)
-* Arg list too long: Options/Recursion. (line 57)
+* Arg list too long: Options/Recursion. (line 58)
* arguments of functions: Syntax of Functions. (line 6)
+* as: Catalogue of Rules. (line 76)
* as <1>: Implicit Variables. (line 43)
-* as: Catalogue of Rules. (line 79)
-* assembly, rule to compile: Catalogue of Rules. (line 79)
+* assembly, rule to compile: Catalogue of Rules. (line 76)
+* automatic generation of prerequisites: Include. (line 51)
* automatic generation of prerequisites <1>: Automatic Prerequisites.
(line 6)
-* automatic generation of prerequisites: Include. (line 51)
* automatic variables: Automatic Variables. (line 6)
* automatic variables in prerequisites: Automatic Variables. (line 17)
* backquotes: Shell Function. (line 6)
-* backslash (\), for continuation lines: Simple Makefile. (line 41)
-* backslash (\), in recipes: Splitting Recipe Lines.
+* backslash ('\'), for continuation lines: Simple Makefile. (line 41)
+* backslash ('\'), in recipes: Splitting Recipe Lines.
(line 6)
-* backslash (\), to quote % <1>: Text Functions. (line 26)
-* backslash (\), to quote % <2>: Static Usage. (line 37)
-* backslash (\), to quote %: Selective Search. (line 38)
-* backslash (\), to quote newlines: Splitting Lines. (line 6)
+* backslash ('\'), to quote '%': Selective Search. (line 39)
+* backslash ('\'), to quote '%' <1>: Static Usage. (line 37)
+* backslash ('\'), to quote '%' <2>: Text Functions. (line 26)
+* backslash ('\'), to quote newlines: Splitting Lines. (line 6)
* backslashes in pathnames and wildcard expansion: Wildcard Pitfall.
(line 31)
-* basename: File Name Functions. (line 57)
+* basename: File Name Functions. (line 56)
* binary packages: Install Command Categories.
(line 80)
* broken pipe: Parallel Input. (line 11)
@@ -5237,19 +4937,19 @@ Index of Concepts
* C++, rule to compile: Catalogue of Rules. (line 39)
* C, rule to compile: Catalogue of Rules. (line 35)
* canned recipes: Canned Recipes. (line 6)
-* cc <1>: Implicit Variables. (line 46)
* cc: Catalogue of Rules. (line 35)
-* cd (shell command) <1>: MAKE Variable. (line 16)
-* cd (shell command): Execution. (line 12)
+* cc <1>: Implicit Variables. (line 46)
+* 'cd' (shell command): Execution. (line 12)
+* 'cd' (shell command) <1>: MAKE Variable. (line 16)
* chains of rules: Chained Rules. (line 6)
-* check (standard target): Goals. (line 114)
-* clean (standard target): Goals. (line 75)
-* clean target <1>: Cleanup. (line 11)
-* clean target: Simple Makefile. (line 85)
+* 'check' (standard target): Goals. (line 115)
+* 'clean' (standard target): Goals. (line 76)
+* 'clean' target: Simple Makefile. (line 85)
+* 'clean' target <1>: Cleanup. (line 11)
* cleaning up: Cleanup. (line 6)
-* clobber (standard target): Goals. (line 86)
+* 'clobber' (standard target): Goals. (line 87)
+* co: Catalogue of Rules. (line 163)
* co <1>: Implicit Variables. (line 66)
-* co: Catalogue of Rules. (line 164)
* combining rules by prerequisite: Combine By Prerequisite.
(line 6)
* command expansion: Shell Function. (line 6)
@@ -5257,15 +4957,15 @@ Index of Concepts
(line 17)
* command line variables: Overriding. (line 6)
* commands, sequences of: Canned Recipes. (line 6)
-* comments, in makefile: Makefile Contents. (line 42)
+* comments, in makefile: Makefile Contents. (line 41)
* comments, in recipes: Recipe Syntax. (line 29)
* compatibility: Features. (line 6)
-* compatibility in exporting: Variables/Recursion. (line 105)
+* compatibility in exporting: Variables/Recursion. (line 104)
* compilation, testing: Testing. (line 6)
* computed variable name: Computed Names. (line 6)
* conditional expansion: Conditional Functions.
(line 6)
-* conditional variable assignment: Flavors. (line 133)
+* conditional variable assignment: Flavors. (line 135)
* conditionals: Conditionals. (line 6)
* continuation lines: Simple Makefile. (line 41)
* controlling make: Make Control Functions.
@@ -5273,52 +4973,52 @@ Index of Concepts
* conventions for makefiles: Makefile Conventions.
(line 6)
* convert guile types: Guile Types. (line 6)
+* ctangle: Catalogue of Rules. (line 149)
* ctangle <1>: Implicit Variables. (line 103)
-* ctangle: Catalogue of Rules. (line 151)
+* cweave: Catalogue of Rules. (line 149)
* cweave <1>: Implicit Variables. (line 97)
-* cweave: Catalogue of Rules. (line 151)
-* data base of make rules: Options Summary. (line 183)
+* data base of 'make' rules: Options Summary. (line 187)
* deducing recipes (implicit rules): make Deduces. (line 6)
* default directories for included makefiles: Include. (line 53)
-* default goal <1>: Rules. (line 11)
* default goal: How Make Works. (line 11)
+* default goal <1>: Rules. (line 11)
* default makefile name: Makefile Names. (line 6)
* default rules, last-resort: Last Resort. (line 6)
* define, expansion: Reading Makefiles. (line 33)
* defining variables verbatim: Multi-Line. (line 6)
-* deletion of target files <1>: Interrupts. (line 6)
* deletion of target files: Errors. (line 64)
+* deletion of target files <1>: Interrupts. (line 6)
* directive: Makefile Contents. (line 28)
* directories, creating installation: Directory Variables. (line 20)
* directories, printing them: -w Option. (line 6)
* directories, updating archive symbol: Archive Symbols. (line 6)
-* directory part: File Name Functions. (line 17)
-* directory search (VPATH): Directory Search. (line 6)
-* directory search (VPATH), and implicit rules: Implicit/Search.
+* directory part: File Name Functions. (line 16)
+* directory search ('VPATH'): Directory Search. (line 6)
+* directory search ('VPATH'), and implicit rules: Implicit/Search.
(line 6)
-* directory search (VPATH), and link libraries: Libraries/Search.
+* directory search ('VPATH'), and link libraries: Libraries/Search.
(line 6)
-* directory search (VPATH), and recipes: Recipes/Search. (line 6)
+* directory search ('VPATH'), and recipes: Recipes/Search. (line 6)
* directory search algorithm: Search Algorithm. (line 6)
* directory search, traditional (GPATH): Search Algorithm. (line 42)
-* dist (standard target): Goals. (line 106)
-* distclean (standard target): Goals. (line 84)
-* dollar sign ($), in function call: Syntax of Functions. (line 6)
-* dollar sign ($), in rules: Rule Syntax. (line 34)
-* dollar sign ($), in variable name: Computed Names. (line 6)
-* dollar sign ($), in variable reference: Reference. (line 6)
+* 'dist' (standard target): Goals. (line 107)
+* 'distclean' (standard target): Goals. (line 85)
+* dollar sign ('$'), in function call: Syntax of Functions. (line 6)
+* dollar sign ('$'), in rules: Rule Syntax. (line 33)
+* dollar sign ('$'), in variable name: Computed Names. (line 6)
+* dollar sign ('$'), in variable reference: Reference. (line 6)
* DOS, choosing a shell in: Choosing the Shell. (line 38)
* double-colon rules: Double-Colon. (line 6)
* duplicate words, removing: Text Functions. (line 155)
-* E2BIG: Options/Recursion. (line 57)
+* E2BIG: Options/Recursion. (line 58)
* echoing of recipes: Echoing. (line 6)
* editor: Introduction. (line 22)
-* Emacs (M-x compile): Errors. (line 62)
+* Emacs ('M-x compile'): Errors. (line 62)
* empty recipes: Empty Recipes. (line 6)
* empty targets: Empty Targets. (line 6)
* environment: Environment. (line 6)
* environment, and recursion: Variables/Recursion. (line 6)
-* environment, SHELL in: Choosing the Shell. (line 12)
+* environment, 'SHELL' in: Choosing the Shell. (line 12)
* error, stopping on: Make Control Functions.
(line 11)
* errors (in recipes): Errors. (line 6)
@@ -5337,45 +5037,45 @@ Index of Concepts
* explicit rule, definition of: Makefile Contents. (line 10)
* explicit rule, expansion: Reading Makefiles. (line 92)
* explicit rules, secondary expansion of: Secondary Expansion.
- (line 106)
+ (line 104)
* exporting variables: Variables/Recursion. (line 6)
* extensions, Guile: Guile Integration. (line 6)
* extensions, load directive: load Directive. (line 6)
* extensions, loading: Loading Objects. (line 6)
-* f77 <1>: Implicit Variables. (line 57)
* f77: Catalogue of Rules. (line 49)
+* f77 <1>: Implicit Variables. (line 57)
* FDL, GNU Free Documentation License: GNU Free Documentation License.
(line 6)
-* features of GNU make: Features. (line 6)
+* features of GNU 'make': Features. (line 6)
* features, missing: Missing. (line 6)
* file name functions: File Name Functions. (line 6)
* file name of makefile: Makefile Names. (line 6)
-* file name of makefile, how to specify: Makefile Names. (line 30)
-* file name prefix, adding: File Name Functions. (line 79)
-* file name suffix: File Name Functions. (line 43)
-* file name suffix, adding: File Name Functions. (line 68)
+* file name of makefile, how to specify: Makefile Names. (line 31)
+* file name prefix, adding: File Name Functions. (line 78)
+* file name suffix: File Name Functions. (line 42)
+* file name suffix, adding: File Name Functions. (line 67)
* file name with wildcards: Wildcards. (line 6)
-* file name, abspath of: File Name Functions. (line 121)
-* file name, basename of: File Name Functions. (line 57)
-* file name, directory part: File Name Functions. (line 17)
-* file name, nondirectory part: File Name Functions. (line 27)
-* file name, realpath of: File Name Functions. (line 114)
+* file name, abspath of: File Name Functions. (line 120)
+* file name, basename of: File Name Functions. (line 56)
+* file name, directory part: File Name Functions. (line 16)
+* file name, nondirectory part: File Name Functions. (line 26)
+* file name, realpath of: File Name Functions. (line 113)
* file, writing to: File Function. (line 6)
* files, assuming new: Instead of Execution.
- (line 38)
+ (line 41)
* files, assuming old: Avoiding Compilation.
(line 6)
* files, avoiding recompilation of: Avoiding Compilation.
(line 6)
* files, intermediate: Chained Rules. (line 16)
-* filtering out words: Text Functions. (line 132)
-* filtering words: Text Functions. (line 114)
-* finding strings: Text Functions. (line 103)
+* filtering out words: Text Functions. (line 133)
+* filtering words: Text Functions. (line 115)
+* finding strings: Text Functions. (line 104)
* flags: Options Summary. (line 6)
* flags for compilers: Implicit Variables. (line 6)
* flavor of variable: Flavor Function. (line 6)
* flavors of variables: Flavors. (line 6)
-* FORCE: Force Targets. (line 6)
+* 'FORCE': Force Targets. (line 6)
* force targets: Force Targets. (line 6)
* Fortran, rule to compile: Catalogue of Rules. (line 49)
* functions: Functions. (line 6)
@@ -5385,21 +5085,21 @@ Index of Concepts
* functions, for text: Text Functions. (line 6)
* functions, syntax of: Syntax of Functions. (line 6)
* functions, user defined: Call Function. (line 6)
-* g++ <1>: Implicit Variables. (line 49)
* g++: Catalogue of Rules. (line 39)
+* g++ <1>: Implicit Variables. (line 49)
* gcc: Catalogue of Rules. (line 35)
+* generating prerequisites automatically: Include. (line 51)
* generating prerequisites automatically <1>: Automatic Prerequisites.
(line 6)
-* generating prerequisites automatically: Include. (line 51)
+* get: Catalogue of Rules. (line 172)
* get <1>: Implicit Variables. (line 69)
-* get: Catalogue of Rules. (line 173)
* globbing (wildcards): Wildcards. (line 6)
* goal: How Make Works. (line 11)
-* goal, default <1>: Rules. (line 11)
* goal, default: How Make Works. (line 11)
+* goal, default <1>: Rules. (line 11)
* goal, how to specify: Goals. (line 6)
-* Guile <1>: Guile Integration. (line 6)
* Guile: Guile Function. (line 6)
+* Guile <1>: Guile Integration. (line 6)
* Guile example: Guile Example. (line 6)
* guile, conversion of types: Guile Types. (line 6)
* home directory: Wildcards. (line 11)
@@ -5410,7 +5110,7 @@ Index of Concepts
* ifneq, expansion: Reading Makefiles. (line 82)
* implicit rule: Implicit Rules. (line 6)
* implicit rule, and directory search: Implicit/Search. (line 6)
-* implicit rule, and VPATH: Implicit/Search. (line 6)
+* implicit rule, and 'VPATH': Implicit/Search. (line 6)
* implicit rule, definition of: Makefile Contents. (line 16)
* implicit rule, expansion: Reading Makefiles. (line 92)
* implicit rule, how to use: Using Implicit. (line 6)
@@ -5419,44 +5119,44 @@ Index of Concepts
* implicit rule, search algorithm: Implicit Rule Search.
(line 6)
* implicit rules, secondary expansion of: Secondary Expansion.
- (line 146)
+ (line 144)
* included makefiles, default directories: Include. (line 53)
-* including (MAKEFILE_LIST variable): Special Variables. (line 8)
-* including (MAKEFILES variable): MAKEFILES Variable. (line 6)
+* including ('MAKEFILES' variable): MAKEFILES Variable. (line 6)
+* including ('MAKEFILE_LIST' variable): Special Variables. (line 8)
* including other makefiles: Include. (line 6)
* incompatibilities: Missing. (line 6)
-* Info, rule to format: Catalogue of Rules. (line 158)
+* Info, rule to format: Catalogue of Rules. (line 156)
* inheritance, suppressing: Suppressing Inheritance.
(line 6)
* input during parallel execution: Parallel Input. (line 6)
-* install (standard target): Goals. (line 92)
+* 'install' (standard target): Goals. (line 93)
* installation directories, creating: Directory Variables. (line 20)
* installations, staged: DESTDIR. (line 6)
* interface for loaded objects: Loaded Object API. (line 6)
* intermediate files: Chained Rules. (line 16)
* intermediate files, preserving: Chained Rules. (line 46)
-* intermediate targets, explicit: Special Targets. (line 44)
+* intermediate targets, explicit: Special Targets. (line 48)
* interrupt: Interrupts. (line 6)
* job slots: Parallel. (line 6)
* job slots, and recursion: Options/Recursion. (line 25)
* jobs, limiting based on load: Parallel. (line 35)
-* joining lists of words: File Name Functions. (line 90)
+* joining lists of words: File Name Functions. (line 89)
* killing (interruption): Interrupts. (line 6)
* last-resort default rules: Last Resort. (line 6)
-* ld: Catalogue of Rules. (line 86)
+* ld: Catalogue of Rules. (line 83)
+* lex: Catalogue of Rules. (line 121)
* lex <1>: Implicit Variables. (line 73)
-* lex: Catalogue of Rules. (line 124)
-* Lex, rule to run: Catalogue of Rules. (line 124)
+* Lex, rule to run: Catalogue of Rules. (line 121)
* libraries for linking, directory search: Libraries/Search. (line 6)
* library archive, suffix rule for: Archive Suffix Rules.
(line 6)
* limiting jobs based on load: Parallel. (line 35)
* link libraries, and directory search: Libraries/Search. (line 6)
* link libraries, patterns matching: Libraries/Search. (line 6)
-* linking, predefined rule for: Catalogue of Rules. (line 86)
+* linking, predefined rule for: Catalogue of Rules. (line 83)
+* lint: Catalogue of Rules. (line 143)
* lint <1>: Implicit Variables. (line 80)
-* lint: Catalogue of Rules. (line 146)
-* lint, rule to run: Catalogue of Rules. (line 146)
+* 'lint', rule to run: Catalogue of Rules. (line 143)
* list of all prerequisites: Automatic Variables. (line 61)
* list of changed prerequisites: Automatic Variables. (line 51)
* load average: Parallel. (line 35)
@@ -5464,31 +5164,31 @@ Index of Concepts
* loaded object API: Loaded Object API. (line 6)
* loaded object example: Loaded Object Example.
(line 6)
-* loaded object licensing: Loaded Object API. (line 32)
+* loaded object licensing: Loaded Object API. (line 31)
* loaded objects: Loading Objects. (line 6)
* loaded objects, remaking of: Remaking Loaded Objects.
(line 6)
* long lines, splitting: Splitting Lines. (line 6)
* loops in variable expansion: Flavors. (line 44)
-* lpr (shell command) <1>: Empty Targets. (line 25)
-* lpr (shell command): Wildcard Examples. (line 21)
+* 'lpr' (shell command): Wildcard Examples. (line 21)
+* 'lpr' (shell command) <1>: Empty Targets. (line 25)
+* m2c: Catalogue of Rules. (line 71)
* m2c <1>: Implicit Variables. (line 60)
-* m2c: Catalogue of Rules. (line 74)
* macro: Using Variables. (line 10)
-* make depend: Automatic Prerequisites.
+* 'make depend': Automatic Prerequisites.
(line 37)
* make extensions: Extending make. (line 6)
* make interface to guile: Guile Interface. (line 6)
* make procedures in guile: Guile Interface. (line 6)
* makefile: Introduction. (line 7)
* makefile name: Makefile Names. (line 6)
-* makefile name, how to specify: Makefile Names. (line 30)
+* makefile name, how to specify: Makefile Names. (line 31)
* makefile rule parts: Rule Introduction. (line 6)
* makefile syntax, evaluating: Eval Function. (line 6)
-* makefile, and MAKEFILES variable: MAKEFILES Variable. (line 6)
+* makefile, and 'MAKEFILES' variable: MAKEFILES Variable. (line 6)
* makefile, conventions for: Makefile Conventions.
(line 6)
-* makefile, how make processes: How Make Works. (line 6)
+* makefile, how 'make' processes: How Make Works. (line 6)
* makefile, how to write: Makefiles. (line 6)
* makefile, including: Include. (line 6)
* makefile, overriding: Overriding Makefiles.
@@ -5496,10 +5196,10 @@ Index of Concepts
* makefile, parsing: Reading Makefiles. (line 6)
* makefile, remaking of: Remaking Makefiles. (line 6)
* makefile, simple: Simple Makefile. (line 6)
-* makefiles, and MAKEFILE_LIST variable: Special Variables. (line 8)
+* makefiles, and 'MAKEFILE_LIST' variable: Special Variables. (line 8)
* makefiles, and special variables: Special Variables. (line 6)
+* makeinfo: Catalogue of Rules. (line 156)
* makeinfo <1>: Implicit Variables. (line 84)
-* makeinfo: Catalogue of Rules. (line 158)
* match-anything rule: Match-Anything Rules.
(line 6)
* match-anything rule, used to override: Overriding Makefiles.
@@ -5507,28 +5207,28 @@ Index of Concepts
* missing features: Missing. (line 6)
* mistakes with wildcards: Wildcard Pitfall. (line 6)
* modified variable reference: Substitution Refs. (line 6)
-* Modula-2, rule to compile: Catalogue of Rules. (line 74)
-* mostlyclean (standard target): Goals. (line 78)
+* Modula-2, rule to compile: Catalogue of Rules. (line 71)
+* 'mostlyclean' (standard target): Goals. (line 79)
* multi-line variable definition: Multi-Line. (line 6)
* multiple rules for one target: Multiple Rules. (line 6)
-* multiple rules for one target (::): Double-Colon. (line 6)
+* multiple rules for one target ('::'): Double-Colon. (line 6)
* multiple targets: Multiple Targets. (line 6)
* multiple targets, in pattern rule: Pattern Intro. (line 53)
* name of makefile: Makefile Names. (line 6)
-* name of makefile, how to specify: Makefile Names. (line 30)
+* name of makefile, how to specify: Makefile Names. (line 31)
* nested variable reference: Computed Names. (line 6)
* newline, quoting, in makefile: Simple Makefile. (line 41)
* newline, quoting, in recipes: Splitting Recipe Lines.
(line 6)
-* nondirectory part: File Name Functions. (line 27)
+* nondirectory part: File Name Functions. (line 26)
* normal prerequisites: Prerequisite Types. (line 6)
-* OBJ: Variables Simplify. (line 20)
-* obj: Variables Simplify. (line 20)
-* OBJECTS: Variables Simplify. (line 20)
-* objects: Variables Simplify. (line 14)
+* 'obj': Variables Simplify. (line 20)
+* 'OBJ': Variables Simplify. (line 20)
+* 'objects': Variables Simplify. (line 14)
+* 'OBJECTS': Variables Simplify. (line 20)
* objects, loaded: Loading Objects. (line 6)
-* OBJS: Variables Simplify. (line 20)
-* objs: Variables Simplify. (line 20)
+* 'objs': Variables Simplify. (line 20)
+* 'OBJS': Variables Simplify. (line 20)
* old-fashioned suffix rules: Suffix Rules. (line 6)
* options: Options Summary. (line 6)
* options, and recursion: Options/Recursion. (line 6)
@@ -5537,18 +5237,18 @@ Index of Concepts
* order of pattern rules: Pattern Match. (line 30)
* order-only prerequisites: Prerequisite Types. (line 6)
* origin of variable: Origin Function. (line 6)
-* output during parallel execution <1>: Options Summary. (line 167)
* output during parallel execution: Parallel Output. (line 6)
+* output during parallel execution <1>: Options Summary. (line 171)
* overriding makefiles: Overriding Makefiles.
(line 6)
* overriding variables with arguments: Overriding. (line 6)
-* overriding with override: Override Directive. (line 6)
+* overriding with 'override': Override Directive. (line 6)
* parallel execution: Parallel. (line 6)
* parallel execution, and archive update: Archive Pitfalls. (line 6)
* parallel execution, input during: Parallel Input. (line 6)
-* parallel execution, output during <1>: Options Summary. (line 167)
* parallel execution, output during: Parallel Output. (line 6)
-* parallel execution, overriding: Special Targets. (line 130)
+* parallel execution, output during <1>: Options Summary. (line 171)
+* parallel execution, overriding: Special Targets. (line 142)
* parts of makefile rule: Rule Introduction. (line 6)
* Pascal, rule to compile: Catalogue of Rules. (line 45)
* pattern rule: Pattern Intro. (line 6)
@@ -5557,35 +5257,35 @@ Index of Concepts
* pattern rules, static (not implicit): Static Pattern. (line 6)
* pattern rules, static, syntax of: Static Usage. (line 6)
* pattern-specific variables: Pattern-specific. (line 6)
-* pc <1>: Implicit Variables. (line 63)
* pc: Catalogue of Rules. (line 45)
+* pc <1>: Implicit Variables. (line 63)
* phony targets: Phony Targets. (line 6)
* phony targets and recipe execution: Instead of Execution.
- (line 71)
+ (line 75)
* pitfalls of wildcards: Wildcard Pitfall. (line 6)
-* plugin_is_GPL_compatible: Loaded Object API. (line 32)
+* plugin_is_GPL_compatible: Loaded Object API. (line 31)
* portability: Features. (line 6)
-* POSIX <1>: Options/Recursion. (line 60)
* POSIX: Overview. (line 13)
-* POSIX-conforming mode, setting: Special Targets. (line 143)
+* POSIX <1>: Options/Recursion. (line 61)
+* POSIX-conforming mode, setting: Special Targets. (line 157)
* post-installation commands: Install Command Categories.
(line 6)
* pre-installation commands: Install Command Categories.
(line 6)
-* precious targets: Special Targets. (line 29)
-* predefined rules and variables, printing: Options Summary. (line 183)
-* prefix, adding: File Name Functions. (line 79)
+* precious targets: Special Targets. (line 32)
+* predefined rules and variables, printing: Options Summary. (line 187)
+* prefix, adding: File Name Functions. (line 78)
* prerequisite: Rules. (line 6)
* prerequisite pattern, implicit: Pattern Intro. (line 22)
* prerequisite pattern, static (not implicit): Static Usage. (line 30)
* prerequisite types: Prerequisite Types. (line 6)
* prerequisite, expansion: Reading Makefiles. (line 92)
-* prerequisites: Rule Syntax. (line 48)
+* prerequisites: Rule Syntax. (line 47)
* prerequisites, and automatic variables: Automatic Variables.
(line 17)
+* prerequisites, automatic generation: Include. (line 51)
* prerequisites, automatic generation <1>: Automatic Prerequisites.
(line 6)
-* prerequisites, automatic generation: Include. (line 51)
* prerequisites, introduction to: Rule Introduction. (line 8)
* prerequisites, list of all: Automatic Variables. (line 61)
* prerequisites, list of changed: Automatic Variables. (line 51)
@@ -5593,12 +5293,12 @@ Index of Concepts
* prerequisites, order-only: Prerequisite Types. (line 6)
* prerequisites, varying (static pattern): Static Pattern. (line 6)
* preserving intermediate files: Chained Rules. (line 46)
-* preserving with .PRECIOUS <1>: Chained Rules. (line 56)
-* preserving with .PRECIOUS: Special Targets. (line 29)
-* preserving with .SECONDARY: Special Targets. (line 49)
-* print (standard target): Goals. (line 97)
-* print target <1>: Empty Targets. (line 25)
-* print target: Wildcard Examples. (line 21)
+* preserving with '.PRECIOUS': Special Targets. (line 32)
+* preserving with '.PRECIOUS' <1>: Chained Rules. (line 56)
+* preserving with '.SECONDARY': Special Targets. (line 54)
+* 'print' (standard target): Goals. (line 98)
+* 'print' target: Wildcard Examples. (line 21)
+* 'print' target <1>: Empty Targets. (line 25)
* printing directories: -w Option. (line 6)
* printing messages: Make Control Functions.
(line 43)
@@ -5609,29 +5309,29 @@ Index of Concepts
* problems with wildcards: Wildcard Pitfall. (line 6)
* processing a makefile: How Make Works. (line 6)
* question mode: Instead of Execution.
- (line 30)
-* quoting %, in patsubst: Text Functions. (line 26)
-* quoting %, in static pattern: Static Usage. (line 37)
-* quoting %, in vpath: Selective Search. (line 38)
+ (line 32)
+* quoting '%', in 'patsubst': Text Functions. (line 26)
+* quoting '%', in static pattern: Static Usage. (line 37)
+* quoting '%', in 'vpath': Selective Search. (line 39)
* quoting newline, in makefile: Simple Makefile. (line 41)
* quoting newline, in recipes: Splitting Recipe Lines.
(line 6)
* Ratfor, rule to compile: Catalogue of Rules. (line 49)
-* RCS, rule to extract from: Catalogue of Rules. (line 164)
+* RCS, rule to extract from: Catalogue of Rules. (line 163)
* reading makefiles: Reading Makefiles. (line 6)
-* README: Makefile Names. (line 9)
-* realclean (standard target): Goals. (line 85)
-* realpath: File Name Functions. (line 114)
+* 'README': Makefile Names. (line 9)
+* 'realclean' (standard target): Goals. (line 86)
+* realpath: File Name Functions. (line 113)
* recipe: Simple Makefile. (line 74)
-* recipe execution, single invocation: Special Targets. (line 137)
+* recipe execution, single invocation: Special Targets. (line 150)
* recipe lines, single shell: One Shell. (line 6)
* recipe syntax: Recipe Syntax. (line 6)
* recipe, execution: Execution. (line 6)
+* recipes: Rule Syntax. (line 25)
* recipes <1>: Recipes. (line 6)
-* recipes: Rule Syntax. (line 26)
* recipes setting shell variables: Execution. (line 12)
* recipes, and directory search: Recipes/Search. (line 6)
-* recipes, backslash (\) in: Splitting Recipe Lines.
+* recipes, backslash ('\') in: Splitting Recipe Lines.
(line 6)
* recipes, canned: Canned Recipes. (line 6)
* recipes, comments in: Recipe Syntax. (line 29)
@@ -5654,51 +5354,51 @@ Index of Concepts
(line 6)
* recording events with empty targets: Empty Targets. (line 6)
* recursion: Recursion. (line 6)
-* recursion, and -C: Options/Recursion. (line 22)
-* recursion, and -f: Options/Recursion. (line 22)
-* recursion, and -j: Options/Recursion. (line 25)
-* recursion, and -o: Options/Recursion. (line 22)
-* recursion, and -t: MAKE Variable. (line 34)
-* recursion, and -w: -w Option. (line 20)
-* recursion, and -W: Options/Recursion. (line 22)
+* recursion, and '-C': Options/Recursion. (line 22)
+* recursion, and '-f': Options/Recursion. (line 22)
+* recursion, and '-j': Options/Recursion. (line 25)
+* recursion, and '-o': Options/Recursion. (line 22)
+* recursion, and '-t': MAKE Variable. (line 35)
+* recursion, and '-W': Options/Recursion. (line 22)
+* recursion, and '-w': -w Option. (line 20)
* recursion, and command line variable definitions: Options/Recursion.
(line 17)
* recursion, and environment: Variables/Recursion. (line 6)
-* recursion, and MAKE variable: MAKE Variable. (line 6)
-* recursion, and MAKEFILES variable: MAKEFILES Variable. (line 15)
+* recursion, and 'MAKE' variable: MAKE Variable. (line 6)
+* recursion, and 'MAKEFILES' variable: MAKEFILES Variable. (line 15)
* recursion, and options: Options/Recursion. (line 6)
* recursion, and printing directories: -w Option. (line 6)
* recursion, and variables: Variables/Recursion. (line 6)
-* recursion, level of: Variables/Recursion. (line 115)
-* recursive variable expansion <1>: Flavors. (line 6)
+* recursion, level of: Variables/Recursion. (line 114)
* recursive variable expansion: Using Variables. (line 6)
+* recursive variable expansion <1>: Flavors. (line 6)
* recursively expanded variables: Flavors. (line 6)
-* reference to variables <1>: Advanced. (line 6)
* reference to variables: Reference. (line 6)
+* reference to variables <1>: Advanced. (line 6)
* relinking: How Make Works. (line 46)
* remaking loaded objects: Remaking Loaded Objects.
(line 6)
* remaking makefiles: Remaking Makefiles. (line 6)
-* removal of target files <1>: Interrupts. (line 6)
* removal of target files: Errors. (line 64)
+* removal of target files <1>: Interrupts. (line 6)
* removing duplicate words: Text Functions. (line 155)
-* removing targets on failure: Special Targets. (line 64)
+* removing targets on failure: Special Targets. (line 71)
* removing, to clean up: Cleanup. (line 6)
* reporting bugs: Bugs. (line 6)
* rm: Implicit Variables. (line 106)
-* rm (shell command) <1>: Errors. (line 27)
-* rm (shell command) <2>: Phony Targets. (line 20)
-* rm (shell command) <3>: Wildcard Examples. (line 12)
-* rm (shell command): Simple Makefile. (line 85)
-* rule prerequisites: Rule Syntax. (line 48)
+* 'rm' (shell command): Simple Makefile. (line 85)
+* 'rm' (shell command) <1>: Wildcard Examples. (line 12)
+* 'rm' (shell command) <2>: Phony Targets. (line 20)
+* 'rm' (shell command) <3>: Errors. (line 27)
+* rule prerequisites: Rule Syntax. (line 47)
* rule syntax: Rule Syntax. (line 6)
* rule targets: Rule Syntax. (line 18)
-* rule, double-colon (::): Double-Colon. (line 6)
+* rule, double-colon ('::'): Double-Colon. (line 6)
* rule, explicit, definition of: Makefile Contents. (line 10)
* rule, how to write: Rules. (line 6)
* rule, implicit: Implicit Rules. (line 6)
* rule, implicit, and directory search: Implicit/Search. (line 6)
-* rule, implicit, and VPATH: Implicit/Search. (line 6)
+* rule, implicit, and 'VPATH': Implicit/Search. (line 6)
* rule, implicit, chains of: Chained Rules. (line 6)
* rule, implicit, definition of: Makefile Contents. (line 16)
* rule, implicit, how to use: Using Implicit. (line 6)
@@ -5712,28 +5412,28 @@ Index of Concepts
* rule, static pattern versus implicit: Static versus Implicit.
(line 6)
* rule, with multiple targets: Multiple Targets. (line 6)
-* rules, and $: Rule Syntax. (line 34)
-* s. (SCCS file prefix): Catalogue of Rules. (line 173)
-* SCCS, rule to extract from: Catalogue of Rules. (line 173)
+* rules, and '$': Rule Syntax. (line 33)
+* s. (SCCS file prefix): Catalogue of Rules. (line 172)
+* SCCS, rule to extract from: Catalogue of Rules. (line 172)
* search algorithm, implicit rule: Implicit Rule Search.
(line 6)
-* search path for prerequisites (VPATH): Directory Search. (line 6)
-* search path for prerequisites (VPATH), and implicit rules: Implicit/Search.
+* search path for prerequisites ('VPATH'): Directory Search. (line 6)
+* search path for prerequisites ('VPATH'), and implicit rules: Implicit/Search.
(line 6)
-* search path for prerequisites (VPATH), and link libraries: Libraries/Search.
+* search path for prerequisites ('VPATH'), and link libraries: Libraries/Search.
(line 6)
-* searching for strings: Text Functions. (line 103)
+* searching for strings: Text Functions. (line 104)
* secondary expansion: Secondary Expansion. (line 6)
* secondary expansion and explicit rules: Secondary Expansion.
- (line 106)
+ (line 104)
* secondary expansion and implicit rules: Secondary Expansion.
- (line 146)
+ (line 144)
* secondary expansion and static pattern rules: Secondary Expansion.
- (line 138)
+ (line 136)
* secondary files: Chained Rules. (line 46)
-* secondary targets: Special Targets. (line 49)
-* sed (shell command): Automatic Prerequisites.
- (line 73)
+* secondary targets: Special Targets. (line 54)
+* 'sed' (shell command): Automatic Prerequisites.
+ (line 72)
* selecting a word: Text Functions. (line 159)
* selecting word lists: Text Functions. (line 168)
* sequences of commands: Canned Recipes. (line 6)
@@ -5742,29 +5442,29 @@ Index of Concepts
* setting variables: Setting. (line 6)
* several rules for one target: Multiple Rules. (line 6)
* several targets in a rule: Multiple Targets. (line 6)
-* shar (standard target): Goals. (line 103)
+* 'shar' (standard target): Goals. (line 104)
* shell command, function for: Shell Function. (line 6)
-* shell file name pattern (in include): Include. (line 13)
+* shell file name pattern (in 'include'): Include. (line 13)
* shell variables, setting in recipes: Execution. (line 12)
-* shell wildcards (in include): Include. (line 13)
+* shell wildcards (in 'include'): Include. (line 13)
* shell, choosing the: Choosing the Shell. (line 6)
* SHELL, exported value: Variables/Recursion. (line 23)
* SHELL, import from environment: Environment. (line 37)
* shell, in DOS and Windows: Choosing the Shell. (line 38)
-* SHELL, MS-DOS specifics: Choosing the Shell. (line 44)
-* SHELL, value of: Choosing the Shell. (line 6)
+* 'SHELL', MS-DOS specifics: Choosing the Shell. (line 44)
+* 'SHELL', value of: Choosing the Shell. (line 6)
* signal: Interrupts. (line 6)
* silent operation: Echoing. (line 6)
* simple makefile: Simple Makefile. (line 6)
* simple variable expansion: Using Variables. (line 6)
* simplifying with variables: Variables Simplify. (line 6)
* simply expanded variables: Flavors. (line 56)
-* sorting words: Text Functions. (line 146)
+* sorting words: Text Functions. (line 147)
* spaces, in variable values: Flavors. (line 107)
* spaces, stripping: Text Functions. (line 80)
* special targets: Special Targets. (line 6)
* special variables: Special Variables. (line 6)
-* specifying makefile name: Makefile Names. (line 30)
+* specifying makefile name: Makefile Names. (line 31)
* splitting long lines: Splitting Lines. (line 6)
* splitting recipes: Splitting Recipe Lines.
(line 6)
@@ -5778,23 +5478,23 @@ Index of Concepts
* static pattern rule, versus implicit: Static versus Implicit.
(line 6)
* static pattern rules, secondary expansion of: Secondary Expansion.
- (line 138)
-* stem <1>: Pattern Match. (line 6)
+ (line 136)
* stem: Static Usage. (line 17)
+* stem <1>: Pattern Match. (line 6)
* stem, shortest: Pattern Match. (line 38)
* stem, variable for: Automatic Variables. (line 77)
* stopping make: Make Control Functions.
(line 11)
-* strings, searching for: Text Functions. (line 103)
+* strings, searching for: Text Functions. (line 104)
* stripping whitespace: Text Functions. (line 80)
-* sub-make: Variables/Recursion. (line 6)
+* sub-'make': Variables/Recursion. (line 6)
* subdirectories, recursion for: Recursion. (line 6)
* substitution variable reference: Substitution Refs. (line 6)
* suffix rule: Suffix Rules. (line 6)
* suffix rule, for archive: Archive Suffix Rules.
(line 6)
-* suffix, adding: File Name Functions. (line 68)
-* suffix, function to find: File Name Functions. (line 43)
+* suffix, adding: File Name Functions. (line 67)
+* suffix, function to find: File Name Functions. (line 42)
* suffix, substituting in variables: Substitution Refs. (line 6)
* suppressing inheritance: Suppressing Inheritance.
(line 6)
@@ -5802,12 +5502,12 @@ Index of Concepts
* symbol directories, updating archive: Archive Symbols. (line 6)
* syntax of recipe: Recipe Syntax. (line 6)
* syntax of rules: Rule Syntax. (line 6)
-* tab character (in commands): Rule Syntax. (line 26)
+* tab character (in commands): Rule Syntax. (line 25)
* tabs in rules: Rule Introduction. (line 21)
-* TAGS (standard target): Goals. (line 111)
+* 'TAGS' (standard target): Goals. (line 112)
+* tangle: Catalogue of Rules. (line 149)
* tangle <1>: Implicit Variables. (line 100)
-* tangle: Catalogue of Rules. (line 151)
-* tar (standard target): Goals. (line 100)
+* 'tar' (standard target): Goals. (line 101)
* target: Rules. (line 6)
* target pattern, implicit: Pattern Intro. (line 9)
* target pattern, static (not implicit): Static Usage. (line 17)
@@ -5817,7 +5517,7 @@ Index of Concepts
* target, multiple in pattern rule: Pattern Intro. (line 53)
* target, multiple rules for one: Multiple Rules. (line 6)
* target, touching: Instead of Execution.
- (line 23)
+ (line 24)
* target-specific variables: Target-specific. (line 6)
* targets: Rule Syntax. (line 18)
* targets without a file: Phony Targets. (line 6)
@@ -5829,23 +5529,23 @@ Index of Concepts
* targets, phony: Phony Targets. (line 6)
* terminal rule: Match-Anything Rules.
(line 6)
-* test (standard target): Goals. (line 115)
+* 'test' (standard target): Goals. (line 116)
* testing compilation: Testing. (line 6)
+* tex: Catalogue of Rules. (line 149)
* tex <1>: Implicit Variables. (line 87)
-* tex: Catalogue of Rules. (line 151)
-* TeX, rule to run: Catalogue of Rules. (line 151)
+* TeX, rule to run: Catalogue of Rules. (line 149)
+* texi2dvi: Catalogue of Rules. (line 156)
* texi2dvi <1>: Implicit Variables. (line 91)
-* texi2dvi: Catalogue of Rules. (line 158)
-* Texinfo, rule to format: Catalogue of Rules. (line 158)
-* tilde (~): Wildcards. (line 11)
-* touch (shell command) <1>: Empty Targets. (line 25)
-* touch (shell command): Wildcard Examples. (line 21)
+* Texinfo, rule to format: Catalogue of Rules. (line 156)
+* tilde ('~'): Wildcards. (line 11)
+* 'touch' (shell command): Wildcard Examples. (line 21)
+* 'touch' (shell command) <1>: Empty Targets. (line 25)
* touching files: Instead of Execution.
- (line 23)
+ (line 24)
* traditional directory search (GPATH): Search Algorithm. (line 42)
* types of prerequisites: Prerequisite Types. (line 6)
* types, conversion of: Guile Types. (line 6)
-* undefined variables, warning message: Options Summary. (line 285)
+* undefined variables, warning message: Options Summary. (line 292)
* undefining variable: Undefine Directive. (line 6)
* updating archive symbol directories: Archive Symbols. (line 6)
* updating loaded objects: Remaking Loaded Objects.
@@ -5859,17 +5559,17 @@ Index of Concepts
* variable references in recipes: Variables in Recipes.
(line 6)
* variables: Variables Simplify. (line 6)
-* variables, $ in name: Computed Names. (line 6)
+* variables, '$' in name: Computed Names. (line 6)
* variables, and implicit rule: Automatic Variables. (line 6)
* variables, appending to: Appending. (line 6)
* variables, automatic: Automatic Variables. (line 6)
* variables, command line: Overriding. (line 6)
* variables, command line, and recursion: Options/Recursion. (line 17)
* variables, computed names: Computed Names. (line 6)
-* variables, conditional assignment: Flavors. (line 133)
+* variables, conditional assignment: Flavors. (line 135)
* variables, defining verbatim: Multi-Line. (line 6)
-* variables, environment <1>: Environment. (line 6)
* variables, environment: Variables/Recursion. (line 6)
+* variables, environment <1>: Environment. (line 6)
* variables, exporting: Variables/Recursion. (line 6)
* variables, flavor of: Flavor Function. (line 6)
* variables, flavors: Flavors. (line 6)
@@ -5891,47 +5591,46 @@ Index of Concepts
* variables, substitution reference: Substitution Refs. (line 6)
* variables, target-specific: Target-specific. (line 6)
* variables, unexpanded value: Value Function. (line 6)
-* variables, warning for undefined: Options Summary. (line 285)
+* variables, warning for undefined: Options Summary. (line 292)
* varying prerequisites: Static Pattern. (line 6)
* verbatim variable definition: Multi-Line. (line 6)
* vpath: Directory Search. (line 6)
-* VPATH, and implicit rules: Implicit/Search. (line 6)
-* VPATH, and link libraries: Libraries/Search. (line 6)
+* 'VPATH', and implicit rules: Implicit/Search. (line 6)
+* 'VPATH', and link libraries: Libraries/Search. (line 6)
* warnings, printing: Make Control Functions.
(line 35)
+* weave: Catalogue of Rules. (line 149)
* weave <1>: Implicit Variables. (line 94)
-* weave: Catalogue of Rules. (line 151)
-* Web, rule to run: Catalogue of Rules. (line 151)
+* Web, rule to run: Catalogue of Rules. (line 149)
* what if: Instead of Execution.
- (line 38)
+ (line 41)
* whitespace, in variable values: Flavors. (line 107)
* whitespace, stripping: Text Functions. (line 80)
* wildcard: Wildcards. (line 6)
* wildcard pitfalls: Wildcard Pitfall. (line 6)
-* wildcard, function: File Name Functions. (line 107)
+* wildcard, function: File Name Functions. (line 106)
* wildcard, in archive member: Archive Members. (line 36)
-* wildcard, in include: Include. (line 13)
+* wildcard, in 'include': Include. (line 13)
* wildcards and MS-DOS/MS-Windows backslashes: Wildcard Pitfall.
(line 31)
* Windows, choosing a shell in: Choosing the Shell. (line 38)
* word, selecting a: Text Functions. (line 159)
-* words, extracting first: Text Functions. (line 184)
-* words, extracting last: Text Functions. (line 197)
-* words, filtering: Text Functions. (line 114)
-* words, filtering out: Text Functions. (line 132)
+* words, extracting first: Text Functions. (line 185)
+* words, extracting last: Text Functions. (line 198)
+* words, filtering: Text Functions. (line 115)
+* words, filtering out: Text Functions. (line 133)
* words, finding number: Text Functions. (line 180)
* words, iterating over: Foreach Function. (line 6)
-* words, joining lists: File Name Functions. (line 90)
+* words, joining lists: File Name Functions. (line 89)
* words, removing duplicates: Text Functions. (line 155)
* words, selecting lists of: Text Functions. (line 168)
* writing recipes: Recipes. (line 6)
* writing rules: Rules. (line 6)
* writing to a file: File Function. (line 6)
+* yacc: Catalogue of Rules. (line 117)
* yacc <1>: Implicit Variables. (line 77)
-* yacc <2>: Catalogue of Rules. (line 120)
-* yacc: Canned Recipes. (line 18)
-* Yacc, rule to run: Catalogue of Rules. (line 120)
-* ~ (tilde): Wildcards. (line 11)
+* 'yacc': Canned Recipes. (line 18)
+* Yacc, rule to run: Catalogue of Rules. (line 117)

File: make.info, Node: Name Index, Prev: Concept Index, Up: Top
@@ -5958,7 +5657,7 @@ Index of Functions, Variables, & Directives
* $(^D): Automatic Variables. (line 142)
* $(^F): Automatic Variables. (line 143)
* $*: Automatic Variables. (line 73)
-* $*, and static pattern: Static Usage. (line 81)
+* $*, and static pattern: Static Usage. (line 82)
* $+: Automatic Variables. (line 63)
* $<: Automatic Variables. (line 43)
* $?: Automatic Variables. (line 48)
@@ -5976,43 +5675,44 @@ Index of Functions, Variables, & Directives
* +D (automatic variable): Automatic Variables. (line 147)
* +F (automatic variable): Automatic Variables. (line 148)
* -load: load Directive. (line 65)
+* .DEFAULT: Special Targets. (line 22)
* .DEFAULT <1>: Last Resort. (line 23)
-* .DEFAULT: Special Targets. (line 20)
* .DEFAULT, and empty recipes: Empty Recipes. (line 16)
* .DEFAULT_GOAL (define default goal): Special Variables. (line 34)
+* .DELETE_ON_ERROR: Special Targets. (line 70)
* .DELETE_ON_ERROR <1>: Errors. (line 64)
-* .DELETE_ON_ERROR: Special Targets. (line 63)
+* .EXPORT_ALL_VARIABLES: Special Targets. (line 135)
* .EXPORT_ALL_VARIABLES <1>: Variables/Recursion. (line 99)
-* .EXPORT_ALL_VARIABLES: Special Targets. (line 124)
-* .FEATURES (list of supported features): Special Variables. (line 102)
+* .FEATURES (list of supported features): Special Variables. (line 121)
+* .IGNORE: Special Targets. (line 77)
* .IGNORE <1>: Errors. (line 30)
-* .IGNORE: Special Targets. (line 69)
* .INCLUDE_DIRS (list of include directories): Special Variables.
- (line 155)
-* .INTERMEDIATE: Special Targets. (line 43)
+ (line 174)
+* .INTERMEDIATE: Special Targets. (line 47)
* .LIBPATTERNS: Libraries/Search. (line 6)
* .LOADED: load Directive. (line 62)
-* .LOW_RESOLUTION_TIME: Special Targets. (line 81)
-* .NOTPARALLEL: Special Targets. (line 129)
+* .LOW_RESOLUTION_TIME: Special Targets. (line 90)
+* .NOTPARALLEL: Special Targets. (line 141)
+* .ONESHELL: Special Targets. (line 149)
* .ONESHELL <1>: One Shell. (line 6)
-* .ONESHELL: Special Targets. (line 136)
-* .PHONY <1>: Special Targets. (line 8)
* .PHONY: Phony Targets. (line 22)
-* .POSIX <1>: Options/Recursion. (line 60)
-* .POSIX: Special Targets. (line 142)
+* .PHONY <1>: Special Targets. (line 8)
+* .POSIX: Special Targets. (line 156)
+* .POSIX <1>: Options/Recursion. (line 61)
+* .PRECIOUS: Special Targets. (line 31)
* .PRECIOUS <1>: Interrupts. (line 22)
-* .PRECIOUS: Special Targets. (line 28)
* .RECIPEPREFIX (change the recipe prefix character): Special Variables.
- (line 80)
-* .SECONDARY: Special Targets. (line 48)
-* .SECONDEXPANSION <1>: Special Targets. (line 57)
+ (line 99)
+* .SECONDARY: Special Targets. (line 53)
* .SECONDEXPANSION: Secondary Expansion. (line 6)
+* .SECONDEXPANSION <1>: Special Targets. (line 63)
* .SHELLFLAGS: Choosing the Shell. (line 6)
+* .SHELLFLAGS <1>: Choosing the Shell. (line 87)
+* .SILENT: Special Targets. (line 121)
* .SILENT <1>: Echoing. (line 24)
-* .SILENT: Special Targets. (line 111)
+* .SUFFIXES: Special Targets. (line 16)
* .SUFFIXES <1>: Suffix Rules. (line 61)
-* .SUFFIXES: Special Targets. (line 15)
-* .VARIABLES (list of variables): Special Variables. (line 93)
+* .VARIABLES (list of variables): Special Variables. (line 112)
* /usr/gnu/include: Include. (line 53)
* /usr/include: Include. (line 53)
* /usr/local/include: Include. (line 53)
@@ -6028,16 +5728,17 @@ Index of Functions, Variables, & Directives
* ^ (automatic variable): Automatic Variables. (line 53)
* ^D (automatic variable): Automatic Variables. (line 142)
* ^F (automatic variable): Automatic Variables. (line 143)
-* abspath: File Name Functions. (line 121)
-* addprefix: File Name Functions. (line 79)
-* addsuffix: File Name Functions. (line 68)
+* | (automatic variable): Automatic Variables. (line 69)
+* abspath: File Name Functions. (line 120)
+* addprefix: File Name Functions. (line 78)
+* addsuffix: File Name Functions. (line 67)
* and: Conditional Functions.
(line 45)
* AR: Implicit Variables. (line 40)
* ARFLAGS: Implicit Variables. (line 113)
* AS: Implicit Variables. (line 43)
* ASFLAGS: Implicit Variables. (line 116)
-* basename: File Name Functions. (line 57)
+* basename: File Name Functions. (line 56)
* bindir: Directory Variables. (line 57)
* call: Call Function. (line 6)
* CC: Implicit Variables. (line 46)
@@ -6048,13 +5749,13 @@ Index of Functions, Variables, & Directives
* CPP: Implicit Variables. (line 52)
* CPPFLAGS: Implicit Variables. (line 129)
* CTANGLE: Implicit Variables. (line 103)
-* CURDIR: Recursion. (line 28)
+* 'CURDIR': Recursion. (line 28)
* CWEAVE: Implicit Variables. (line 97)
* CXX: Implicit Variables. (line 49)
* CXXFLAGS: Implicit Variables. (line 123)
* define: Multi-Line. (line 6)
* DESTDIR: DESTDIR. (line 6)
-* dir: File Name Functions. (line 17)
+* dir: File Name Functions. (line 16)
* else: Conditional Syntax. (line 6)
* endef: Multi-Line. (line 6)
* endif: Conditional Syntax. (line 6)
@@ -6066,27 +5767,29 @@ Index of Functions, Variables, & Directives
* FC: Implicit Variables. (line 56)
* FFLAGS: Implicit Variables. (line 133)
* file: File Function. (line 6)
-* filter: Text Functions. (line 114)
-* filter-out: Text Functions. (line 132)
-* findstring: Text Functions. (line 103)
-* firstword: Text Functions. (line 184)
+* filter: Text Functions. (line 115)
+* filter-out: Text Functions. (line 133)
+* findstring: Text Functions. (line 104)
+* firstword: Text Functions. (line 185)
* flavor: Flavor Function. (line 6)
* foreach: Foreach Function. (line 6)
* GET: Implicit Variables. (line 69)
* GFLAGS: Implicit Variables. (line 136)
* gmk-eval: Guile Interface. (line 18)
* gmk-expand: Guile Interface. (line 12)
-* gmk_add_function: Loaded Object API. (line 54)
-* gmk_alloc: Loaded Object API. (line 150)
-* gmk_eval: Loaded Object API. (line 124)
-* gmk_expand: Loaded Object API. (line 118)
-* gmk_free: Loaded Object API. (line 155)
-* gmk_func_ptr: Loaded Object API. (line 96)
+* gmk_add_function: Loaded Object API. (line 53)
+* gmk_alloc: Loaded Object API. (line 149)
+* gmk_eval: Loaded Object API. (line 123)
+* gmk_expand: Loaded Object API. (line 117)
+* gmk_free: Loaded Object API. (line 154)
+* gmk_func_ptr: Loaded Object API. (line 95)
* GNUmakefile: Makefile Names. (line 7)
* GPATH: Search Algorithm. (line 48)
* guile: Guile Function. (line 6)
* if: Conditional Functions.
(line 6)
+* if <1>: Conditional Functions.
+ (line 12)
* ifdef: Conditional Syntax. (line 6)
* ifeq: Conditional Syntax. (line 6)
* ifndef: Conditional Syntax. (line 6)
@@ -6094,8 +5797,8 @@ Index of Functions, Variables, & Directives
* include: Include. (line 6)
* info: Make Control Functions.
(line 43)
-* join: File Name Functions. (line 90)
-* lastword: Text Functions. (line 197)
+* join: File Name Functions. (line 89)
+* lastword: Text Functions. (line 198)
* LDFLAGS: Implicit Variables. (line 139)
* LDLIBS: Implicit Variables. (line 144)
* LEX: Implicit Variables. (line 72)
@@ -6106,52 +5809,57 @@ Index of Functions, Variables, & Directives
* load: load Directive. (line 9)
* LOADLIBES: Implicit Variables. (line 144)
* M2C: Implicit Variables. (line 60)
-* MAKE <1>: Flavors. (line 88)
* MAKE: MAKE Variable. (line 6)
-* MAKE_HOST: Quick Reference. (line 341)
-* MAKE_RESTARTS (number of times make has restarted): Special Variables.
- (line 73)
-* MAKE_VERSION: Quick Reference. (line 337)
+* MAKE <1>: Flavors. (line 88)
* MAKECMDGOALS: Goals. (line 30)
-* makefile: Makefile Names. (line 7)
* Makefile: Makefile Names. (line 7)
+* makefile: Makefile Names. (line 7)
+* MAKEFILES: MAKEFILES Variable. (line 6)
+* MAKEFILES <1>: Variables/Recursion. (line 126)
* MAKEFILE_LIST (list of parsed makefiles): Special Variables.
(line 8)
-* MAKEFILES <1>: Variables/Recursion. (line 127)
-* MAKEFILES: MAKEFILES Variable. (line 6)
* MAKEFLAGS: Options/Recursion. (line 6)
* MAKEINFO: Implicit Variables. (line 83)
+* MAKELEVEL: Variables/Recursion. (line 114)
* MAKELEVEL <1>: Flavors. (line 88)
-* MAKELEVEL: Variables/Recursion. (line 115)
-* MAKEOVERRIDES: Options/Recursion. (line 49)
-* MAKESHELL (MS-DOS alternative to SHELL): Choosing the Shell.
+* MAKEOVERRIDES: Options/Recursion. (line 50)
+* 'MAKESHELL' (MS-DOS alternative to 'SHELL'): Choosing the Shell.
(line 27)
-* MFLAGS: Options/Recursion. (line 65)
-* notdir: File Name Functions. (line 27)
+* MAKE_HOST: Quick Reference. (line 348)
+* MAKE_RESTARTS (number of times 'make' has restarted): Special Variables.
+ (line 73)
+* MAKE_TERMERR (whether stderr is a terminal): Special Variables.
+ (line 80)
+* MAKE_TERMOUT (whether stdout is a terminal): Special Variables.
+ (line 80)
+* MAKE_VERSION: Quick Reference. (line 343)
+* MFLAGS: Options/Recursion. (line 66)
+* notdir: File Name Functions. (line 26)
* or: Conditional Functions.
(line 37)
* origin: Origin Function. (line 6)
-* OUTPUT_OPTION: Catalogue of Rules. (line 202)
+* OUTPUT_OPTION: Catalogue of Rules. (line 200)
* override: Override Directive. (line 6)
-* patsubst <1>: Text Functions. (line 18)
* patsubst: Substitution Refs. (line 28)
+* patsubst <1>: Text Functions. (line 18)
* PC: Implicit Variables. (line 63)
* PFLAGS: Implicit Variables. (line 156)
* prefix: Directory Variables. (line 29)
* private: Suppressing Inheritance.
(line 6)
-* realpath: File Name Functions. (line 114)
+* realpath: File Name Functions. (line 113)
* RFLAGS: Implicit Variables. (line 159)
* RM: Implicit Variables. (line 106)
* sbindir: Directory Variables. (line 63)
-* shell: Shell Function. (line 6)
* SHELL: Choosing the Shell. (line 6)
-* SHELL (recipe execution): Execution. (line 6)
-* sort: Text Functions. (line 146)
+* SHELL <1>: Choosing the Shell. (line 88)
+* shell: Shell Function. (line 6)
+* 'SHELL' (recipe execution): Execution. (line 6)
+* sort: Text Functions. (line 147)
* strip: Text Functions. (line 80)
-* subst <1>: Text Functions. (line 9)
* subst: Multiple Targets. (line 28)
-* suffix: File Name Functions. (line 43)
+* subst <1>: Text Functions. (line 9)
+* suffix: File Name Functions. (line 42)
* SUFFIXES: Suffix Rules. (line 81)
* TANGLE: Implicit Variables. (line 100)
* TEX: Implicit Variables. (line 87)
@@ -6159,20 +5867,18 @@ Index of Functions, Variables, & Directives
* undefine: Undefine Directive. (line 6)
* unexport: Variables/Recursion. (line 45)
* value: Value Function. (line 6)
-* vpath: Selective Search. (line 6)
-* VPATH: General Search. (line 6)
-* vpath: Directory Search. (line 6)
* VPATH: Directory Search. (line 6)
+* VPATH <1>: General Search. (line 6)
+* vpath: Directory Search. (line 6)
+* vpath <1>: Selective Search. (line 6)
* warning: Make Control Functions.
(line 35)
* WEAVE: Implicit Variables. (line 94)
-* wildcard <1>: File Name Functions. (line 107)
* wildcard: Wildcard Function. (line 6)
+* wildcard <1>: File Name Functions. (line 106)
* word: Text Functions. (line 159)
* wordlist: Text Functions. (line 168)
* words: Text Functions. (line 180)
* YACC: Implicit Variables. (line 76)
* YFLAGS: Implicit Variables. (line 153)
-* | (automatic variable): Automatic Variables. (line 69)
-
diff --git a/doc/make.texi b/doc/make.texi
index 8fbdb61..b0f5af7 100644
--- a/doc/make.texi
+++ b/doc/make.texi
@@ -3,7 +3,7 @@
@setfilename make.info
@include version.texi
-@set EDITION 0.72
+@set EDITION 0.73
@settitle GNU @code{make}
@setchapternewpage odd
@@ -26,7 +26,7 @@ of @cite{The GNU Make Manual}, for GNU @code{make} version @value{VERSION}.
Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007,
-2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -304,7 +304,7 @@ Using Implicit Rules
* Using Implicit:: How to use an existing implicit rule
to get the recipes for updating a file.
-* Catalogue of Rules:: A list of built-in implicit rules.
+* Catalogue of Rules:: A list of built-in rules.
* Implicit Variables:: How to change what predefined rules do.
* Chained Rules:: How to use a chain of implicit rules.
* Pattern Rules:: How to define new implicit rules.
@@ -1528,7 +1528,7 @@ A rule is always expanded the same way, regardless of the form:
@example
@var{immediate} : @var{immediate} ; @var{deferred}
- @var{deferred}
+ @var{deferred}
@end example
That is, the target and prerequisite sections are expanded immediately,
@@ -2584,31 +2584,15 @@ will be executed every time you say @samp{make clean}.
@cindex @code{rm} (shell command)
@findex .PHONY
-The phony target will cease to work if anything ever does create a file
-named @file{clean} in this directory. Since it has no prerequisites, the
-file @file{clean} would inevitably be considered up to date, and its
-recipe would not be executed. To avoid this problem, you can explicitly
-declare the target to be phony, using the special target @code{.PHONY}
+In this example, the @file{clean} target will not work properly if a
+file named @file{clean} is ever created in this directory. Since it
+has no prerequisites, @file{clean} would always be considered up to
+date and its recipe would not be executed. To avoid this problem you
+can explicitly declare the target to be phony by making it a
+prerequisite of the special target @code{.PHONY}
(@pxref{Special Targets, ,Special Built-in Target Names}) as follows:
@example
-.PHONY : clean
-@end example
-
-@noindent
-Once this is done, @samp{make clean} will run the recipe regardless of
-whether there is a file named @file{clean}.
-
-Since it knows that phony targets do not name actual files that could be
-remade from other files, @code{make} skips the implicit rule search for
-phony targets (@pxref{Implicit Rules}). This is why declaring a target
-phony is good for performance, even if you are not worried about the
-actual file existing.
-
-Thus, you first write the line that states that @code{clean} is a
-phony target, then you write the rule, like this:
-
-@example
@group
.PHONY: clean
clean:
@@ -2616,12 +2600,16 @@ clean:
@end group
@end example
-Another example of the usefulness of phony targets is in conjunction
-with recursive invocations of @code{make} (for more information, see
-@ref{Recursion, ,Recursive Use of @code{make}}). In this case the
-makefile will often contain a variable which lists a number of
-sub-directories to be built. One way to handle this is with one rule
-whose recipe is a shell loop over the sub-directories, like this:
+@noindent
+Once this is done, @samp{make clean} will run the recipe regardless of
+whether there is a file named @file{clean}.
+
+Phony targets are also useful in conjunction with recursive
+invocations of @code{make} (@pxref{Recursion, ,Recursive Use of @code{make}}).
+In this situation the makefile will often contain a variable which
+lists a number of sub-directories to be built. A simplistic way to
+handle this is to define one rule with a recipe that loops over the
+sub-directories, like this:
@example
@group
@@ -2644,9 +2632,9 @@ you cannot take advantage of @code{make}'s ability to build targets in
parallel (@pxref{Parallel, ,Parallel Execution}), since there is only
one rule.
-By declaring the sub-directories as phony targets (you must do this as
-the sub-directory obviously always exists; otherwise it won't be built)
-you can remove these problems:
+By declaring the sub-directories as @code{.PHONY} targets (you must do
+this as the sub-directory obviously always exists; otherwise it won't
+be built) you can remove these problems:
@example
@group
@@ -2668,6 +2656,11 @@ built until after the @file{baz} sub-directory is complete; this kind of
relationship declaration is particularly important when attempting
parallel builds.
+The implicit rule search (@pxref{Implicit Rules}) is skipped for
+@code{.PHONY} targets. This is why declaring a target as
+@code{.PHONY} is good for performance, even if you are not worried
+about the actual file existing.
+
A phony target should not be a prerequisite of a real target file; if it
is, its recipe will be run every time @code{make} goes to update that
file. As long as a phony target is never a prerequisite of a real
@@ -5809,7 +5802,7 @@ CFLAGS += -pg # enable profiling
@noindent
The first line defines the @code{CFLAGS} variable with a reference to another
variable, @code{includes}. (@code{CFLAGS} is used by the rules for C
-compilation; @pxref{Catalogue of Rules, ,Catalogue of Implicit Rules}.)
+compilation; @pxref{Catalogue of Rules, ,Catalogue of Built-In Rules}.)
Using @samp{=} for the definition makes @code{CFLAGS} a recursively-expanded
variable, meaning @w{@samp{$(includes) -O}} is @emph{not} expanded when
@code{make} processes the definition of @code{CFLAGS}. Thus, @code{includes}
@@ -6328,6 +6321,28 @@ will contain the number of times this instance has restarted. Note
this is not the same as recursion (counted by the @code{MAKELEVEL}
variable). You should not set, modify, or export this variable.
+@vindex MAKE_TERMOUT @r{(whether stdout is a terminal)}
+@vindex MAKE_TERMERR @r{(whether stderr is a terminal)}
+@item MAKE_TERMOUT
+@itemx MAKE_TERMERR
+When @code{make} starts it will check whether stdout and stderr will
+show their output on a terminal. If so, it will set
+@code{MAKE_TERMOUT} and @code{MAKE_TERMERR}, respectively, to the name
+of the terminal device (or @code{true} if this cannot be determined).
+If set these variables will be marked for export. These variables
+will not be changed by @code{make} and they will not be modified if
+already set.
+
+These values can be used (particularly in combination with output
+synchronization (@pxref{Parallel Output, ,Output During Parallel
+Execution}) to determine whether @code{make} itself is writing to a
+terminal; they can be tested to decide whether to force recipe
+commands to generate colorized output for example.
+
+If you invoke a sub-@code{make} and redirect its stdout or stderr it
+is your responsibility to reset or unexport these variables as well,
+if your makefiles rely on them.
+
@vindex .RECIPEPREFIX @r{(change the recipe prefix character)}
@item .RECIPEPREFIX
The first character of the value of this variable is used as the
@@ -7516,7 +7531,7 @@ exist.
The syntax of the @code{file} function is:
@example
-$(file @var{op} @var{filename},@var{text})
+$(file @var{op} @var{filename}[,@var{text}])
@end example
The operator @var{op} can be either @code{>} which indicates overwrite
@@ -7528,8 +7543,9 @@ When the @code{file} function is expanded all its arguments are
expanded first, then the file indicated by @var{filename} will be
opened in the mode described by @var{op}. Finally @var{text} will be
written to the file. If @var{text} does not already end in a newline,
-a final newline will be written. The result of evaluating the
-@code{file} function is always the empty string.
+even if empty, a final newline will be written. If the @var{text}
+argument is not given, nothing will be written. The result of
+evaluating the @code{file} function is always the empty string.
It is a fatal error if the file cannot be opened for writing, or if
the write operation fails.
@@ -7556,7 +7572,7 @@ input file, you might write your recipe like this:
@example
@group
program: $(OBJECTS)
- $(file >$@@.in,) $(foreach O,$^,$(file >>$@@.in,$O))
+ $(file >$@@.in) $(foreach O,$^,$(file >>$@@.in,$O))
$(CMD) $(CMDFLAGS) @@$@@.in
@@rm $@@.in
@end group
@@ -8934,7 +8950,7 @@ retained for compatibility.
@menu
* Using Implicit:: How to use an existing implicit rule
to get the recipes for updating a file.
-* Catalogue of Rules:: A list of built-in implicit rules.
+* Catalogue of Rules:: A list of built-in rules.
* Implicit Variables:: How to change what predefined rules do.
* Chained Rules:: How to use a chain of implicit rules.
* Pattern Rules:: How to define new implicit rules.
@@ -8986,7 +9002,7 @@ compiler; and so on.
Of course, when you write the makefile, you know which implicit rule you
want @code{make} to use, and you know it will choose that one because you
know which possible prerequisite files are supposed to exist.
-@xref{Catalogue of Rules, ,Catalogue of Implicit Rules},
+@xref{Catalogue of Rules, ,Catalogue of Built-In Rules},
for a catalogue of all the predefined implicit rules.
Above, we said an implicit rule applies if the required prerequisites ``exist
@@ -9016,7 +9032,7 @@ make an object file, a @file{.o} file, from a Pascal source file, a
@file{.p} file. For example, if @file{foo.c} also exists, the implicit
rule to make an object file from a C source file is used instead,
because it appears before the Pascal rule in the list of predefined
-implicit rules (@pxref{Catalogue of Rules, , Catalogue of Implicit
+implicit rules (@pxref{Catalogue of Rules, , Catalogue of Built-In
Rules}).
If you do not want an implicit rule to be used for a target that has no
@@ -9024,7 +9040,7 @@ recipe, you can give that target an empty recipe by writing a semicolon
(@pxref{Empty Recipes, ,Defining Empty Recipes}).
@node Catalogue of Rules, Implicit Variables, Using Implicit, Implicit Rules
-@section Catalogue of Implicit Rules
+@section Catalogue of Built-In Rules
@cindex implicit rule, predefined
@cindex rule, implicit, predefined
@@ -11572,7 +11588,7 @@ functionality in that it will check out SCCS files for makefiles.
@item
Various new built-in implicit rules.
-@xref{Catalogue of Rules, ,Catalogue of Implicit Rules}.
+@xref{Catalogue of Rules, ,Catalogue of Built-In Rules}.
@item
Load dynamic objects which can modify the behavior of @code{make}.
@@ -11695,7 +11711,7 @@ special treatment.
This appendix summarizes the directives, text manipulation functions,
and special variables which GNU @code{make} understands.
-@xref{Special Targets}, @ref{Catalogue of Rules, ,Catalogue of Implicit Rules},
+@xref{Special Targets}, @ref{Catalogue of Rules, ,Catalogue of Built-In Rules},
and @ref{Options Summary, ,Summary of Options},
for other summaries.
diff --git a/doc/stamp-vti b/doc/stamp-vti
index 047ad02..c46333e 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 9 October 2013
-@set UPDATED-MONTH October 2013
-@set EDITION 4.0
-@set VERSION 4.0
+@set UPDATED 5 October 2014
+@set UPDATED-MONTH October 2014
+@set EDITION 4.1
+@set VERSION 4.1
diff --git a/doc/version.texi b/doc/version.texi
index 047ad02..c46333e 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 9 October 2013
-@set UPDATED-MONTH October 2013
-@set EDITION 4.0
-@set VERSION 4.0
+@set UPDATED 5 October 2014
+@set UPDATED-MONTH October 2014
+@set EDITION 4.1
+@set VERSION 4.1
diff --git a/dosbuild.bat b/dosbuild.bat
index 4091463..fac2e88 100644
--- a/dosbuild.bat
+++ b/dosbuild.bat
@@ -1,5 +1,5 @@
@echo off
-rem Copyright (C) 1998-2013 Free Software Foundation, Inc.
+rem Copyright (C) 1998-2014 Free Software Foundation, Inc.
rem This file is part of GNU Make.
rem
rem GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/expand.c b/expand.c
index ba04e48..1c87db1 100644
--- a/expand.c
+++ b/expand.c
@@ -1,5 +1,5 @@
/* Variable expansion functions for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -121,9 +121,9 @@ recursively_expand_for_file (struct variable *v, struct file *file)
{
if (!v->exp_count)
/* Expanding V causes infinite recursion. Lose. */
- fatal (*expanding_var,
- _("Recursive variable '%s' references itself (eventually)"),
- v->name);
+ OS (fatal, *expanding_var,
+ _("Recursive variable '%s' references itself (eventually)"),
+ v->name);
--v->exp_count;
}
@@ -266,7 +266,7 @@ variable_expand_string (char *line, const char *string, long length)
end = strchr (beg, closeparen);
if (end == 0)
/* Unterminated variable reference. */
- fatal (*expanding_var, _("unterminated variable reference"));
+ O (fatal, *expanding_var, _("unterminated variable reference"));
p1 = lindex (beg, end, '$');
if (p1 != 0)
{
@@ -377,7 +377,6 @@ variable_expand_string (char *line, const char *string, long length)
Look up the value of the variable. */
o = reference_variable (o, beg, end - beg);
- if (abeg)
free (abeg);
}
break;
@@ -447,8 +446,7 @@ expand_argument (const char *str, const char *end)
r = allocated_variable_expand (tmp);
- if (alloc)
- free (alloc);
+ free (alloc);
return r;
}
diff --git a/file.c b/file.c
index b209d88..e1a8e80 100644
--- a/file.c
+++ b/file.c
@@ -1,5 +1,5 @@
/* Target file management for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -261,22 +261,25 @@ rehash_file (struct file *from_file, const char *to_hname)
to_file->cmds = from_file->cmds;
else if (from_file->cmds != to_file->cmds)
{
+ size_t l = strlen (from_file->name);
/* We have two sets of commands. We will go with the
one given in the rule explicitly mentioning this name,
but give a message to let the user know what's going on. */
if (to_file->cmds->fileinfo.filenm != 0)
error (&from_file->cmds->fileinfo,
+ l + strlen (to_file->cmds->fileinfo.filenm) + INTSTR_LENGTH,
_("Recipe was specified for file '%s' at %s:%lu,"),
from_file->name, to_file->cmds->fileinfo.filenm,
to_file->cmds->fileinfo.lineno);
else
- error (&from_file->cmds->fileinfo,
+ error (&from_file->cmds->fileinfo, l,
_("Recipe for file '%s' was found by implicit rule search,"),
from_file->name);
- error (&from_file->cmds->fileinfo,
+ l += strlen (to_hname);
+ error (&from_file->cmds->fileinfo, l,
_("but '%s' is now considered the same file as '%s'."),
from_file->name, to_hname);
- error (&from_file->cmds->fileinfo,
+ error (&from_file->cmds->fileinfo, l,
_("Recipe for '%s' will be ignored in favor of the one for '%s'."),
to_hname, from_file->name);
}
@@ -297,13 +300,14 @@ rehash_file (struct file *from_file, const char *to_hname)
merge_variable_set_lists (&to_file->variables, from_file->variables);
if (to_file->double_colon && from_file->is_target && !from_file->double_colon)
- fatal (NILF, _("can't rename single-colon '%s' to double-colon '%s'"),
- from_file->name, to_hname);
+ OSS (fatal, NILF, _("can't rename single-colon '%s' to double-colon '%s'"),
+ from_file->name, to_hname);
if (!to_file->double_colon && from_file->double_colon)
{
if (to_file->is_target)
- fatal (NILF, _("can't rename double-colon '%s' to single-colon '%s'"),
- from_file->name, to_hname);
+ OSS (fatal, NILF,
+ _("can't rename double-colon '%s' to single-colon '%s'"),
+ from_file->name, to_hname);
else
to_file->double_colon = from_file->double_colon;
}
@@ -393,7 +397,8 @@ remove_intermediates (int sig)
if (!f->dontcare)
{
if (sig)
- error (NILF, _("*** Deleting intermediate file '%s'"), f->name);
+ OS (error, NILF,
+ _("*** Deleting intermediate file '%s'"), f->name);
else
{
if (! doneany)
@@ -803,10 +808,11 @@ file_timestamp_cons (const char *fname, time_t stamp, long int ns)
&& product <= ts && ts <= ORDINARY_MTIME_MAX))
{
char buf[FILE_TIMESTAMP_PRINT_LEN_BOUND + 1];
+ const char *f = fname ? fname : _("Current time");
ts = s <= OLD_MTIME ? ORDINARY_MTIME_MIN : ORDINARY_MTIME_MAX;
file_timestamp_sprintf (buf, ts);
- error (NILF, _("%s: Timestamp out of range; substituting %s"),
- fname ? fname : _("Current time"), buf);
+ OSS (error, NILF,
+ _("%s: Timestamp out of range; substituting %s"), f, buf);
}
return ts;
@@ -1046,9 +1052,10 @@ print_file_data_base (void)
/* Verify the integrity of the data base of files. */
#define VERIFY_CACHED(_p,_n) \
- do{\
- if (_p->_n && _p->_n[0] && !strcache_iscached (_p->_n)) \
- error (NULL, _("%s: Field '%s' not cached: %s"), _p->name, # _n, _p->_n); \
+ do{ \
+ if (_p->_n && _p->_n[0] && !strcache_iscached (_p->_n)) \
+ error (NULL, strlen (_p->name) + CSTRLEN (# _n) + strlen (_p->_n), \
+ _("%s: Field '%s' not cached: %s"), _p->name, # _n, _p->_n); \
}while(0)
static void
diff --git a/filedef.h b/filedef.h
index f458551..b8973db 100644
--- a/filedef.h
+++ b/filedef.h
@@ -1,5 +1,5 @@
/* Definition of target file data structures for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -143,7 +143,7 @@ void print_file_data_base (void);
& ((1 << FILE_TIMESTAMP_LO_BITS) - 1)))
/* Upper bound on length of string "YYYY-MM-DD HH:MM:SS.NNNNNNNNN"
- representing a file timestamp. The upper bound is not necessarily 19,
+ representing a file timestamp. The upper bound is not necessarily 29,
since the year might be less than -999 or greater than 9999.
Subtract one for the sign bit if in case file timestamps can be negative;
diff --git a/function.c b/function.c
index ecce627..169c3a1 100644
--- a/function.c
+++ b/function.c
@@ -1,5 +1,5 @@
/* Builtin function expansion for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -519,8 +519,25 @@ func_notdir_suffix (char *o, char **argv, const char *funcname)
int is_suffix = funcname[0] == 's';
int is_notdir = !is_suffix;
- int stop = MAP_PATHSEP | (is_suffix ? MAP_DOT : 0);
+ int stop = MAP_DIRSEP | (is_suffix ? MAP_DOT : 0);
+#ifdef VMS
+ /* For VMS list_iterator points to a comma separated list. To use the common
+ [find_]next_token, create a local copy and replace the commas with
+ spaces. Obviously, there is a problem if there is a ',' in the VMS filename
+ (can only happen on ODS5), the same problem as with spaces in filenames,
+ which seems to be present in make on all platforms. */
+ char *vms_list_iterator = alloca(strlen(list_iterator) + 1);
+ int i;
+ for (i = 0; list_iterator[i]; i++)
+ if (list_iterator[i] == ',')
+ vms_list_iterator[i] = ' ';
+ else
+ vms_list_iterator[i] = list_iterator[i];
+ vms_list_iterator[i] = list_iterator[i];
+ while ((p2 = find_next_token((const char**) &vms_list_iterator, &len)) != 0)
+#else
while ((p2 = find_next_token (&list_iterator, &len)) != 0)
+#endif
{
const char *p = p2 + len - 1;
@@ -548,7 +565,11 @@ func_notdir_suffix (char *o, char **argv, const char *funcname)
if (is_notdir || p >= p2)
{
+#ifdef VMS
+ o = variable_buffer_output (o, ",", 1);
+#else
o = variable_buffer_output (o, " ", 1);
+#endif
doneany = 1;
}
}
@@ -572,8 +593,21 @@ func_basename_dir (char *o, char **argv, const char *funcname)
int is_basename = funcname[0] == 'b';
int is_dir = !is_basename;
- int stop = MAP_PATHSEP | (is_basename ? MAP_DOT : 0) | MAP_NUL;
+ int stop = MAP_DIRSEP | (is_basename ? MAP_DOT : 0) | MAP_NUL;
+#ifdef VMS
+ /* As in func_notdir_suffix ... */
+ char *vms_p3 = alloca(strlen(p3) + 1);
+ int i;
+ for (i = 0; p3[i]; i++)
+ if (p3[i] == ',')
+ vms_p3[i] = ' ';
+ else
+ vms_p3[i] = p3[i];
+ vms_p3[i] = p3[i];
+ while ((p2 = find_next_token((const char**) &vms_p3, &len)) != 0)
+#else
while ((p2 = find_next_token (&p3, &len)) != 0)
+#endif
{
const char *p = p2 + len - 1;
while (p >= p2 && ! STOP_SET (*p, stop))
@@ -602,7 +636,11 @@ func_basename_dir (char *o, char **argv, const char *funcname)
/* The entire name is the basename. */
o = variable_buffer_output (o, p2, len);
+#ifdef VMS
+ o = variable_buffer_output (o, ",", 1);
+#else
o = variable_buffer_output (o, " ", 1);
+#endif
doneany = 1;
}
@@ -726,7 +764,7 @@ check_numeric (const char *s, const char *msg)
break;
if (s <= end || end - beg < 0)
- fatal (*expanding_var, "%s: '%s'", msg, beg);
+ OSS (fatal, *expanding_var, "%s: '%s'", msg, beg);
}
@@ -743,8 +781,8 @@ func_word (char *o, char **argv, const char *funcname UNUSED)
i = atoi (argv[0]);
if (i == 0)
- fatal (*expanding_var,
- _("first argument to 'word' function must be greater than 0"));
+ O (fatal, *expanding_var,
+ _("first argument to 'word' function must be greater than 0"));
end_p = argv[1];
while ((p = find_next_token (&end_p, 0)) != 0)
@@ -770,8 +808,8 @@ func_wordlist (char *o, char **argv, const char *funcname UNUSED)
start = atoi (argv[0]);
if (start < 1)
- fatal (*expanding_var,
- "invalid first argument to 'wordlist' function: '%d'", start);
+ ON (fatal, *expanding_var,
+ "invalid first argument to 'wordlist' function: '%d'", start);
count = atoi (argv[1]) - start + 1;
@@ -1082,10 +1120,10 @@ func_error (char *o, char **argv, const char *funcname)
switch (*funcname)
{
case 'e':
- fatal (reading_file, "%s", msg);
+ OS (fatal, reading_file, "%s", msg);
case 'w':
- error (reading_file, "%s", msg);
+ OS (error, reading_file, "%s", msg);
break;
case 'i':
@@ -1094,7 +1132,7 @@ func_error (char *o, char **argv, const char *funcname)
break;
default:
- fatal (*expanding_var, "Internal error: func_error: '%s'", funcname);
+ OS (fatal, *expanding_var, "Internal error: func_error: '%s'", funcname);
}
/* The warning function expands to the empty string. */
@@ -1416,7 +1454,7 @@ int shell_function_pid = 0, shell_function_completed;
int
-windows32_openpipe (int *pipedes, pid_t *pid_p, char **command_argv, char **envp)
+windows32_openpipe (int *pipedes, int errfd, pid_t *pid_p, char **command_argv, char **envp)
{
SECURITY_ATTRIBUTES saAttr;
HANDLE hIn = INVALID_HANDLE_VALUE;
@@ -1457,11 +1495,12 @@ windows32_openpipe (int *pipedes, pid_t *pid_p, char **command_argv, char **envp
}
if (hIn == INVALID_HANDLE_VALUE)
{
- error (NILF, _("windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"), e);
+ ON (error, NILF,
+ _("windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"), e);
return -1;
}
}
- tmpErr = GetStdHandle (STD_ERROR_HANDLE);
+ tmpErr = (HANDLE)_get_osfhandle (errfd);
if (DuplicateHandle (GetCurrentProcess (), tmpErr,
GetCurrentProcess (), &hErr,
0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE)
@@ -1480,14 +1519,15 @@ windows32_openpipe (int *pipedes, pid_t *pid_p, char **command_argv, char **envp
}
if (hErr == INVALID_HANDLE_VALUE)
{
- error (NILF, _("windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"), e);
+ ON (error, NILF,
+ _("windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"), e);
return -1;
}
}
if (! CreatePipe (&hChildOutRd, &hChildOutWr, &saAttr, 0))
{
- error (NILF, _("CreatePipe() failed (e=%ld)\n"), GetLastError());
+ ON (error, NILF, _("CreatePipe() failed (e=%ld)\n"), GetLastError());
return -1;
}
@@ -1495,7 +1535,7 @@ windows32_openpipe (int *pipedes, pid_t *pid_p, char **command_argv, char **envp
if (!hProcess)
{
- error (NILF, _("windows32_openpipe(): process_init_fd() failed\n"));
+ O (error, NILF, _("windows32_openpipe(): process_init_fd() failed\n"));
return -1;
}
@@ -1608,7 +1648,7 @@ char *
func_shell_base (char *o, char **argv, int trim_newlines)
{
fprintf (stderr, "This platform does not support shell\n");
- die (EXIT_FAILURE);
+ die (MAKE_TROUBLE);
return NULL;
}
@@ -1689,7 +1729,7 @@ func_shell_base (char *o, char **argv, int trim_newlines)
return o;
}
#elif defined(WINDOWS32)
- windows32_openpipe (pipedes, &pid, command_argv, envp);
+ windows32_openpipe (pipedes, errfd, &pid, command_argv, envp);
/* Restore the value of just_print_flag. */
just_print_flag = j_p_f;
@@ -1950,7 +1990,7 @@ func_not (char *o, char **argv, char *funcname UNUSED)
#ifdef HAVE_DOS_PATHS
# ifdef __CYGWIN__
-# define IS_ABSOLUTE(n) ((n[0] && n[1] == ':') || STOP_SET (n[0], MAP_PATHSEP))
+# define IS_ABSOLUTE(n) ((n[0] && n[1] == ':') || STOP_SET (n[0], MAP_DIRSEP))
# else
# define IS_ABSOLUTE(n) (n[0] && n[1] == ':')
# endif
@@ -1984,9 +2024,9 @@ abspath (const char *name, char *apath)
strcpy (apath, starting_directory);
#ifdef HAVE_DOS_PATHS
- if (STOP_SET (name[0], MAP_PATHSEP))
+ if (STOP_SET (name[0], MAP_DIRSEP))
{
- if (STOP_SET (name[1], MAP_PATHSEP))
+ if (STOP_SET (name[1], MAP_DIRSEP))
{
/* A UNC. Don't prepend a drive letter. */
apath[0] = name[0];
@@ -2006,8 +2046,8 @@ abspath (const char *name, char *apath)
else
{
#if defined(__CYGWIN__) && defined(HAVE_DOS_PATHS)
- if (STOP_SET (name[0], MAP_PATHSEP))
- root_len = 1;
+ if (STOP_SET (name[0], MAP_DIRSEP))
+ root_len = 1;
#endif
strncpy (apath, name, root_len);
apath[root_len] = '\0';
@@ -2015,7 +2055,7 @@ abspath (const char *name, char *apath)
/* Get past the root, since we already copied it. */
name += root_len;
#ifdef HAVE_DOS_PATHS
- if (! STOP_SET (apath[root_len - 1], MAP_PATHSEP))
+ if (! STOP_SET (apath[root_len - 1], MAP_DIRSEP))
{
/* Convert d:foo into d:./foo and increase root_len. */
apath[2] = '.';
@@ -2035,11 +2075,11 @@ abspath (const char *name, char *apath)
unsigned long len;
/* Skip sequence of multiple path-separators. */
- while (STOP_SET (*start, MAP_PATHSEP))
+ while (STOP_SET (*start, MAP_DIRSEP))
++start;
/* Find end of path component. */
- for (end = start; ! STOP_SET (*end, MAP_PATHSEP|MAP_NUL); ++end)
+ for (end = start; ! STOP_SET (*end, MAP_DIRSEP|MAP_NUL); ++end)
;
len = end - start;
@@ -2052,12 +2092,12 @@ abspath (const char *name, char *apath)
{
/* Back up to previous component, ignore if at root already. */
if (dest > apath + root_len)
- for (--dest; ! STOP_SET (dest[-1], MAP_PATHSEP); --dest)
+ for (--dest; ! STOP_SET (dest[-1], MAP_DIRSEP); --dest)
;
}
else
{
- if (! STOP_SET (dest[-1], MAP_PATHSEP))
+ if (! STOP_SET (dest[-1], MAP_DIRSEP))
*dest++ = '/';
if (dest + len >= apath_limit)
@@ -2070,7 +2110,7 @@ abspath (const char *name, char *apath)
}
/* Unless it is root strip trailing separator. */
- if (dest > apath + root_len && STOP_SET (dest[-1], MAP_PATHSEP))
+ if (dest > apath + root_len && STOP_SET (dest[-1], MAP_DIRSEP))
--dest;
*dest = '\0';
@@ -2148,20 +2188,25 @@ func_file (char *o, char **argv, const char *funcname UNUSED)
fp = fopen (fn, mode);
if (fp == NULL)
- fatal (reading_file, _("open: %s: %s"), fn, strerror (errno));
- else
+ {
+ const char *err = strerror (errno);
+ OSS (fatal, reading_file, _("open: %s: %s"), fn, err);
+ }
+ if (argv[1])
{
int l = strlen (argv[1]);
- int nl = (l == 0 || argv[1][l-1] != '\n');
+ int nl = l == 0 || argv[1][l-1] != '\n';
if (fputs (argv[1], fp) == EOF || (nl && fputc ('\n', fp) == EOF))
- fatal (reading_file, _("write: %s: %s"), fn, strerror (errno));
-
- fclose (fp);
+ {
+ const char *err = strerror (errno);
+ OSS (fatal, reading_file, _("write: %s: %s"), fn, err);
+ }
}
+ fclose (fp);
}
else
- fatal (reading_file, _("Invalid file operation: %s"), fn);
+ OS (fatal, reading_file, _("Invalid file operation: %s"), fn);
return o;
}
@@ -2275,7 +2320,7 @@ expand_builtin_function (char *o, int argc, char **argv,
char *p;
if (argc < (int)entry_p->minimum_args)
- fatal (*expanding_var,
+ fatal (*expanding_var, strlen (entry_p->name),
_("insufficient number of arguments (%d) to function '%s'"),
argc, entry_p->name);
@@ -2287,8 +2332,8 @@ expand_builtin_function (char *o, int argc, char **argv,
return o;
if (!entry_p->fptr.func_ptr)
- fatal (*expanding_var,
- _("unimplemented on this platform: function '%s'"), entry_p->name);
+ OS (fatal, *expanding_var,
+ _("unimplemented on this platform: function '%s'"), entry_p->name);
if (!entry_p->alloc_fn)
return entry_p->fptr.func_ptr (o, argv, entry_p->name);
@@ -2350,7 +2395,7 @@ handle_function (char **op, const char **stringp)
break;
if (count >= 0)
- fatal (*expanding_var,
+ fatal (*expanding_var, strlen (entry_p->name),
_("unterminated call to function '%s': missing '%c'"),
entry_p->name, closeparen);
@@ -2418,7 +2463,7 @@ handle_function (char **op, const char **stringp)
if (entry_p->expand_args)
for (argvp=argv; *argvp != 0; ++argvp)
free (*argvp);
- else if (abeg)
+ else
free (abeg);
return 1;
@@ -2543,17 +2588,17 @@ define_new_function (const gmk_floc *flocp, const char *name,
len = e - name;
if (len == 0)
- fatal (flocp, _("Empty function name\n"));
+ O (fatal, flocp, _("Empty function name"));
if (*name == '.' || *e != '\0')
- fatal (flocp, _("Invalid function name: %s\n"), name);
+ OS (fatal, flocp, _("Invalid function name: %s"), name);
if (len > 255)
- fatal (flocp, _("Function name too long: %s\n"), name);
+ OS (fatal, flocp, _("Function name too long: %s"), name);
if (min > 255)
- fatal (flocp, _("Invalid minimum argument count (%d) for function %s\n"),
- min, name);
+ ONS (fatal, flocp,
+ _("Invalid minimum argument count (%d) for function %s"), min, name);
if (max > 255 || (max && max < min))
- fatal (flocp, _("Invalid maximum argument count (%d) for function %s\n"),
- max, name);
+ ONS (fatal, flocp,
+ _("Invalid maximum argument count (%d) for function %s"), max, name);
ent = xmalloc (sizeof (struct function_table_entry));
ent->name = name;
diff --git a/getloadavg.c b/getloadavg.c
index 0f5d400..a755b6d 100644
--- a/getloadavg.c
+++ b/getloadavg.c
@@ -1,5 +1,5 @@
/* Get the system load averages.
-Copyright (C) 1985-2013 Free Software Foundation, Inc.
+Copyright (C) 1985-2014 Free Software Foundation, Inc.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
diff --git a/getopt.c b/getopt.c
index 5a40b6c..a8051fc 100644
--- a/getopt.c
+++ b/getopt.c
@@ -3,7 +3,7 @@ NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
-Copyright (C) 1987-2013 Free Software Foundation, Inc.
+Copyright (C) 1987-2014 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
diff --git a/getopt.h b/getopt.h
index cb8865e..adef9a5 100644
--- a/getopt.h
+++ b/getopt.h
@@ -1,5 +1,5 @@
/* Declarations for getopt.
-Copyright (C) 1989-2013 Free Software Foundation, Inc.
+Copyright (C) 1989-2014 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
diff --git a/getopt1.c b/getopt1.c
index 51bea51..42dea22 100644
--- a/getopt1.c
+++ b/getopt1.c
@@ -1,5 +1,5 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
-Copyright (C) 1987-1994, 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1987-1994, 1996-2014 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
diff --git a/gettext.h b/gettext.h
index f1156b9..c2030ff 100644
--- a/gettext.h
+++ b/gettext.h
@@ -1,5 +1,5 @@
/* Convenience header for conditional use of GNU <libintl.h>.
-Copyright (C) 1995-2013 Free Software Foundation, Inc.
+Copyright (C) 1995-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/glob/ChangeLog b/glob/ChangeLog
index 8f0739c..c543c85 100644
--- a/glob/ChangeLog
+++ b/glob/ChangeLog
@@ -1,3 +1,9 @@
+2013-10-20 Paul Smith <psmith@gnu.org>
+
+ * glob.c (glob): Cherry-pick a471e96a5352a5f0bde6d32dd36d33524811a2b1
+ from git://sourceware.org/git/glibc.git to fix SV 18123,
+ https://sourceware.org/bugzilla/show_bug.cgi?id=10278
+
2008-09-28 Juan Manuel Guerrero <juan.guerrero@gmx.de>
* glob.c (my_realloc) [__DJGPP__]: Don't define, and don't
diff --git a/glob/Makefile.in b/glob/Makefile.in
index 3f79418..7a63861 100644
--- a/glob/Makefile.in
+++ b/glob/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -34,23 +33,51 @@
# this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -70,8 +97,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = glob
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in COPYING.LIB \
- ChangeLog
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/config/depcomp COPYING.LIB ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
@@ -91,14 +118,24 @@ LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru
AM_V_AR = $(am__v_AR_@AM_V@)
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-am__v_AR_0 = @echo " AR " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_AR_0 = @echo " AR " $@;
+am__v_AR_1 =
libglob_a_AR = $(AR) $(ARFLAGS)
libglob_a_LIBADD =
am_libglob_a_OBJECTS = glob.$(OBJEXT) fnmatch.$(OBJEXT)
libglob_a_OBJECTS = $(am_libglob_a_OBJECTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@@ -107,15 +144,14 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libglob_a_SOURCES)
DIST_SOURCES = $(libglob_a_SOURCES)
am__can_run_installinfo = \
@@ -123,6 +159,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -209,6 +262,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -300,6 +354,7 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
libglob.a: $(libglob_a_OBJECTS) $(libglob_a_DEPENDENCIES) $(EXTRA_libglob_a_DEPENDENCIES)
$(AM_V_at)-rm -f libglob.a
$(AM_V_AR)$(libglob_a_AR) libglob.a $(libglob_a_OBJECTS) $(libglob_a_LIBADD)
@@ -319,35 +374,24 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -359,15 +403,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -376,6 +416,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -515,17 +570,17 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-noinstLIBRARIES ctags distclean distclean-compile \
- distclean-generic distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am
diff --git a/glob/glob.c b/glob/glob.c
index 1a19205..f3911bc 100644
--- a/glob/glob.c
+++ b/glob/glob.c
@@ -377,6 +377,11 @@ glob (pattern, flags, errfunc, pglob)
return -1;
}
+ /* POSIX requires all slashes to be matched. This means that with
+ a trailing slash we must match only directories. */
+ if (pattern[0] && pattern[strlen (pattern) - 1] == '/')
+ flags |= GLOB_ONLYDIR;
+
if (flags & GLOB_BRACE)
{
const char *begin = strchr (pattern, '{');
diff --git a/gmk-default.scm b/gmk-default.scm
index 89db652..fa19d3c 100644
--- a/gmk-default.scm
+++ b/gmk-default.scm
@@ -1,5 +1,5 @@
;; Contents of the (gnu make) Guile module
-;; Copyright (C) 2011-2013 Free Software Foundation, Inc.
+;; Copyright (C) 2011-2014 Free Software Foundation, Inc.
;; This file is part of GNU Make.
;;
;; GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/gnumake.h b/gnumake.h
index 94d725e..fd0b3a4 100644
--- a/gnumake.h
+++ b/gnumake.h
@@ -1,7 +1,7 @@
/* External interfaces usable by dynamic objects loaded into GNU Make.
--THIS API IS A "TECHNOLOGY PREVIEW" ONLY. IT IS NOT A STABLE INTERFACE--
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/guile.c b/guile.c
index 499585c..7c9a015 100644
--- a/guile.c
+++ b/guile.c
@@ -1,5 +1,5 @@
/* GNU Guile interface for GNU Make.
-Copyright (C) 2011-2013 Free Software Foundation, Inc.
+Copyright (C) 2011-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -15,6 +15,9 @@ You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>. */
#include "makeint.h"
+
+#ifdef HAVE_GUILE
+
#include "gnumake.h"
#include "debug.h"
@@ -144,3 +147,13 @@ guile_gmake_setup (const gmk_floc *flocp UNUSED)
return 1;
}
+
+#else
+
+int
+guile_gmake_setup (const gmk_floc *flocp UNUSED)
+{
+ return 1;
+}
+
+#endif
diff --git a/hash.c b/hash.c
index ca2d02d..7b4b271 100644
--- a/hash.c
+++ b/hash.c
@@ -48,7 +48,7 @@ hash_init (struct hash_table *ht, unsigned long size,
{
fprintf (stderr, _("can't allocate %lu bytes for hash table: memory exhausted"),
ht->ht_size * (unsigned long) sizeof (struct token *));
- exit (1);
+ exit (MAKE_TROUBLE);
}
ht->ht_capacity = ht->ht_size - (ht->ht_size / 16); /* 93.75% loading factor */
diff --git a/implicit.c b/implicit.c
index 5fedec0..8e1d541 100644
--- a/implicit.c
+++ b/implicit.c
@@ -1,5 +1,5 @@
/* Implicit rule searching for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/job.c b/job.c
index febfac0..2989249 100644
--- a/job.c
+++ b/job.c
@@ -1,5 +1,5 @@
/* Job execution and handling for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -31,14 +31,14 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef WINDOWS32
#include <windows.h>
-char *default_shell = "sh.exe";
+const char *default_shell = "sh.exe";
int no_default_sh_exe = 1;
int batch_mode_shell = 1;
HANDLE main_thread;
#elif defined (_AMIGA)
-char default_shell[] = "";
+const char *default_shell = "";
extern int MyExecute (char **);
int batch_mode_shell = 0;
@@ -48,28 +48,28 @@ int batch_mode_shell = 0;
says so. It is without an explicit path so we get a chance
to search the $PATH for it (since MSDOS doesn't have standard
directories we could trust). */
-char *default_shell = "command.com";
+const char *default_shell = "command.com";
int batch_mode_shell = 0;
#elif defined (__EMX__)
-char *default_shell = "/bin/sh";
+const char *default_shell = "/bin/sh";
int batch_mode_shell = 0;
#elif defined (VMS)
# include <descrip.h>
-char default_shell[] = "";
+const char *default_shell = "";
int batch_mode_shell = 0;
#elif defined (__riscos__)
-char default_shell[] = "";
+const char *default_shell = "";
int batch_mode_shell = 0;
#else
-char default_shell[] = "/bin/sh";
+const char *default_shell = "/bin/sh";
int batch_mode_shell = 0;
#endif
@@ -359,7 +359,7 @@ create_batch_file (char const *base, int unixy, int *fd)
*fd = -1;
if (error_string == NULL)
error_string = _("Cannot create a temporary file\n");
- fatal (NILF, error_string);
+ O (fatal, NILF, error_string);
/* not reached */
return NULL;
@@ -474,6 +474,7 @@ child_error (struct child *child,
const struct file *f = child->file;
const gmk_floc *flocp = &f->cmds->fileinfo;
const char *nm;
+ size_t l = strlen (f->name);
if (ignored && silent_flag)
return;
@@ -498,7 +499,10 @@ child_error (struct child *child,
OUTPUT_SET (&child->output);
- message (0, _("%s: recipe for target '%s' failed"), nm, f->name);
+ message (0, l + strlen (nm),
+ _("%s: recipe for target '%s' failed"), nm, f->name);
+
+ l += strlen (pre) + strlen (post);
#ifdef VMS
if ((exit_code & 1) != 0)
@@ -506,15 +510,23 @@ child_error (struct child *child,
OUTPUT_UNSET ();
return;
}
-
- error (NILF, _("%s[%s] Error 0x%x%s"), pre, f->name, exit_code, post);
+ /* Check for a Posix compatible VMS style exit code:
+ decode and print the Posix exit code */
+ if ((exit_code & 0x35a000) == 0x35a000)
+ error(NILF, l + INTSTR_LENGTH, _("%s[%s] Error %d%s"), pre, f->name,
+ ((exit_code & 0x7f8) >> 3), post);
+ else
+ error(NILF, l + INTSTR_LENGTH, _("%s[%s] Error 0x%x%s"), pre, f->name,
+ exit_code, post);
#else
if (exit_sig == 0)
- error (NILF, _("%s[%s] Error %d%s"), pre, f->name, exit_code, post);
+ error (NILF, l + INTSTR_LENGTH,
+ _("%s[%s] Error %d%s"), pre, f->name, exit_code, post);
else
{
const char *s = strsignal (exit_sig);
- error (NILF, _("%s[%s] %s%s%s"), pre, f->name, s, dump, post);
+ error (NILF, l + strlen (s) + strlen (dump),
+ _("%s[%s] %s%s%s"), pre, f->name, s, dump, post);
}
#endif /* VMS */
@@ -606,7 +618,7 @@ reap_children (int block, int err)
Only print this message once no matter how many jobs are left. */
fflush (stdout);
if (!printed)
- error (NILF, _("*** Waiting for unfinished jobs...."));
+ O (error, NILF, _("*** Waiting for unfinished jobs...."));
printed = 1;
}
@@ -975,7 +987,7 @@ reap_children (int block, int err)
if (!err && child_failed && !dontcare && !keep_going_flag &&
/* fatal_error_signal will die with the right signal. */
!handling_fatal_signal)
- die (2);
+ die (MAKE_FAILURE);
/* Only block for one child. */
block = 0;
@@ -992,8 +1004,8 @@ free_child (struct child *child)
output_close (&child->output);
if (!jobserver_tokens)
- fatal (NILF, "INTERNAL: Freeing child %p (%s) but no tokens left!\n",
- child, child->file->name);
+ ONS (fatal, NILF, "INTERNAL: Freeing child %p (%s) but no tokens left!\n",
+ child, child->file->name);
/* If we're using the jobserver and this child is not the only outstanding
job, put a token back into the pipe for it. */
@@ -1004,8 +1016,9 @@ free_child (struct child *child)
if (! release_jobserver_semaphore ())
{
DWORD err = GetLastError ();
- fatal (NILF, _("release jobserver semaphore: (Error %ld: %s)"),
- err, map_windows32_error_to_string (err));
+ const char *estr = map_windows32_error_to_string (err);
+ ONS (fatal, NILF,
+ _("release jobserver semaphore: (Error %ld: %s)"), err, estr);
}
DB (DB_JOBS, (_("Released token for child %p (%s).\n"), child, child->file->name));
@@ -1108,10 +1121,20 @@ set_child_handler_action_flags (int set_handler, int set_alarm)
/* If we're about to enter the read(), set an alarm to wake up in a
second so we can check if the load has dropped and we can start more
work. On the way out, turn off the alarm and set SIG_DFL. */
- alarm (set_handler ? 1 : 0);
- sa.sa_handler = set_handler ? job_noop : SIG_DFL;
- sa.sa_flags = 0;
- sigaction (SIGALRM, &sa, NULL);
+ if (set_handler)
+ {
+ sa.sa_handler = job_noop;
+ sa.sa_flags = 0;
+ sigaction (SIGALRM, &sa, NULL);
+ alarm (1);
+ }
+ else
+ {
+ alarm (0);
+ sa.sa_handler = SIG_DFL;
+ sa.sa_flags = 0;
+ sigaction (SIGALRM, &sa, NULL);
+ }
}
#endif
}
@@ -1137,6 +1160,8 @@ start_job_command (struct child *child)
char *argv;
#else
char **argv;
+ int outfd = FD_STDOUT;
+ int errfd = FD_STDERR;
#endif
/* If we have a completely empty commandset, stop now. */
@@ -1194,6 +1219,30 @@ start_job_command (struct child *child)
char *end = 0;
#ifdef VMS
argv = p;
+ /* Although construct_command_argv contains some code for VMS, it was/is
+ not called/used. Please note, for VMS argv is a string (not an array
+ of strings) which contains the complete command line, which for
+ multi-line variables still includes the newlines. So detect newlines
+ and set 'end' (which is used for child->command_ptr) instead of
+ (re-)writing construct_command_argv */
+ if (!one_shell)
+ {
+ char *s = p;
+ int instring = 0;
+ while (*s)
+ {
+ if (*s == '"')
+ instring = !instring;
+ else if (*s == '\\' && !instring && *(s+1) != 0)
+ s++;
+ else if (*s == '\n' && !instring)
+ {
+ end = s;
+ break;
+ }
+ ++s;
+ }
+ }
#else
argv = construct_command_argv (p, &end, child->file,
child->file->cmds->lines_flags[child->command_line - 1],
@@ -1277,7 +1326,7 @@ start_job_command (struct child *child)
/* Print the command if appropriate. */
if (just_print_flag || trace_flag
|| (!(flags & COMMANDS_SILENT) && !silent_flag))
- message (0, "%s", p);
+ OS (message, 0, "%s", p);
/* Tell update_goal_chain that a command has been started on behalf of
this target. It is important that this happens here and not in
@@ -1426,6 +1475,16 @@ start_job_command (struct child *child)
parent_environ = environ;
+#ifndef NO_OUTPUT_SYNC
+ /* Divert child output if output_sync in use. */
+ if (child->output.syncout)
+ {
+ if (child->output.out >= 0)
+ outfd = child->output.out;
+ if (child->output.err >= 0)
+ errfd = child->output.err;
+ }
+#endif
# ifdef __EMX__
/* If we aren't running a recursive command and we have a jobserver
pipe, close it before exec'ing. */
@@ -1439,7 +1498,7 @@ start_job_command (struct child *child)
/* Never use fork()/exec() here! Use spawn() instead in exec_command() */
child->pid = child_execute_job (child->good_stdin ? FD_STDIN : bad_stdin,
- FD_STDOUT, FD_STDERR,
+ outfd, errfd,
argv, child->environment);
if (child->pid < 0)
{
@@ -1464,9 +1523,6 @@ start_job_command (struct child *child)
environ = parent_environ; /* Restore value child may have clobbered. */
if (child->pid == 0)
{
- int outfd = FD_STDOUT;
- int errfd = FD_STDERR;
-
/* We are the child side. */
unblock_sigs ();
@@ -1485,16 +1541,6 @@ start_job_command (struct child *child)
if (stack_limit.rlim_cur)
setrlimit (RLIMIT_STACK, &stack_limit);
#endif
-
- /* Divert child output if output_sync in use. */
- if (child->output.syncout)
- {
- if (child->output.out >= 0)
- outfd = child->output.out;
- if (child->output.err >= 0)
- errfd = child->output.err;
- }
-
child_execute_job (child->good_stdin ? FD_STDIN : bad_stdin,
outfd, errfd, argv, child->environment);
}
@@ -1593,14 +1639,18 @@ start_job_command (struct child *child)
sync_Path_environment ();
#ifndef NO_OUTPUT_SYNC
- /* Divert child output if output_sync in use. Don't capture
- recursive make output unless we are synchronizing "make" mode. */
- if (child->output.syncout)
- hPID = process_easy (argv, child->environment,
- child->output.out, child->output.err);
- else
+ /* Divert child output if output_sync in use. */
+ if (child->output.syncout)
+ {
+ if (child->output.out >= 0)
+ outfd = child->output.out;
+ if (child->output.err >= 0)
+ errfd = child->output.err;
+ }
+#else
+ outfd = errfd = -1;
#endif
- hPID = process_easy (argv, child->environment, -1, -1);
+ hPID = process_easy (argv, child->environment, outfd, errfd);
if (hPID != INVALID_HANDLE_VALUE)
child->pid = (pid_t) hPID;
@@ -1940,7 +1990,7 @@ new_job (struct file *file)
/* There must be at least one child already, or we have no business
waiting for a token. */
if (!children)
- fatal (NILF, "INTERNAL: no children as we go to sleep on read\n");
+ O (fatal, NILF, "INTERNAL: no children as we go to sleep on read\n");
#ifdef WINDOWS32
/* On Windows we simply wait for the jobserver semaphore to become
@@ -1950,8 +2000,10 @@ new_job (struct file *file)
if (got_token < 0)
{
DWORD err = GetLastError ();
- fatal (NILF, _("semaphore or child process wait: (Error %ld: %s)"),
- err, map_windows32_error_to_string (err));
+ const char *estr = map_windows32_error_to_string (err);
+ ONS (fatal, NILF,
+ _("semaphore or child process wait: (Error %ld: %s)"),
+ err, estr);
}
#else
/* Set interruptible system calls, and read() for a job token. */
@@ -2000,10 +2052,11 @@ new_job (struct file *file)
}
if (newer[0] == '\0')
- message (0, _("%s: target '%s' does not exist"), nm, c->file->name);
+ OSS (message, 0,
+ _("%s: target '%s' does not exist"), nm, c->file->name);
else
- message (0, _("%s: update target '%s' due to: %s"), nm,
- c->file->name, newer);
+ OSSS (message, 0,
+ _("%s: update target '%s' due to: %s"), nm, c->file->name, newer);
free (newer);
}
@@ -2114,8 +2167,8 @@ load_too_high (void)
{
if (errno == 0)
/* An errno value of zero means getloadavg is just unsupported. */
- error (NILF,
- _("cannot enforce load limits on this operating system"));
+ O (error, NILF,
+ _("cannot enforce load limits on this operating system"));
else
perror_with_name (_("cannot enforce load limit: "), "getloadavg");
}
@@ -2196,7 +2249,7 @@ child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
{
save_stdin = dup (FD_STDIN);
if (save_stdin < 0)
- fatal (NILF, _("no more file handles: could not duplicate stdin\n"));
+ O (fatal, NILF, _("no more file handles: could not duplicate stdin\n"));
CLOSE_ON_EXEC (save_stdin);
dup2 (stdin_fd, FD_STDIN);
@@ -2207,7 +2260,8 @@ child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
{
save_stdout = dup (FD_STDOUT);
if (save_stdout < 0)
- fatal (NILF, _("no more file handles: could not duplicate stdout\n"));
+ O (fatal, NILF,
+ _("no more file handles: could not duplicate stdout\n"));
CLOSE_ON_EXEC (save_stdout);
dup2 (stdout_fd, FD_STDOUT);
@@ -2220,7 +2274,8 @@ child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
{
save_stderr = dup (FD_STDERR);
if (save_stderr < 0)
- fatal (NILF, _("no more file handles: could not duplicate stderr\n"));
+ O (fatal, NILF,
+ _("no more file handles: could not duplicate stderr\n"));
CLOSE_ON_EXEC (save_stderr);
}
@@ -2235,7 +2290,7 @@ child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
if (save_stdin >= 0)
{
if (dup2 (save_stdin, FD_STDIN) != FD_STDIN)
- fatal (NILF, _("Could not restore stdin\n"));
+ O (fatal, NILF, _("Could not restore stdin\n"));
else
close (save_stdin);
}
@@ -2243,7 +2298,7 @@ child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
if (save_stdout >= 0)
{
if (dup2 (save_stdout, FD_STDOUT) != FD_STDOUT)
- fatal (NILF, _("Could not restore stdout\n"));
+ O (fatal, NILF, _("Could not restore stdout\n"));
else
close (save_stdout);
}
@@ -2251,7 +2306,7 @@ child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
if (save_stderr >= 0)
{
if (dup2 (save_stderr, FD_STDERR) != FD_STDERR)
- fatal (NILF, _("Could not restore stderr\n"));
+ O (fatal, NILF, _("Could not restore stderr\n"));
else
close (save_stderr);
}
@@ -2400,13 +2455,13 @@ exec_command (char **argv, char **envp)
switch (errno)
{
case ENOENT:
- error (NILF, _("%s: Command not found"), argv[0]);
+ OS (error, NILF, _("%s: Command not found"), argv[0]);
break;
case ENOEXEC:
{
/* The file is not executable. Try it as a shell script. */
extern char *getenv ();
- char *shell;
+ const char *shell;
char **new_argv;
int argc;
int i=1;
@@ -2434,7 +2489,7 @@ exec_command (char **argv, char **envp)
# endif
new_argv = alloca ((1 + argc + 1) * sizeof (char *));
- new_argv[0] = shell;
+ new_argv[0] = (char *)shell;
# ifdef __EMX__
if (!unixy_shell)
@@ -2460,7 +2515,7 @@ exec_command (char **argv, char **envp)
execvp (shell, new_argv);
# endif
if (errno == ENOENT)
- error (NILF, _("%s: Shell program not found"), shell);
+ OS (error, NILF, _("%s: Shell program not found"), shell);
else
perror_with_name ("execvp: ", shell);
break;
@@ -2469,7 +2524,7 @@ exec_command (char **argv, char **envp)
# ifdef __EMX__
case EINVAL:
/* this nasty error was driving me nuts :-( */
- error (NILF, _("spawnvpe: environment space might be exhausted"));
+ O (error, NILF, _("spawnvpe: environment space might be exhausted"));
/* FALLTHROUGH */
# endif
@@ -2487,7 +2542,8 @@ exec_command (char **argv, char **envp)
#endif /* !VMS */
}
#else /* On Amiga */
-void exec_command (char **argv)
+void
+exec_command (char **argv)
{
MyExecute (argv);
}
@@ -2504,7 +2560,7 @@ void clean_tmp (void)
avoid using a shell. This routine handles only ' quoting, and " quoting
when no backslash, $ or ' characters are seen in the quotes. Starting
quotes may be escaped with a backslash. If any of the characters in
- sh_chars[] is seen, or any of the builtin commands listed in sh_cmds[]
+ sh_chars is seen, or any of the builtin commands listed in sh_cmds
is the first word of a line, the shell is used.
If RESTP is not NULL, *RESTP is set to point to the first newline in LINE.
@@ -2519,9 +2575,9 @@ void clean_tmp (void)
is overridden. */
static char **
-construct_command_argv_internal (char *line, char **restp, char *shell,
- char *shellflags, char *ifs, int flags,
- char **batch_filename UNUSED)
+construct_command_argv_internal (char *line, char **restp, const char *shell,
+ const char *shellflags, const char *ifs,
+ int flags, char **batch_filename UNUSED)
{
#ifdef __MSDOS__
/* MSDOS supports both the stock DOS shell and ports of Unixy shells.
@@ -2546,61 +2602,58 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
DOS_CHARS also include characters special to 4DOS/NDOS, so we
won't have to tell one from another and have one more set of
commands and special characters. */
- static char sh_chars_dos[] = "*?[];|<>%^&()";
- static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
- "copy", "ctty", "date", "del", "dir", "echo",
- "erase", "exit", "for", "goto", "if", "md",
- "mkdir", "path", "pause", "prompt", "rd",
- "rmdir", "rem", "ren", "rename", "set",
- "shift", "time", "type", "ver", "verify",
- "vol", ":", 0 };
-
- static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
- static char *sh_cmds_sh[] = { "cd", "echo", "eval", "exec", "exit", "login",
- "logout", "set", "umask", "wait", "while",
- "for", "case", "if", ":", ".", "break",
- "continue", "export", "read", "readonly",
- "shift", "times", "trap", "switch", "unset",
- "ulimit", 0 };
-
- char *sh_chars;
- char **sh_cmds;
+ static const char *sh_chars_dos = "*?[];|<>%^&()";
+ static const char *sh_cmds_dos[] =
+ { "break", "call", "cd", "chcp", "chdir", "cls", "copy", "ctty", "date",
+ "del", "dir", "echo", "erase", "exit", "for", "goto", "if", "md",
+ "mkdir", "path", "pause", "prompt", "rd", "rmdir", "rem", "ren",
+ "rename", "set", "shift", "time", "type", "ver", "verify", "vol", ":",
+ 0 };
+
+ static const char *sh_chars_sh = "#;\"*?[]&|<>(){}$`^";
+ static const char *sh_cmds_sh[] =
+ { "cd", "echo", "eval", "exec", "exit", "login", "logout", "set", "umask",
+ "wait", "while", "for", "case", "if", ":", ".", "break", "continue",
+ "export", "read", "readonly", "shift", "times", "trap", "switch",
+ "unset", "ulimit", 0 };
+
+ const char *sh_chars;
+ const char **sh_cmds;
+
#elif defined (__EMX__)
- static char sh_chars_dos[] = "*?[];|<>%^&()";
- static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
- "copy", "ctty", "date", "del", "dir", "echo",
- "erase", "exit", "for", "goto", "if", "md",
- "mkdir", "path", "pause", "prompt", "rd",
- "rmdir", "rem", "ren", "rename", "set",
- "shift", "time", "type", "ver", "verify",
- "vol", ":", 0 };
-
- static char sh_chars_os2[] = "*?[];|<>%^()\"'&";
- static char *sh_cmds_os2[] = { "call", "cd", "chcp", "chdir", "cls", "copy",
- "date", "del", "detach", "dir", "echo",
- "endlocal", "erase", "exit", "for", "goto", "if",
- "keys", "md", "mkdir", "move", "path", "pause",
- "prompt", "rd", "rem", "ren", "rename", "rmdir",
- "set", "setlocal", "shift", "start", "time",
- "type", "ver", "verify", "vol", ":", 0 };
-
- static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^~'";
- static char *sh_cmds_sh[] = { "echo", "cd", "eval", "exec", "exit", "login",
- "logout", "set", "umask", "wait", "while",
- "for", "case", "if", ":", ".", "break",
- "continue", "export", "read", "readonly",
- "shift", "times", "trap", "switch", "unset",
- 0 };
- char *sh_chars;
- char **sh_cmds;
+ static const char *sh_chars_dos = "*?[];|<>%^&()";
+ static const char *sh_cmds_dos[] =
+ { "break", "call", "cd", "chcp", "chdir", "cls", "copy", "ctty", "date",
+ "del", "dir", "echo", "erase", "exit", "for", "goto", "if", "md",
+ "mkdir", "path", "pause", "prompt", "rd", "rmdir", "rem", "ren",
+ "rename", "set", "shift", "time", "type", "ver", "verify", "vol", ":",
+ 0 };
+
+ static const char *sh_chars_os2 = "*?[];|<>%^()\"'&";
+ static const char *sh_cmds_os2[] =
+ { "call", "cd", "chcp", "chdir", "cls", "copy", "date", "del", "detach",
+ "dir", "echo", "endlocal", "erase", "exit", "for", "goto", "if", "keys",
+ "md", "mkdir", "move", "path", "pause", "prompt", "rd", "rem", "ren",
+ "rename", "rmdir", "set", "setlocal", "shift", "start", "time", "type",
+ "ver", "verify", "vol", ":", 0 };
+
+ static const char *sh_chars_sh = "#;\"*?[]&|<>(){}$`^~'";
+ static const char *sh_cmds_sh[] =
+ { "echo", "cd", "eval", "exec", "exit", "login", "logout", "set", "umask",
+ "wait", "while", "for", "case", "if", ":", ".", "break", "continue",
+ "export", "read", "readonly", "shift", "times", "trap", "switch",
+ "unset", 0 };
+
+ const char *sh_chars;
+ const char **sh_cmds;
#elif defined (_AMIGA)
- static char sh_chars[] = "#;\"|<>()?*$`";
- static char *sh_cmds[] = { "cd", "eval", "if", "delete", "echo", "copy",
- "rename", "set", "setenv", "date", "makedir",
- "skip", "else", "endif", "path", "prompt",
- "unset", "unsetenv", "version",
- 0 };
+ static const char *sh_chars = "#;\"|<>()?*$`";
+ static const char *sh_cmds[] =
+ { "cd", "eval", "if", "delete", "echo", "copy", "rename", "set", "setenv",
+ "date", "makedir", "skip", "else", "endif", "path", "prompt", "unset",
+ "unsetenv", "version", 0 };
+
#elif defined (WINDOWS32)
/* We used to have a double quote (") in sh_chars_dos[] below, but
that caused any command line with quoted file names be run
@@ -2609,49 +2662,54 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
can handle quoted file names just fine, removing the quote lifts
the limit from a very frequent use case, because using quoted
file names is commonplace on MS-Windows. */
- static char sh_chars_dos[] = "|&<>";
- static char *sh_cmds_dos[] = { "assoc", "break", "call", "cd", "chcp",
- "chdir", "cls", "color", "copy", "ctty",
- "date", "del", "dir", "echo", "echo.",
- "endlocal", "erase", "exit", "for", "ftype",
- "goto", "if", "if", "md", "mkdir", "move",
- "path", "pause", "prompt", "rd", "rem", "ren",
- "rename", "rmdir", "set", "setlocal",
- "shift", "time", "title", "type", "ver",
- "verify", "vol", ":", 0 };
- static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
- static char *sh_cmds_sh[] = { "cd", "eval", "exec", "exit", "login",
- "logout", "set", "umask", "wait", "while", "for",
- "case", "if", ":", ".", "break", "continue",
- "export", "read", "readonly", "shift", "times",
- "trap", "switch", "test",
+ static const char *sh_chars_dos = "|&<>";
+ static const char *sh_cmds_dos[] =
+ { "assoc", "break", "call", "cd", "chcp", "chdir", "cls", "color", "copy",
+ "ctty", "date", "del", "dir", "echo", "echo.", "endlocal", "erase",
+ "exit", "for", "ftype", "goto", "if", "if", "md", "mkdir", "move",
+ "path", "pause", "prompt", "rd", "rem", "ren", "rename", "rmdir",
+ "set", "setlocal", "shift", "time", "title", "type", "ver", "verify",
+ "vol", ":", 0 };
+
+ static const char *sh_chars_sh = "#;\"*?[]&|<>(){}$`^";
+ static const char *sh_cmds_sh[] =
+ { "cd", "eval", "exec", "exit", "login", "logout", "set", "umask", "wait",
+ "while", "for", "case", "if", ":", ".", "break", "continue", "export",
+ "read", "readonly", "shift", "times", "trap", "switch", "test",
#ifdef BATCH_MODE_ONLY_SHELL
- "echo",
+ "echo",
#endif
- 0 };
- char* sh_chars;
- char** sh_cmds;
+ 0 };
+
+ const char *sh_chars;
+ const char **sh_cmds;
#elif defined(__riscos__)
- static char sh_chars[] = "";
- static char *sh_cmds[] = { 0 };
+ static const char *sh_chars = "";
+ static const char *sh_cmds[] = { 0 };
#else /* must be UNIX-ish */
- static char sh_chars[] = "#;\"*?[]&|<>(){}$`^~!";
- static char *sh_cmds[] = { ".", ":", "break", "case", "cd", "continue",
- "eval", "exec", "exit", "export", "for", "if",
- "login", "logout", "read", "readonly", "set",
- "shift", "switch", "test", "times", "trap",
- "ulimit", "umask", "unset", "wait", "while", 0 };
+ static const char *sh_chars = "#;\"*?[]&|<>(){}$`^~!";
+ static const char *sh_cmds[] =
+ { ".", ":", "break", "case", "cd", "continue", "eval", "exec", "exit",
+ "export", "for", "if", "login", "logout", "read", "readonly", "set",
+ "shift", "switch", "test", "times", "trap", "ulimit", "umask", "unset",
+ "wait", "while", 0 };
+
# ifdef HAVE_DOS_PATHS
/* This is required if the MSYS/Cygwin ports (which do not define
WINDOWS32) are compiled with HAVE_DOS_PATHS defined, which uses
- sh_chars_sh[] directly (see below). */
- static char *sh_chars_sh = sh_chars;
+ sh_chars_sh directly (see below). The value must be identical
+ to that of sh_chars immediately above. */
+ static const char *sh_chars_sh = "#;\"*?[]&|<>(){}$`^~!";
# endif /* HAVE_DOS_PATHS */
#endif
int i;
char *p;
- char *ap;
+#ifndef NDEBUG
char *end;
+#endif
+ char *ap;
+ const char *cap;
+ const char *cp;
int instring, word_has_equals, seen_nonequals, last_argument_was_empty;
char **new_argv = 0;
char *argstr = 0;
@@ -2693,10 +2751,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
slow_flag = strcmp ((s1 ? s1 : ""), (s2 ? s2 : ""));
- if (s1)
- free (s1);
- if (s2)
- free (s2);
+ free (s1);
+ free (s2);
}
if (slow_flag)
goto slow;
@@ -2736,12 +2792,12 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
#endif /* !__MSDOS__ && !__EMX__ */
#endif /* not WINDOWS32 */
- if (ifs != 0)
- for (ap = ifs; *ap != '\0'; ++ap)
- if (*ap != ' ' && *ap != '\t' && *ap != '\n')
+ if (ifs)
+ for (cap = ifs; *cap != '\0'; ++cap)
+ if (*cap != ' ' && *cap != '\t' && *cap != '\n')
goto slow;
- if (shellflags != 0)
+ if (shellflags)
if (shellflags[0] != '-'
|| ((shellflags[1] != 'c' || shellflags[2] != '\0')
&& (shellflags[1] != 'e' || shellflags[2] != 'c' || shellflags[3] != '\0')))
@@ -2754,7 +2810,9 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
/* All the args can fit in a buffer as big as LINE is. */
ap = new_argv[0] = argstr = xmalloc (i);
+#ifndef NDEBUG
end = ap + i;
+#endif
/* I is how many complete arguments have been found. */
i = 0;
@@ -3229,11 +3287,11 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
we don't escape them, construct_command_argv_internal will
recursively call itself ad nauseam, or until stack overflow,
whichever happens first. */
- for (p = shell; *p != '\0'; ++p)
+ for (cp = shell; *cp != '\0'; ++cp)
{
- if (strchr (sh_chars, *p) != 0)
+ if (strchr (sh_chars, *cp) != 0)
*(ap++) = '\\';
- *(ap++) = *p;
+ *(ap++) = *cp;
}
*(ap++) = ' ';
if (shellflags)
@@ -3441,7 +3499,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
}
#else
else
- fatal (NILF, _("%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"),
+ fatal (NILF, CSTRLEN (__FILE__) + INTSTR_LENGTH,
+ _("%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"),
__FILE__, __LINE__);
#endif
@@ -3457,7 +3516,7 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
avoid using a shell. This routine handles only ' quoting, and " quoting
when no backslash, $ or ' characters are seen in the quotes. Starting
quotes may be escaped with a backslash. If any of the characters in
- sh_chars[] is seen, or any of the builtin commands listed in sh_cmds[]
+ sh_chars is seen, or any of the builtin commands listed in sh_cmds
is the first word of a line, the shell is used.
If RESTP is not NULL, *RESTP is set to point to the first newline in LINE.
diff --git a/job.h b/job.h
index 8a20177..3c921ba 100644
--- a/job.h
+++ b/job.h
@@ -1,5 +1,5 @@
/* Definitions for managing subprocesses in GNU Make.
-Copyright (C) 1992-2013 Free Software Foundation, Inc.
+Copyright (C) 1992-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -39,8 +39,8 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef NO_OUTPUT_SYNC
# define RECORD_SYNC_MUTEX(m) \
- error (NILF, \
- _("-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."));
+ O (error, NILF, \
+ _("-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."));
#else
# ifdef WINDOWS32
/* For emulations in w32/compat/posixfcn.c. */
diff --git a/load.c b/load.c
index a2cbc25..79294b3 100644
--- a/load.c
+++ b/load.c
@@ -1,5 +1,5 @@
/* Loading dynamic objects for GNU Make.
-Copyright (C) 2012-2013 Free Software Foundation, Inc.
+Copyright (C) 2012-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -30,6 +30,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include "filedef.h"
#include "variable.h"
+/* Tru64 V4.0 does not have this flag */
+#ifndef RTLD_GLOBAL
+# define RTLD_GLOBAL 0
+#endif
+
struct load_list
{
struct load_list *next;
@@ -50,7 +55,10 @@ load_object (const gmk_floc *flocp, int noerror,
{
global_dl = dlopen (NULL, RTLD_NOW|RTLD_GLOBAL);
if (! global_dl)
- fatal (flocp, _("Failed to open global symbol table: %s"), dlerror ());
+ {
+ const char *err = dlerror ();
+ OS (fatal, flocp, _("Failed to open global symbol table: %s"), err);
+ }
}
symp = (load_func_t) dlsym (global_dl, symname);
@@ -74,23 +82,28 @@ load_object (const gmk_floc *flocp, int noerror,
/* Still no? Then fail. */
if (! dlp)
{
+ const char *err = dlerror ();
if (noerror)
- DB (DB_BASIC, ("%s", dlerror ()));
+ DB (DB_BASIC, ("%s", err));
else
- error (flocp, "%s", dlerror ());
+ OS (error, flocp, "%s", err);
return NULL;
}
/* Assert that the GPL license symbol is defined. */
symp = (load_func_t) dlsym (dlp, "plugin_is_GPL_compatible");
if (! symp)
- fatal (flocp, _("Loaded object %s is not declared to be GPL compatible"),
- ldname);
+ OS (fatal, flocp,
+ _("Loaded object %s is not declared to be GPL compatible"),
+ ldname);
symp = (load_func_t) dlsym (dlp, symname);
if (! symp)
- fatal (flocp, _("Failed to load symbol %s from %s: %s"),
- symname, ldname, dlerror ());
+ {
+ const char *err = dlerror ();
+ OSSS (fatal, flocp, _("Failed to load symbol %s from %s: %s"),
+ symname, ldname, err);
+ }
/* Add this symbol to a trivial lookup table. This is not efficient but
it's highly unlikely we'll be loading lots of objects, and we only
@@ -133,12 +146,13 @@ load_file (const gmk_floc *flocp, const char **ldname, int noerror)
++fp;
if (fp == ep)
- fatal (flocp, _("Empty symbol name for load: %s"), *ldname);
+ OS (fatal, flocp, _("Empty symbol name for load: %s"), *ldname);
/* Make a copy of the ldname part. */
memcpy (new, *ldname, l);
new[l] = '\0';
*ldname = new;
+ nmlen = l;
/* Make a copy of the symbol name part. */
symname = new + l + 1;
@@ -226,7 +240,8 @@ int
load_file (const gmk_floc *flocp, const char **ldname, int noerror)
{
if (! noerror)
- fatal (flocp, _("The 'load' operation is not supported on this platform."));
+ O (fatal, flocp,
+ _("The 'load' operation is not supported on this platform."));
return 0;
}
@@ -234,7 +249,7 @@ load_file (const gmk_floc *flocp, const char **ldname, int noerror)
void
unload_file (const char *name)
{
- fatal (NILF, "INTERNAL: Cannot unload when load is not supported!");
+ O (fatal, NILF, "INTERNAL: Cannot unload when load is not supported!");
}
#endif /* MAKE_LOAD */
diff --git a/loadapi.c b/loadapi.c
index 0568cbd..fb275dd 100644
--- a/loadapi.c
+++ b/loadapi.c
@@ -1,5 +1,5 @@
/* API for GNU Make dynamic objects.
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -39,9 +39,18 @@ gmk_free (char *s)
void
gmk_eval (const char *buffer, const gmk_floc *floc)
{
- char *s = xstrdup (buffer);
+ /* Preserve existing variable buffer context. */
+ char *pbuf;
+ unsigned int plen;
+ char *s;
+
+ install_variable_buffer (&pbuf, &plen);
+
+ s = xstrdup (buffer);
eval_buffer (s, floc);
free (s);
+
+ restore_variable_buffer (pbuf, plen);
}
/* Expand a string and return an allocated buffer.
diff --git a/main.c b/main.c
index f60e6be..7f14cba 100644
--- a/main.c
+++ b/main.c
@@ -1,5 +1,5 @@
/* Argument parsing and main program of GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -77,8 +77,8 @@ double atof ();
static void clean_jobserver (int status);
static void print_data_base (void);
static void print_version (void);
-static void decode_switches (int argc, char **argv, int env);
-static void decode_env_switches (char *envar, unsigned int len);
+static void decode_switches (int argc, const char **argv, int env);
+static void decode_env_switches (const char *envar, unsigned int len);
static struct variable *define_makeflags (int all, int makefile);
static char *quote_for_env (char *out, const char *in);
static void initialize_global_hash_tables (void);
@@ -94,7 +94,8 @@ struct command_switch
{
flag, /* Turn int flag on. */
flag_off, /* Turn int flag off. */
- string, /* One string per switch. */
+ string, /* One string per invocation. */
+ strlist, /* One string per switch. */
filename, /* A string containing a file name. */
positive_int, /* A positive integer. */
floating, /* A floating-point number (double). */
@@ -110,7 +111,7 @@ struct command_switch
const void *noarg_value; /* Pointer to value used if no arg given. */
const void *default_value; /* Pointer to default value. */
- char *long_name; /* Long option name. */
+ const char *long_name; /* Long option name. */
};
/* True if C is a switch value that corresponds to a short option. */
@@ -118,7 +119,7 @@ struct command_switch
#define short_option(c) ((c) <= CHAR_MAX)
/* The structure used to hold the list of strings given
- in command switches of a type that takes string arguments. */
+ in command switches of a type that takes strlist arguments. */
struct stringlist
{
@@ -157,7 +158,7 @@ int db_level = 0;
/* Synchronize output (--output-sync). */
-static struct stringlist *output_sync_option = 0;
+char *output_sync_option = 0;
#ifdef WINDOWS32
/* Suspend make in main for a short time to allow debugger to attach */
@@ -234,7 +235,7 @@ static unsigned int inf_jobs = 0;
/* File descriptors for the jobs pipe. */
-static struct stringlist *jobserver_fds = 0;
+char *jobserver_fds = 0;
int job_fds[2] = { -1, -1 };
int job_rfd = -1;
@@ -242,7 +243,7 @@ int job_rfd = -1;
/* Handle for the mutex used on Windows to synchronize output of our
children under -O. */
-static struct stringlist *sync_mutex = 0;
+char *sync_mutex = 0;
/* Maximum load average at which multiple jobs will be run.
Negative values mean unlimited, while zero means limit to
@@ -436,14 +437,14 @@ static const struct command_switch switches[] =
{ 'W', filename, &new_files, 0, 0, 0, 0, 0, "what-if" },
/* These are long-style options. */
- { CHAR_MAX+1, string, &db_flags, 1, 1, 0, "basic", 0, "debug" },
+ { CHAR_MAX+1, strlist, &db_flags, 1, 1, 0, "basic", 0, "debug" },
{ CHAR_MAX+2, string, &jobserver_fds, 1, 1, 0, 0, 0, "jobserver-fds" },
{ CHAR_MAX+3, flag, &trace_flag, 1, 1, 0, 0, 0, "trace" },
{ CHAR_MAX+4, flag, &inhibit_print_directory_flag, 1, 1, 0, 0, 0,
"no-print-directory" },
{ CHAR_MAX+5, flag, &warn_undefined_variables_flag, 1, 1, 0, 0, 0,
"warn-undefined-variables" },
- { CHAR_MAX+6, string, &eval_strings, 1, 0, 0, 0, 0, "eval" },
+ { CHAR_MAX+6, strlist, &eval_strings, 1, 0, 0, 0, 0, "eval" },
{ CHAR_MAX+7, string, &sync_mutex, 1, 1, 0, 0, 0, "sync-mutex" },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
@@ -479,7 +480,13 @@ static struct command_variable *command_variables;
/* The name we were invoked with. */
+#ifdef WINDOWS32
+/* On MS-Windows, we chop off the .exe suffix in 'main', so this
+ cannot be 'const'. */
char *program;
+#else
+const char *program;
+#endif
/* Our current directory before processing any -C options. */
@@ -619,11 +626,11 @@ initialize_stopchar_map ()
stopchar_map[(int)'-'] = MAP_USERFUNC;
stopchar_map[(int)'_'] = MAP_USERFUNC;
- stopchar_map[(int)'/'] = MAP_PATHSEP;
+ stopchar_map[(int)'/'] = MAP_DIRSEP;
#if defined(VMS)
- stopchar_map[(int)']'] = MAP_PATHSEP;
+ stopchar_map[(int)']'] = MAP_DIRSEP;
#elif defined(HAVE_DOS_PATHS)
- stopchar_map[(int)'\\'] = MAP_PATHSEP;
+ stopchar_map[(int)'\\'] = MAP_DIRSEP;
#endif
for (i = 1; i <= UCHAR_MAX; ++i)
@@ -638,46 +645,41 @@ initialize_stopchar_map ()
}
static const char *
-expand_command_line_file (char *name)
+expand_command_line_file (const char *name)
{
const char *cp;
char *expanded = 0;
if (name[0] == '\0')
- fatal (NILF, _("empty string invalid as file name"));
+ O (fatal, NILF, _("empty string invalid as file name"));
if (name[0] == '~')
{
expanded = tilde_expand (name);
- if (expanded != 0)
+ if (expanded && expanded[0] != '\0')
name = expanded;
}
/* This is also done in parse_file_seq, so this is redundant
for names read from makefiles. It is here for names passed
on the command line. */
- while (name[0] == '.' && name[1] == '/' && name[2] != '\0')
+ while (name[0] == '.' && name[1] == '/')
{
name += 2;
- while (*name == '/')
+ while (name[0] == '/')
/* Skip following slashes: ".//foo" is "foo", not "/foo". */
++name;
}
- if (*name == '\0')
+ if (name[0] == '\0')
{
- /* It was all slashes! Move back to the dot and truncate
- it after the first slash, so it becomes just "./". */
- do
- --name;
- while (name[0] != '.');
- name[2] = '\0';
+ /* Nothing else but one or more "./", maybe plus slashes! */
+ name = "./";
}
cp = strcache_add (name);
- if (expanded)
- free (expanded);
+ free (expanded);
return cp;
}
@@ -731,7 +733,8 @@ decode_debug_flags (void)
db_level |= DB_BASIC | DB_VERBOSE;
break;
default:
- fatal (NILF, _("unknown debug level specification '%s'"), p);
+ OS (fatal, NILF,
+ _("unknown debug level specification '%s'"), p);
}
while (*(++p) != '\0')
@@ -756,40 +759,23 @@ decode_debug_flags (void)
static void
decode_output_sync_flags (void)
{
- const char **pp;
-
- if (!output_sync_option)
- return;
-
- for (pp=output_sync_option->list; *pp; ++pp)
+ if (output_sync_option)
{
- const char *p = *pp;
-
- if (streq (p, "none"))
+ if (streq (output_sync_option, "none"))
output_sync = OUTPUT_SYNC_NONE;
- else if (streq (p, "line"))
+ else if (streq (output_sync_option, "line"))
output_sync = OUTPUT_SYNC_LINE;
- else if (streq (p, "target"))
+ else if (streq (output_sync_option, "target"))
output_sync = OUTPUT_SYNC_TARGET;
- else if (streq (p, "recurse"))
+ else if (streq (output_sync_option, "recurse"))
output_sync = OUTPUT_SYNC_RECURSE;
else
- fatal (NILF, _("unknown output-sync type '%s'"), p);
+ OS (fatal, NILF,
+ _("unknown output-sync type '%s'"), output_sync_option);
}
if (sync_mutex)
- {
- const char *mp;
- unsigned int idx;
-
- for (idx = 1; idx < sync_mutex->idx; idx++)
- if (!streq (sync_mutex->list[0], sync_mutex->list[idx]))
- fatal (NILF, _("internal error: multiple --sync-mutex options"));
-
- /* Now parse the mutex handle string. */
- mp = sync_mutex->list[0];
- RECORD_SYNC_MUTEX (mp);
- }
+ RECORD_SYNC_MUTEX (sync_mutex);
}
#ifdef WINDOWS32
@@ -805,16 +791,10 @@ prepare_mutex_handle_string (sync_handle_t handle)
{
if (!sync_mutex)
{
- /* 2 hex digits per byte + 2 characters for "0x" + null. */
- char hdl_string[2 * sizeof (sync_handle_t) + 2 + 1];
-
/* Prepare the mutex handle string for our children. */
- sprintf (hdl_string, "0x%x", handle);
- sync_mutex = xmalloc (sizeof (struct stringlist));
- sync_mutex->list = xmalloc (sizeof (char *));
- sync_mutex->list[0] = xstrdup (hdl_string);
- sync_mutex->idx = 1;
- sync_mutex->max = 1;
+ /* 2 hex digits per byte + 2 characters for "0x" + null. */
+ sync_mutex = xmalloc ((2 * sizeof (sync_handle_t)) + 2 + 1);
+ sprintf (sync_mutex, "0x%Ix", handle);
define_makeflags (1, 0);
}
}
@@ -909,15 +889,15 @@ find_and_set_default_shell (const char *token)
{
int sh_found = 0;
char *atoken = 0;
- char *search_token;
- char *tokend;
+ const char *search_token;
+ const char *tokend;
PATH_VAR(sh_path);
- extern char *default_shell;
+ extern const char *default_shell;
if (!token)
search_token = default_shell;
else
- atoken = search_token = xstrdup (token);
+ search_token = atoken = xstrdup (token);
/* If the user explicitly requests the DOS cmd shell, obey that request.
However, make sure that's what they really want by requiring the value
@@ -1022,8 +1002,7 @@ find_and_set_default_shell (const char *token)
batch_mode_shell = 1;
#endif
- if (atoken)
- free (atoken);
+ free (atoken);
return (sh_found);
}
@@ -1053,8 +1032,8 @@ main (int argc, char **argv, char **envp)
unsigned int restarts = 0;
unsigned int syncing = 0;
#ifdef WINDOWS32
- char *unix_path = NULL;
- char *windows32_path = NULL;
+ const char *unix_path = NULL;
+ const char *windows32_path = NULL;
SetUnhandledExceptionFilter (handle_runtime_exceptions);
@@ -1177,16 +1156,12 @@ main (int argc, char **argv, char **envp)
/* Figure out where this program lives. */
if (argv[0] == 0)
- argv[0] = "";
+ argv[0] = (char *)"";
if (argv[0][0] == '\0')
program = "make";
else
{
-#ifdef VMS
- program = strrchr (argv[0], ']');
-#else
program = strrchr (argv[0], '/');
-#endif
#if defined(__MSDOS__) || defined(__EMX__)
if (program == 0)
program = strrchr (argv[0], '\\');
@@ -1216,7 +1191,11 @@ main (int argc, char **argv, char **envp)
}
#endif
if (program == 0)
+#ifdef VMS
+ program = vms_progname(argv[0]);
+#else
program = argv[0];
+#endif
else
++program;
}
@@ -1237,7 +1216,7 @@ main (int argc, char **argv, char **envp)
#ifdef HAVE_GETCWD
perror_with_name ("getcwd", "");
#else
- error (NILF, "getwd: %s", current_directory);
+ OS (error, NILF, "getwd: %s", current_directory);
#endif
current_directory[0] = '\0';
directory_before_chdir = 0;
@@ -1285,10 +1264,8 @@ main (int argc, char **argv, char **envp)
define_variable_cname (".FEATURES", features, o_default, 0);
}
-#ifdef HAVE_GUILE
/* Configure GNU Guile support */
guile_gmake_setup (NILF);
-#endif
/* Read in variables from the environment. It is important that this be
done before $(MAKE) is figured out so its definitions will not be
@@ -1301,7 +1278,7 @@ main (int argc, char **argv, char **envp)
for (i = 0; envp[i] != 0; ++i)
{
struct variable *v;
- char *ep = envp[i];
+ const char *ep = envp[i];
/* By default, export all variables culled from the environment. */
enum variable_export export = v_export;
unsigned int len;
@@ -1350,7 +1327,7 @@ main (int argc, char **argv, char **envp)
#ifndef __MSDOS__
export = v_noexport;
#endif
- shell_var.name = "SHELL";
+ shell_var.name = xstrdup ("SHELL");
shell_var.length = 5;
shell_var.value = xstrdup (ep);
}
@@ -1397,7 +1374,6 @@ main (int argc, char **argv, char **envp)
#endif
/* Decode the switches. */
-
decode_env_switches (STRING_SIZE_TUPLE ("GNUMAKEFLAGS"));
/* Clear GNUMAKEFLAGS to avoid duplication. */
@@ -1419,7 +1395,20 @@ main (int argc, char **argv, char **envp)
decode_env_switches (STRING_SIZE_TUPLE ("MFLAGS"));
#endif
- decode_switches (argc, argv, 0);
+ decode_switches (argc, (const char **)argv, 0);
+
+ /* Set a variable specifying whether stdout/stdin is hooked to a TTY. */
+#ifdef HAVE_ISATTY
+ if (isatty (fileno (stdout)))
+ if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT")))
+ define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)),
+ o_default, 0)->export = v_export;
+
+ if (isatty (fileno (stderr)))
+ if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR")))
+ define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)),
+ o_default, 0)->export = v_export;
+#endif
/* Reset in case the switches changed our minds. */
syncing = (output_sync == OUTPUT_SYNC_LINE
@@ -1457,7 +1446,7 @@ main (int argc, char **argv, char **envp)
if (print_version_flag)
{
print_version ();
- die (0);
+ die (MAKE_SUCCESS);
}
if (ISDB (DB_BASIC))
@@ -1526,29 +1515,23 @@ main (int argc, char **argv, char **envp)
if (jobserver_fds)
{
- const char *cp;
- unsigned int ui;
-
- for (ui=1; ui < jobserver_fds->idx; ++ui)
- if (!streq (jobserver_fds->list[0], jobserver_fds->list[ui]))
- fatal (NILF, _("internal error: multiple --jobserver-fds options"));
-
- /* Now parse the fds string and make sure it has the proper format. */
-
- cp = jobserver_fds->list[0];
+ /* Make sure the jobserver option has the proper format. */
+ const char *cp = jobserver_fds;
#ifdef WINDOWS32
if (! open_jobserver_semaphore (cp))
{
DWORD err = GetLastError ();
- fatal (NILF, _("internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"),
- cp, err, map_windows32_error_to_string (err));
+ const char *estr = map_windows32_error_to_string (err);
+ fatal (NILF, strlen (cp) + INTSTR_LENGTH + strlen (estr),
+ _("internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"),
+ cp, err, estr);
}
DB (DB_JOBS, (_("Jobserver client (semaphore %s)\n"), cp));
#else
if (sscanf (cp, "%d,%d", &job_fds[0], &job_fds[1]) != 2)
- fatal (NILF,
- _("internal error: invalid --jobserver-fds string '%s'"), cp);
+ OS (fatal, NILF,
+ _("internal error: invalid --jobserver-fds string '%s'"), cp);
DB (DB_JOBS,
(_("Jobserver client (fds %d,%d)\n"), job_fds[0], job_fds[1]));
@@ -1564,7 +1547,8 @@ main (int argc, char **argv, char **envp)
if (job_slots > 0)
{
if (! restarts)
- error (NILF, _("warning: -jN forced in submake: disabling jobserver mode."));
+ O (error, NILF,
+ _("warning: -jN forced in submake: disabling jobserver mode."));
}
#ifndef WINDOWS32
#ifdef HAVE_FCNTL
@@ -1582,8 +1566,8 @@ main (int argc, char **argv, char **envp)
if (errno != EBADF)
pfatal_with_name (_("dup jobserver"));
- error (NILF,
- _("warning: jobserver unavailable: using -j1. Add '+' to parent make rule."));
+ O (error, NILF,
+ _("warning: jobserver unavailable: using -j1. Add '+' to parent make rule."));
job_slots = 1;
job_fds[0] = job_fds[1] = -1;
}
@@ -1600,7 +1584,7 @@ main (int argc, char **argv, char **envp)
close (job_fds[1]);
#endif
job_fds[0] = job_fds[1] = -1;
- free (jobserver_fds->list);
+
free (jobserver_fds);
jobserver_fds = 0;
}
@@ -1609,7 +1593,11 @@ main (int argc, char **argv, char **envp)
/* The extra indirection through $(MAKE_COMMAND) is done
for hysterical raisins. */
+#ifdef VMS
+ define_variable_cname("MAKE_COMMAND", vms_command(argv[0]), o_default, 0);
+#else
define_variable_cname ("MAKE_COMMAND", argv[0], o_default, 0);
+#endif
define_variable_cname ("MAKE", "$(MAKE_COMMAND)", o_default, 1);
if (command_variables != 0)
@@ -1724,7 +1712,7 @@ main (int argc, char **argv, char **envp)
#ifdef HAVE_GETCWD
perror_with_name ("getcwd", "");
#else
- error (NILF, "getwd: %s", current_directory);
+ OS (error, NILF, "getwd: %s", current_directory);
#endif
starting_directory = 0;
}
@@ -1746,10 +1734,12 @@ main (int argc, char **argv, char **envp)
and thus re-read the makefiles, we read standard input
into a temporary file and read from that. */
FILE *outfile;
- char *template, *tmpdir;
+ char *template;
+ const char *tmpdir;
if (stdin_nm)
- fatal (NILF, _("Makefile from standard input specified twice."));
+ O (fatal, NILF,
+ _("Makefile from standard input specified twice."));
#ifdef VMS
# define DEFAULT_TMPDIR "sys$scratch:"
@@ -1916,7 +1906,7 @@ main (int argc, char **argv, char **envp)
extern int _is_unixy_shell (const char *_path);
struct variable *shv = lookup_variable (STRING_SIZE_TUPLE ("SHELL"));
extern int unixy_shell;
- extern char *default_shell;
+ extern const char *default_shell;
if (shv && *shv->value)
{
@@ -1973,16 +1963,16 @@ main (int argc, char **argv, char **envp)
undefine_default_variables ();
}
-#if defined (__MSDOS__) || defined (__EMX__)
+#if defined (__MSDOS__) || defined (__EMX__) || defined (VMS)
if (job_slots != 1
# ifdef __EMX__
&& _osmode != OS2_MODE /* turn off -j if we are in DOS mode */
# endif
)
{
- error (NILF,
- _("Parallel jobs (-j) are not supported on this platform."));
- error (NILF, _("Resetting to single job (-j1) mode."));
+ O (error, NILF,
+ _("Parallel jobs (-j) are not supported on this platform."));
+ O (error, NILF, _("Resetting to single job (-j1) mode."));
job_slots = 1;
}
#endif
@@ -1993,8 +1983,6 @@ main (int argc, char **argv, char **envp)
if (job_slots > 1)
{
- char *cp;
-
#ifdef WINDOWS32
/* sub_proc.c cannot wait for more than MAXIMUM_WAIT_OBJECTS objects
* and one of them is the job-server semaphore object. Limit the
@@ -2009,8 +1997,9 @@ main (int argc, char **argv, char **envp)
if (! create_jobserver_semaphore (job_slots - 1))
{
DWORD err = GetLastError ();
- fatal (NILF, _("creating jobserver semaphore: (Error %ld: %s)"),
- err, map_windows32_error_to_string (err));
+ const char *estr = map_windows32_error_to_string (err);
+ ONS (fatal, NILF,
+ _("creating jobserver semaphore: (Error %ld: %s)"), err, estr);
}
#else
char c = '+';
@@ -2040,28 +2029,22 @@ main (int argc, char **argv, char **envp)
}
#endif
- /* Fill in the jobserver_fds struct for our children. */
+ /* Fill in the jobserver_fds for our children. */
#ifdef WINDOWS32
- cp = xmalloc (MAX_PATH + 1);
- strcpy (cp, get_jobserver_semaphore_name ());
+ jobserver_fds = xmalloc (MAX_PATH + 1);
+ strcpy (jobserver_fds, get_jobserver_semaphore_name ());
#else
- cp = xmalloc ((CSTRLEN ("1024") * 2) + 2);
- sprintf (cp, "%d,%d", job_fds[0], job_fds[1]);
+ jobserver_fds = xmalloc ((INTSTR_LENGTH * 2) + 2);
+ sprintf (jobserver_fds, "%d,%d", job_fds[0], job_fds[1]);
#endif
-
- jobserver_fds = xmalloc (sizeof (struct stringlist));
- jobserver_fds->list = xmalloc (sizeof (char *));
- jobserver_fds->list[0] = cp;
- jobserver_fds->idx = 1;
- jobserver_fds->max = 1;
}
#endif
#ifndef MAKE_SYMLINKS
if (check_symlink_flag)
{
- error (NILF, _("Symbolic links not supported: disabling -L."));
+ O (error, NILF, _("Symbolic links not supported: disabling -L."));
check_symlink_flag = 0;
}
#endif
@@ -2138,7 +2121,8 @@ main (int argc, char **argv, char **envp)
FILE_TIMESTAMP *makefile_mtimes = 0;
unsigned int mm_idx = 0;
- char **nargv;
+ char **aargv = NULL;
+ const char **nargv;
int nargc;
int orig_db_level = db_level;
enum update_status status;
@@ -2250,8 +2234,8 @@ main (int argc, char **argv, char **envp)
FILE_TIMESTAMP mtime;
/* The update failed and this makefile was not
from the MAKEFILES variable, so we care. */
- error (NILF, _("Failed to remake makefile '%s'."),
- d->file->name);
+ OS (error, NILF, _("Failed to remake makefile '%s'."),
+ d->file->name);
mtime = file_mtime_no_search (d->file);
any_remade |= (mtime != NONEXISTENT_MTIME
&& mtime != makefile_mtimes[i]);
@@ -2262,18 +2246,20 @@ main (int argc, char **argv, char **envp)
/* This makefile was not found at all. */
if (! (d->changed & RM_DONTCARE))
{
+ const char *dnm = dep_name (d);
+ size_t l = strlen (dnm);
+
/* This is a makefile we care about. See how much. */
if (d->changed & RM_INCLUDED)
- /* An included makefile. We don't need
- to die, but we do want to complain. */
- error (NILF,
- _("Included makefile '%s' was not found."),
- dep_name (d));
+ /* An included makefile. We don't need to die, but we
+ do want to complain. */
+ error (NILF, l,
+ _("Included makefile '%s' was not found."), dnm);
else
{
/* A normal makefile. We must die later. */
- error (NILF, _("Makefile '%s' was not found"),
- dep_name (d));
+ error (NILF, l,
+ _("Makefile '%s' was not found"), dnm);
any_failed = 1;
}
}
@@ -2284,7 +2270,7 @@ main (int argc, char **argv, char **envp)
if (any_remade)
goto re_exec;
if (any_failed)
- die (2);
+ die (MAKE_FAILURE);
break;
}
@@ -2319,13 +2305,15 @@ main (int argc, char **argv, char **envp)
nargc = argc;
if (stdin_nm)
{
- nargv = xmalloc ((nargc + 2) * sizeof (char *));
- memcpy (nargv, argv, argc * sizeof (char *));
- nargv[nargc++] = xstrdup (concat (2, "-o", stdin_nm));
- nargv[nargc] = 0;
+ void *m = xmalloc ((nargc + 2) * sizeof (char *));
+ aargv = m;
+ memcpy (aargv, argv, argc * sizeof (char *));
+ aargv[nargc++] = xstrdup (concat (2, "-o", stdin_nm));
+ aargv[nargc] = 0;
+ nargv = m;
}
else
- nargv = argv;
+ nargv = (const char**)argv;
if (directories != 0 && directories->idx > 0)
{
@@ -2338,7 +2326,8 @@ main (int argc, char **argv, char **envp)
bad = 0;
}
if (bad)
- fatal (NILF, _("Couldn't change back to original directory."));
+ O (fatal, NILF,
+ _("Couldn't change back to original directory."));
}
++restarts;
@@ -2350,7 +2339,7 @@ main (int argc, char **argv, char **envp)
if (ISDB (DB_BASIC))
{
- char **p;
+ const char **p;
printf (_("Re-executing[%u]:"), restarts);
for (p = nargv; *p != 0; ++p)
printf (" %s", *p);
@@ -2429,15 +2418,16 @@ main (int argc, char **argv, char **envp)
exit (WIFEXITED(r) ? WEXITSTATUS(r) : EXIT_FAILURE);
}
#else
- exec_command (nargv, environ);
+ exec_command ((char **)nargv, environ);
#endif
+ free (aargv);
+ break;
}
db_level = orig_db_level;
- /* Free the makefile mtimes (if we allocated any). */
- if (makefile_mtimes)
- free (makefile_mtimes);
+ /* Free the makefile mtimes. */
+ free (makefile_mtimes);
}
/* Set up 'MAKEFLAGS' again for the normal targets. */
@@ -2492,7 +2482,8 @@ main (int argc, char **argv, char **envp)
{
/* .DEFAULT_GOAL should contain one target. */
if (ns->next != 0)
- fatal (NILF, _(".DEFAULT_GOAL contains more than one target"));
+ O (fatal, NILF,
+ _(".DEFAULT_GOAL contains more than one target"));
f = enter_file (strcache_add (ns->name));
@@ -2515,9 +2506,9 @@ main (int argc, char **argv, char **envp)
if (!goals)
{
if (read_files == 0)
- fatal (NILF, _("No targets specified and no makefile found"));
+ O (fatal, NILF, _("No targets specified and no makefile found"));
- fatal (NILF, _("No targets"));
+ O (fatal, NILF, _("No targets"));
}
/* Update the goals. */
@@ -2546,15 +2537,15 @@ main (int argc, char **argv, char **envp)
/* If we detected some clock skew, generate one last warning */
if (clock_skew_detected)
- error (NILF,
- _("warning: Clock skew detected. Your build may be incomplete."));
+ O (error, NILF,
+ _("warning: Clock skew detected. Your build may be incomplete."));
/* Exit. */
die (makefile_status);
}
/* NOTREACHED */
- exit (0);
+ exit (MAKE_SUCCESS);
}
/* Parsing of arguments, decoding of switches. */
@@ -2599,6 +2590,7 @@ init_switches (void)
break;
case string:
+ case strlist:
case filename:
case positive_int:
case floating:
@@ -2626,7 +2618,7 @@ init_switches (void)
/* Non-option argument. It might be a variable definition. */
static void
-handle_non_switch_argument (char *arg, int env)
+handle_non_switch_argument (const char *arg, int env)
{
struct variable *v;
@@ -2733,7 +2725,7 @@ print_usage (int bad)
They came from the environment if ENV is nonzero. */
static void
-decode_switches (int argc, char **argv, int env)
+decode_switches (int argc, const char **argv, int env)
{
int bad = 0;
register const struct command_switch *cs;
@@ -2753,14 +2745,17 @@ decode_switches (int argc, char **argv, int env)
while (optind < argc)
{
+ const char *coptarg;
+
/* Parse the next argument. */
- c = getopt_long (argc, argv, options, long_options, (int *) 0);
+ c = getopt_long (argc, (char*const*)argv, options, long_options, NULL);
+ coptarg = optarg;
if (c == EOF)
/* End of arguments, or "--" marker seen. */
break;
else if (c == 1)
/* An argument not starting with a dash. */
- handle_non_switch_argument (optarg, env);
+ handle_non_switch_argument (coptarg, env);
else if (c == '?')
/* Bad option. We will print a usage message and die later.
But continue to parse the other options so the user can
@@ -2791,13 +2786,14 @@ decode_switches (int argc, char **argv, int env)
break;
case string:
+ case strlist:
case filename:
if (!doit)
break;
- if (optarg == 0)
- optarg = xstrdup (cs->noarg_value);
- else if (*optarg == '\0')
+ if (! coptarg)
+ coptarg = xstrdup (cs->noarg_value);
+ else if (*coptarg == '\0')
{
char opt[2] = "c";
const char *op = opt;
@@ -2807,9 +2803,19 @@ decode_switches (int argc, char **argv, int env)
else
op = cs->long_name;
- error (NILF, _("the '%s%s' option requires a non-empty string argument"),
+ error (NILF, strlen (op),
+ _("the '%s%s' option requires a non-empty string argument"),
short_option (cs->c) ? "-" : "--", op);
bad = 1;
+ break;
+ }
+
+ if (cs->type == string)
+ {
+ char **val = (char **)cs->value_ptr;
+ free (*val);
+ *val = xstrdup (coptarg);
+ break;
}
sl = *(struct stringlist **) cs->value_ptr;
@@ -2829,39 +2835,40 @@ decode_switches (int argc, char **argv, int env)
sl->max * sizeof (char *));
}
if (cs->type == filename)
- sl->list[sl->idx++] = expand_command_line_file (optarg);
+ sl->list[sl->idx++] = expand_command_line_file (coptarg);
else
- sl->list[sl->idx++] = optarg;
+ sl->list[sl->idx++] = xstrdup (coptarg);
sl->list[sl->idx] = 0;
break;
case positive_int:
/* See if we have an option argument; if we do require that
it's all digits, not something like "10foo". */
- if (optarg == 0 && argc > optind)
+ if (coptarg == 0 && argc > optind)
{
const char *cp;
for (cp=argv[optind]; ISDIGIT (cp[0]); ++cp)
;
if (cp[0] == '\0')
- optarg = argv[optind++];
+ coptarg = argv[optind++];
}
if (!doit)
break;
- if (optarg != 0)
+ if (coptarg)
{
- int i = atoi (optarg);
+ int i = atoi (coptarg);
const char *cp;
/* Yes, I realize we're repeating this in some cases. */
- for (cp = optarg; ISDIGIT (cp[0]); ++cp)
+ for (cp = coptarg; ISDIGIT (cp[0]); ++cp)
;
if (i < 1 || cp[0] != '\0')
{
- error (NILF, _("the '-%c' option requires a positive integer argument"),
+ error (NILF, 0,
+ _("the '-%c' option requires a positive integer argument"),
cs->c);
bad = 1;
}
@@ -2875,13 +2882,13 @@ decode_switches (int argc, char **argv, int env)
#ifndef NO_FLOAT
case floating:
- if (optarg == 0 && optind < argc
+ if (coptarg == 0 && optind < argc
&& (ISDIGIT (argv[optind][0]) || argv[optind][0] == '.'))
- optarg = argv[optind++];
+ coptarg = argv[optind++];
if (doit)
*(double *) cs->value_ptr
- = (optarg != 0 ? atof (optarg)
+ = (coptarg != 0 ? atof (coptarg)
: *(double *) cs->noarg_value);
break;
@@ -2903,7 +2910,7 @@ decode_switches (int argc, char **argv, int env)
if (!env && (bad || print_usage_flag))
{
print_usage (bad);
- die (bad ? 2 : 0);
+ die (bad ? MAKE_FAILURE : MAKE_SUCCESS);
}
/* If there are any options that need to be decoded do it now. */
@@ -2917,12 +2924,12 @@ decode_switches (int argc, char **argv, int env)
decode_switches. */
static void
-decode_env_switches (char *envar, unsigned int len)
+decode_env_switches (const char *envar, unsigned int len)
{
char *varref = alloca (2 + len + 2);
- char *value, *p;
+ char *value, *p, *buf;
int argc;
- char **argv;
+ const char **argv;
/* Get the variable's value. */
varref[0] = '$';
@@ -2941,15 +2948,16 @@ decode_env_switches (char *envar, unsigned int len)
/* Allocate a vector that is definitely big enough. */
argv = alloca ((1 + len + 1) * sizeof (char *));
- /* Allocate a buffer to copy the value into while we split it into words
- and unquote it. We must use permanent storage for this because
- decode_switches may store pointers into the passed argument words. */
- p = xmalloc (2 * len);
-
/* getopt will look at the arguments starting at ARGV[1].
Prepend a spacer word. */
argv[0] = 0;
argc = 1;
+
+ /* We need a buffer to copy the value into while we split it into words
+ and unquote it. Set up in case we need to prepend a dash later. */
+ buf = alloca (1 + len + 1);
+ buf[0] = '-';
+ p = buf+1;
argv[argc] = p;
while (*value != '\0')
{
@@ -2969,13 +2977,12 @@ decode_env_switches (char *envar, unsigned int len)
}
*p = '\0';
argv[++argc] = 0;
+ assert (p < buf + len + 2);
if (argv[1][0] != '-' && strchr (argv[1], '=') == 0)
/* The first word doesn't start with a dash and isn't a variable
- definition. Add a dash and pass it along to decode_switches. We
- need permanent storage for this in case decode_switches saves
- pointers into the value. */
- argv[1] = xstrdup (concat (2, "-", argv[1]));
+ definition, so add a dash. */
+ argv[1] = buf;
/* Parse those words. */
decode_switches (argc, argv, 1);
@@ -3109,10 +3116,19 @@ define_makeflags (int all, int makefile)
break;
#endif
- case filename:
case string:
if (all)
{
+ p = *((char **)cs->value_ptr);
+ if (p)
+ ADD_FLAG (p, strlen (p));
+ }
+ break;
+
+ case filename:
+ case strlist:
+ if (all)
+ {
struct stringlist *sl = *(struct stringlist **) cs->value_ptr;
if (sl != 0)
{
@@ -3241,7 +3257,7 @@ print_version (void)
{
static int printed_version = 0;
- char *precede = print_data_base_flag ? "# " : "";
+ const char *precede = print_data_base_flag ? "# " : "";
if (printed_version)
/* Do it only once. */
@@ -3260,7 +3276,7 @@ print_version (void)
year, and none of the rest of it should be translated (including the
word "Copyright"), so it hardly seems worth it. */
- printf ("%sCopyright (C) 1988-2013 Free Software Foundation, Inc.\n",
+ printf ("%sCopyright (C) 1988-2014 Free Software Foundation, Inc.\n",
precede);
printf (_("%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n\
@@ -3314,9 +3330,9 @@ clean_jobserver (int status)
#endif
{
if (status != 2)
- error (NILF,
- "INTERNAL: Exiting with %u jobserver tokens (should be 0)!",
- jobserver_tokens);
+ ON (error, NILF,
+ "INTERNAL: Exiting with %u jobserver tokens (should be 0)!",
+ jobserver_tokens);
else
/* Don't write back the "free" token */
while (--jobserver_tokens)
@@ -3354,9 +3370,9 @@ clean_jobserver (int status)
#endif
if (tcnt != master_job_slots)
- error (NILF,
- "INTERNAL: Exiting with %u jobserver tokens available; should be %u!",
- tcnt, master_job_slots);
+ ONN (error, NILF,
+ "INTERNAL: Exiting with %u jobserver tokens available; should be %u!",
+ tcnt, master_job_slots);
#ifdef WINDOWS32
free_jobserver_semaphore ();
@@ -3368,13 +3384,8 @@ clean_jobserver (int status)
sub-makes. Also reset job_slots since it will be put on the command
line, not in MAKEFLAGS. */
job_slots = default_job_slots;
- if (jobserver_fds)
- {
- /* MSVC erroneously warns without a cast here. */
- free ((void *)jobserver_fds->list);
- free (jobserver_fds);
- jobserver_fds = 0;
- }
+ free (jobserver_fds);
+ jobserver_fds = 0;
}
}
@@ -3415,9 +3426,14 @@ die (int status)
if (output_context)
{
- assert (output_context == &make_sync);
+ /* die() might be called in a recipe output context due to an
+ $(error ...) function. */
+ output_close (output_context);
+
+ if (output_context != &make_sync)
+ output_close (&make_sync);
+
OUTPUT_UNSET ();
- output_close (&make_sync);
}
output_close (NULL);
diff --git a/make.1 b/make.1
index 94536fe..ed04db9 100644
--- a/make.1
+++ b/make.1
@@ -363,7 +363,7 @@ This manual page contributed by Dennis Morse of Stanford University.
Further updates contributed by Mike Frysinger. It has been reworked by Roland
McGrath. Maintained by Paul Smith.
.SH "COPYRIGHT"
-Copyright \(co 1992-1993, 1996-2013 Free Software Foundation, Inc.
+Copyright \(co 1992-1993, 1996-2014 Free Software Foundation, Inc.
This file is part of
.IR "GNU make" .
.LP
diff --git a/make_msvc_net2003.vcproj b/make_msvc_net2003.vcproj
index be620ad..01b1f0d 100644
--- a/make_msvc_net2003.vcproj
+++ b/make_msvc_net2003.vcproj
@@ -154,11 +154,11 @@
<File
RelativePath=".\getopt1.c">
</File>
-<!--
+
<File
RelativePath=".\guile.c">
</File>
--->
+
<File
RelativePath=".\hash.c">
</File>
diff --git a/makefile.com b/makefile.com
index 6359c47..fe37c05 100644
--- a/makefile.com
+++ b/makefile.com
@@ -1,8 +1,7 @@
$!
$! Makefile.com - builds GNU Make for VMS
$!
-$! P1 is non-empty if you want to link with the VAXCRTL library instead
-$! of the shareable executable
+$! P1 = LIST will provide compiler listings.
$! P2 = DEBUG will build an image with debug information
$! P3 = WALL will enable all warning messages (some are suppressed since
$! one macro intentionally causes an error condition)
@@ -50,6 +49,12 @@ $ endif
$ endif
$ endif
$!
+$!
+$ if (p1 .eqs. "LIST")
+$ then
+$ ccopt = ccopt + "/list/show=(expan,inclu)"
+$ endif
+$!
$! Should we build a debug image
$!
$ if (p2.eqs."DEBUG")
@@ -67,9 +72,11 @@ $ then
$ gosub check_cc_qual
$ endif
$ filelist = "alloca ar arscan commands default dir expand file function " + -
- "hash implicit job load main misc read remake remote-stub rule " + -
- "output signame variable version vmsfunctions vmsify vpath " + -
+ "guile hash implicit job load main misc read remake " + -
+ "remote-stub rule output signame variable version " + -
+ "vmsfunctions vmsify vpath " + -
"[.glob]glob [.glob]fnmatch getopt1 getopt strcache"
+$!
$ copy config.h-vms config.h
$ n=0
$ open/write optf make.opt
@@ -77,18 +84,14 @@ $ loop:
$ cfile = f$elem(n," ",filelist)
$ if cfile .eqs. " " then goto linkit
$ write sys$output "Compiling ''cfile'..."
-$ call compileit 'cfile' 'p1'
+$ call compileit 'cfile'
$ n = n + 1
$ goto loop
$ linkit:
$ close optf
-$ if p1 .nes. "" then goto link_using_library
$ link/exe=make make.opt/opt'lopt
$ goto cleanup
$
-$ link_using_library:
-$ link/exe=make make.opt/opt,sys$library:vaxcrtl/lib'lopt
-$
$ cleanup:
$ if f$trnlnm("SYS").nes."" then $ deassign sys
$ if f$trnlnm("OPTF").nes."" then $ close optf
@@ -128,17 +131,22 @@ $!-----------------------------------------------------------------------------
$!
$ compileit : subroutine
$ ploc = f$locate("]",p1)
-$ filnam = p1
-$ if ploc .lt. f$length(p1) then filnam=f$extract(ploc+1,100,p1)
-$ write optf "''filnam'"
-$ cc'ccopt'/include=([],[.glob]) -
+$ if ploc .lt. f$length(p1)
+$ then
+$ objdir = f$extract(0, ploc+1, p1)
+$ write optf p1
+$ else
+$ objdir := []
+$ write optf objdir+p1
+$ endif
+$ cc'ccopt'/include=([],[.glob])/obj='objdir' -
/define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") -
'p1'
$ exit
$ endsubroutine : compileit
$!
$!-----------------------------------------------------------------------------
-$!Copyright (C) 1996-2013 Free Software Foundation, Inc.
+$!Copyright (C) 1996-2014 Free Software Foundation, Inc.
$!This file is part of GNU Make.
$!
$!GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/makefile.vms b/makefile.vms
index e5950b7..ad5ded7 100644
--- a/makefile.vms
+++ b/makefile.vms
@@ -1,6 +1,6 @@
# -*-Makefile-*- to build GNU make on VMS
#
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -88,13 +88,13 @@ mandir = []
# Number to put on the man page filename.
manext = 1
-#guile = ,guile.obj
+guile = ,guile.obj
objs = commands.obj,job.obj,output.obj,dir.obj,file.obj,misc.obj,hash.obj,\
load.obj,main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\
default.obj,variable.obj,expand.obj,function.obj,strcache.obj,\
- vpath.obj,version.obj\
- $(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)$(guile)
+ vpath.obj,version.obj$(guile)\
+ $(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)
srcs = commands.c job.c output.c dir.c file.c misc.c guile.c hash.c \
load.c main.c read.c remake.c rule.c implicit.c \
@@ -118,40 +118,56 @@ clean:
-$(RM) make.exe;,*.obj;
-$(RM) [.glob]*.obj;
-# Automatically generated dependencies.
-# makeint.h: config.h gnumake.h gettext.h
-# filedef.h: hash.h
-ar.obj: ar.c makeint.h filedef.h dep.h [.glob]fnmatch.h
-arscan.obj: arscan.c makeint.h
-commands.obj: commands.c makeint.h dep.h commands.h filedef.h variable.h job.h
-default.obj: default.c makeint.h rule.h dep.h job.h filedef.h commands.h variable.h
-dir.obj: dir.c makeint.h hash.h [.glob]glob.h
-expand.obj: expand.c makeint.h commands.h filedef.h job.h rule.h variable.h
-file.obj: file.c makeint.h commands.h dep.h filedef.h variable.h job.h debug.h
-function.obj: function.c makeint.h variable.h dep.h commands.h filedef.h debug.h job.h
-getopt.obj: getopt.c getopt.h config.h gettext.h
-getopt1.obj: getopt1.c getopt.h config.h
-guile.obj: guile.c makeint.h debug.h dep.h gmk-default.h
-hash.obj: hash.c makeint.h hash.h
-implicit.obj: implicit.c makeint.h rule.h dep.h filedef.h debug.h variable.h job.h commands.h
-job.obj: job.c vmsjobs.c makeint.h commands.h job.h filedef.h variable.h debug.h
-output.obj: output.c vmsjobs.c makeint.h output.h filedef.h debug.h
-load.obj: load.c makeint.h debug.h filedef.h variable.h
-main.obj: main.c makeint.h commands.h dep.h filedef.h variable.h job.h rule.h debug.h getopt.h
-misc.obj: misc.c makeint.h dep.h debug.h
-read.obj: read.c makeint.h commands.h dep.h filedef.h variable.h [.glob]glob.h debug.h rule.h job.h
-remake.obj: remake.c makeint.h commands.h job.h dep.h filedef.h variable.h debug.h
-remote-stub.obj: remote-stub.c makeint.h filedef.h job.h commands.h
-rule.obj: rule.c makeint.h commands.h dep.h filedef.h variable.h rule.h job.h
-signame.obj: signame.c makeint.h
-strcache.obj: strcache.c makeint.h hash.h
-variable.obj: variable.c makeint.h commands.h variable.h dep.h filedef.h job.h rule.h
+ar.obj: ar.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h dep.h \
+ [.glob]fnmatch.h
+arscan.obj: arscan.c makeint.h config.h gnumake.h gettext.h
+commands.obj: commands.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h dep.h variable.h job.h output.h commands.h
+default.obj: default.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h variable.h rule.h dep.h job.h output.h commands.h
+dir.obj: dir.c makeint.h config.h gnumake.h gettext.h hash.h filedef.h \
+ dep.h [.glob]glob.h
+expand.obj: expand.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h job.h output.h commands.h variable.h rule.h
+file.obj: file.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ dep.h job.h output.h commands.h variable.h debug.h
+[.glob]fnmatch.obj: [.glob]fnmatch.c config.h [.glob]fnmatch.h
+function.obj: function.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h variable.h dep.h job.h output.h commands.h debug.h
+getopt.obj: getopt.c config.h gettext.h getopt.h
+getopt1.obj: getopt1.c config.h getopt.h
+[.glob]glob.obj: [.glob]glob.c config.h [.glob]fnmatch.h [.glob]glob.h
+guile.obj: guile.c makeint.h config.h gnumake.h gettext.h
+hash.obj: hash.c makeint.h config.h gnumake.h gettext.h hash.h
+implicit.obj: implicit.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h rule.h dep.h debug.h variable.h job.h output.h commands.h
+job.obj: job.c makeint.h config.h gnumake.h gettext.h job.h output.h debug.h \
+ filedef.h hash.h commands.h variable.h debug.h vmsjobs.c
+load.obj: load.c makeint.h config.h gnumake.h gettext.h
+main.obj: main.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ dep.h variable.h job.h output.h commands.h rule.h debug.h getopt.h
+misc.obj: misc.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ dep.h debug.h
+output.obj: output.c makeint.h config.h gnumake.h gettext.h job.h output.h
+read.obj: read.c makeint.h config.h gnumake.h gettext.h [.glob]glob.h \
+ filedef.h hash.h dep.h job.h output.h commands.h variable.h rule.h \
+ debug.h
+remake.obj: remake.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h job.h output.h commands.h dep.h variable.h debug.h
+remote-stub.obj: remote-stub.c makeint.h config.h gnumake.h gettext.h \
+ filedef.h hash.h job.h output.h commands.h
+rule.obj: rule.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ dep.h job.h output.h commands.h variable.h rule.h
+signame.obj: signame.c makeint.h config.h gnumake.h gettext.h
+strcache.obj: strcache.c makeint.h config.h gnumake.h gettext.h hash.h
+variable.obj: variable.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h dep.h job.h output.h commands.h variable.h rule.h
version.obj: version.c config.h
-vmsfunctions.obj: vmsfunctions.c makeint.h vmsdir.h debug.h job.h
+vmsfunctions.obj: vmsfunctions.c makeint.h config.h gnumake.h gettext.h \
+ debug.h job.h output.h vmsdir.h
vmsify.obj: vmsify.c
-vpath.obj: vpath.c makeint.h filedef.h variable.h
-[.glob]fnmatch.obj: [.glob]fnmatch.c [.glob]fnmatch.h config.h
-[.glob]glob.obj: [.glob]glob.c [.glob]glob.h [.glob]fnmatch.h config.h
+vpath.obj: vpath.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ variable.h
config.h: config.h-vms
$(CP) $< $@
diff --git a/makeint.h b/makeint.h
index 3e22296..fdcae75 100644
--- a/makeint.h
+++ b/makeint.h
@@ -1,5 +1,5 @@
/* Miscellaneous global declarations and portability cruft for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -173,9 +173,6 @@ unsigned int get_path_max (void);
(! INTEGER_TYPE_SIGNED (t) ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))
#define INTEGER_TYPE_MAXIMUM(t) (~ (t) 0 - INTEGER_TYPE_MINIMUM (t))
-/* The maximum number of digits needed to represent the largest integer. */
-#define INTEGER_LENGTH sizeof("18446744073709551616")
-
#ifndef CHAR_MAX
# define CHAR_MAX INTEGER_TYPE_MAXIMUM (char)
#endif
@@ -353,8 +350,8 @@ char *strsignal (int signum);
# include <malloc.h>
# define pipe(_p) _pipe((_p), 512, O_BINARY)
# define kill(_pid,_sig) w32_kill((_pid),(_sig))
-/* MSVC doesn't have ftruncate. */
-# ifdef _MSC_VER
+/* MSVC and Watcom C don't have ftruncate. */
+# if defined(_MSC_VER) || defined(__WATCOMC__)
# define ftruncate(_fd,_len) _chsize(_fd,_len)
# endif
/* MinGW64 doesn't have _S_ISDIR. */
@@ -400,8 +397,8 @@ extern int unixy_shell;
#define MAP_USERFUNC 0x2000
/* This means not only a '$', but skip the variable reference. */
#define MAP_VARIABLE 0x4000
-/* The set of characters which are path separators is OS-specific. */
-#define MAP_PATHSEP 0x8000
+/* The set of characters which are directory separators is OS-specific. */
+#define MAP_DIRSEP 0x8000
#ifdef VMS
# define MAP_VMSCOMMA MAP_COMMA
@@ -409,7 +406,7 @@ extern int unixy_shell;
# define MAP_VMSCOMMA 0x0000
#endif
-#define STOP_SET(_v,_m) ANY_SET (stopchar_map[(int)(_v)],(_m))
+#define STOP_SET(_v,_m) ANY_SET (stopchar_map[(unsigned char)(_v)],(_m))
#if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT)
# define SET_STACK_SIZE
@@ -421,17 +418,42 @@ extern struct rlimit stack_limit;
#define NILF ((gmk_floc *)0)
-#define CSTRLEN(_s) (sizeof (_s)-1)
+#define CSTRLEN(_s) (sizeof (_s)-1)
#define STRING_SIZE_TUPLE(_s) (_s), CSTRLEN(_s)
+/* The number of bytes needed to represent the largest integer as a string. */
+#define INTSTR_LENGTH CSTRLEN ("18446744073709551616")
+
+#ifdef HAVE_TTYNAME
+# define TTYNAME(_f) ttyname (_f)
+#else
+# define TTYNAME(_f) "true"
+#endif
+
const char *concat (unsigned int, ...);
-void message (int prefix, const char *fmt, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-void error (const gmk_floc *flocp, const char *fmt, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-void fatal (const gmk_floc *flocp, const char *fmt, ...)
- __attribute__ ((noreturn, __format__ (__printf__, 2, 3)));
+void message (int prefix, size_t length, const char *fmt, ...)
+ __attribute__ ((__format__ (__printf__, 3, 4)));
+void error (const gmk_floc *flocp, size_t length, const char *fmt, ...)
+ __attribute__ ((__format__ (__printf__, 3, 4)));
+void fatal (const gmk_floc *flocp, size_t length, const char *fmt, ...)
+ __attribute__ ((noreturn, __format__ (__printf__, 3, 4)));
+
+#define O(_t,_a,_f) _t((_a), 0, (_f))
+#define OS(_t,_a,_f,_s) _t((_a), strlen (_s), (_f), (_s))
+#define OSS(_t,_a,_f,_s1,_s2) _t((_a), strlen (_s1) + strlen (_s2), \
+ (_f), (_s1), (_s2))
+#define OSSS(_t,_a,_f,_s1,_s2,_s3) _t((_a), strlen (_s1) + strlen (_s2) + strlen (_s3), \
+ (_f), (_s1), (_s2), (_s3))
+#define ON(_t,_a,_f,_n) _t((_a), INTSTR_LENGTH, (_f), (_n))
+#define ONN(_t,_a,_f,_n1,_n2) _t((_a), INTSTR_LENGTH*2, (_f), (_n1), (_n2))
+
+#define OSN(_t,_a,_f,_s,_n) _t((_a), strlen (_s) + INTSTR_LENGTH, \
+ (_f), (_s), (_n))
+#define ONS(_t,_a,_f,_n,_s) _t((_a), INTSTR_LENGTH + strlen (_s), \
+ (_f), (_n), (_s))
+
+#define OUT_OF_MEM() O (fatal, NILF, _("virtual memory exhausted"))
void die (int) __attribute__ ((noreturn));
void pfatal_with_name (const char *) __attribute__ ((noreturn));
@@ -506,9 +528,7 @@ const char *strcache_add_len (const char *str, unsigned int len);
int strcache_setbufsize (unsigned int size);
/* Guile support */
-#ifdef HAVE_GUILE
int guile_gmake_setup (const gmk_floc *flocp);
-#endif
/* Loadable object support. Sets to the strcached name of the loaded file. */
typedef int (*load_func_t)(const gmk_floc *flocp);
@@ -595,7 +615,17 @@ extern double max_load_average;
extern int max_load_average;
#endif
+#ifdef WINDOWS32
extern char *program;
+#else
+extern const char *program;
+#endif
+
+#ifdef VMS
+const char *vms_command(const char *argv0);
+const char *vms_progname(const char *argv0);
+#endif
+
extern char *starting_directory;
extern unsigned int makelevel;
extern char *version_string, *remote_description, *make_host;
@@ -612,10 +642,14 @@ extern int handling_fatal_signal;
#define MAX(_a,_b) ((_a)>(_b)?(_a):(_b))
#endif
+
#ifdef VMS
-# define MAKE_SUCCESS 1
-# define MAKE_TROUBLE 2
-# define MAKE_FAILURE 3
+/* These are the VMS __posix_exit compliant exit codes, constructed out of
+ STS$M_INHIB_MSG, C facility code, a POSIX condition code mask, MAKE_NNN<<3 and
+ the coresponding VMS severity, here STS$K_SUCCESS and STS$K_ERROR. */
+# define MAKE_SUCCESS 0x1035a001
+# define MAKE_TROUBLE 0x1035a00a
+# define MAKE_FAILURE 0x1035a012
#else
# define MAKE_SUCCESS 0
# define MAKE_TROUBLE 1
diff --git a/misc.c b/misc.c
index bc54ce6..00a3210 100644
--- a/misc.c
+++ b/misc.c
@@ -1,5 +1,5 @@
/* Miscellaneous generic support functions for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -219,7 +219,7 @@ xmalloc (unsigned int size)
/* Make sure we don't allocate 0, for pre-ISO implementations. */
void *result = malloc (size ? size : 1);
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
return result;
}
@@ -230,7 +230,7 @@ xcalloc (unsigned int size)
/* Make sure we don't allocate 0, for pre-ISO implementations. */
void *result = calloc (size ? size : 1, 1);
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
return result;
}
@@ -245,7 +245,7 @@ xrealloc (void *ptr, unsigned int size)
size = 1;
result = ptr ? realloc (ptr, size) : malloc (size);
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
return result;
}
@@ -262,7 +262,7 @@ xstrdup (const char *ptr)
#endif
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
#ifdef HAVE_STRDUP
return result;
@@ -281,7 +281,7 @@ xstrndup (const char *str, unsigned int length)
#ifdef HAVE_STRNDUP
result = strndup (str, length);
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
#else
result = xmalloc (length + 1);
if (length > 0)
diff --git a/output.c b/output.c
index fa757b0..e537f3a 100644
--- a/output.c
+++ b/output.c
@@ -1,5 +1,5 @@
/* Output to stdout / stderr for GNU make
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -47,33 +47,9 @@ unsigned int stdio_traced = 0;
#define OUTPUT_ISSET(_out) ((_out)->out >= 0 || (_out)->err >= 0)
#ifdef HAVE_FCNTL
-# define STREAM_OK(_s) ((fcntl (fileno (_s), F_GETFD) != -1) || (errno != EBADF))
+# define STREAM_OK(_s) ((fcntl (fileno (_s), F_GETFD) != -1) || (errno != EBADF))
#else
-# define STREAM_OK(_s) 1
-#endif
-
-/* I really want to move to gnulib. However, this is a big undertaking
- especially for non-UNIX platforms: how to get bootstrapping to work, etc.
- I don't want to take the time to do it right now. Use a hack to get a
- useful version of vsnprintf() for Windows. */
-#ifdef __VMS
-# define va_copy(_d, _s) ((_d) = (_s))
-#endif
-#ifdef _MSC_VER
-# define va_copy(_d, _s) ((_d) = (_s))
-# define snprintf msc_vsnprintf
-static int
-msc_vsnprintf (char *str, size_t size, const char *format, va_list ap)
-{
- int len = -1;
-
- if (size > 0)
- len = _vsnprintf_s (str, size, _TRUNCATE, format, ap);
- if (len == -1)
- len = _vscprintf (format, ap);
-
- return len;
-}
+# define STREAM_OK(_s) 1
#endif
/* Write a string to the current STDOUT or STDERR. */
@@ -117,7 +93,7 @@ log_working_directory (int entering)
char *p;
/* Get enough space for the longest possible output. */
- need = strlen (program) + INTEGER_LENGTH + 2 + 1;
+ need = strlen (program) + INTSTR_LENGTH + 2 + 1;
if (starting_directory)
need += strlen (starting_directory);
@@ -264,7 +240,11 @@ pump_from_tmp (int from, FILE *to)
if (len <= 0)
break;
if (fwrite (buffer, len, 1, to) < 1)
- perror ("fwrite()");
+ {
+ perror ("fwrite()");
+ break;
+ }
+ fflush (to);
}
#ifdef WINDOWS32
@@ -512,10 +492,10 @@ close_stdout (void)
if (prev_fail || fclose_fail)
{
if (fclose_fail)
- error (NILF, _("write error: %s"), strerror (errno));
+ perror_with_name (_("write error: stdout"), "");
else
- error (NILF, _("write error"));
- exit (EXIT_FAILURE);
+ O (error, NILF, _("write error: stdout"));
+ exit (MAKE_TROUBLE);
}
}
@@ -606,141 +586,120 @@ outputs (int is_err, const char *msg)
}
-/* Return formatted string buffers.
- If we move to gnulib we can use vasnprintf() etc. to make this simpler.
- Note these functions use a static buffer, so each call overwrites the
- results of the previous call. */
-
static struct fmtstring
{
char *buffer;
- unsigned int size;
- unsigned int len;
- } fmtbuf = { NULL, 0, 0 };
+ size_t size;
+ } fmtbuf = { NULL, 0 };
-/* Concatenate a formatted string onto the format buffer. */
-static const char *
-vfmtconcat (const char *fmt, va_list args)
+static char *
+get_buffer (size_t need)
{
- va_list vcopy;
- int tot;
- int unused = fmtbuf.size - fmtbuf.len;
-
- va_copy (vcopy, args);
-
- tot = vsnprintf (&fmtbuf.buffer[fmtbuf.len], unused, fmt, args);
- assert (tot >= 0);
-
- if (tot >= unused)
+ /* Make sure we have room. NEED includes space for \0. */
+ if (need > fmtbuf.size)
{
- fmtbuf.size += tot * 2;
+ fmtbuf.size += need * 2;
fmtbuf.buffer = xrealloc (fmtbuf.buffer, fmtbuf.size);
-
- unused = fmtbuf.size - fmtbuf.len;
- tot = vsnprintf (&fmtbuf.buffer[fmtbuf.len], unused, fmt, vcopy);
}
- va_end (vcopy);
-
- fmtbuf.len += tot;
+ fmtbuf.buffer[need-1] = '\0';
return fmtbuf.buffer;
}
-static const char *
-fmtconcat (const char *fmt, ...)
-{
- const char *p;
- va_list args;
-
- va_start (args, fmt);
- p = vfmtconcat (fmt, args);
- va_end (args);
-
- return p;
-}
-
/* Print a message on stdout. */
void
-message (int prefix, const char *fmt, ...)
+message (int prefix, size_t len, const char *fmt, ...)
{
va_list args;
+ char *p;
- assert (fmt != NULL);
-
- fmtbuf.len = 0;
+ len += strlen (fmt) + strlen (program) + INTSTR_LENGTH + 4 + 1 + 1;
+ p = get_buffer (len);
if (prefix)
{
if (makelevel == 0)
- fmtconcat ("%s: ", program);
+ sprintf (p, "%s: ", program);
else
- fmtconcat ("%s[%u]: ", program, makelevel);
+ sprintf (p, "%s[%u]: ", program, makelevel);
+ p += strlen (p);
}
va_start (args, fmt);
- vfmtconcat (fmt, args);
+ vsprintf (p, fmt, args);
va_end (args);
- fmtconcat ("\n");
+ strcat (p, "\n");
+ assert (fmtbuf.buffer[len-1] == '\0');
outputs (0, fmtbuf.buffer);
}
/* Print an error message. */
void
-error (const gmk_floc *flocp, const char *fmt, ...)
+error (const gmk_floc *flocp, size_t len, const char *fmt, ...)
{
va_list args;
+ char *p;
- assert (fmt != NULL);
-
- fmtbuf.len = 0;
+ len += (strlen (fmt) + strlen (program)
+ + (flocp && flocp->filenm ? strlen (flocp->filenm) : 0)
+ + INTSTR_LENGTH + 4 + 1 + 1);
+ p = get_buffer (len);
if (flocp && flocp->filenm)
- fmtconcat ("%s:%lu: ", flocp->filenm, flocp->lineno);
+ sprintf (p, "%s:%lu: ", flocp->filenm, flocp->lineno);
else if (makelevel == 0)
- fmtconcat ("%s: ", program);
+ sprintf (p, "%s: ", program);
else
- fmtconcat ("%s[%u]: ", program, makelevel);
+ sprintf (p, "%s[%u]: ", program, makelevel);
+ p += strlen (p);
va_start (args, fmt);
- vfmtconcat (fmt, args);
+ vsprintf (p, fmt, args);
va_end (args);
- fmtconcat ("\n");
+ strcat (p, "\n");
+ assert (fmtbuf.buffer[len-1] == '\0');
outputs (1, fmtbuf.buffer);
}
/* Print an error message and exit. */
void
-fatal (const gmk_floc *flocp, const char *fmt, ...)
+fatal (const gmk_floc *flocp, size_t len, const char *fmt, ...)
{
va_list args;
+ const char *stop = _(". Stop.\n");
+ char *p;
- assert (fmt != NULL);
-
- fmtbuf.len = 0;
+ len += (strlen (fmt) + strlen (program)
+ + (flocp && flocp->filenm ? strlen (flocp->filenm) : 0)
+ + INTSTR_LENGTH + 8 + strlen (stop) + 1);
+ p = get_buffer (len);
if (flocp && flocp->filenm)
- fmtconcat ("%s:%lu: *** ", flocp->filenm, flocp->lineno);
+ sprintf (p, "%s:%lu: *** ", flocp->filenm, flocp->lineno);
else if (makelevel == 0)
- fmtconcat ("%s: *** ", program);
+ sprintf (p, "%s: *** ", program);
else
- fmtconcat ("%s[%u]: *** ", program, makelevel);
+ sprintf (p, "%s[%u]: *** ", program, makelevel);
+ p += strlen (p);
va_start (args, fmt);
- vfmtconcat (fmt, args);
+ vsprintf (p, fmt, args);
va_end (args);
- fmtconcat (_(". Stop.\n"));
+ strcat (p, stop);
+
+ assert (fmtbuf.buffer[len-1] == '\0');
outputs (1, fmtbuf.buffer);
- die (2);
+ die (MAKE_FAILURE);
}
/* Print an error message from errno. */
@@ -748,7 +707,8 @@ fatal (const gmk_floc *flocp, const char *fmt, ...)
void
perror_with_name (const char *str, const char *name)
{
- error (NILF, _("%s%s: %s"), str, name, strerror (errno));
+ const char *err = strerror (errno);
+ OSSS (error, NILF, _("%s%s: %s"), str, name, err);
}
/* Print an error message from errno and exit. */
@@ -756,7 +716,8 @@ perror_with_name (const char *str, const char *name)
void
pfatal_with_name (const char *name)
{
- fatal (NILF, _("%s: %s"), name, strerror (errno));
+ const char *err = strerror (errno);
+ OSS (fatal, NILF, _("%s: %s"), name, err);
/* NOTREACHED */
}
diff --git a/output.h b/output.h
index e0d5daa..7c5332c 100644
--- a/output.h
+++ b/output.h
@@ -1,5 +1,5 @@
/* Output to stdout / stderr for GNU make
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/po/ChangeLog b/po/ChangeLog
deleted file mode 100644
index cd7de0c..0000000
--- a/po/ChangeLog
+++ /dev/null
@@ -1,93 +0,0 @@
-2013-01-06 Paul Smith <psmith@gnu.org>
-
- * POTFILES.in: Add new load.c file.
-
-2012-01-12 Paul Smith <psmith@gnu.org>
-
- * POTFILES.in: Add new guile.c file.
-
-2011-09-26 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation file for Czech (cs).
-
-2009-09-16 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Italian (it).
-
-2008-05-17 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Lithuanian (lt).
-
-2007-08-15 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: The Kinyarwanda (rw) translation has disappeared from
- the translation site, so remove it.
-
-2006-01-28 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Vietnamese (vi).
-
-2005-07-14 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Indonesian (id).
-
-2005-05-09 Paul D. Smith <psmith@gnu.org>
-
- * POTFILES.in: Add new file vmsjobs.c.
-
-2005-04-06 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Kinywarwanda (rw).
-
-2005-02-09 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Irish (ga).
-
-2005-02-01 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Finnish (fi).
-
-2003-10-18 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Belarusian (be).
-
-2002-12-19 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Ukrainian (uk).
-
-2002-10-05 Paul D. Smith <psmith@gnu.org>
-
- * POTFILES.in: Add variable.h as it has a translatable string.
-
-2002-08-08 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Add a new translation for Chinese (simplified) (zh_CN).
-
-2002-08-02 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Add a new translation for Swedish (sv).
-
-2002-04-21 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS, hr.po: Added new translation: Croatian.
-
- * da.po, de.po, es.po, fr.po, gl.po, he.po, ja.po, ko.po, nl.po,
- pl.po, pt_BR.po, ru.po, tr.po: Moved from i18n to here.
- * .cvsignore: Moved from i18n to here.
-
- * POTFILES.in, LINGUAS, Makevars: Created.
-
-Copyright (C) 2002-2013 Free Software Foundation, Inc.
-This file is part of GNU Make.
-
-GNU Make is free software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the Free Software
-Foundation; either version 3 of the License, or (at your option) any later
-version.
-
-GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/po/Makevars b/po/Makevars
index 900e794..b69192e 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -1,5 +1,5 @@
# This is a -*-Makefile-*-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/po/POTFILES.in b/po/POTFILES.in
index ba156ee..4287c5d 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,5 +1,5 @@
# List of source files containing translatable strings.
-# Copyright (C) 2000-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/po/be.gmo b/po/be.gmo
index 93a72bc..6c4ecf0 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index c296783..7385724 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.80\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2003-10-21 11:50+0300\n"
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"
@@ -45,50 +45,50 @@ msgstr "touch: удзельнік \"%s\" Ð½Ñ Ð¹Ñнуе Ñž \"%s\""
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr ""
-#: arscan.c:185
+#: arscan.c:255
#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr ""
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr ""
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (назва муÑіла быць абрÑзана)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Дата %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, Ñ€Ñжым = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr ""
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
@@ -98,26 +98,26 @@ msgstr ""
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] ВыдалÑецца файл \"%s\""
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** ВыдалÑецца файл \"%s\""
-#: commands.c:684
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# загады Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½ÑŒÐ½Ñ"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (убудаваны):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (з\"%s\", радок %lu):\n"
@@ -199,152 +199,152 @@ msgstr ""
msgid "unterminated variable reference"
msgstr ""
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr ""
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr ""
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** ВыдалÑецца файл \"%s\""
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "ВыдалÑюцца Ð¿Ñ€Ð°Ð¼ÐµÐ¶ÐºÐ°Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "БÑгучы чаÑ"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: адбітак чаÑу па-за дапушчальнымі межамі, падÑтаўлÑецца %s"
-#: file.c:809
-msgid "Current time"
-msgstr "БÑгучы чаÑ"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# ÐÑ Ð¼Ñта:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr ""
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr ""
-#: file.c:958
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "загадны радок"
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr ""
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr ""
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr ""
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr ""
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr ""
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr ""
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Так Ñама робÑцца:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ð§Ð°Ñ Ð·ÑŒÐ¼ÑÐ½ÐµÐ½ÑŒÐ½Ñ Ð½Ñ–ÐºÐ¾Ð»Ñ– не правÑраўÑÑ."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Файл Ð½Ñ Ð¹Ñнуе."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Файл вельмі Ñтары."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# ÐпошнÑе зьмÑненьне %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Файл быў абноўлены."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Файл Ð½Ñ Ð±Ñ‹Ñž абноўлены."
-#: file.c:995
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Загады, што выконваюцца зараз (ГЭТР- ПÐМЫЛКÐ)."
-#: file.c:998
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Загады, што выконваюцца зараз (ГЭТР- ПÐМЫЛКÐ)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# ПаÑьпÑхова абноўлены."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr ""
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr ""
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr ""
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -352,111 +352,111 @@ msgstr ""
"\n"
"# Файлы"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr ""
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr ""
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr ""
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr ""
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe (): памылка ў process_init_fd()\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe (): памылка ў process_init_fd()\n"
-#: function.c:1490
+#: function.c:1530
#, fuzzy, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "памылка ў CreatePipe() (e=%d)\n"
-#: function.c:1498
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): памылка ў process_init_fd()\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr ""
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "%s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr ""
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "ÐÑ Ð·Ñ€Ð¾Ð±Ð»ÐµÐ½Ð° Ð´Ð»Ñ Ð³Ñтае плÑтформы: Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ \"%s\""
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr ""
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr ""
-#: function.c:2555
+#: function.c:2601
#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr ""
#: getopt.c:659
@@ -514,12 +514,12 @@ msgstr "%s: выбар \"-W %s\" - неадназначын.\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: выбар \"-W %s\" не дазвалÑе довад.\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -603,207 +603,207 @@ msgstr "ВыдалÑюцца Ð¿Ñ€Ð°Ð¼ÐµÐ¶ÐºÐ°Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹...\n"
msgid "Cannot create a temporary file\n"
msgstr "fwrite (чаÑовы файл)"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr ""
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr ""
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (убудаваны):"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Памылка 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] Памылка %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Памылка 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Чакаюцца Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ñ‹Ñ Ð¿Ñ€Ð°Ñ†Ñ‹...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr ""
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr ""
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr ""
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr ""
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr ""
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr ""
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ""
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr ""
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr ""
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr ""
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ""
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr ""
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr ""
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch: архіў \"%s\" Ð½Ñ Ð¹Ñнуе"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s ÐÑма правіла каб зрабіць мÑту \"%s\", патрÑбную Ð´Ð»Ñ \"%s\"%s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr ""
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr ""
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: загад не адшуканы"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr ""
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL зьменена (раней \"%s\", зараз \"%s\")"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr ""
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -812,163 +812,163 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "ÐŸÐ°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ (-j) не падтрымліваюцца на гÑтае плÑтхорме."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Выбары:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr ""
" -h, --help Друкуе гÑтае паведамленьне й выходзіць.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
"it.\n"
msgstr ""
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Друкуе нутраную базу даньнÑÑž make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-#: main.c:365
+#: main.c:366
#, fuzzy
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ðе адлюÑтроўваць загады.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -976,67 +976,63 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Выключае -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr ""
" -h, --help Друкуе гÑтае паведамленьне й выходзіць.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Друкуе бÑгучую Ñ‚Ñчку.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
msgstr ""
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "пуÑÑ‚Ñ‹ радок нерÑчаіÑны Ñž ÑкаÑьці назвы файла"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr ""
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr ""
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1046,179 +1042,175 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr ""
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr ""
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr ""
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s Ñпынена на 30 ÑÑкундаў..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr ""
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr ""
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr ""
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr ""
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile Ñа Ñтандартнага ўводу зададзены двойчы."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (чаÑовы файл)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (чаÑовы файл)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "ÐŸÐ°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ (-j) не падтрымліваюцца на гÑтае плÑтхорме."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr ""
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "Ñтвараецца трубаправод прац"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr ""
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "ÐбнаўлÑюцца make-файлы....\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr ""
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "Makefile \"%s\" Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½"
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "Makefile \"%s\" Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr ""
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr ""
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (чаÑовы файл): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr ""
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "ÐÑма мÑÑ‚"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr ""
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "ВыкарыÑтаньне: %s [выбары] [мÑта] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1227,7 +1219,7 @@ msgstr ""
"\n"
"ГÑта праграма пабудавана Ð´Ð»Ñ %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1236,36 +1228,36 @@ msgstr ""
"\n"
"ГÑта праграма падубавана Ð´Ð»Ñ %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "ПаведамлÑйце пра памылкі на <bug-make@gnu.org>.\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "выбар \"-%c\" патрабуе Ñтаноўчы цÑлы довад"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "выбар \"-%c\" патрабуе Ñтаноўчы цÑлы довад"
-#: main.c:3253
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"ГÑта праграма пабудавана Ð´Ð»Ñ %s\n"
-#: main.c:3255
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"ГÑта праграма падубавана Ð´Ð»Ñ %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1274,14 +1266,14 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1293,10 +1285,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼Ñць вычарпана"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1318,66 +1306,60 @@ msgstr ""
msgid "Child access"
msgstr ""
-#: output.c:128
+#: output.c:104
#, fuzzy, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: уваход у невÑдомую Ñ‚Ñчку"
-#: output.c:130
+#: output.c:106
#, fuzzy, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: выхад зь невÑдомае Ñ‚Ñчкі"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: уваход у Ñ‚Ñчку \"%s\"\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: выхад з Ñ‚Ñчкі \"%s\"\n"
-#: output.c:139
+#: output.c:115
#, fuzzy, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: уваход у невÑдомую Ñ‚Ñчку"
-#: output.c:141
+#: output.c:117
#, fuzzy, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: выхад зь невÑдомае Ñ‚Ñчкі"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: уваход у Ñ‚Ñчку \"%s\"\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: выхад з Ñ‚Ñчкі \"%s\"\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+msgid "write error: stdout"
msgstr ""
-#: output.c:517
-#, fuzzy
-msgid "write error"
-msgstr "Памылка шыны"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ""
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1386,354 +1368,359 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Чытаюцца make-файлы...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "Чытаецца make-файл \"%s\""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (нÑма дапомнае мÑÑ‚Ñ‹)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (пошук шлÑху)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr ""
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr ""
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr ""
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr ""
-#: read.c:1036
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "прапушчана правіла перад загадамі"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "прапушчан падзÑлÑльнік %s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (вы маеце на ўвазе TAB замеÑÑ‚ 8 прагалаў?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "прапушчан падзÑлÑльнік %s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr ""
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr ""
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr ""
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "прапушчаны \"endif\""
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr ""
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr ""
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "прапушчаны \"endef\", незавершаны \"define\""
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr ""
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr ""
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "зьнешні \"%s\""
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr ""
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr ""
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr ""
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr ""
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr ""
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr ""
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr ""
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr ""
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr ""
-#: read.c:2530
+#: read.c:2229
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr ""
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "Ðічога Ð½Ñ Ð±Ñ‹Ð»Ð¾ зроблена Ð´Ð»Ñ \"%s\"."
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "\"%s\" - ÑаÑтарÑл(а)."
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "УÑÑ‘ ÑÑˆÑ Ð°Ð±Ð½Ð°ÑžÐ»Ñецца файл \"%s\".\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%s ÐÑма правіла каб зрабіць мÑту \"%s\", патрÑбную Ð´Ð»Ñ \"%s\"%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr ""
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "Файл \"%s\" ужо быў разгледжаны.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "УÑÑ‘ ÑÑˆÑ Ð°Ð±Ð½Ð°ÑžÐ»Ñецца файл \"%s\".\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Скончана абнаўленьне файла \"%s\".\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "Файл \"%s\" Ð½Ñ Ð¹Ñнуе.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr ""
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr ""
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr ""
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr ""
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Скончана абнаўленьне файла \"%s\".\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr ""
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Скончана абнаўленьне файла \"%s\".\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr ""
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ""
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Файл \"%s\" Ð½Ñ Ð¹Ñнуе.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr ""
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ""
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr ""
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr ""
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr ""
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr ""
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr ""
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "ÐевÑдомы ўбудаваны загад \"%s\".\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Увага! Файл \"%s\" мае Ñ‡Ð°Ñ Ð·ÑŒÐ¼ÑненьнÑ, Ñкі ÑˆÑ‡Ñ Ð½Ðµ надышоў."
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Увага! Файл \"%s\" мае Ñ‡Ð°Ñ Ð·ÑŒÐ¼ÑÐ½ÐµÐ½ÑŒÐ½Ñ %.2g Ñ, Ñкі ÑˆÑ‡Ñ Ð½Ðµ надышоў."
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ""
@@ -1743,30 +1730,30 @@ msgstr ""
msgid "Customs won't export: %s\n"
msgstr ""
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " Ñ‚Ñрмінал."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr ""
@@ -1972,45 +1959,45 @@ msgid ""
"# "
msgstr ""
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "аўтаматычна"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "дапомны"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "аÑÑродзьдзе"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "make-файл"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr ""
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "загадны радок"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "дырÑктыва \"override\""
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (з \"%s\", радок %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr ""
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2018,19 +2005,19 @@ msgstr ""
"\n"
"# ПераменныÑ\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2047,77 +2034,82 @@ msgstr "Увага! ÐÑÐ²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ñ Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ \"%.*s\""
msgid "sys$search() failed with %d\n"
msgstr ""
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr ""
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr ""
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr ""
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr ""
-#: vmsjobs.c:446
+#: vmsjobs.c:501
#, c-format
-msgid "BUILTIN RM %s\n"
+msgid "BUILTIN ECHO %s->%s\n"
msgstr ""
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "ÐевÑдомы ўбудаваны загад \"%s\".\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Памылка! Парожні загад.\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Перанакіраваны ўвод з %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr ""
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "Перанакіраваны вывад у %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Перанакіраваны вывад у %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr ""
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr ""
@@ -2165,6 +2157,9 @@ msgstr ""
#~ "%sÐ¿Ð°Ð³Ð°Ð´Ð½ÐµÐ½ÑŒÐ½Ñ Ð°Ð± раÑпаўÑюджваньні. ÐÑ Ð¹Ñнуе ÐІЯКÐЕ гарантыі, нават аб\n"
#~ "%sмагчымаÑьці выкарыÑÑ‚Ð½ÑŒÐ½Ñ Ð·ÑŒ Ñкой небудзь мÑтай.\n"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼Ñць вычарпана"
+
#~ msgid "invalid `override' directive"
#~ msgstr "нерÑчаіÑÐ½Ð°Ñ Ð´Ñ‹Ñ€Ñктыва \"override\""
diff --git a/po/cs.gmo b/po/cs.gmo
index babe63b..e8cbeaf 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index c679df9..9e6fa8b 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -25,10 +25,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.99.93\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2013-10-02 05:55+0200\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-09 21:24+0200\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
@@ -65,52 +65,52 @@ msgstr "touch: Prvek „%s“ v „%s“ neexistuje"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: Chybný návratový kód z funkce ar_member_touch volané nad „%s“"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
"funkce lbr$set_module() nedokázala vytáhnout údaje o modulu, status = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "funkce lbr$ini_control() selhala se stavem = %d"
-#: arscan.c:185
-#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "není možné otevřít knihovnu „%s“ potřebnou k najití prvku „%s“"
# TODO: Pluralize
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Prvek „%s“%s: %'ld bajtů at %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (název může být zkrácen)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " UID = %d, GID = %d, práva = 0%o\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr "Návod má příliš mnoho řádků (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Přerušeno.\n"
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Prvek archivu „%s“ je možná chybný, nesmazáno"
@@ -120,25 +120,25 @@ msgstr "*** [%s] Prvek archivu „%s“ je možná chybný, nesmazáno"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Prvek archivu „%s“ ne možná chybný, nesmazáno"
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Maže se soubor „%s“"
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Maže se soubor „%s“"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# spustitelný návod"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (vestavěný):"
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (z „%s“, řádek %lu):\n"
@@ -223,151 +223,151 @@ msgstr "Rekurzivní proměnná „%s“ odkazuje na sebe (nakonec)"
msgid "unterminated variable reference"
msgstr "neukonÄený odkaz na promÄ›nnou"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Návod byl urÄen pro soubor „%s“ v %s:%lu,"
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Návod pro soubor „%s“ byl nalezen hledáním implicitních pravidel,"
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "ale „%s“ se nyní považuje za soubor totožný s „%s“."
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Návod pro „%s“ bude ignorován ve prospěch návodu pro „%s“."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
"„%s“ s jednoduchou dvojteÄkou nelze pÅ™ejmenovat na „%s“ s dvojitou dvojteÄkou"
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
"„%s“ s dvojitou dvojteÄkou nelze pÅ™ejmenovat na „%s“ s jednoduchou dvojteÄkou"
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "Maže se mezilehlý soubor „%s“ "
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Odstraňují se mezilehlé soubory…\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Aktuální Äas"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Časový údaj mimo rozsah, nahrazuje se %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Aktuální Äas"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Není cílem:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Cenný soubor (prerekvizita k .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Falešný cíl (prerekvizita k .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Cíl příkazové řádky."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Default, MAKEFILES nebo -include/sinclude makefile."
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr "# Vestavěné pravidlo"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Hledalo se za pomoci implicitních pravidel."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Nehledalo se za pomoci implicitních pravidel."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Kořen implicitního/statického vzoru: „%s“\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Soubor je mezilehlá prerekvizita."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Rovněž vyrábí:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Čas změny obsahu se nikdy nekontroluje."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Soubor neexistuje."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Soubor je velmi starý."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Obsah naposledy změněn v %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Soubor byl aktualizován."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Soubor nebyl aktualizován."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Návod se právě vykonává (TOTO JE CHYBA)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Návod pro závislosti se právě vykonává (TOTO JE CHYBA)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Úspěšně aktualizováno."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Je třeba aktualizovat (-q je nastaveno)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Aktualizace selhala."
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr "# Neplatná hodnota v Älenu „command_state“!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -375,7 +375,7 @@ msgstr ""
"\n"
"# Soubory"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -385,104 +385,105 @@ msgstr ""
"# Statistika hašovací tabulky souborů:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr "%s: Položka „%s“ není v keši: %s"
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "neÄíselný první argument funkce „word“"
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr "první argument funkce „word“ musí být vetší než 0"
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "neÄíselný první argument funkce „wordlist“"
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "neÄíselný druhý argument funkce „wordlist“"
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(vstup) selhalo (chyba=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr ""
"windows32_openpipe: DuplicateHandle(chybový výstup) selhalo (chyba=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() selhalo (chyba=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() selhalo\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "DoÄasný dávkový soubor %s se uklízí\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr "otevření: %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr "zápis: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr "Neplatná operace na souboru: %s"
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "nedostateÄný poÄet argumentů (%d) funkce „%s“"
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "na této platformě neimplementováno: funkce „%s“"
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "neukonÄené volání funkce „%s“: chybí „%c“"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Prázdný název funkce\n"
-#: function.c:2548
+#: function.c:2593
#, fuzzy, c-format
-msgid "Invalid function name: %s\n"
-msgstr "Neplatná operace na souboru: %s"
+msgid "Invalid function name: %s"
+msgstr "Neplatný název funkce: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
msgstr "Název funkce je příliš dlouhý: %s\n"
-#: function.c:2552
-#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "Neplatný minimální poÄet argumentů (%d) funkce %s\n"
-#: function.c:2555
-#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "Neplatný maximální poÄet argumentů (%d) funkce %s\n"
#: getopt.c:659
@@ -540,12 +541,12 @@ msgstr "%s: pÅ™epínaÄ â€ž-W %s“ není jednoznaÄný\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: pÅ™epínaÄ â€ž-W %s“ nepÅ™ipouÅ¡tí argument\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: Expanduje se „%s“\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: Vyhodnocuje se „%s“\n"
@@ -629,98 +630,98 @@ msgstr "Hledá se pravidlo s mezilehlým souborem „%s“.\n"
msgid "Cannot create a temporary file\n"
msgstr "DoÄasný soubor nelze vytvoÅ™it\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (obraz paměti uložen)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (ignorováno)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr "<vestavěný>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "%s: návod pro cíl „%s“ selhal"
-#: job.c:510
-#, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "%s[%s] Chyba 0x%x%s"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, c-format
msgid "%s[%s] Error %d%s"
msgstr "%s[%s] Chyba %d%s"
-#: job.c:517
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Chyba 0x%x%s"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** ÄŒeká se na nedokonÄené úlohy…"
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Živý potomek %p (%s) PID %s %s\n"
# Continuation of Live child
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (vzdálený)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Uklízí se prohrávající potomek %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Uklízí se vyhrávající potomek %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Uklízí se doÄasný dávkový soubor %s\n"
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Úklid doÄasného dávkového souboru %s selhal (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Z řetězce se odstraňuje potomek %p PID %s%s.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr "uvolnění semaforu správce úloh: (Chyba %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Uvolněn token pro potomka %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "zápis správce úloh"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() nedokázala spustit proces (chyba=%ld)\n"
# FIXME: Pluralize
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -729,97 +730,97 @@ msgstr ""
"\n"
"NapoÄítáno %d argumentů v selhaném spuÅ¡tÄ›ní\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Do řetězce se přidává potomek %p (%s) PID %s%s.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "Äekání na semafor nebo potomka: (Chyba %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Získán token pro potomka %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "Ätení z roury úloh"
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr "%s: cíl „%s“ neexistuje"
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: aktualizovat cíl „%s“ potřebný pro %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "na tomto operaÄním systému nelze vynutit omezení zátěže"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "omezení zátěže nelze vynutit: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "nedostatek deskriptorů souboru: standardní vstup nelze zduplikovat\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "nedostatek deskriptorů souboru: standardní výstup nelze zduplikovat\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr "nedostatek deskriptorů souboru: chybový výstup nelze zduplikovat\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Standardní vstup nelze obnovit\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Standardní výstup nelze obnovit\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr "Chybový výstup nelze obnovit\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make uklidil potomka s PID %s, stále se Äeká na PID %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Příkaz nenalezen"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Program shellu nenalezen"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: možná byl vyÄerpán prostor pro prostÅ™edí"
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "Proměnná $SHELL se změnila (byla „%s“, nyní je „%s“)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Vytváří se doÄasný dávkový soubor %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
@@ -827,7 +828,7 @@ msgstr ""
"Obsah dávkového souboru:\n"
"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -836,7 +837,7 @@ msgstr ""
"Obsah dávkového souboru:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (řádek %d) Chybný kontext shellu (!unixy && !batch_mode_shell)\n"
@@ -846,48 +847,48 @@ msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
"PÅ™epínaÄ -O[DRUH] (--output-sync[=DRUH]) není v tomto sestavení zahrnut."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Nepodařilo se otevřít tabulku globálních symbolů: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr "Zavedený objekt %s není veden jako sluÄitelný s GPL"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr "Symbol %s z %s se nepodařilo zavést: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "Pokus zavést prázdný název symbolu: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "Zavádí se symbol %s z %s\n"
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr "Na této platformě není operace zavedení (load) podporována."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "PÅ™epínaÄe:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignoruje se kvůli kompatibilitě.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make BezpodmíneÄnÄ› vyrobí vÅ¡echny cíle.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -895,17 +896,17 @@ msgstr ""
" -C ADRESÃŘ, --directory=ADRESÃŘ\n"
" PÅ™ed dÄ›láním Äehokoliv se pÅ™epne do ADRESÃŘE.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Vypisuje mnoho ladicích údajů.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=PŘÃZNAKY] Vypisuje ladicí údaje rozliÄných druhů.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -913,12 +914,12 @@ msgstr ""
" -e, --environment-overrides\n"
" Proměnné prostředí přebijí ty z makefilu.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr " --eval=ŘETĚZEC Vyhodnotí ŘETĚZEC jako kód makefilu.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -926,15 +927,15 @@ msgstr ""
" -f SOUBOR, --file=SOUBOR, --makefile=SOUBOR\n"
" NaÄte SOUBOR coby makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Vypíše tuto zprávu a skonÄí.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Ignoruje chyby z návodů.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -942,7 +943,7 @@ msgstr ""
" -I ADRESÃŘ, --include-dir=ADRESÃŘ\n"
" Vložené makefily hledá v ADRESÃŘI.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -950,13 +951,13 @@ msgstr ""
" -j [N], --jobs[=N] Dovolí nejvíce N úloh najednou;\n"
" nekoneÄno úloh bez argumentu.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going PokraÄuje, když nÄ›které cíle nelze vyrobit.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -966,7 +967,7 @@ msgstr ""
" Nespouští souběžné úlohy, dokud zátěž\n"
" neklesne pod N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -974,7 +975,7 @@ msgstr ""
" -L, --check-symlink-times Použije nejnovÄ›jší Äas zmÄ›ny obsahu z Äasů\n"
" symbolických odkazů a cíle.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -984,7 +985,7 @@ msgstr ""
" Ve skuteÄnosti nevykoná žádný návod, pouze\n"
" jej vypíše.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -994,7 +995,7 @@ msgstr ""
" Považuje SOUBOR za velmi starý a znovu jej\n"
" nevyrobí.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
@@ -1003,11 +1004,11 @@ msgstr ""
" Synchronizuje výstup souběžných úloh podle "
"DRUHU.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Vypíše vnitřní databázi programu make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1015,19 +1016,19 @@ msgstr ""
" -q, --question Nespustí žádný návod. Návratový kód řekne,\n"
" jestli je aktuální.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr " -r, --no-builtin-rules Vypne vestavěná implicitní pravidla.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr " -R, --no-builtin-variables Vypne vestavěné nastavení proměnných.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Neopisuje návod.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1035,32 +1036,32 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Vypne -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr " -t, --touch Namísto výroby cílů jim zmÄ›ní Äas.\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr " --trace Vypisuje trasovací údaje.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
" -v, --version Vypíše Äíslo verze programu make a skonÄí.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Vypisuje aktuální adresář.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
" --no-print-directory Vypne -w, i kdyby byl zapnut implicitně.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1068,7 +1069,7 @@ msgstr ""
" -W SOUBOR, --what-if=SOUBOR, --new-file=SOUBOR, --assume-new=SOUBOR\n"
" Považuje SOUBOR za nekoneÄnÄ› nový.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1076,30 +1077,26 @@ msgstr ""
" --warn-undefined-variables Upozorní, kdykoliv je odkazováno na\n"
" nedefinovanou proměnnou.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "prázdný řetězec není platný název souboru"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr "zadána neznámá úroveň ladění „%s“"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "neznámý druh synchronizace výstupu „%s“"
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr "vnitÅ™ní chyba: více pÅ™epínaÄů --sync-mutex"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Zachyceno přerušení/výjimka (kód = 0x%lx, adresa = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1114,183 +1111,179 @@ msgstr ""
"Příznaky výjimky = %lx\n"
"Adresa výjimky = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Porušení přístupu: operace zápisu na adrese 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "PoruÅ¡ení přístupu: operace Ätení na adrese 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() nastavuje default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
"find_and_set_shell() při prohledávání cesty nastavila default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s se uspí na 30 sekund…"
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) dokonÄeno. PokraÄuje se.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "vnitÅ™ní chyba: více pÅ™epínaÄů --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
"vnitřní chyba: nelze otevřít semafor správce úloh „%s“: (Chyba %ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Klient správce úloh (semafor %s)\n"
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "vnitřní chyba: neplatný řetězec --jobserver-fds „%s“"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Klient správce úloh (deskriptory %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "pozor: -jN vnuceno podřízenému maku: režim správce úloh se vypíná."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "služba dup() nad správcem úloh"
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
"pozor: správce úloh není dostupný: použije se -j1. Do nadřízeného pravidla "
"maku přidejte „+“."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile na standardním vstupu uveden dvakrát."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (doÄasný soubor)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (doÄasný soubor)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Na této platformě nejsou paralelní úlohy (-j) podporovány."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Návrat k jednoúlohovému režimu (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Místa ve správci úloh jsou omezena na %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr "vytváření semaforu správce úloh: (Chyba %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "vytváření roury úloh"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inicializace roury správce úloh"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Symbolické odkazy nejsou podporovány: vypíná se -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Soubory makefile se aktualizují…\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Makefile „%s“ může cyklit, nebude znovu vyroben.\n"
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Výroba nového makefilu „%s“ selhala."
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Vložený makefile „%s“ nebyl nalezen."
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr "Makefile „%s“ nebyl nalezen"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Nebylo možné se vrátit do původního adresáře."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Znovu se spouští [%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (doÄasný soubor): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL obsahuje více než jeden cíl"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nezadány žádné cíle a žádné makefily nenalezeny"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Žádné cíle"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Aktualizují se cíle…\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "pozor: Zjištěn posun hodin. Vaše sestavení možná nebude úplné."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Použití: %s [PŘEPÃNAÄŒE] [CÃLE]…\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1299,7 +1292,7 @@ msgstr ""
"\n"
"Tento program byl sestaven pro %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1308,34 +1301,34 @@ msgstr ""
"\n"
"Tento program byl sestaven pro %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Chyby v programu hlaste anglicky na <bug-make@gnu.org>. Nedostatky\n"
"v pÅ™ekladu hlaste Äesky na <translation-team-cs@lists.sourceforge.net>.\n"
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "pÅ™epínaÄe „%s%s“ vyžaduje neprázdný Å™etÄ›zcový argument"
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "pÅ™epínaÄ â€ž-%c“ vyžaduje kladný celoÄíselný argument"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sSestaveno pro %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%s Sestaveno pro %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1349,7 +1342,7 @@ msgstr ""
"%sNesposkytuje se ŽÃDNà ZÃRUKA, jak jen zákon dovoluje.\n"
# FIXME: i18n %s (time)
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1359,7 +1352,7 @@ msgstr ""
"# Databáze maku vypsána v %s"
# FIXME: i18n %s (time)
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1373,10 +1366,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Neznámá chyba %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "virtuální paměť vyÄerpána"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1398,65 +1387,61 @@ msgstr "Přístup makem"
msgid "Child access"
msgstr "Přístup potomkem"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Vstupuje se do neznámého adresáře\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s Opouští se neznámý adresář\n"
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Vstupuje se do adresáře „%s“\n"
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Opouští se adresář „%s“\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Vstupuje se do neznámého adresáře\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Opouští se neznámý adresář\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Vstupuje se do adresáře „%s“\n"
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Opouští se adresář „%s“\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "chyba zápisu: %s"
-#: output.c:517
-msgid "write error"
-msgstr "chyba zápisu"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Konec.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1465,215 +1450,221 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Čtou se makefily…\n"
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
msgstr "Čte se makefile „%s“"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (žádný výchozí cíl)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (vyhledávací cesta)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (nestarat se)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (žádný expanze ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr "Přeskakuje se UTF-8 BOM v makefilu „%s“\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr "Přeskakuje se UTF-8 BOM v paměti makefilu\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "neplatná syntaxe podmínky"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr "%s: zavedení selhalo"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "návod zahájen před prvním cílem"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "před návodem chybí pravidlo"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "chybí oddÄ›lovaÄ%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (mysleli jste tabulátor místo 8 mezer?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "chybí oddÄ›lovaÄ%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "chybí vzor cíle"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "více vzorů cíle"
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr "vzor cíle neobsahuje „%%“"
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
msgstr "chybí „endif“"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "prázdný název proměnné"
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr "nadbyteÄný text po klíÄovém slovu „define“"
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr "chybí „endef“, neukonÄený „define“"
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr "nadbyteÄný text po klíÄovém slovu „endef“"
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr "nadbyteÄný text po klíÄovém slovu „%s“"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr "nadbyteÄný „%s“"
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "pouze jeden „else“ na podmínku"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Chybě utvořená definice proměnné specifické pro cíl"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "prerekvizitu nelze definovat v návodu"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "smíšené implicitní a statická pravidla vzorů"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "smíšené implicitní a normální pravidla"
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "cíl „%s“ neodpovídá vzoru cíle"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "cílový soubor „%s“ obsahuje jak :, tak i ::"
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "cíl „%s“ zadán více než jednou ve stejném pravidle"
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "pozor: návod pro cíl „%s“ bude přebit"
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "pozor: starý návod pro cíl „%s“ bude ignorován"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "smíšené implicitní a normální pravidla"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "pozor: zaznamenán znak NUL, zbytek řádku bude ignorován"
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "Pro „%s“ nebude nic uděláno."
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr "„%s“ je aktuální."
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Uklízí se soubor „%s“.\n"
-#: remake.c:377
-#, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sŽádné pravidlo jak vyrobit cíl „%s“%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sŽádné pravidlo jak vyrobit cíl „%s“ potřebný pro „%s“%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sŽádné pravidlo jak vyrobit cíl „%s“%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Zvažuje se cílový soubor „%s“.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Nedávná aktualizace souboru „%s“ selhala.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Soubor „%s“ již byl uvážen.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Stále se aktualizuje soubor „%s“.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Aktualizace soubor „%s“ dokonÄena.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Soubor „%s“ neexistuje.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1681,138 +1672,138 @@ msgstr ""
"*** Pozor: Soubor .LOW_RESOLUTION_TIME „%s“ má Äasový údaj ve vysokém "
"rozlišení"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Nalezeno implicitní pravidlo pro „%s“.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Pro „%s“ nenalezeno žádné implicitní pravidlo.\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Pro „%s“ se použije výchozí návod.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Kruhová závislost „%s ↠%s zahozena."
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Prerekvizity cílového souboru „%s“ dokonÄeny.\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Prerekvizity „%s“ se vyrábějí.\n"
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Výroba cílového souboru „%s“ vzdána.\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Cíl „%s“ nebyl kvůli chybám znovu vyroben."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Prerekvizita „%s“ pro cíl „%s“ je jen o pořadí.\n"
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Prerekvizita „%s“ cíle „%s“ neexistuje.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Prerekvizita „%s“ je novější než cíl „%s“.\n"
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Prerekvizita „%s“ je starší než cíl „%s“.\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Cíl „%s“ je dvojdvouteÄkový a nemá žádnou prerekvizitu.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Pro „%s“ neexistuje návod a žádná prerekvizita se vskutku nezměnila.\n"
# Always-make flag is make option -B
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Vyrábí se „%s“ kvůli pÅ™epínaÄi --always-make.\n"
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr "Cíl „%s“ není třeba znovu vyrábět"
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr "; použije se název „%s“ z VPATH"
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "Cíl „%s“ je třeba znovu vyrobit.\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ignoruje se název „%s“ z VPATH.\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Právě se vykonává návod pro „%s“.\n"
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Cílový soubor „%s“ nebylo možné znovu vyrobit.\n"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Cílový soubor „%s“ byl úspěšně znovu vyroben.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Cílový soubor „%s“ je třeba znovu vyrobit za použití -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Pro „%s„ se použijí se výchozí příkazy.\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Pozor: Soubor „%s“ má Äas zmÄ›ny obsahu v budoucnu"
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Pozor: Soubor „%s“ má Äas zmÄ›ny obsahu %s s smÄ›rem do budoucnosti"
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "Prvek .LIBPATTERNS „%s“ není vzorem"
@@ -1823,7 +1814,7 @@ msgstr "Prvek .LIBPATTERNS „%s“ není vzorem"
msgid "Customs won't export: %s\n"
msgstr "Customs nebude exportovat: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1831,7 +1822,7 @@ msgstr ""
"\n"
"# Implicitní pravidla"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1840,7 +1831,7 @@ msgstr ""
"# Žádná implicitní pravidla."
# FIXME: Pluralize by first %u
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1849,11 +1840,11 @@ msgstr ""
"\n"
"# Implicitních pravidel: %u, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminál."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "CHYBA: num_pattern_rules je chybný! %u != %u"
@@ -2076,44 +2067,44 @@ msgstr ""
"# Statistika hašovací tabulky:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatická"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "výchozí"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "prostředí"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "prostÅ™edí z pÅ™epínaÄe -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "příkazový řádek"
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr "klíÄové slovo „override“"
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (z „%s“, řádek %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# statistika hašovací tabulky pro množinu proměnných:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2121,7 +2112,7 @@ msgstr ""
"\n"
"# Proměnné\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2129,7 +2120,7 @@ msgstr ""
"\n"
"# Hodnoty proměnných specifických pro vzor"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2138,7 +2129,7 @@ msgstr ""
"# Žádné hodnoty proměnných specifických pro vzor."
# FIXME: Pluralize
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2157,77 +2148,82 @@ msgstr "pozor: nedefinovaná proměnná „%.*s“"
msgid "sys$search() failed with %d\n"
msgstr "volání sys$search() selhalo s %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Pozor: Prázdné přesměrování\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr "vnitřní chyba: command_state pro „%s“"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-pozor, možná byste měli znovu povolit obsluhu CTRL-Y z DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "VESTAVÄšNÃ [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "VESTAVÄšNÃ CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "VESTAVÄšNÃ RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "VESTAVÄšNÃ CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Neznámý vestavěný příkaz „%s“\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Chyba, prázdný příkaz\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Vstup přesměrován z %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Chyby přesměrovány do %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Výstup připojen k %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Výstup přesměrován do %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Připojit %.*s a uklidit\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Místo toho se spustí %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Chyba oddělení podprocesu, %d\n"
@@ -2272,6 +2268,21 @@ msgstr ""
"# Obecná vyhledávací cesta (proměnná „VPATH“):\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "vnitÅ™ní chyba: více pÅ™epínaÄů --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "vnitÅ™ní chyba: více pÅ™epínaÄů --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtuální paměť vyÄerpána"
+
+#~ msgid "write error"
+#~ msgstr "chyba zápisu"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "VESTAVÄšNÃ RM %s\n"
+
#~ msgid "# Invalid value in 'update_status' member!"
#~ msgstr "# Neplatná hodnota v Älenu „update_status“!"
diff --git a/po/da.gmo b/po/da.gmo
index 3c6d27e..02fa310 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 94d673d..8640291 100644
--- a/po/da.po
+++ b/po/da.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.82\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2011-01-05 02:26+0100\n"
"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -47,50 +47,50 @@ msgstr "touch: Medlemmet '%s' findes ikke i '%s'"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: Forkert returkode fra ar_member_touch på '%s'"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_module() kunne ikke udtrække modulinformation, status = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() fejlede med status = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "kan ikke åbne biblioteket '%s' for at søge medlemmet '%s'"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Medlem '%s'%s: %ld byte ved %ld (/%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (navnet kan være forkortet)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Tidsstempel %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, modus = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Afbrydelse.\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Arkivmedlemmet '%s' er måske falsk; ikke slettet"
@@ -100,25 +100,25 @@ msgstr "*** [%s] Arkivmedlemmet '%s' er måske falsk; ikke slettet"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Arkivmedlemmet '%s' er måske falsk; ikke slettet"
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Sletter filen '%s'"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Sletter filen '%s'"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# kommandoer der skal køres"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (indbyggede):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (fra '%s', linje %lu):\n"
@@ -200,153 +200,153 @@ msgstr "Rekursiv variabel '%s' refererer (i sidste ende) til sig selv"
msgid "unterminated variable reference"
msgstr "uafsluttet variabelreference"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Kommandoer blev angivet for filen '%s' i %s:%lu,"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Kommandoer for filen '%s' blev fundet ved implicit regelsøgning,"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "men '%s' bliver nu anset som samme fil som '%s'."
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Kommandoer for '%s' vil blive ignoreret til fordel for de for '%s'."
-#: file.c:300
+#: file.c:303
#, fuzzy, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "kan ikke ændre enkelt-kolon '%s' til dobbelt-kolon '%s'"
-#: file.c:305
+#: file.c:309
#, fuzzy, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "kan ikke ændre dobbelt-kolon '%s' til enkelt-kolon '%s'"
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Sletter mellemfil '%s'"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Sletter mellemfiler ...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Aktuel tid"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Tidsstempel i forkert område; bruger %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Aktuel tid"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ikke et mål:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Værdifuld fil (forudsætning for .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Falsk mål (forudsætning for .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Kommandolinjemål."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Et forvalg, MAKEFILES, eller -include/sinclude makefile."
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# Ingen implicitte regler."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Der er udført implicit regelsøgning."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Der er ikke udført implicit regelsøgning."
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Implicit/statisk mønsterstamme: '%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Filen er en mellemfil."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Skaber også:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ændringstid ikke tjekket."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Filen findes ikke."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Filen er meget gammel."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Sidst ændret %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Filen er blevet opdateret."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Filen er ikke blevet opdateret."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Der køres kommandoer nu (DETTE ER EN FEJL)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Kommandoer for afhængigheder køres nu (DETTE ER EN FEJL)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Opdateret med godt resultat."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Behøver opdatering (-q er sat)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Opdatering mislykkedes."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# Ugyldig værdi i 'command_state'-felt!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -354,7 +354,7 @@ msgstr ""
"\n"
"# Filer"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -364,107 +364,107 @@ msgstr ""
"# Statistik for fil-hash-spande:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "ikke-numerisk første argument til 'word'-funktionen"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "første argument til 'word'-functionen skal være større end 0"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "ikke-numerisk første argument til 'wordlist'-funktionen"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "ikke-numerisk andet argument til 'wordlist'-funktionen"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe(): DuplicateHandle(In) mislykkedes (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_open_pipe(): DuplicateHandle(Err) mislykkedes (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() mislykkedes (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() mislykkedes\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Afrydder midlertidig batchfil %s\n"
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "skrivefejl: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "utilstrækkeligt antal argumenter (%d) til funktionen '%s'"
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "ikke implementeret på denne platform: funktion '%s'"
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "uafsluttet kald til funktionen '%s'; manglende '%c'"
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "utilstrækkeligt antal argumenter (%d) til funktionen '%s'"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "utilstrækkeligt antal argumenter (%d) til funktionen '%s'"
#: getopt.c:659
@@ -522,12 +522,12 @@ msgstr "%s: tilvalg '-W %s' er flertydigt\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: tilvalg '-W %s' tillader ikke et argument\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -610,98 +610,98 @@ msgstr "Kigger efter en regel med mellemfil '%s'.\n"
msgid "Cannot create a temporary file\n"
msgstr "Kan ikke oprette midlertidig fil\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (core-fil efterladt)"
-#: job.c:487
+#: job.c:488
#, fuzzy
msgid " (ignored)"
msgstr "[%s] Fejl %d (ignoreret)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (indbyggede):"
-#: job.c:501
+#: job.c:503
#, fuzzy, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "advarsel: tilsidesætter kommandoer for mål '%s'"
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Fejl 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] Fejl %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Fejl 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Venter på uafsluttede job...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Levende underproces %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (eksternt)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Høster tabende underproces %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Høster vindende underproces %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Afrydder midlertidig jobfil %s\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Afrydder midlertidig jobfil %s\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Fjerner underproces %p PID %s%s fra kæde.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Frigav symbol for underproces %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "write jobserver"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() fejlede ved igangsætning af proces (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -710,99 +710,99 @@ msgstr ""
"\n"
"Talte %d argumenter i fejlet igangsætning\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Sætter underproces %p (%s) PID %s%s på kæden.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Fik symbol for underproces %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "read jobs pipe"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch: Arkivet '%s' findes ikke"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%sIngen regel til at skabe mål '%s' som behøves af '%s'%s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "kan ikke gennemtvinge belastningsgrænser på dette styrestystem"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "kan ikke gennemtvinge belastningsgrænse: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "ikke flere filhåndtag: Kunne ikke duplikere stdin\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "ikke flere filhåndtag: Kunne ikke duplikere stdout\n"
-#: job.c:2223
+#: job.c:2278
#, fuzzy
msgid "no more file handles: could not duplicate stderr\n"
msgstr "ikke flere filhåndtag: Kunne ikke duplikere stdin\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Kunne ikke gendanne stdin\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Kunne ikke gendanne stdout\n"
-#: job.c:2254
+#: job.c:2309
#, fuzzy
msgid "Could not restore stderr\n"
msgstr "Kunne ikke gendanne stdin\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make høstede underproces med pid %s, venter endnu på pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Kommando ikke fundet"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s; Skalprogram ikke fundet"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: miljøplads er måske opbrugt"
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL ændret (var '%s', nu '%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Opretter midlertidig jobfil %s\n"
-#: job.c:3148
+#: job.c:3206
#, fuzzy
msgid ""
"Batch file contents:\n"
@@ -811,7 +811,7 @@ msgstr ""
"Indhold af batchfil:%s\n"
"\t%s\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -820,7 +820,7 @@ msgstr ""
"Indhold af batchfil:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (linje %d) Forkert skal-kontekst (!unixy && !batch_mode_shell)\n"
@@ -829,49 +829,49 @@ msgstr "%s (linje %d) Forkert skal-kontekst (!unixy && !batch_mode_shell)\n"
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "Parallelle job (-j) er ikke understøttet på denne platform."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Tilvalg:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignoreret af hensyn til kompabilitet.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Skab alle mål betingelsesløst.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -879,19 +879,19 @@ msgstr ""
" -C KATALOG, --directory=KATALOG\n"
" Skift allerførst til KATALOG.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
" -d Udskriv en masse fejlsøgningsinformation.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAG] Udskriv forskellige slags "
"fejlsøgningsinformation.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -899,13 +899,13 @@ msgstr ""
" -e, --environment-overrides\n"
" Miljøvariable har forrang for makefiler.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=STRENG Evaluér STRENG som en makefil-erklæring.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -913,15 +913,15 @@ msgstr ""
" -f FIL, --file=FIL, --makefile=FIL\n"
" Læs FIL som en makefil.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Udskriv denne besked og afslut.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Ignorér fejl fra kommandoer.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -929,7 +929,7 @@ msgstr ""
" -I KATALOG, --include-dir=KATALOG\n"
" Søg i KATALOG efter inkluderede makefiler.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -937,13 +937,13 @@ msgstr ""
" -j [N], --jobs[=N] Tillad N samtidige job; uendelig mange job "
"uden argument.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Fortsæt selvom nogen mål ikke kan skabes.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -953,7 +953,7 @@ msgstr ""
" Start ikke flere job medmindre belastningen er "
"under N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -961,7 +961,7 @@ msgstr ""
" -L, --check-symlink-times Brug sidste mtime mellem symbolske lænker og "
"mål.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -971,7 +971,7 @@ msgstr ""
" Udfør ikke nogen kommandoer; udskriv dem "
"bare.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -981,17 +981,17 @@ msgstr ""
" Anse FIL som værende meget gammel og genskab "
"den ikke.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Udskriv makes interne database.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1000,20 +1000,20 @@ msgstr ""
"angiver\n"
" om målet er tidssvarende.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Slå de indbyggede implicitte regler fra.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr " -R, --no-builtin-variables Slå de indbyggede variabelværdier fra.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Udskriv ikke kommandoer.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1021,27 +1021,27 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Slår -k fra.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Berør mål i stedet for at genskabe dem.\n"
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr ""
" -d Udskriv en masse fejlsøgningsinformation.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version Udskriv makes versionnummer og afslut.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Udskriv det aktuelle katalog.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1049,7 +1049,7 @@ msgstr ""
" --no-print-directory Slå -w fra, selv hvis det var slået til "
"automatisk.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1057,38 +1057,33 @@ msgstr ""
" -W FIL, --what-if=FIL, --new-file=FIL, --assume-new=FIL\n"
" Anse FIL som værende nyskabt.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
" --warn-undefined-variables Advar når en udefineret variabel bruges.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "en tom streng er ugyldig som filnavn"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "ukendt fejlsøgningsniveau-specifikation '%s'"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "intern fejl: flere '--jobserver-fds'-tilvalg"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Afbrydelse/undtagelse fanget (kode = 0x%lx, addr = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1103,72 +1098,68 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Adgangskrænkelse: skriveoperation på adresse 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Adgangskrænkelse: læseoperation på adresse 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() sætter default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell()-stisøgning sætter default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s er standset i 30 sekunder..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "udført sleep(30). Fortsætter.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "intern fejl: flere '--jobserver-fds'-tilvalg"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
# fd = fildeskriptor
-#: main.c:1547
+#: main.c:1530
#, fuzzy, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Jobserverklient (fd'er %d,%d)\n"
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "intern fejl: ugyldig '--jobserver-fds'-streng '%s'"
# fd = fildeskriptor
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Jobserverklient (fd'er %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "advarsel: tvunget -jN i undermake: slår jobserver tilstand fra."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
@@ -1176,112 +1167,112 @@ msgstr ""
"advarsel: jobserver ikke tilgængelig: bruger -j1. Tilføj '+' til "
"ophavsmakeregel."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefil fra standard-ind er angivet to gange."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (midlertidig fil)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (midlertidig fil)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Parallelle job (-j) er ikke understøttet på denne platform."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Sætter tilbage til enkelt job-tilstand (-j1)."
# fd = fildeskriptor
-#: main.c:2006
+#: main.c:1994
#, fuzzy, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Jobserverklient (fd'er %d,%d)\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "oprettelse af jobledning"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "klargøring af jobserver-ledning"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Symbolske lænker understøttes ikke: Deaktiverer -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Opdaterer makefiler....\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Makefilen '%s' får måske make til at gå i ring; genskaber den ikke.\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Genskabelse af makefilen '%s' mislykkedes."
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "Inkluderet makefil '%s' blev ikke fundet."
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "Makefil '%s' blev ikke fundet."
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Kunne ikke skifte tilbage til det originale katalog."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Udfører igen[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (midlertidig fil): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL indeholder mere end et mål"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Ingen angivne mål og ingen makefil fundet"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Ingen mål"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Opdaterer endemål....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "advarsel: Fejl i urets tid opdaget. Din bygning kan være ukomplet."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Brug: %s [tilvalg] [mål] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1290,7 +1281,7 @@ msgstr ""
"\n"
"Dette program er bygget til %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1299,32 +1290,32 @@ msgstr ""
"\n"
"Dette program er bygget til %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Send fejlmeldinger (på engelsk) til <bug-make@gnu.org>.\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "'-%s%s'-tilvalget kræver et strengargument, der ikke er tomt"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "'-%c'-tilvalget kræver et positivt heltalligt argument"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sBygget til %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sBygget til %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1337,7 +1328,7 @@ msgstr ""
"%sDer gives INGEN GARANTI i den grad, som dette tillades af loven.\n"
# %s giver dato og klokkeslæt
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1347,7 +1338,7 @@ msgstr ""
"# Makedatabase, udskrevet %s"
# %s giver dato og klokkeslæt
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1361,10 +1352,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Ukendt fejl %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "virtuel hukommelse opbrugt"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1386,65 +1373,61 @@ msgstr "Make-adgang"
msgid "Child access"
msgstr "Barneadgang"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: GÃ¥r til et ukendt katalog\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Forlader et ukendt katalog\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: GÃ¥r til katalog '%s'\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Forlader katalog '%s'\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: GÃ¥r til et ukendt katalog\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Forlader et ukendt katalog\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: GÃ¥r til katalog '%s'\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Forlader katalog '%s'\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "skrivefejl: %s"
-#: output.c:517
-msgid "write error"
-msgstr "skrivefejl"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stop.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1453,220 +1436,226 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Læser makefiler...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "Læser makefil '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (ingen standard-endemål)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (søgesti)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (ikke nødvendig)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (ingen ~-udfoldning)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "ugyldig syntaks i betingelse"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "kommandoer begynder før første mål"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "manglende regel før kommandoer"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "manglende adskiller%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (mente du TAB i stedet for 8 mellemrum?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "manglende adskiller%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "manglende målmønster"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "flere målmønstre"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "målmønster indeholder ingen '%%'"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "manglende 'endif'"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tomt variabelnavn"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "overskydende tekst efter 'define'-direktiv"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "manglende 'endef', uafsluttet 'define'"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "overskydende tekst efter 'endef'-direktiv"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "Overskydende tekst efter '%s'-direktiv"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "fremmed '%s'"
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "kun én 'else' per betingelse"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Misdannet målspecifik variabeldefinition"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "der kan ikke defineres forudsætninger i kommandoer"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "blandede implicitte og statiske mønsterregler"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "blandede implicitte og normale regler"
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "mål '%s' passer ikke til målmønstret"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "målfil '%s' har både :- og ::-angivelser"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "target '%s' optræder mere end én gang i samme regel."
-#: read.c:2114
+#: read.c:2122
#, fuzzy, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "advarsel: tilsidesætter kommandoer for mål '%s'"
-#: read.c:2117
+#: read.c:2125
#, fuzzy, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "advarsel: ignorerer gamle kommandoer for mål '%s'"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "blandede implicitte og normale regler"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "advarsel: NUL-tegn set; resten af linjen ignoreres"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "Ingenting at gøre for '%s'."
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "'%s' er tidssvarende."
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "Beskærer fil '%s'.\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sIngen regel til at skabe mål '%s'%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sIngen regel til at skabe mål '%s' som behøves af '%s'%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sIngen regel til at skabe mål '%s'%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "Overvejer målfil '%s'.\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Opdatering af fil '%s' er forgæves prøvet for nylig.\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "Fil '%s' er allerede overvejet.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "Opdaterer stadig fil '%s'.\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Opdatering af fil '%s' afsluttet.\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "Filen '%s' findes ikke.\n"
-#: remake.c:481
+#: remake.c:495
#, fuzzy, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1674,137 +1663,137 @@ msgstr ""
"*** Advarsel: .LOW_RESOLUTION_TIME-fil '%s' har et tidsstempel med høj "
"opløsning"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Fandt en implicit regel for '%s'.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Ingen implicit regel for '%s' fundet.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Bruger standardkommandoer for '%s'.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Cirkulær %s <- %s afhængighed opgivet."
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Afsluttet forudsætningerne for målfil '%s'.\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Forudsætningerne for '%s' er ved at blive skabt.\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Opgiver målfil '%s'.\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Målet '%s' ikke genskabt på grund af fejl."
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Forudsætningen '%s' angiver kun rækkefølgen ift. målet '%s'.\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Forudsætningen '%s' for målet '%s' findes ikke.\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Forudsætningen '%s' er nyere end målet '%s'.\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Forudsætningen '%s' er ældre end målet '%s'.\n"
-#: remake.c:762
+#: remake.c:783
#, fuzzy, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Målet '%s' er med dobbelt-kolon og har ingen forudsætninger.\n"
-#: remake.c:769
+#: remake.c:790
#, fuzzy, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Ingen kommandoer til '%s', og ingen forudsætninger har ændret sig.\n"
-#: remake.c:774
+#: remake.c:795
#, fuzzy, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Skaber '%s' pga. \"always-make\"-flag.\n"
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "Ingen grund til at genskabe målet '%s'"
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr "; bruger VPATH-navnet '%s'"
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "Skal genskabe målet '%s'.\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ignorerer VPATH-navnet '%s'.\n"
-#: remake.c:819
+#: remake.c:840
#, fuzzy, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Kommandoerne for '%s' er ved at blive kørt.\n"
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Genskabelse af målfil '%s' mislykkedes.\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "MÃ¥lfil '%s' genskabt.\n"
-#: remake.c:832
+#: remake.c:853
#, fuzzy, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Med -q trænger målfilen '%s' til at blive genskabt.\n"
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Bruger standardkommandoer for '%s'.\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Advarsel: Ændringstiden for filen '%s' er i fremtiden"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Advarsel: Filen '%s' har ændringstidspunkt %s s i fremtiden"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS-element '%s' er ikke et mønster"
@@ -1817,7 +1806,7 @@ msgstr ".LIBPATTERNS-element '%s' er ikke et mønster"
msgid "Customs won't export: %s\n"
msgstr "Customs kan ikke eksporteres: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1825,7 +1814,7 @@ msgstr ""
"\n"
"# Implicitte regler."
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1833,7 +1822,7 @@ msgstr ""
"\n"
"# Ingen implicitte regler."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1842,11 +1831,11 @@ msgstr ""
"\n"
"# %u implicitte regler, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminale."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "FEJL: forkert num_pattern_rules! %u != %u"
@@ -2062,45 +2051,45 @@ msgstr ""
"# Statistik for fil-hash-spande:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatisk"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "forvalgt"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "miljø"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefil"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "miljø med -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "kommandolinje"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "'override'-direktiv"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (fra '%s', linje %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# Statistik for variabelsæt-hash-spande:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2108,7 +2097,7 @@ msgstr ""
"\n"
"# Variabler\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2116,7 +2105,7 @@ msgstr ""
"\n"
"# Mønsterspecifikke variabelværdier"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2124,7 +2113,7 @@ msgstr ""
"\n"
"# Ingen mønsterspecifikke variabelværdier."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2143,78 +2132,83 @@ msgstr "advarsel: udefineret vaiabel '%.*s'"
msgid "sys$search() failed with %d\n"
msgstr "sys$search() mislykkedes med %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Advarsel: Tom omdirigering\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "intern fejl: '%s' command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-advarsel, du kan blive nødt til at genetablere CTRL-Y-behandling fra DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Ukendt indbygget kommando '%s'\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Fejl, tom kommando\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Omdirigeret inddata from %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Omdirigeret fejl to %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Tilføj uddata til slutningen af %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Omdirigeret uddata til %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Tilføj %.*s og ryd op\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Udfører i stedet %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Fejl ved spawn, %d\n"
@@ -2273,6 +2267,15 @@ msgstr ""
#~ msgid "Invoking builtin recipe to update target `%s'.\n"
#~ msgstr "Kører indbyggede kommandoer for at opdatere målet '%s'.\n"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "intern fejl: flere '--jobserver-fds'-tilvalg"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtuel hukommelse opbrugt"
+
+#~ msgid "write error"
+#~ msgstr "skrivefejl"
+
#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
#~ msgstr "%s # strcache-buffere: %d (* %d B/buffer = %d B)\n"
@@ -2285,6 +2288,9 @@ msgstr ""
#~ "# statistik for strcache-hashtabeller:\n"
#~ "# "
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "Syntaksfejl, stadig inden i '\"'\n"
diff --git a/po/de.gmo b/po/de.gmo
index e6455d1..d3250e2 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 29e285a..1e3b1b3 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,5 +1,7 @@
# German message translation file for GNU make
-# Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
+# Copyright © 1996, 1997, 2002, 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the make package.
+# Philipp Thomas <pth@suse.de> 2013
# Karl Eichwalder <ke@suse.de>, 2002, 2005.
# Alexander Mader <aumader@gmx.net>, 2000.
# Alexander Mader <mader@wias-berlin.de>, 1997.
@@ -12,130 +14,129 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.81-b3\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2005-10-20 20:55+0200\n"
-"Last-Translator: Karl Eichwalder <ke@suse.de>\n"
-"Language-Team: German <de@li.org>\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-11 12:22+0200\n"
+"Last-Translator: Philipp Thomas <pth@suse.de>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ar.c:46
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use unsupported feature: '%s'"
-msgstr "Versuch, eine nicht unterstützte Funktionalität zu verwenden: »%s«"
+msgstr "Versuch, eine nicht unterstützte Funktionalität zu verwenden: „%s“"
#: ar.c:123
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"
+"VMS bietet keine Möglichkeit einer Änderung \n"
+"der Zeitmarken von Archiveinträgen"
#: ar.c:147
-#, fuzzy, c-format
+#, c-format
msgid "touch: Archive '%s' does not exist"
-msgstr "touch: Archiv »%s« existiert nicht"
+msgstr "touch: Archiv „%s“ existiert nicht"
#: ar.c:150
-#, fuzzy, c-format
+#, c-format
msgid "touch: '%s' is not a valid archive"
-msgstr "touch: »%s« ist kein gültiges Archiv"
+msgstr "touch: „%s“ ist kein gültiges Archiv"
#: ar.c:157
-#, fuzzy, c-format
+#, c-format
msgid "touch: Member '%s' does not exist in '%s'"
-msgstr "touch: Eintrag »%s« existiert nicht in »%s«"
+msgstr "touch: Eintrag „%s“ existiert nicht in „%s“"
#: ar.c:164
-#, fuzzy, c-format
+#, 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«"
+"touch: Ungültiger Rückgabewert beim Zugriff \n"
+"von ar_member_touch auf „%s“"
-#: arscan.c:67
-#, fuzzy, c-format
+#: arscan.c:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "»lbr$set_module« konnte keine Modulinformation auslesen; Status = %d"
+msgstr "„lbr$set_module()“ konnte keine Modulinformation auslesen; Status = %d"
-#: arscan.c:173
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "»lbr$ini_control« schlug mit Status = %d fehl"
+msgstr "„lbr$ini_control()“ scheiterte mit Status = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr ""
-"Konnte die Bibliothek »%s« auf der Suche \n"
-"nach dem Eintrag »%s« nicht öffnen"
+"Konnte die Bibliothek „%s“ nicht öffnen um nach Eintrag\n"
+"„%s“ zu suchen"
-#: arscan.c:847
-#, fuzzy, c-format
+#: arscan.c:944
+#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr ""
-"Eintrag »%s« %s: \n"
-"%ld Byte an Position %ld (%ld).\n"
+"Eintrag „%s“ %s: \n"
+"%ld Bytes an Position %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (der Name ist möglicherweise gekürzt)"
+msgstr " (der Name ist möglicherweise abgeschnitten)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " Nutzer-ID = %d, Gruppen-ID = %d, Modus = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
-msgstr ""
+msgstr "Die Regel hat zu viele Zeilen (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Abbruch.\n"
-#: commands.c:630
-#, fuzzy, c-format
+#: commands.c:629
+#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
-msgstr "*** [%s] Archiveintrag »%s« ist wohl falsch; nicht gelöscht"
+msgstr "*** [%s] Archiveintrag „%s“ ist möglicherweise falsch; nicht gelöscht"
#: commands.c:633
-#, fuzzy, c-format
+#, c-format
msgid "*** Archive member '%s' may be bogus; not deleted"
-msgstr "*** Archiveintrag »%s« ist wohl falsch; nicht gelöscht"
+msgstr "*** Archiveintrag „%s“ ist möglicherweise falsch; nicht gelöscht"
-#: commands.c:646
-#, fuzzy, c-format
+#: commands.c:647
+#, c-format
msgid "*** [%s] Deleting file '%s'"
-msgstr "*** [%s] Datei »%s« wird gelöscht"
+msgstr "*** [%s] Datei „%s“ wird gelöscht"
-#: commands.c:648
-#, fuzzy, c-format
+#: commands.c:649
+#, c-format
msgid "*** Deleting file '%s'"
-msgstr "*** Datei »%s« wird gelöscht"
+msgstr "*** Datei „%s“ wird gelöscht"
-#: commands.c:684
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# Auszuführende Kommandos"
+msgstr "# Auszuführende Regel"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (eingebaut):"
-#: commands.c:689
-#, fuzzy, c-format
+#: commands.c:690
+#, c-format
msgid " (from '%s', line %lu):\n"
-msgstr " (aus »%s«, Zeile %lu):\n"
+msgstr " (aus „%s“, Zeile %lu):\n"
#: dir.c:989
msgid ""
@@ -148,43 +149,43 @@ msgstr ""
#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: Konnte den Status nicht feststellen.\n"
+msgstr "# %s: Status konnte nicht festgestellt werden.\n"
#: dir.c:1005
#, 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"
+"# %s ( Schlüssel (key) %s, letzte Änderung (mtime) %d): \n"
+"Konnte nicht geöffnet werden.\n"
#: dir.c:1009
#, 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"
+"# %s (Gerät %d, Inode [%d,%d,%d]): \n"
+"Konnte nicht geöffnet werden.\n"
#: dir.c:1014
#, 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"
+"# %s (Gerät %ld, Inode %ld): \n"
+"Konnte nicht geöffnet werden.\n"
#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (Schlüssel (key) %s, letzte Änderung (mtime) %d): "
+msgstr "# %s (Schlüssel (key) %s, letzte Änderung (mtime) %d): "
#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (Gerät %d, I-Knoten (inode) [%d,%d,%d]): "
+msgstr "# %s (Gerät %d, Inode [%d,%d,%d]): "
#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (Gerät %ld, I-Knoten (inode) %ld): "
+msgstr "# %s (Gerät %ld, Inode %ld): "
#: dir.c:1056 dir.c:1077
msgid "No"
@@ -200,7 +201,7 @@ msgstr "keine"
#: dir.c:1064
msgid " impossibilities"
-msgstr " Unmöglichkeiten"
+msgstr " Unmöglichkeiten"
#: dir.c:1068
msgid " so far."
@@ -209,181 +210,170 @@ msgstr " bisher."
#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " Unmöglichkeiten in %lu Verzeichnissen.\n"
+msgstr " Unmöglichkeiten in %lu Verzeichnissen.\n"
#: expand.c:125
-#, fuzzy, c-format
+#, c-format
msgid "Recursive variable '%s' references itself (eventually)"
-msgstr "Rekursive Variable »%s« referenziert sich (schließlich) selbst"
+msgstr "Rekursive Variable „%s“ referenziert sich (schließlich) selbst"
#: expand.c:269
msgid "unterminated variable reference"
msgstr "Nicht abgeschlossene Variablenreferenz"
-#: file.c:269
-#, fuzzy, c-format
+#: file.c:271
+#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
-msgstr ""
-"Die Kommandos wurden für die Datei »%s« angegeben \n"
-"an der Stelle %s:%lu,"
+msgstr "Die Regel für die Datei „%s“ wurde in %s angegeben:%lu,"
-#: file.c:274
-#, fuzzy, c-format
+#: file.c:276
+#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-"Die Kommandos für die Datei »%s« wurden aufgrund \n"
+"Die Regel für die Datei „%s“ wurden aufgrund \n"
"der Suche nach impliziten Regeln gefunden,"
-#: file.c:277
-#, fuzzy, c-format
+#: file.c:280
+#, 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."
+"aber „%s“ wird jetzt als dieselbe Datei \n"
+"wie „%s“ betrachtet."
-#: file.c:280
-#, fuzzy, c-format
+#: file.c:283
+#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-"Die Kommandos für »%s« werden ignoriert, \n"
-"die für »%s« werden bevorzugt."
+"Die Regel für „%s“ wird ignoriert, \n"
+"die für „%s“ wird bevorzugt."
-#: file.c:300
-#, fuzzy, c-format
+#: file.c:303
+#, 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"
+"„%s“ mit einfachem Doppelpunkt kann nicht in \n"
+"„%s“ mit doppeltem Doppelpunkt geändert werden"
-#: file.c:305
-#, fuzzy, c-format
+#: file.c:309
+#, 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"
+"„%s“ mit doppeltem Doppelpunkt kann nicht in \n"
+"„%s“ mit einfachem Doppelpunkt geändert werden"
-#: file.c:396
-#, fuzzy, c-format
+#: file.c:401
+#, c-format
msgid "*** Deleting intermediate file '%s'"
-msgstr "*** Löschen der Zwischendatei »%s«"
+msgstr "*** Löschen der übergangsweise angelegten Datei „%s“"
-#: file.c:400
-#, fuzzy
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "*** Löschen der Zwischendatei »%s«"
-
-#: file.c:808
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Zeitstempel außerhalb der Reihenfolge; %s wird ersetzt"
+msgstr "Die übergangsweise angelegte Datei „%s“ wird gelöscht...\n"
-#: file.c:809
+#: file.c:811
msgid "Current time"
msgstr "Aktuelle Zeit"
-#: file.c:949
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s: Zeitstempel außerhalb des Gültigkeitsbereichs; %s wird ersetzt"
+
+#: file.c:955
msgid "# Not a target:"
msgstr "# Dies ist kein Ziel:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# Wertvolle Datei (Voraussetzung von .PRECIOUS)."
+msgstr "# Wertvolle Datei (benötigt von .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Vorgetäuschtes Ziel (Voraussetzung von .PHONY)."
+msgstr "# Vorgetäuschtes Ziel (benötigt von .PHONY)."
-#: file.c:958
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
msgstr "# Kommandozeilen-Ziel (target)."
-#: file.c:960
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Ein Standardwert oder MAKEFILES »make«-Steuerdatei."
+msgstr "# Eine standardmässige, MAKEFILES oder -include/sinclude Makedatei."
-#: file.c:962
-#, fuzzy
+#: file.c:968
msgid "# Builtin rule"
-msgstr ""
-"\n"
-"# Keine impliziten Regeln vorhanden."
+msgstr "# Eingebaute Regel"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Suche nach impliziten Regeln wurde durchgeführt."
+msgstr "# Die Suche nach impliziten Regeln wurde durchgeführt."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Suche nach impliziten Regeln wurde nicht durchgeführt."
+msgstr "# Die Suche nach impliziten Regeln wurde nicht durchgeführt."
-#: file.c:967
-#, fuzzy, c-format
+#: file.c:973
+#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
-msgstr "# Ersetzung für implizites/statisches Muster: »%s«\n"
+msgstr "# Wurzel impliziter/statischer Muster: „%s“\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# Datei ist ein Zwischenschritt in den Abhängigkeiten."
+msgstr "# Datei ist ein Zwischenschritt in den Abhängigkeiten."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Erzeugt außerdem:"
+msgstr "# Erzeugt außerdem:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# Zeit der letzten Änderung wurde nicht überprüft."
+msgstr "# Zeit der letzten Änderung wurde nicht überprüft."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Die Datei existiert nicht."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Datei ist sehr alt."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# Zuletzt geändert %s\n"
+msgstr "# Zuletzt geändert %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Datei wurde aktualisiert."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Datei wurde nicht aktualisiert."
-#: file.c:995
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Derzeit laufende Befehle (DAS IST EIN BUG)."
+msgstr "# Derzeit laufende Regel (DAS IST EIN FEHLER)."
-#: file.c:998
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Derzeit laufende Befehle für Abhängigkeiten (DAS IST EIN BUG)."
+msgstr "# Derzeit läuft die Regel für Abhängigkeiten (DAS IST EIN FEHLER)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Erfolgreich aktualisiert."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Eine Aktualisierung ist notwendig (-q ist angegeben)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# Aktualisierung fehlgeschlagen."
+msgstr "# Aktualisierung ist fehlgeschlagen."
-#: file.c:1019
-#, fuzzy
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
-msgstr "# Ungültiger Wert im »command_state«-Eintrag!"
+msgstr "# Ungültiger Wert im „command_state“-Strukturelement!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -391,156 +381,155 @@ msgstr ""
"\n"
"# Dateien"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
+"\n"
+"# Statistik der Hash-Tabelle für Dateien:\n"
+"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
-msgstr ""
+msgstr "%s: Feld „%s“ wird nicht zwischengespeichert: %s"
-#: function.c:742
-#, fuzzy
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
-msgstr "Nicht-numerisches erstes Argument zur »word«-Funktion"
+msgstr "Nicht-numerisches erstes Argument für die „word“-Funktion"
-#: function.c:747
-#, fuzzy
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
-msgstr "Erstes Argument zur »word«-Funktion muss größer als 0 sein"
+msgstr "Das erste Argument für die „word“-Funktion muss größer als 0 sein"
-#: function.c:767
-#, fuzzy
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
-msgstr "Nicht-numerisches erstes Argument für die »wordlist«-Funktion"
+msgstr "Nicht-numerisches erstes Argument für die „wordlist“-Funktion"
-#: function.c:769
-#, fuzzy
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
-msgstr "Nicht-numerisches zweites Argument zur »wordlist«-Funktion"
+msgstr "Nicht-numerisches zweites Argument zur „wordlist“-Funktion"
-#: function.c:1460
-#, fuzzy, c-format
+#: function.c:1499
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "»create_child_process«: »DuplicateHandle(In)« schlug fehl (e=%d)\n"
+msgstr "„windows32_openpipe“: „DuplicateHandle(In)“ schlug fehl (e=%ld)\n"
-#: function.c:1483
-#, fuzzy, c-format
+#: function.c:1523
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "»create_child_process«: »DuplicateHandle(Err)« schlug fehl (e=%d)\n"
+msgstr "„cwindows32_openpipe“: „DuplicateHandle(Err)“ schlug fehl (e=%ld)\n"
-#: function.c:1490
-#, fuzzy, c-format
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "»CreatePipe()« schlug fehl (e=%d)\n"
+msgstr "„CreatePipe()“ schlug fehl (e=%ld)\n"
-#: function.c:1498
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() schlug fehl\n"
+msgstr "windows32_openpipe(): process_init_fd() schlug fehl\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "Lösche temporäre Stapelverarbeitungsdatei %s\n"
+msgstr "Die temporäre Stapelverarbeitungsdatei %s wird gelöscht\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
-msgstr ""
+msgstr "Öffnen: %s: %s"
-#: function.c:2158
-#, fuzzy, c-format
+#: function.c:2203
+#, c-format
msgid "write: %s: %s"
-msgstr "Schreibfehler: %s"
+msgstr "Schreiben: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
-msgstr ""
+msgstr "Unzulässige Dateioperation: %s"
-#: function.c:2279
-#, fuzzy, c-format
+#: function.c:2324
+#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
-msgstr "Zuwenig Argumente (%d) für die Funktion »%s«"
+msgstr "Zuwenig Argumente (%d) für die Funktion „%s“"
-#: function.c:2291
-#, fuzzy, c-format
+#: function.c:2336
+#, c-format
msgid "unimplemented on this platform: function '%s'"
-msgstr "Auf dieser Rechnerkonfiguration nicht implementiert: Funktion »%s«"
+msgstr "Auf dieser Rechnerkonfiguration nicht implementiert: Funktion „%s“"
-#: function.c:2354
-#, fuzzy, c-format
+#: function.c:2399
+#, c-format
msgid "unterminated call to function '%s': missing '%c'"
-msgstr "Nicht beendeter Aufruf der Funktion »%s«: »%c« fehlt"
+msgstr "Nicht beendeter Aufruf der Funktion „%s“: „%c“ fehlt"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Leere Funktionsname\n"
-#: function.c:2548
-#, c-format
-msgid "Invalid function name: %s\n"
-msgstr ""
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Unzulässiger Funktionsname: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
-msgstr ""
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Funktionsname is zu lang: %s\n"
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
-msgstr "Zuwenig Argumente (%d) für die Funktion »%s«"
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "Ungültige minimale Anzahl von Argumenten (%d) für die Funktion „%s“\n"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
-msgstr "Zuwenig Argumente (%d) für die Funktion »%s«"
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "Ungülte maximale Anzahl an Argumenten (%d) für die Funktion „%s“\n"
#: getopt.c:659
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: Option »%s« ist mehrdeutig\n"
+msgstr "%s: Option „%s“ ist mehrdeutig\n"
#: getopt.c:683
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: Option »--%s« erlaubt kein Argument\n"
+msgstr "%s: Option „--%s“ erlaubt kein Argument\n"
#: getopt.c:688
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: Option »%c%s« erlaubt kein Argument\n"
+msgstr "%s: Option „%c%s“ erlaubt kein Argument\n"
#: getopt.c:705 getopt.c:878
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: Option »%s« erfordert ein Argument\n"
+msgstr "%s: Option „%s“ erfordert ein Argument\n"
#: getopt.c:734
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: unerkannte Option »--%s«\n"
+msgstr "%s: unbekannte Option „--%s“\n"
#: getopt.c:738
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: unerkannte Option »%c%s«\n"
+msgstr "%s: unbekannte Option „%c%s“\n"
#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: unerlaubte Option -- %c\n"
+msgstr "%s: unzulässige Option -- %c\n"
#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: ungültige Option -- %c\n"
+msgstr "%s: ungültige Option -- %c\n"
#: getopt.c:797 getopt.c:927
#, c-format
@@ -548,313 +537,324 @@ msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Option erfordert ein Argument -- %c\n"
#: getopt.c:844
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: Option »-W %s« ist mehrdeutig\n"
+msgstr "%s: Option „-W %s“ ist mehrdeutig\n"
#: getopt.c:862
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: Option »-W %s« erlaubt kein Argument\n"
+msgstr "%s: Option „-W %s“ erlaubt kein Argument\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
-msgstr ""
+msgstr "guile: Verarbeite „%s“\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
-msgstr ""
+msgstr "guile: begutachte „%s“\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr ""
+"es können keine %lu Bytes für die Hashtabelle reserviert werden: "
+"Hauptspeicher erschöpft"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr ""
+msgstr "Auslastung=%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
msgid "Rehash=%d, "
-msgstr ""
+msgstr "Rehash=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr ""
+msgstr "Kollisionen=%ld/%ld%.0f%%"
#: implicit.c:38
-#, fuzzy, c-format
+#, c-format
msgid "Looking for an implicit rule for '%s'.\n"
-msgstr "Suche nach einer impliziten Regel für »%s«.\n"
+msgstr "Es wird nach einer impliziten Regel für „%s“ gesucht.\n"
#: implicit.c:54
-#, fuzzy, c-format
+#, 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"
+msgstr ""
+"Es wird nach einer impliziten Regel für Archiveinträge für „%s“ gesucht.\n"
#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Vermeide Rekursion in den impliziten Regeln.\n"
+msgstr "Rekursion in den impliziten Regeln wird vermieden.\n"
#: implicit.c:486
#, c-format
msgid "Stem too long: '%.*s'.\n"
-msgstr ""
+msgstr "Wurzel zu lang: „%.*s“.\n"
#: implicit.c:491
-#, fuzzy, c-format
+#, c-format
msgid "Trying pattern rule with stem '%.*s'.\n"
-msgstr "Versuche Muster-Regel mit Ersetzung »%.*s«.\n"
+msgstr "Muster-Regel mit Wurzel „%.*s“ wird probiert.\n"
#: implicit.c:697
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible rule prerequisite '%s'.\n"
-msgstr "Unmögliche Voraussetzung »%s« abgelehnt.\n"
+msgstr "Unmögliche Voraussetzung „%s“ für eine Regel wird abgelehnt.\n"
#: implicit.c:698
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible implicit prerequisite '%s'.\n"
-msgstr "Unmögliche implizite Voraussetzung »%s« abgelehnt.\n"
+msgstr "Unmögliche implizite Voraussetzung „%s“ wird abgelehnt.\n"
#: implicit.c:711
-#, fuzzy, c-format
+#, c-format
msgid "Trying rule prerequisite '%s'.\n"
-msgstr "Versuche Voraussetzung »%s«.\n"
+msgstr "Regel-Voraussetzung „%s“ wird auprobiert.\n"
#: implicit.c:712
-#, fuzzy, c-format
+#, c-format
msgid "Trying implicit prerequisite '%s'.\n"
-msgstr "Versuche implizite Voraussetzung »%s«.\n"
+msgstr "Implizite Voraussetzung „%s“ wird ausprobiert.\n"
#: implicit.c:751
-#, fuzzy, c-format
+#, c-format
msgid "Found prerequisite '%s' as VPATH '%s'\n"
-msgstr "Fand die Voraussetzung »%s« als VPATH »%s«\n"
+msgstr "Die Voraussetzung „%s“ wurde als VPATH „%s“ gefunden\n"
#: implicit.c:765
-#, fuzzy, c-format
+#, c-format
msgid "Looking for a rule with intermediate file '%s'.\n"
-msgstr "Suche nach einer Regel mit der Zwischendatei »%s«.\n"
+msgstr ""
+"Es wird nach einer Regel mit der übergangsweise verwendeten Datei „%s“ "
+"gesucht.\n"
#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "temporäre Datei kann nicht erzeugt werden\n"
+msgstr "Eine temporäre Datei kann nicht erzeugt werden\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (Speicherauszug erstellt)"
-#: job.c:487
-#, fuzzy
+#: job.c:488
msgid " (ignored)"
-msgstr "[%s] Fehler %d (ignoriert)"
+msgstr " (ignoriert)"
-#: job.c:491 job.c:1994
-#, fuzzy
+#: job.c:492 job.c:2046
msgid "<builtin>"
-msgstr " (eingebaut):"
+msgstr "<eingebaut>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
-msgstr ""
+msgstr "%s: die Regel für Ziel „%s“ scheiterte"
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Fehler 0x%x"
-
-#: job.c:513
-#, fuzzy, c-format
+#: job.c:516 job.c:524
+#, c-format
msgid "%s[%s] Error %d%s"
-msgstr "*** [%s] Fehler %d"
+msgstr "%s[%s] Fehler %d%s"
+
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Fehler 0x%x%s"
-#: job.c:517
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
-msgstr ""
+msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** Warte auf noch nicht beendete Prozesse..."
+msgstr "*** Es wird auf noch nicht beendete Prozesse gewartet..."
-#: job.c:639
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Aktiver Kindprozess 0x%08lx (%s) PID %ld %s\n"
+msgstr "Aktiver Kindprozess %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (entfernt)"
-#: job.c:829
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Sammle erfolglosen Kindprozess 0x%08lx PID %ld %s\n"
+msgstr "Sammle erfolglosen Kindprozess %p PID %s %s\n"
-#: job.c:830
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Sammle erfolgreichen Kindprozess 0x%08lx PID %ld %s\n"
+msgstr "Sammle erfolgreichen Kindprozess %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "Lösche temporäre Stapelverarbeitungsdatei »%s«\n"
+msgstr "Lösche temporäre Stapelverarbeitungsdatei „%s“\n"
-#: job.c:843
-#, fuzzy, c-format
+#: job.c:855
+#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
-msgstr "Lösche temporäre Stapelverarbeitungsdatei »%s«\n"
+msgstr "Löschen der temporären Stapelverarbeitungsdatei „%s“ scheiterte (%d)\n"
-#: job.c:949
-#, fuzzy, c-format
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Entferne Kindprozess 0x%08lx PID %ld %s aus der Kette.\n"
+msgstr "Entferne Kindprozess %p PID %s%s aus der Kette.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "Freigabe der Jobserver-Semaphore: (Fehler %ld: %s)"
-#: job.c:1011 job.c:1025
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Marke des Kindprozesses 0x%08lx PID (%s) freigegeben.\n"
+msgstr "Token des Kindprozesses %p PID (%s) freigegeben.\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
-msgstr "Schreibe Job-Server"
+msgstr "Job-Server wird geschrieben"
-#: job.c:1612 job.c:2332
-#, fuzzy, c-format
+#: job.c:1662 job.c:2387
+#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
-msgstr "»process_easy()« konnte den Prozess nicht starten (e=%d)\n"
+msgstr "„process_easy()“ konnte den Prozess nicht starten (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"%d Argumente gehörten zum fehlgeschlagenen Prozessstart\n"
+"%d Argumente gehörten zum fehlgeschlagenen Prozessstart\n"
-#: job.c:1685
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Nehme Kindprozess 0x%08lx (%s) PID %ld%s in die Kette auf.\n"
+msgstr "Nehme Kindprozess %p (%s) PID %s%s in die Kette auf.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
-msgstr ""
+msgstr "warten auf Semaphore oder Kindprozess: (Fehler %ld: %s)"
-#: job.c:1967
-#, fuzzy, c-format
+#: job.c:2019
+#, c-format
msgid "Obtained token for child %p (%s).\n"
-msgstr "Marke für den Kindprozess 0x%08lx (%s) erhalten.\n"
+msgstr "Token für den Kindprozess %p (%s) erhalten.\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "Lese Pipe für die Jobs"
+msgstr "Lese Pipe für die Jobs"
-#: job.c:2003
-#, fuzzy, c-format
+#: job.c:2056
+#, c-format
msgid "%s: target '%s' does not exist"
-msgstr "touch: Archiv »%s« existiert nicht"
+msgstr "%s: Archiv „%s“ existiert nicht"
-#: job.c:2005
-#, fuzzy, c-format
+#: job.c:2059
+#, c-format
msgid "%s: update target '%s' due to: %s"
-msgstr ""
-"%sKeine Regel vorhanden, um das Target »%s«, \n"
-" benötigt von »%s«, zu erstellen%s"
+msgstr "%s: Ziel „%s“ wird aktualisiert wegen: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
"Auf diesem Betriebssystem kann die Einhaltung\n"
-"der Lastbeschränkung nicht erzwungen werden"
+"der Lastbeschränkung nicht erzwungen werden"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "Lasteinschränkung kann nicht erzwungen werden: "
+msgstr "Lasteinschränkung kann nicht erzwungen werden: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
+"Keine weiteren Dateireferenzen verfügbar: die Standardeingabe konnte\n"
+"nicht dupliziert werden\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
+"Keine weiteren Dateireferenzen verfügbar: die Standardausgabe konnte\n"
+"nicht dupliziert werden\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
+"Keine weiteren Dateireferenzen verfügbar: Standardfehler konnte\n"
+"nicht dupliziert werden\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr ""
+msgstr "Die Standardeingabe konnte nicht wieder hergestellt werden\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "Die Standardausgabe konnte nicht wieder hergestellt werden\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
-msgstr ""
+msgstr "Standardfehler konnte nicht wieder hergestellt werden\n"
-#: job.c:2365
-#, fuzzy, c-format
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-"»make« registrierte die Beendigung des Kindprozesses mit ID %d,\n"
-"wartet jedoch noch auf den Prozess mit ID %d.\n"
+"„make“ registrierte die Beendigung des Kindprozesses mit ID %s,\n"
+"wartet jedoch noch auf den Prozess mit ID %s.\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Kommando nicht gefunden"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Shell-Programm wurde nicht gefunden"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe: der Platz in der Programmumgebung könnte erschöpft sein"
-#: job.c:2709
-#, fuzzy, c-format
+#: job.c:2765
+#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
-msgstr "$SHELL gewechselt (war »%s«, ist »%s«)\n"
+msgstr "$SHELL gewechselt (war „%s“, ist jetzt „%s“)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "Erstelle temporäre Stapelverarbeitungsdatei %s\n"
+msgstr "Temporäre Stapelverarbeitungsdatei %s wird erstellt\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
+"Inhalt der Stapelverarbeitungsdatei:\n"
+"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Inhalt der Stapelverarbeitungsdatei:%s\n"
+"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, 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"
@@ -862,52 +862,51 @@ msgstr "%s (Zeile %d) Falscher Shell-Kontext (!unixy && !batch_mode_shell)\n"
#: job.h:43
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
+"-O[TYPE] (--output-sync[=TYPE]) ist für diese Bau-Aufgabe nicht konfiguriert."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
-msgstr ""
+msgstr "Die globale Symboltabelle konnte nicht geöffnet werden: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
-msgstr ""
+msgstr "Ds geladede Objekt %s wurde nicht als GPL-kompatibel deklariert"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
-msgstr ""
+msgstr "Symbol %s konnte nicht aus %s geladen werden: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
-msgstr ""
+msgstr "Zu ladedender Symbolname ist leer: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
-msgstr ""
+msgstr "Symbol %s wird aus %s geladen\n"
-#: load.c:229
-#, fuzzy
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
-msgstr ""
-"Parallele Abarbeitung (-j) \n"
-"wird auf dieser Plattform nicht unterstützt."
+msgstr "Die Operation „load“ wird auf dieser Plattform nicht unterstützt."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Optionen:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr " -b, -m Aus Kompatibilitätsgründen ignoriert\n"
+msgstr ""
+" -b, -m Wird aus Kompatibilitätsgründen ignoriert\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Alle Ziele ohne Bedingungen erstellen\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -916,135 +915,153 @@ msgstr ""
" In VERZEICHNIS wechseln, bevor etwas getan "
"wird\n"
-#: main.c:320
-#, fuzzy
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr "Viele Informationen zur Fehlersuche ausgeben"
+msgstr ""
+" -d Viele Informationen zur Fehlersuche ausgeben.\n"
-#: main.c:322
-#, fuzzy
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
-msgstr "Verschiedene Arten von Debug-Information ausgeben"
+msgstr ""
+" --debug[=KENNUNGEN] Verschiedene Arten von Debug-Information "
+"ausgeben\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" Umgebungsvariablen überschreiben »make«-"
+" Umgebungsvariablen überschreiben „make“-"
"Steuerdateien\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
+" --eval=ZEIENKETTE ZEICHENKETTE wie einen Makedatei-Eintrag "
+"auswerten.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
" -f DATEI, --file=DATEI, --makefile=DATEI\n"
-" DATEI als »make«-Steuerdatei lesen\n"
+" DATEI als Makefile lesen\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Diese Meldung ausgeben und beenden\n"
-#: main.c:334
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr "Fehler in den Befehlen irgnorieren"
+msgstr " -i, --ignore-errors Fehler in Regeln werden irgnoriert\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I VERZEICHNIS, --include-dir=VERZEICHNIS\n"
-" VERZEICHNIS nach inkludierten\n"
-" »make«-Steuerdateien durchsuchen\n"
+" VERZEICHNIS nach eingebundenen\n"
+" Makedateien durchsuchen\n"
-#: main.c:339
-#, fuzzy
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-"N Jobs gleichzeitig erlauben; unbegrenzte Anzahl \n"
-"von Jobs ohne Argument"
+" -j [N], --jobs[=N] N Jobs gleichzeitig erlauben; unbegrenzte "
+"Anzahl \n"
+" von Jobs ohne Argument\n"
-#: main.c:341
-#, fuzzy
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
-msgstr "Weiterlaufen, auch wenn einige Targets nicht erzeugt werden konnten"
+msgstr ""
+" -k, --keep-going Weiterlaufen, auch wenn einige Targets nicht\n"
+" erzeugt werden konnten\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""
+" -l [N], --load-average[=N], --max-load[=N]\n"
+" Keine Jobs starten bevor die Auslastung nicht "
+"unter N ist.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
+" -L, --check-symlink-times Den neueste Modifizierungszeit zwischen\n"
+" symbolischer Verküpfung und dem Ziel "
+"verwenden.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
+" -n, --just-print, --dry-run, --recon\n"
+" Keine Regel ausführen, nur ausgeben.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
"it.\n"
msgstr ""
+" -o DATEI, --old-file=DATEI, --assume-old=DATEI\n"
+" DATEI als sehr alt ansehen und nicht neu "
+"erzeugen.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
+" -O[TYP], --output-sync[=TYP]\n"
+" Synchronisiert die Ausgabe paralleler Jobs per "
+"TYP.\n"
-#: main.c:357
-#, fuzzy
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
-msgstr "Die interne Datenbank von »make« ausgeben"
+msgstr ""
+" -p, --print-data-base Die interne Datenbank von „make“ ausgeben\n"
-#: main.c:359
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-"Keine Befehle ausführen; der Exit-Status gibt an, ob die Dateien\n"
-"aktuell sind"
+" -q, --question Keine Regel ausführen; der Exit-Status gibt "
+"an, ob die Dateien\n"
+" aktuell sind\n"
-#: main.c:361
-#, fuzzy
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr "Die eingebauten impliziten Regeln deaktivieren"
+msgstr ""
+" -r, --no-builtin-rules Die eingebauten impliziten Regeln "
+"deaktivieren.\n"
-#: main.c:363
-#, fuzzy
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
-msgstr "Die eingebauten Variablenbelegungen deaktivieren"
+msgstr ""
+" -R, --no-builtin-variables Die eingebauten Variablenbelegungen "
+"deaktivieren.\n"
-#: main.c:365
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet Befehle nicht ausgeben.\n"
+msgstr " -s, --silent, --quiet Regeln nicht ausgeben.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1052,77 +1069,75 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" -k abschalten.\n"
-#: main.c:370
-#, fuzzy
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-"Die Targets werden nur als aktualisiert markiert,\n"
-"nicht tatsächlich erneuert"
+" -t, --touch Die Ziele werden nur als aktualisiert "
+"markiert,\n"
+" nicht tatsächlich erneuert\n"
-#: main.c:372
-#, fuzzy
+#: main.c:373
msgid " --trace Print tracing information.\n"
-msgstr "Viele Informationen zur Fehlersuche ausgeben"
+msgstr ""
+" --trace Viele Informationen zur Fehlersuche ausgeben\n"
-#: main.c:374
-#, fuzzy
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr "Die Versionsnummer von »make« ausgeben und beenden"
+msgstr ""
+" -v, --version Die Versionsnummer von „make“ ausgeben und "
+"Programm beenden\n"
-#: main.c:376
-#, fuzzy
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr "Das aktuelle Verzeichnis ausgeben"
+msgstr " -w, --print-directory Das aktuelle Verzeichnis ausgeben\n"
-#: main.c:378
-#, fuzzy
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
-msgstr "-w abschalten, selbst wenn es implizit eingeschaltet wurde"
+msgstr ""
+" --no-print-directory -w abschalten, selbst wenn es implizit "
+"eingeschaltet wurde.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
msgstr ""
+" -W DATEI, --what-if=DATEI, --new-file=DATEI, --assume-new=DATEI\n"
+" DATEI als unendlich neu erachten.\n"
-#: main.c:383
-#, fuzzy
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-"Eine Warnung ausgeben, wenn eine undefinierte Variable referenziert wird"
+" --warn-undefined-variables Eine Warnung ausgeben, wenn eine undefinierte\n"
+" Variable referenziert wird.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "Eine leere Zeichenkette ist als Dateiname ungültig"
+msgstr "Eine leere Zeichenkette ist als Dateiname ungültig"
-#: main.c:734
-#, fuzzy, c-format
+#: main.c:737
+#, c-format
msgid "unknown debug level specification '%s'"
-msgstr "Unbekanntes Debug-Level angegeben »%s«"
+msgstr "Unbekannte Debug-Level angegeben „%s“"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
-msgstr ""
+msgstr "unbekannter Typ von Ausgabesynchronisierung „%s“"
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "Interner Fehler: mehrfache --jobserver-fds Optionen"
-
-#: main.c:848
-#, fuzzy, c-format
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-"%s: bekam Unterbrechung/Ausnahme signalisiert (Kode = 0x%x, Adr = 0x%x)\n"
+"%s: bekam Unterbrechung/Ausnahme signalisiert (Kode = 0x%lx, Adr = 0x%p)\n"
-#: main.c:855
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -1133,233 +1148,237 @@ msgstr ""
"\n"
"Das Programm %s rief einen Ausnahmefilter auf, \n"
"der nicht bearbeitet wurde\n"
-"ExceptionCode = %x\n"
-"ExceptionFlags = %x\n"
-"ExceptionAddress = %x\n"
+"ExceptionCode = %lx\n"
+"ExceptionFlags = %lx\n"
+"ExceptionAddress = 0x%p\n"
-#: main.c:863
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Zugriffsverletzung: Schreiboperation an Adresse %x\n"
+msgstr "Zugriffsverletzung: Schreiboperation an Adresse 0x%p\n"
-#: main.c:864
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Zugriffsverletzung: Leseoperation an Adresse %x\n"
+msgstr "Zugriffsverletzung: Leseoperation an Adresse 0x%p\n"
-#: main.c:940 main.c:955
-#, fuzzy, c-format
+#: main.c:920 main.c:935
+#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell setzt default_shell = %s\n"
-#: main.c:1008
-#, fuzzy, c-format
+#: main.c:988
+#, 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"
+msgstr "find_and_set_shell Suche im Pfad setzte default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%s setzt für 30 Sekunden aus..."
+msgstr "%s setzt für 30 Sekunden aus..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "»sleep(30)« ist abgeschlossen. Es geht weiter.\n"
-
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "Interner Fehler: mehrfache --jobserver-fds Optionen"
+msgstr "„sleep(30)“ ist abgeschlossen. Es geht weiter.\n"
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
+"interner Fehler: die Semaphore „%s“ des Jobservers kann nicht geöffnet "
+"werden:\n"
+" (Fehler %ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
-msgstr ""
+msgstr "Jobserver-Klient (Semaphore %s)\n"
-#: main.c:1551
-#, fuzzy, c-format
+#: main.c:1534
+#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
-msgstr "Interner Fehler: Falsche --jobserver-fds Angabe »%s«"
+msgstr "Interner Fehler: Falsche --jobserver-fds Angabe „%s“"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "Jobserver-Klient (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-"Warnung: -jN in »make«-Verarbeitungszweig erzwungen: \n"
-"Jobserver-Modus nicht verfügbar."
+"Warnung: -jN in „make“-Verarbeitungszweig erzwungen: \n"
+"Jobserver-Modus nicht verfügbar."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "Jobserver verdoppelt"
-#: main.c:1586
-#, fuzzy
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"Warnung: Kein Jobserver verfügbar: -j1 wird gesetzt. »+« zur Ursprungsregel\n"
-"hinzufügen."
+"Warnung: Kein Jobserver verfügbar: -j1 wird gesetzt. Fügen Sie der "
+"Ursprungsregel\n"
+"„+“ hinzu."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
-msgstr "Das Makefile wurde zweimal über die Standardeingabe angegeben."
+msgstr "Das Makefile wurde zweimal über die Standardeingabe angegeben."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
-msgstr "fopen (temporäre Datei)"
+msgstr "fopen (temporäre Datei)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
-msgstr "fwrite (temporäre Datei)"
+msgstr "fwrite (temporäre Datei)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr ""
"Parallele Abarbeitung (-j) \n"
-"wird auf dieser Plattform nicht unterstützt."
+"wird auf dieser Plattform nicht unterstützt."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Umstellung auf Einzel-Job-Verarbeitung (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
-msgstr ""
+msgstr "Zeitschlitze der Jobservers auf %d begranzt\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "Jobserver-Semaphore wird erzeugt: (Fehler %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
-msgstr "Öffnen der Pipe für die Jobs"
+msgstr "Öffnen der Pipe für die Jobs"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "Initialisierung der Pipe für den jobserver"
+msgstr "Initialisierung der Pipe für den Jobserver"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr "Symbolische Links sind nicht unterstützt: -L wird abgeschaltet."
+msgstr ""
+"Symbolische Verknfungen werdfen nicht unterstützt: -L wird abgeschaltet."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "Aktualisiere »make«-Steuerdateien...\n"
+msgstr "Aktualisiere „make“-Steuerdateien...\n"
-#: main.c:2174
-#, fuzzy, c-format
+#: main.c:2158
+#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
-"»make«-Steuerdatei »%s« könnte eine Schleife enthalten; \n"
+"„make“-Steuerdatei „%s“ könnte eine Schleife enthalten; \n"
"es wird nicht neu erzeugt.\n"
-#: main.c:2253
-#, fuzzy, c-format
+#: main.c:2237
+#, c-format
msgid "Failed to remake makefile '%s'."
-msgstr "Konnte die »make«-Steuerdatei »%s« nicht neu erstellen."
+msgstr "Konnte die „make“-Steuerdatei „%s“ nicht neu erstellen."
-#: main.c:2270
-#, fuzzy, c-format
+#: main.c:2257
+#, c-format
msgid "Included makefile '%s' was not found."
-msgstr "Die eingebundene »make«-Steuerdatei »%s« wurde nicht gefunden."
+msgstr "Die eingebundene „make“-Steuerdatei „%s“ wurde nicht gefunden."
-#: main.c:2275
-#, fuzzy, c-format
+#: main.c:2262
+#, c-format
msgid "Makefile '%s' was not found"
-msgstr "Die »make«-Steuerdatei »%s« wurde nicht gefunden"
+msgstr "Die „make“-Steuerdatei „%s“ wurde nicht gefunden"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "Konnte nicht in das ursprüngliche Verzeichnis wechseln."
+msgstr "Konnte nicht in das ursprüngliche Verzeichnis wechseln."
-#: main.c:2354
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "Erneute Ausführung:"
+msgstr "Erneute Ausführung[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (temporäre Datei): "
+msgstr "unlink (temporäre Datei): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL beinhaltet mehr als ein Ziel"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Keine Targets angegeben und keine »make«-Steuerdatei gefunden"
+msgstr "Es wurden keine Ziele angegeben und keine „make“-Steuerdatei gefunden"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
-msgstr "Keine Targets"
+msgstr "Keine Ziele"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Aktualisieren der Ziele...\n"
-#: main.c:2550
+#: main.c:2541
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."
+" Der Bauauftrag könnte unvollständig sein."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "Syntax: %s [Optionen] [Target] ...\n"
+msgstr "Aufruf: %s [Optionen] [Ziele] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
+"\n"
+"Diese Programm wurde für %s gebaut\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
+"\n"
+"Diese Programm wurde für %s (%s) gebaut\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Fehlermeldungen (auf Englisch) an <bug-make@gnu.org> senden.\n"
-#: main.c:2810
-#, fuzzy, c-format
+#: main.c:2807
+#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
-msgstr "Die Option »-%c« verlangt eine positive ganze Zahl als Argument"
+msgstr "Die Option „%s%s“ verlangt eine nicht-leere Zeichenkette als Argument"
-#: main.c:2864
-#, fuzzy, c-format
+#: main.c:2871
+#, c-format
msgid "the '-%c' option requires a positive integer argument"
-msgstr "Die Option »-%c« verlangt eine positive ganze Zahl als Argument"
+msgstr "Die Option „-%c“ verlangt eine positive ganze Zahl als Argument"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
+msgstr "%sGebaut für %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
+msgstr "%sGebaut für %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1367,38 +1386,39 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLizenz GPLv3+: GNU GPL Version 3 oder später <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sDies ist freie Software: Sie können sie nach Belieben ändern und weiter "
+"verteilen.\n"
+"%sSoweit es die Gesetze erlauben gibt es KEINE GARANTIE.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# »Make«-Datenbank; erstellt am: %s"
+"# „Make“-Datenbank; erstellt am: %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# »Make«-Datenbank; beendet am: %s\n"
+"# „Make“-Datenbank beendet am: %s\n"
#: misc.c:201
#, c-format
msgid "Unknown error %d"
msgstr "Unbekannter Fehler %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "Der virtuelle Speicher ist verbraucht"
-
#: misc.c:522
-#, fuzzy, c-format
+#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: Nutzer %lu (tatsächlich %lu), Gruppe %lu (tatsächlich %lu)\n"
+msgstr "%s: Nutzer %lu (tatsächlich %lu), Gruppe %lu (tatsächlich %lu)\n"
#: misc.c:543
msgid "Initialized access"
@@ -1406,470 +1426,464 @@ msgstr "Initialisierter Zugriff"
#: misc.c:622
msgid "User access"
-msgstr ""
+msgstr "Zugriff durch Benutzer"
#: misc.c:670
msgid "Make access"
-msgstr ""
+msgstr "Zugriff durch „make“"
#: misc.c:704
msgid "Child access"
-msgstr ""
+msgstr "Kindprozess"
-#: output.c:128
-#, fuzzy, c-format
+#: output.c:104
+#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "ein unbekanntes Verzeichnis"
+msgstr "%s: ein unbekanntes Verzeichnis wird betreten\n"
-#: output.c:130
-#, fuzzy, c-format
+#: output.c:106
+#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "ein unbekanntes Verzeichnis"
+msgstr "%s: ein unbekanntes Verzeichnis wird verlassen\n"
# !!! Attention: concatenated with the previous messages!!!
-#: output.c:133
-#, fuzzy, c-format
+#: output.c:109
+#, c-format
msgid "%s: Entering directory '%s'\n"
-msgstr "»%s«\n"
+msgstr "%s: Verzeichnis „%s“ wird betreten\n"
# !!! Attention: concatenated with the previous messages!!!
-#: output.c:135
-#, fuzzy, c-format
+#: output.c:111
+#, c-format
msgid "%s: Leaving directory '%s'\n"
-msgstr "»%s«\n"
+msgstr "%s: Verzeichnis „%s“ wird verlassen\n"
-#: output.c:139
-#, fuzzy, c-format
+#: output.c:115
+#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "ein unbekanntes Verzeichnis"
+msgstr "%s[%u]: Ein unbekanntes Verzeichnis wird betreten\n"
-#: output.c:141
-#, fuzzy, c-format
+#: output.c:117
+#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "ein unbekanntes Verzeichnis"
+msgstr "%s[%u]: Ein unbekanntes Verzeichnis wird verlassen\n"
# !!! Attention: concatenated with the previous messages!!!
-#: output.c:144
-#, fuzzy, c-format
+#: output.c:120
+#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
-msgstr "»%s«\n"
+msgstr "%s[%u]: Verzeichnis „%s“ wird betreten\n"
# !!! Attention: concatenated with the previous messages!!!
-#: output.c:146
-#, fuzzy, c-format
+#: output.c:122
+#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
-msgstr "»%s«\n"
+msgstr "%s[%u]: Verzeichnis „%s“ wird verlassen\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "Schreibfehler: %s"
-#: output.c:517
-msgid "write error"
-msgstr "Schreibfehler"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Schluss.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
-msgstr ""
+msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "»make«-Steuerdateien werden gelesen...\n"
+msgstr "„make“-Steuerdateien werden gelesen...\n"
-#: read.c:333
-#, fuzzy, c-format
+#: read.c:335
+#, c-format
msgid "Reading makefile '%s'"
-msgstr "»make«-Steuerdatei »%s« wird gelesen"
+msgstr "„make“-Steuerdatei „%s“ wird gelesen"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (kein Standard-Ziel)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (Suchpfad)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (macht nichts)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (keine ~-Auflösung)"
+msgstr " (keine ~-Auflösung)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
-msgstr ""
+msgstr "UTF-8 BOM in makefile „%s“ wird übersprungen\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
-msgstr ""
+msgstr "UTF-8 BOM im makefile-Puffer wird übersprungen\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "Ungültige Syntax in der Bedingung"
+msgstr "Ungültige Syntax in der Bedingung"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
-msgstr ""
+msgstr "%s: konnte nicht geladen werden"
-#: read.c:987
-#, fuzzy
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "Befehle beginnen vor dem ersten Ziel"
+msgstr "Rezept beginnt vor dem ersten Ziel"
-#: read.c:1036
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "Es fehlt eine Regel vor den Befehlen"
-
-# Untranslatable because of weird %s usage -ke-
-#: read.c:1123
-#, fuzzy, c-format
-msgid "missing separator%s"
-msgstr "Fehlendes Trennzeichen%s"
+msgstr "Es fehlt eine Regel vor der Regel"
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (Meinten Sie TAB anstelle von 8 Leerzeichen?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "Fehlende Trennung%s"
+
+#: read.c:1270
msgid "missing target pattern"
-msgstr "Es fehlt ein Target-Muster"
+msgstr "Es fehlt ein Ziel-Muster"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "Mehrfache Target-Muster"
+msgstr "Mehrfache Ziel-Muster"
-#: read.c:1269
-#, fuzzy, c-format
+#: read.c:1276
+#, c-format
msgid "target pattern contains no '%%'"
-msgstr "Target-Muster enthält kein »%%«"
+msgstr "Ziel-Muster enthält kein „%%“"
-#: read.c:1391
-#, fuzzy
+#: read.c:1398
msgid "missing 'endif'"
-msgstr "Fehlendes »endif«"
+msgstr "Fehlendes „endif“"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "Leerer Variablenname"
-#: read.c:1465
-#, fuzzy
+#: read.c:1471
msgid "extraneous text after 'define' directive"
-msgstr "Überflüssiger Text nach einer »endef«-Anweisung"
+msgstr "Überflüssiger Text nach einer „define“-Anweisung"
-#: read.c:1490
-#, fuzzy
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
-msgstr "Fehlendes »endef«, nicht abgeschlossenes »define«"
+msgstr "Fehlendes „endef“, nicht abgeschlossenes „define“"
-#: read.c:1518
-#, fuzzy
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
-msgstr "Überflüssiger Text nach einer »endef«-Anweisung"
+msgstr "Überflüssiger Text nach einer „endef“-Anweisung"
-#: read.c:1589
-#, fuzzy, c-format
+#: read.c:1595
+#, c-format
msgid "extraneous text after '%s' directive"
-msgstr "Überflüssiger Text nach einer »%s«-Anweisung"
+msgstr "Überflüssiger Text nach einer „%s“-Anweisung"
-#: read.c:1598 read.c:1612
-#, fuzzy, c-format
+#: read.c:1596
+#, c-format
msgid "extraneous '%s'"
-msgstr "Überflüssiges »%s«"
+msgstr "Überflüssiges „%s“"
-#: read.c:1617
-#, fuzzy
+#: read.c:1624
msgid "only one 'else' per conditional"
-msgstr "Es ist nur ein »else« je Verzweigung erlaubt"
+msgstr "Es ist nur ein „else“ pro Bedingung erlaubt"
-#: read.c:1892
-#, fuzzy
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Falsche Ziel-bezogene Variablendefinition"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "Voraussetzungen können nicht in Regeln definiert werden"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "Implizite und statische Muster-Regel vermischt"
+msgstr "Implizite und statische Muster-Regeln wurden vermischt"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "Implizite und normale Regel vermischt"
+msgstr "Implizite und normale Regeln wurden vermischt"
-#: read.c:2084
-#, fuzzy, c-format
+#: read.c:2091
+#, c-format
msgid "target '%s' doesn't match the target pattern"
-msgstr "Target »%s« passt nicht zum Target-Muster"
+msgstr "Target „%s“ passt nicht zum Ziel-Muster"
-#: read.c:2099 read.c:2144
-#, fuzzy, c-format
+#: read.c:2106 read.c:2152
+#, c-format
msgid "target file '%s' has both : and :: entries"
-msgstr "Das Ziel »%s« enthält sowohl »:«- als auch »::«-Einträge"
+msgstr "Das Ziel „%s“ enthält sowohl „:“- als auch „::“-Einträge"
-#: read.c:2105
-#, fuzzy, c-format
+#: read.c:2112
+#, c-format
msgid "target '%s' given more than once in the same rule"
-msgstr "Das Ziel »%s« steht mehrfach in derselben Regel."
+msgstr "Das Ziel „%s“ steht mehrfach in derselben Regel."
-#: read.c:2114
-#, fuzzy, c-format
+#: read.c:2122
+#, c-format
msgid "warning: overriding recipe for target '%s'"
-msgstr "Warnung: Die Befehle für das Ziel »%s« werden überschrieben"
+msgstr "Warnung: Die Befehle für das Ziel „%s“ werden überschrieben"
-#: read.c:2117
-#, fuzzy, c-format
+#: read.c:2125
+#, c-format
msgid "warning: ignoring old recipe for target '%s'"
-msgstr "Warnung: Alte Befehle für das Ziel »%s« werden ignoriert"
+msgstr "Warnung: Alte Befehle für das Ziel „%s“ werden ignoriert"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "Implizite und normale Regeln wurden vermischt"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "Warnung: NUL-Zeichen gelesen; der Rest der Zeile wird ignoriert"
+msgstr "Warnung: NULL-Zeichen gelesen; der Rest der Zeile wird ignoriert"
-#: remake.c:232
-#, fuzzy, c-format
+#: remake.c:230
+#, c-format
msgid "Nothing to be done for '%s'."
-msgstr "Für das Ziel »%s« ist nichts zu tun."
+msgstr "Für das Ziel „%s“ ist nichts zu tun."
-#: remake.c:233
-#, fuzzy, c-format
+#: remake.c:231
+#, c-format
msgid "'%s' is up to date."
-msgstr "»%s« ist bereits aktualisiert."
+msgstr "„%s“ ist bereits aktuell."
-#: remake.c:305
-#, fuzzy, c-format
+#: remake.c:303
+#, c-format
msgid "Pruning file '%s'.\n"
-msgstr "Die Datei »%s« wird \"gestutzt\" (der Abhängigkeitsgraph).\n"
+msgstr "Die Datei „%s“ wird \"gestutzt\" (der Abhängigkeitsgraph).\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sKeine Regel, um »%s« zu erstellen%s"
-
-#: remake.c:379
-#, fuzzy, c-format
+#: remake.c:390 remake.c:393
+#, 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"
+"%sKeine Regel vorhanden, um das Ziel „%s“, \n"
+" benötigt von „%s“, zu erstellen%s"
-#: remake.c:413
-#, fuzzy, c-format
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sKeine Regel, um „%s“ zu erstellen%s"
+
+#: remake.c:426
+#, c-format
msgid "Considering target file '%s'.\n"
-msgstr "Betrachte Target-Datei »%s«.\n"
+msgstr "Betrachte Ziel-Datei „%s“.\n"
-#: remake.c:420
-#, fuzzy, c-format
+#: remake.c:433
+#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
-"Versuchte gerade die Datei »%s« zu aktualisieren, \n"
+"Es wurde kürzlich versucht, die Datei „%s“ zu aktualisieren,\n"
"dies schlug aber fehl.\n"
-#: remake.c:432
-#, fuzzy, c-format
+#: remake.c:445
+#, c-format
msgid "File '%s' was considered already.\n"
-msgstr "Die Datei »%s« wurde bereits betrachtet.\n"
+msgstr "Die Datei „%s“ wurde bereits betrachtet.\n"
-#: remake.c:442
-#, fuzzy, c-format
+#: remake.c:455
+#, c-format
msgid "Still updating file '%s'.\n"
-msgstr "Die Datei »%s« wird immer noch aktualisiert.\n"
+msgstr "Die Datei „%s“ wird immer noch aktualisiert.\n"
-#: remake.c:445
-#, fuzzy, c-format
+#: remake.c:458
+#, c-format
msgid "Finished updating file '%s'.\n"
-msgstr "Aktualisierung der Datei »%s« beendet.\n"
+msgstr "Aktualisierung der Datei „%s“ beendet.\n"
-#: remake.c:474
-#, fuzzy, c-format
+#: remake.c:487
+#, c-format
msgid "File '%s' does not exist.\n"
-msgstr "Die Datei »%s« existiert nicht.\n"
+msgstr "Die Datei „%s“ existiert nicht.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
+"*** Warnung: mit .LOW_RESOLUTION_TIME gekennzeichnete Datei „%s“ hat einen\n"
+" hochaufgelösten Zeitstempel"
-#: remake.c:494 remake.c:1019
-#, fuzzy, c-format
+#: remake.c:508 remake.c:1040
+#, c-format
msgid "Found an implicit rule for '%s'.\n"
-msgstr "Eine implizite Regel für »%s« gefunden.\n"
+msgstr "Eine implizite Regel für „%s“ wurde gefunden.\n"
-#: remake.c:496 remake.c:1021
-#, fuzzy, c-format
+#: remake.c:510 remake.c:1042
+#, c-format
msgid "No implicit rule found for '%s'.\n"
-msgstr "Keine implizite Regel für »%s« gefunden.\n"
+msgstr "Keine implizite Regel für „%s“ gefunden.\n"
-#: remake.c:502
-#, fuzzy, c-format
+#: remake.c:516
+#, c-format
msgid "Using default recipe for '%s'.\n"
-msgstr "Verwende die Standard-Kommandos für »%s«.\n"
+msgstr "Die Standard-Regel für „%s“ wird verwendet.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "Zirkuläre Datei %s <- %s Abhängigkeit wird nicht verwendet."
+msgstr "Zirkuläre Abhängigkeit %s <- %s wird nicht verwendet."
-#: remake.c:655
-#, fuzzy, c-format
+#: remake.c:675
+#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
-msgstr "Fertig mit den Voraussetzungen für die Ziel-Datei »%s«.\n"
+msgstr "Fertig mit den Voraussetzungen für die Ziel-Datei „%s“.\n"
-#: remake.c:661
-#, fuzzy, c-format
+#: remake.c:681
+#, c-format
msgid "The prerequisites of '%s' are being made.\n"
-msgstr "Die Voraussetzungen von »%s« werden fertiggestellt.\n"
+msgstr "Die Voraussetzungen von „%s“ werden fertiggestellt.\n"
-#: remake.c:674
-#, fuzzy, c-format
+#: remake.c:695
+#, c-format
msgid "Giving up on target file '%s'.\n"
-msgstr "Die Arbeit an der Target-Datei »%s« wurde aufgegeben.\n"
+msgstr "Die Arbeit an der Target-Datei „%s“ wurde aufgegeben.\n"
-#: remake.c:679
-#, fuzzy, c-format
+#: remake.c:700
+#, c-format
msgid "Target '%s' not remade because of errors."
-msgstr "Das Target »%s« wurde wegen Fehlern nicht aktualisiert."
+msgstr "Das Ziel „%s“ wurde wegen Fehlern nicht aktualisiert."
-#: remake.c:731
-#, fuzzy, c-format
+#: remake.c:752
+#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
-msgstr "Die Datei »%s« ist älter als das davon abhängige Ziel »%s«.\n"
+msgstr "Die Datei „%s“ ist älter als das davon abhängige Ziel „%s“.\n"
-#: remake.c:736
-#, fuzzy, c-format
+#: remake.c:757
+#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr ""
-"Die Datei »%s«, Voraussetzung für das Ziel »%s«, \n"
+"Die Datei „%s“, Voraussetzung für das Ziel „%s“, \n"
"existiert nicht.\n"
-#: remake.c:741
-#, fuzzy, c-format
+#: remake.c:762
+#, 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"
+msgstr "Die Datei „%s“ ist jünger als das davon abhängige Ziel „%s“.\n"
-#: remake.c:744
-#, fuzzy, c-format
+#: remake.c:765
+#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
-msgstr "Die Datei »%s« ist älter als das davon abhängige Ziel »%s«.\n"
+msgstr "Die Datei „%s“ ist älter als das davon abhängige Ziel „%s“.\n"
-#: remake.c:762
-#, fuzzy, c-format
+#: remake.c:783
+#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-"Das Ziel »%s« hat einen doppelten Doppelpunkt \n"
+"Das Ziel „%s“ hat einen doppelten Doppelpunkt \n"
"und keine Voraussetzungen.\n"
-#: remake.c:769
-#, fuzzy, c-format
+#: remake.c:790
+#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-"Kein Kommando für »%s« und keine Voraussetzung \n"
-"wurde tatsächlich verändert.\n"
+"Kein Kommando für „%s“ und keine Voraussetzung \n"
+"wurde tatsächlich verändert.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
-msgstr ""
+msgstr "„%s“ wird aufgrund der Keinnzeichnung als always-make erzeugt.\n"
-#: remake.c:782
-#, fuzzy, c-format
+#: remake.c:803
+#, c-format
msgid "No need to remake target '%s'"
-msgstr "Es ist nicht notwendig, das Target »%s« neu zu erzeugen"
+msgstr "Es ist nicht notwendig, das Ziel „%s“ neu zu erzeugen"
-#: remake.c:784
-#, fuzzy, c-format
+#: remake.c:805
+#, c-format
msgid "; using VPATH name '%s'"
-msgstr "; benutze VPATH-Name »%s«"
+msgstr "; benutze VPATH-Name „%s“"
-#: remake.c:804
-#, fuzzy, c-format
+#: remake.c:825
+#, c-format
msgid "Must remake target '%s'.\n"
-msgstr "Das Target »%s« muss neu erzeugt werden.\n"
+msgstr "Das Target „%s“ muss neu erzeugt werden.\n"
-#: remake.c:810
-#, fuzzy, c-format
+#: remake.c:831
+#, c-format
msgid " Ignoring VPATH name '%s'.\n"
-msgstr " Ignoriere VPATH-Name »%s«.\n"
+msgstr " Der VPATH-Name „%s“ wird ignoriert.\n"
-#: remake.c:819
-#, fuzzy, c-format
+#: remake.c:840
+#, c-format
msgid "Recipe of '%s' is being run.\n"
-msgstr "Die Kommandos von »%s« werden gerade ausgeführt.\n"
+msgstr "Die Regel für „%s“ wird gerade ausgeführt.\n"
-#: remake.c:826
-#, fuzzy, c-format
+#: remake.c:847
+#, c-format
msgid "Failed to remake target file '%s'.\n"
-msgstr "Fehler beim Aktualisieren der Target-Datei »%s«.\n"
+msgstr "Fehler beim Aktualisieren der Ziel-Datei „%s“.\n"
-#: remake.c:829
-#, fuzzy, c-format
+#: remake.c:850
+#, c-format
msgid "Successfully remade target file '%s'.\n"
-msgstr "Die Target-Datei »%s« wurde erfolgreich aktualisiert.\n"
+msgstr "Die Zieldatei „%s“ wurde erfolgreich aktualisiert.\n"
-#: remake.c:832
-#, fuzzy, c-format
+#: remake.c:853
+#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
-msgstr "Target »%s« muss bei -q aktualisiert werden.\n"
+msgstr "Zieldatei „%s“ muss bei -q aktualisiert werden.\n"
-#: remake.c:1027
-#, fuzzy, c-format
+#: remake.c:1048
+#, c-format
msgid "Using default commands for '%s'.\n"
-msgstr "Verwende die Standard-Kommandos für »%s«.\n"
+msgstr "Die Standard-Kommandos für „%s“ werden verwendet.\n"
-#: remake.c:1372
-#, fuzzy, c-format
+#: remake.c:1397
+#, c-format
msgid "Warning: File '%s' has modification time in the future"
-msgstr "*** Warnung: Datei »%s« hat zukünftige Änderungszeit (%s > %s)!"
+msgstr "Warnung: Datei „%s“ hat zukünftige Änderungszeit"
-#: remake.c:1385
-#, fuzzy, c-format
+#: remake.c:1411
+#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
-msgstr "*** Warnung: Datei »%s« hat zukünftige Änderungszeit (%s > %s)!"
+msgstr "Warnung: Datei „%s“ hat hat in der Zukunft liegende Änderungszeit %s"
-#: remake.c:1583
-#, fuzzy, c-format
+#: remake.c:1610
+#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
-msgstr ".LIBPATTERNS Element »%s« ist kein Muster"
+msgstr ".LIBPATTERNS Element „%s“ ist kein Muster"
#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Customs wird nicht exportieren: %s\n"
-#: rule.c:496
-#, fuzzy
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# Keine impliziten Regeln vorhanden."
+"# Implizite Regeln"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1877,7 +1891,7 @@ msgstr ""
"\n"
"# Keine impliziten Regeln vorhanden."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1886,14 +1900,14 @@ msgstr ""
"\n"
"# %u implizite Regeln, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " Terminal."
-#: rule.c:531
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "BUG: »num_pattern_rules« falsch! %u != %u"
+msgstr "BUG: „num_pattern_rules“ falsch! %u != %u"
#: signame.c:84
msgid "unknown signal"
@@ -1953,7 +1967,7 @@ msgstr "Falscher Systemaufruf"
#: signame.c:133
msgid "Broken pipe"
-msgstr "Zerstörte Pipe"
+msgstr "Zerstörte Pipe"
#: signame.c:136
msgid "Alarm clock"
@@ -1997,11 +2011,11 @@ msgstr "Angehalten (signal)"
#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "CPU-Zeitschranke überschritten"
+msgstr "CPU-Zeitschranke überschritten"
#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Dateigrößenschranke überschritten"
+msgstr "Dateigrößenschranke überschritten"
#: signame.c:177
msgid "Virtual timer expired"
@@ -2013,7 +2027,7 @@ msgstr "Profiling Timer erloschen"
#: signame.c:186
msgid "Window changed"
-msgstr "Fenster hat sich verändert"
+msgstr "Fenster hat sich verändert"
#: signame.c:189
msgid "Continued"
@@ -2025,7 +2039,7 @@ msgstr "Dringende I/O-Bedingung"
#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "I/O möglich"
+msgstr "I/O möglich"
#: signame.c:202
msgid "SIGWIND"
@@ -2049,7 +2063,7 @@ msgstr "Informationsanforderung"
#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "Es ist kein Koprozessor für Fließkommaoperationen vorhanden"
+msgstr "Es ist kein Koprozessor für Fließkommaoperationen vorhanden"
#: strcache.c:236
#, c-format
@@ -2057,6 +2071,8 @@ msgid ""
"\n"
"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s Keine Puffer für strcache\n"
#: strcache.c:266
#, c-format
@@ -2065,23 +2081,29 @@ msgid ""
"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
"B\n"
msgstr ""
+"\n"
+"%s Puffer für strcache: %lu (%lu) / Zeichenketten = %lu / Speicher = %lu B / "
+"ø = %lu B\n"
#: strcache.c:270
#, c-format
msgid ""
"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"%s aktueller Puffer: Größe = %hu B / benutzt = %hu B / Anzahl = %hu / ø = "
+"%hu B\n"
#: strcache.c:280
#, c-format
msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
-msgstr ""
+msgstr "%s andere verwendete: Summe = %lu B / Anzahl = %lu / /ø = %lu B\n"
#: strcache.c:283
#, c-format
msgid ""
"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
+"%s andere freie: Summe = %lu B / Max = %lu B / Min = %lu B / ø = %hu B\n"
#: strcache.c:287
#, c-format
@@ -2089,54 +2111,57 @@ msgid ""
"\n"
"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
+"\n"
+"%s Leistung von strcache: Suchen = %lu / Trefferrate = %lu%%\n"
#: strcache.c:289
-#, fuzzy
msgid ""
"# hash-table stats:\n"
"# "
-msgstr "# %u Variablen für %u hash-Werte.\n"
+msgstr ""
+"# Statistik für Hashtabelle:\n"
+"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatisch"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "Standard"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "Umgebung"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "Makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "Umgebung per -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "Kommandozeile"
-#: variable.c:1625
-#, fuzzy
+#: variable.c:1617
msgid "'override' directive"
-msgstr "»override«-Anweisung"
+msgstr "„override“-Anweisung"
-#: variable.c:1636
-#, fuzzy, c-format
+#: variable.c:1628
+#, c-format
msgid " (from '%s', line %lu)"
-msgstr " (aus »%s«, Zeile %lu):\n"
+msgstr " (aus „%s“, Zeile %lu)"
-#: variable.c:1699
-#, fuzzy
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# %u Variablen für %u hash-Werte.\n"
+msgstr ""
+"# Hashtabellen-Statistik für Variablen:\n"
+"\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2144,8 +2169,7 @@ msgstr ""
"\n"
"# Variablen\n"
-#: variable.c:1714
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2153,7 +2177,7 @@ msgstr ""
"\n"
"# Musterspezifische Variablenwerte"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2161,7 +2185,7 @@ msgstr ""
"\n"
"# Keine musterspezifischen Variablenwerte."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2171,89 +2195,94 @@ msgstr ""
"# %u musterspezifische Variablenwerte"
#: variable.h:224
-#, fuzzy, c-format
+#, c-format
msgid "warning: undefined variable '%.*s'"
-msgstr "Warnung: undefinierte Variable »%.*s«"
+msgstr "Warnung: undefinierte Variable „%.*s“"
#: vmsfunctions.c:91
-#, fuzzy, c-format
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "»sys$search« schlug mit %d fehl\n"
+msgstr "„sys$search“ schlug mit %d fehl\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Warnung: Umleitung ins Leere!\n"
-#: vmsjobs.c:178
-#, fuzzy, c-format
+#: vmsjobs.c:183
+#, c-format
msgid "internal error: '%s' command_state"
-msgstr "Interner Fehler: »%s« command_state"
+msgstr "Interner Fehler: „%s“ command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-Warnung: Vielleicht müssen Sie STRG-Y aus DCL wieder ermöglichen.\n"
+msgstr "-Warnung: Vielleicht müssen Sie STRG-Y aus DCL wieder ermöglichen.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Unbekanntes eingebautes Kommando »%s«\n"
+msgstr "Unbekanntes eingebautes Kommando „%s“\n"
+
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
-#: vmsjobs.c:489
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Fehler: Leere Anweisung\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Datei %s auf Standardeingabe umgeleitet\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Fehlerausgabe nach %s umgeleitet\n"
-#: vmsjobs.c:518
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
msgstr "Ausgabe nach %s umgeleitet\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Ausgabe nach %s umgeleitet\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "%.*s anhängen und aufräumen\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "%s wird stattdessen ausgeführt\n"
+msgstr "%s wird stattdessen ausgeführt\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "Fehler beim Starten eines Kindprozesses, %d.\n"
+msgstr "Fehler %d beim Starten eines Kindprozesses\n"
#: vpath.c:583
msgid ""
@@ -2264,52 +2293,64 @@ msgstr ""
"# VPATH-Suchpfade\n"
#: vpath.c:600
-#, fuzzy
msgid "# No 'vpath' search paths."
-msgstr "# Keine »vpath«-Suchpfade."
+msgstr "# Keine „vpath“-Suchpfade."
#: vpath.c:602
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u »vpath«-Suchpfade.\n"
+"# %u „vpath“-Suchpfade.\n"
#: vpath.c:605
-#, fuzzy
msgid ""
"\n"
"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Kein allgemeiner Suchpfad (Variable »VPATH«)."
+"# Kein allgemeiner Suchpfad (Variable „VPATH“)."
#: vpath.c:611
-#, fuzzy
msgid ""
"\n"
"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Allgemeiner Suchpfad (Variable »VPATH«):\n"
+"# Allgemeiner Suchpfad (Variable „VPATH“):\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "Interner Fehler: mehrfache --sync-mutex Optionen"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "Interner Fehler: mehrfache --jobserver-fds Optionen"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "Der virtuelle Speicher ist verbraucht"
+
+#~ msgid "write error"
+#~ msgstr "Schreibfehler"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "# Invalid value in `update_status' member!"
-#~ msgstr "# Ungültiger Wert in »update_status«-Eintrag!"
+#~ msgstr "# Ungültiger Wert in „update_status“-Eintrag!"
#~ msgid "*** [%s] Error 0x%x (ignored)"
#~ msgstr "*** [%s] Fehler 0x%x (ignoriert)"
#~ 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."
+#~ "Wenn „sh.exe“ nicht vorhanden ist, \n"
+#~ "sollten Sie nicht „-j“ oder „--jobs“ angeben."
#~ msgid "Resetting make for single job mode."
-#~ msgstr "»make« wird so umgestellt, dass nur ein Job laufen kann."
+#~ msgstr "„make“ wird so umgestellt, dass nur ein Job laufen kann."
#, fuzzy
#~ msgid ""
@@ -2318,29 +2359,29 @@ msgstr ""
#~ "%sPARTICULAR PURPOSE.\n"
#~ msgstr ""
#~ ", von Richard Stallman und Roland McGrath.\n"
-#~ "%sErstellt für %s\n"
+#~ "%sErstellt für %s\n"
#~ "%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\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"
+#~ "%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 (auf Englisch) an <bug-make@gnu.org>.\n"
#~ "\n"
#~ msgid "extraneous `endef'"
-#~ msgstr "Überflüssiges »endef«"
+#~ msgstr "Überflüssiges „endef“"
#~ msgid "empty `override' directive"
-#~ msgstr "Leere »override«-Anweisung"
+#~ msgstr "Leere „override“-Anweisung"
#~ msgid "invalid `override' directive"
-#~ msgstr "Ungültige »override«-Anweisung"
+#~ msgstr "Ungültige „override“-Anweisung"
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-Warnung: STRG-Y wird Unterprozesse übriglassen!\n"
+#~ msgstr "-Warnung: STRG-Y wird Unterprozesse übriglassen!\n"
#~ msgid ""
#~ "\n"
@@ -2358,37 +2399,37 @@ msgstr ""
#~ msgstr "Syntaxfehler, immer noch in '\"'\n"
#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "Erhielt Signal »SIGCHLD«; %u unbeendete Kindprozesse.\n"
+#~ msgstr "Erhielt Signal „SIGCHLD“; %u unbeendete Kindprozesse.\n"
#~ msgid "DIRECTORY"
#~ msgstr "VERZEICHNIS"
#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr "In das VERZEICHNIS wechseln, bevor etwas anderes ausgeführt wird"
+#~ msgstr "In das VERZEICHNIS wechseln, bevor etwas anderes ausgeführt wird"
#~ msgid "FLAGS"
#~ msgstr "FLAGS"
#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "Prozess aussetzeb, um das Einklinken eines Debuggers zu ermöglichen"
+#~ msgstr "Prozess aussetzeb, um das Einklinken eines Debuggers zu ermöglichen"
#~ msgid "Environment variables override makefiles"
-#~ msgstr "Umgebungsvariablen überschreiben »make«-Steuerdateien"
+#~ msgstr "Umgebungsvariablen überschreiben „make“-Steuerdateien"
#~ msgid "FILE"
#~ msgstr "DATEI"
#~ msgid "Read FILE as a makefile"
-#~ msgstr "DATEI als »make«-Steuerdatei lesen"
+#~ msgstr "DATEI als „make“-Steuerdatei lesen"
#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "Das VERZEICHNIS nach eingebundenen »make«-Steuerdateien durchsuchen"
+#~ msgstr "Das VERZEICHNIS nach eingebundenen „make“-Steuerdateien durchsuchen"
#~ msgid "Don't start multiple jobs unless load is below N"
#~ msgstr "Nur bei Belastung unterhalb N mehrere Prozesse starten"
#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "Befehle nur anzeigen, nicht ausführen"
+#~ msgstr "Befehle nur anzeigen, nicht ausführen"
#~ msgid "Consider FILE to be very old and don't remake it"
#~ msgstr "DATEI als sehr alt betrachten und sie nicht neu erzeugen"
@@ -2411,10 +2452,10 @@ msgstr ""
#~ msgstr "Verlassen des Verzeichnisses"
#~ msgid "no file name for `%sinclude'"
-#~ msgstr "Kein Dateiname für »%sinclude«"
+#~ msgstr "Kein Dateiname für „%sinclude“"
#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "Target »%s« lässt Voraussetzungs-Muster leer"
+#~ msgstr "Target „%s“ lässt Voraussetzungs-Muster leer"
#~ msgid "# No variables."
#~ msgstr "# Keine Variablen vorhanden."
@@ -2426,4 +2467,4 @@ msgstr ""
#~ msgstr "# Durchschnittlich %d.%d Variablen pro Wert, max %u je Wert.\n"
#~ msgid "the `word' function takes a positive index argument"
-#~ msgstr "Die »word«-Funktion erwartet als Argument einen positiven Index"
+#~ msgstr "Die „word“-Funktion erwartet als Argument einen positiven Index"
diff --git a/po/es.gmo b/po/es.gmo
index 83cbb57..b671030 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 18a1ee2..904e1d3 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,145 +1,146 @@
-# Mensajes en español para GNU make.
-# Copyright (C) 1996, 2001, 2011 Free Software Foundation, Inc.
+# Mensajes en español para GNU make.
+# Copyright (C) 1996, 2001, 2011, 2013 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
-# Max de Mendizábal <max.de.mendizabal@gmail.com>, 1996, 2011.
+# Max de Mendizábal <max.de.mendizabal@gmail.com>, 1996, 2011.
+# Antonio Ceballos <aceballos@gmail.com>, 2013
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 3.82\n"
+"Project-Id-Version: GNU make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2011-02-16 14:50-0600\n"
-"Last-Translator: Max de Mendizábal <max.de.mendizabal@gmail.com>\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-12-08 23:28+0200\n"
+"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
#: ar.c:46
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use unsupported feature: '%s'"
-msgstr "Se intentó utilizar una característica no implementada: `%s'"
+msgstr "Se intentó utilizar una característica no implementada: '%s'"
# Sugerencia: touch -> `touch'. sv
# Ok, aceptada. A falta de cursivas... mm
-# No veo porqué no se ha de usar 'tocar' en vez de touch em+
-# El mensaje además hace referencia a un touch de un objeto dentro
-# de una librería, y de eso no se dice nada en el mensaje. Creo que
+# No veo porqué no se ha de usar 'tocar' en vez de touch em+
+# El mensaje además hace referencia a un touch de un objeto dentro
+# de una librería, y de eso no se dice nada en el mensaje. Creo que
# hay que tener cuidado con estas cosas.
# El programa para tocar un miembro de un archivo ... , y ahi estamos
# ya en problemas con el dichoso archivo/fichero.
# A ver que se os ocurre em+
# Enrique: touch es un programa del sistema operativo y sirve para
# cambiar la fecha de un programa o archivo. Es decir lo "toca" y
-# modifica sus atributos. Por eso preferí no traducirlo.
+# modifica sus atributos. Por eso preferí no traducirlo.
#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "El programa para hacer un `touch' no está disponible en VMS"
+msgstr "El programa para hacer un 'touch' no está disponible en VMS"
#: ar.c:147
-#, fuzzy, c-format
+#, c-format
msgid "touch: Archive '%s' does not exist"
-msgstr "touch: El archivo `%s' no existe"
+msgstr "touch: El archivo '%s' no existe"
#: ar.c:150
-#, fuzzy, c-format
+#, c-format
msgid "touch: '%s' is not a valid archive"
-msgstr "touch: `%s' no es un archivo válido"
+msgstr "touch: '%s' no es un archivo válido"
#: ar.c:157
-#, fuzzy, c-format
+#, c-format
msgid "touch: Member '%s' does not exist in '%s'"
-msgstr "touch: El miembro `%s' no existe en `%s'"
+msgstr "touch: El miembro '%s' no existe en '%s'"
#: ar.c:164
-#, fuzzy, c-format
+#, c-format
msgid "touch: Bad return code from ar_member_touch on '%s'"
-msgstr "touch: Código de retorno erróneo de ar_member_touch en `%s'"
+msgstr "touch: Código de retorno erróneo de ar_member_touch en '%s'"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-"fallo en lbr$set_module() para extraer la información del módulo, estado = %d"
+"fallo en lbr$set_module() para extraer la información del módulo, estado = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "fallo en lbr$ini_control() con estado = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
-msgstr "Error al abrir la biblioteca `%s' para buscar al elemento `%s'"
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "Error al abrir la biblioteca '%s' para buscar al elemento '%s'"
-#: arscan.c:847
-#, fuzzy, c-format
+#: arscan.c:944
+#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "Miembro `%s'%s: %ld bytes en %ld (%ld).\n"
+msgstr "Miembro '%s'%s: %ld bytes en %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (el nombre puede estar truncado)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Fecha %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, modo = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
-msgstr ""
+msgstr "Las instrucciones tienen demasiadas líneas (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
-msgstr "*** Break.\n"
+msgstr "*** Interrumpir.\n"
-#: commands.c:630
-#, fuzzy, c-format
+#: commands.c:629
+#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** [%s] Miembro de archivo `%s' podría estar incorrecto; aunque no se "
+"*** [%s] El miembro de archivo '%s' podría estar incorrecto; aunque no se "
"elimina"
#: commands.c:633
-#, fuzzy, c-format
+#, c-format
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** Miembro del archivo `%s' podría estar incorrecto; aunque no se elimina"
+"*** El miembro del archivo '%s' podría estar incorrecto; aunque no se elimina"
# Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
# Ok. mm
-#: commands.c:646
-#, fuzzy, c-format
+#: commands.c:647
+#, c-format
msgid "*** [%s] Deleting file '%s'"
-msgstr "*** [%s] Se borra el archivo `%s'"
+msgstr "*** [%s] Se borra el archivo '%s'"
# Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
# Ok. mm
-#: commands.c:648
-#, fuzzy, c-format
+#: commands.c:649
+#, c-format
msgid "*** Deleting file '%s'"
-msgstr "*** Se borra el archivo `%s'"
+msgstr "*** Se borra el archivo '%s'"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# las instrucciones para ejecutar"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
-msgstr " (interconstruido):"
+msgstr " (integrado):"
-#: commands.c:689
-#, fuzzy, c-format
+#: commands.c:690
+#, c-format
msgid " (from '%s', line %lu):\n"
-msgstr " (de `%s', linea %lu):\n"
+msgstr " (de '%s', linea %lu):\n"
#: dir.c:989
msgid ""
@@ -152,9 +153,9 @@ msgstr ""
#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: podría no estar establecido.\n"
+msgstr "# %s: podría no estar establecido.\n"
-# ¿No sobraría el "posiblemente"?
+# ¿No sobraría el "posiblemente"?
# Propongo dejarlo en " no se pudo abrir ". sv
# Ok. Es consistente con otras traducciones. mm
#: dir.c:1005
@@ -162,7 +163,7 @@ msgstr "# %s: podría no estar establecido.\n"
msgid "# %s (key %s, mtime %d): could not be opened.\n"
msgstr "# %s (llave %s, mtime %d): no se pudo abrir.\n"
-# En el K & R aparece inode traducido como nodo-i. ¿qué te parece? sv
+# En el K & R aparece inode traducido como nodo-i. ¿qué te parece? sv
# Bien. Me gusta con el guioncito. mm
#: dir.c:1009
#, c-format
@@ -170,7 +171,7 @@ msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr ""
"# %s (dispositivo %d, nodo-i [%d,%d,%d]): posiblemente no se pueda abrir.\n"
-# ¿No sobraría el "posiblemente"?
+# ¿No sobraría el "posiblemente"?
# Propongo dejarlo en " no se pudo abrir ". sv
# Ok. Es consistente con otras traducciones. mm
#: dir.c:1014
@@ -209,8 +210,8 @@ msgstr "no"
msgid " impossibilities"
msgstr " imposibilidades"
-# ¿"So far" no era "hasta ahora"? (no me hagas mucho caso) sv
-# Si tu traducción es mejor. Aceptada. mm
+# ¿"So far" no era "hasta ahora"? (no me hagas mucho caso) sv
+# Si tu traducción es mejor. Aceptada. mm
#: dir.c:1068
msgid " so far."
msgstr " hasta ahora."
@@ -220,238 +221,233 @@ msgstr " hasta ahora."
msgid " impossibilities in %lu directories.\n"
msgstr " imposibilidades en %lu directorios.\n"
-# Creo que eventually sería "finalmente" o algo así. sv
+# Creo que eventually sería "finalmente" o algo así. sv
# Si, es finalmente no a veces. Ok. mm
# referencia me parece que no lleva tilde. sv
-# No, no lleva acento. Me emocioné con elos. mm
+# No, no lleva acento. Me emocioné con elos. mm
# Creeis de veras que tiene sentido 'finalmente'em+
-# yo pondría ser termina autoreferenciando, por
+# yo pondría ser termina autoreferenciando, por
# ejemplo em+
# Mejor lo eliminamos. Es de alguna forma reiterativo e innecesario.
-# Lo de `al final' puede ser más confuso. mm
+# Lo de `al final' puede ser más confuso. mm
#: expand.c:125
-#, fuzzy, c-format
+#, c-format
msgid "Recursive variable '%s' references itself (eventually)"
-msgstr "La variable recursiva `%s' se auto-referencia"
+msgstr "La variable recursiva '%s' se auto-referencia"
# No me gusta nada ( lo siento )
-# ¿ Qué tal : La referencia a una variable está sin terminar em+
-# Creo que tienes razón la voz pasiva es muy desagradable. mm.
+# ¿ Qué tal : La referencia a una variable está sin terminar em+
+# Creo que tienes razón la voz pasiva es muy desagradable. mm.
#: expand.c:269
msgid "unterminated variable reference"
-msgstr "la referencia a la variable está sin terminar"
+msgstr "la referencia a la variable está sin terminar"
-#: file.c:269
-#, fuzzy, c-format
+#: file.c:271
+#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
-msgstr "Las instrucciones fueron especificadas para el archivo `%s' en %s:%lu,"
+msgstr "Se especificaron instrucciones para el archivo '%s' en %s:%lu,"
-# Buscando en las legras implícitas em+
-# Utilicé por búsqueda en para evitar el gerundio. mm
-#: file.c:274
-#, fuzzy, c-format
+# Buscando en las legras implícitas em+
+# Utilicé por búsqueda en para evitar el gerundio. mm
+#: file.c:276
+#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-"Las instrucciones para el archivo `%s' se encontraron por búsqueda en reglas "
-"implícitas,"
+"Las instrucciones para el archivo '%s' se encontraron por búsqueda en reglas "
+"implícitas,"
-# "now" es "ahora". ¿te lo has comido consciente o inconscientemente? sv
+# "now" es "ahora". ¿te lo has comido consciente o inconscientemente? sv
# inconscientemente. mm
-#: file.c:277
-#, fuzzy, c-format
+#: file.c:280
+#, c-format
msgid "but '%s' is now considered the same file as '%s'."
-msgstr "pero `%s' se considera ahora como el mismo archivo que `%s'."
+msgstr "pero '%s' se considera ahora como el mismo archivo que `%s'."
-# Lo repetiré una y mil veces... :-)
+# Lo repetiré una y mil veces... :-)
# "To ignore" *no* es ignorar. sv
-# Propongo "no serán tenidas en cuenta" a falta de algo mejor.
+# Propongo "no serán tenidas en cuenta" a falta de algo mejor.
# Ok. Mi necedad sobrepasa el milenio. mm
-#: file.c:280
-#, fuzzy, c-format
+#: file.c:283
+#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-"Las instrucciones para `%s' no serán tenidas en cuenta en favor de las que "
-"están en `%s'."
+"Las instrucciones para '%s' no serán tenidas en cuenta en favor de las que "
+"están en '%s'."
-# Me suena que eso de colon es algo así como punto, dos puntos o punto y coma.
-# ¿Podrías comprobarlo? sv
+# Me suena que eso de colon es algo así como punto, dos puntos o punto y coma.
+# ¿Podrías comprobarlo? sv
# Es un punto sencillo (.). A ver si te gusta mi propuesta. mm
-#: file.c:300
-#, fuzzy, c-format
+#: file.c:303
+#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
-msgstr "no se puede cambiar un punto (.) `%s' por dos puntos (:) `%s'"
+msgstr "no se puede cambiar un punto (.) '%s' por dos puntos (:) '%s'"
# Lo mismo. sv
-#: file.c:305
-#, fuzzy, c-format
+#: file.c:309
+#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
-msgstr "no se pueden cambiar dos puntos (:) `%s' por un punto (.) `%s'"
+msgstr "no se pueden cambiar dos puntos (:) '%s' por un punto (.) '%s'"
# Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
# Ok. mm
-#: file.c:396
-#, fuzzy, c-format
+#: file.c:401
+#, c-format
msgid "*** Deleting intermediate file '%s'"
-msgstr "*** Se borra el archivo temporal `%s'"
+msgstr "*** Se borra el archivo intermedio '%s'"
# Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
# Ok. mm
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "*** Se borran los archivos temporales...\n"
-
-#: file.c:808
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Fecha fuera de intervalo; sustituyéndola %s"
+msgstr "*** Se borran los archivos intermedios...\n"
-#: file.c:809
+#: file.c:811
msgid "Current time"
msgstr "Hora actual"
-#: file.c:949
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s: Fecha fuera de intervalo; sustituyéndola %s"
+
+#: file.c:955
msgid "# Not a target:"
msgstr "# No es un objetivo:"
-# Pondría: es una dependencia de em+
-# Si, tienes razón. mm
-#: file.c:954
+# Pondría: es una dependencia de em+
+# Si, tienes razón. mm
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Archivo valioso (es una dependencia de .PRECIOUS)."
# Lo mismo. Y traducir por falso es poco menos que poco exacto.
# Los phony target de make son aquellos que se ejecutan siempre
# sin tener en cuenta si existe un archivo con el nombre del objetivo
-# y de si es actual. Propondría incondicional en vez de falso, ya que
-# explica exactamente qué es un phony target em+
-# No. Incondicional no es una traducción correcta. Que tal si al rato
-# se les ocurre hacer una nueva instrucción .INCONDITIONAL.
-# Si quieres podríamos pensar en otra traducción como señuelo o algo así. mm
-#: file.c:956
+# y de si es actual. Propondría incondicional en vez de falso, ya que
+# explica exactamente qué es un phony target em+
+# No. Incondicional no es una traducción correcta. Que tal si al rato
+# se les ocurre hacer una nueva instrucción .INCONDITIONAL.
+# Si quieres podríamos pensar en otra traducción como señuelo o algo así. mm
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# objetivo falso (dependencia de .PHONY)."
# FUZZY
-# Pondria línea de comandos
-# Y creo que no sé exactamente a que se refiere, No creo que haya visto
+# Pondria línea de comandos
+# Y creo que no sé exactamente a que se refiere, No creo que haya visto
# este mensaje nunca en make lo marco con FUZZY em+
-# Están traduciendo commands como comandos? Son más bien ordenes o
-# instrucciones. Por mi parte no hay problema, incluso me gusta más
+# Están traduciendo commands como comandos? Son más bien ordenes o
+# instrucciones. Por mi parte no hay problema, incluso me gusta más
# comandos, pero es un anglicismo. mm
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
-msgstr "# Objetivo en línea de instrucciones."
+msgstr "# Objetivo en línea de instrucciones."
-# Habría que entender esto
+# Habría que entender esto
# Creo que esto es lo que significa. El fuente no es demasiado claro. mm
# Se refiere a que el fichero makefile es uno que encuentra por
# defecto ( en este orden GNUmakefile, Makefile y makefile ) o uno
-# que está definido en la variable de entorno MAKEFILE em+
-# Así pues tu traducción es completamente equivocada, lo siento.
-# Pondría: Fichero por defecto o definido en la variable MAKEFILE em+
+# que está definido en la variable de entorno MAKEFILE em+
+# Así pues tu traducción es completamente equivocada, lo siento.
+# Pondría: Fichero por defecto o definido en la variable MAKEFILE em+
# Cierto, lo has entendido bien. Arreglo acorde. mm
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Por omisión, MAKEFILES, o -include/sinclude makefile."
+msgstr "# Por omisión, MAKEFILES, o -include/sinclude makefile."
-#: file.c:962
-#, fuzzy
+#: file.c:968
msgid "# Builtin rule"
-msgstr ""
-"\n"
-"# No hay reglas implícitas."
+msgstr "# Regla incorporada"
# Propongo efectuada en lugar de terminada. sv
-# Ok. Es más literal. mm
-# Atención ! , es la búsqueda 'de'reglas implícitas em+
-# Ok. Ojo, debo pluralizar regla e implícita. Platicarlo con Ulrich. mm
-#: file.c:964
+# Ok. Es más literal. mm
+# Atención ! , es la búsqueda 'de'reglas implícitas em+
+# Ok. Ojo, debo pluralizar regla e implícita. Platicarlo con Ulrich. mm
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# La búsqueda de reglas implícitas ha sido efectuada."
+msgstr "# La búsqueda de reglas implícitas ha sido efectuada."
# Propongo efectuada en lugar de terminada. sv
-# Ok. Es más literal. mm
-# Atención ! , es la búsqueda 'de'reglas implícitas em+
-# Ok. Ojo, debo pluralizar regla e implícita. Platicarlo con Ulrich. mm
-#: file.c:965
+# Ok. Es más literal. mm
+# Atención ! , es la búsqueda 'de'reglas implícitas em+
+# Ok. Ojo, debo pluralizar regla e implícita. Platicarlo con Ulrich. mm
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# La búsqueda de reglas implícitas ha sido efectuada."
+msgstr "# La búsqueda de reglas implícitas ha sido efectuada."
-#: file.c:967
-#, fuzzy, c-format
+#: file.c:973
+#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
-msgstr "# rama del patrón implícita/estática: `%s'\n"
+msgstr "# Tema del patrón implícita/estática: '%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# El archivo es una dependencia intermedia."
# Sugerencia: "crea". sv
# Ok. Aunque, viendolo bien, que tal "hace"? mm.
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
-msgstr "# También hace:"
+msgstr "# También hace:"
-# ¿y "comprobó"? sv
+# ¿y "comprobó"? sv
# Ok. Mejora. mm
-# No pondría nunca, sino simplemente 'no se comprobó 'em+
-# Si, es lo mismo pero es más español. mm
-#: file.c:979
+# No pondría nunca, sino simplemente 'no se comprobó 'em+
+# Si, es lo mismo pero es más español. mm
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# La fecha de modificación no se comprobó."
+msgstr "# La fecha de modificación no se comprobó."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# El archivo no existe."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# El archivo es muy viejo."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# Última modificación %s\n"
+msgstr "# Última modificación %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# El archivo ha sido actualizado."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# El archivo ha sido actualizado."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Las instrucciones continúan en ejecución (ESTO ES UN BUG)."
+msgstr "# Las instrucciones continúan en ejecución (ESTO ES UN BUG)."
-# ¿No sería más bien "las instrucciones de las dependencias"? sv
+# ¿No sería más bien "las instrucciones de las dependencias"? sv
# Si, que babas soy. Ahora corrijo. mm
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
-"# Las instrucciones de las dependencias continúan en ejecución (ESTO ES UN "
+"# Las instrucciones de las dependencias continúan en ejecución (ESTO ES UN "
"BUG)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# Actualizado con éxito."
+msgstr "# Actualizado con éxito."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Necesita ser actualizado (la opción -q está activa)."
+msgstr "# Necesita ser actualizado (la opción -q está activa)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Fallo al ser actualizado."
-# ## Lo mismo.
-#: file.c:1019
-#, fuzzy
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
-msgstr "# ¡Valor inválido en el miembro `command_state'!"
+msgstr "# ¡Valor inválido en el miembro 'command_state'!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -459,203 +455,200 @@ msgstr ""
"\n"
"# Archivos"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# estadísticas de la tabla de hash de los archivos:\n"
+"# estadísticas de la tabla «hash» de los archivos:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
-msgstr ""
+msgstr "%s: El campo '%s' no está en «cache»: %s"
-#: function.c:742
-#, fuzzy
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
-msgstr "el primer argumento de la función `word' no es numérico"
+msgstr "el primer argumento de la función 'word' no es numérico"
-#: function.c:747
-#, fuzzy
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
-msgstr "el primer argumento de la función `word' debe ser mayor a 0"
+msgstr "el primer argumento de la función 'word' debe ser mayor que 0"
-#: function.c:767
-#, fuzzy
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
-msgstr "el primer argumento de la función `wordlist' no es numérico"
+msgstr "el primer argumento de la función 'wordlist' no es numérico"
-#: function.c:769
-#, fuzzy
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
-msgstr "el primer argumento de la función `wordlist' no es numérico"
+msgstr "el segundo argumento de la función 'wordlist' no es numérico"
-#: function.c:1460
-#, fuzzy, c-format
+#: function.c:1499
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "windows32_openpipe(): fallo en DuplicateHandle(In), (e=%ld)\n"
+msgstr "windows32_openpipe: fallo en DuplicateHandle(In), (e=%ld)\n"
-#: function.c:1483
-#, fuzzy, c-format
+#: function.c:1523
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "windows32_open_pipe(): fallo en DuplicateHandle(Err), (e=%ld)\n"
+msgstr "windows32_openpipe: fallo en DuplicateHandle(Err), (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "Fallo en CreatePipe(), (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): fallo en process_init_fd()\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Limpiando el archivo temporal %s\n"
-#: function.c:2151
-#, fuzzy, c-format
+#: function.c:2193
+#, c-format
msgid "open: %s: %s"
-msgstr "%s: %s"
+msgstr "abrir: %s: %s"
-# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
-# concuerde bien con esta frase y con la anterior simultáneamente. sv
-# No. Ya revisé el fuente y transcribo el trozo pertinente:
+# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
+# concuerde bien con esta frase y con la anterior simultáneamente. sv
+# No. Ya revisé el fuente y transcribo el trozo pertinente:
# char *message = entering ? "Entering" : "Leaving";
# if (makelevel == 0)
# printf ("%s: %s ", program, message);
# else
# printf ("%s[%u]: %s ", program, makelevel, message);
-# Como notarás lo del directorio va en otro lado.
-#: function.c:2158
-#, fuzzy, c-format
+# Como notarás lo del directorio va en otro lado.
+#: function.c:2203
+#, c-format
msgid "write: %s: %s"
-msgstr "error al escribir: %s"
+msgstr "escribir: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
-msgstr ""
+msgstr "Operación de archivo no válida: %s"
-#: function.c:2279
-#, fuzzy, c-format
+#: function.c:2324
+#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
-msgstr "Número de argumentos (%d) insuficientes para la función `%s'"
+msgstr "Número de argumentos (%d) insuficientes para la función '%s'"
-#: function.c:2291
-#, fuzzy, c-format
+#: function.c:2336
+#, c-format
msgid "unimplemented on this platform: function '%s'"
-msgstr "No implementado en esta plataforma: función `%s'"
+msgstr "No implementado en esta plataforma: función '%s'"
-#: function.c:2354
-#, fuzzy, c-format
+#: function.c:2399
+#, c-format
msgid "unterminated call to function '%s': missing '%c'"
-msgstr "la llamada a la función `%s' no concluyó: falta `%c'"
+msgstr "la llamada a la función '%s' no concluyó: falta '%c'"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Nombre de función vacío\n"
-#: function.c:2548
-#, c-format
-msgid "Invalid function name: %s\n"
-msgstr ""
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Nombre de función no válido: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
-msgstr ""
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Nombre de función demasiado largo: %s\n"
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
-msgstr "Número de argumentos (%d) insuficientes para la función `%s'"
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "Número insuficiente de argumentos (%d) para la función %s\n"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
-msgstr "Número de argumentos (%d) insuficientes para la función `%s'"
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "El número máximo de argumentos (%d) no es válido para la función %s\n"
#: getopt.c:659
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: la opción `%s' es ambigua\n"
+msgstr "%s: la opción '%s' es ambigua\n"
-# No admite ningún argumento. sv
+# No admite ningún argumento. sv
# Ok. Y vuelve la burra al trigo. mm
#: getopt.c:683
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: la opción `--%s' no admite ningún argumento\n"
+msgstr "%s: la opción '--%s' no admite ningún argumento\n"
# Lo mismo. sv
# Ok. mm
#: getopt.c:688
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
+msgstr "%s: la opción '%c%s' no admite ningún argumento\n"
#: getopt.c:705 getopt.c:878
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: la opción `%s' requiere un argumento\n"
+msgstr "%s: la opción '%s' requiere un argumento\n"
#: getopt.c:734
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: opción no reconocida `--%s'\n"
+msgstr "%s: opción no reconocida '--%s'\n"
#: getopt.c:738
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: opción no reconocida `%c%s'\n"
+msgstr "%s: opción no reconocida '%c%s'\n"
#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: opción inválida -- %c\n"
+msgstr "%s: opción inválida -- %c\n"
#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: opción inválida -- %c\n"
+msgstr "%s: opción inválida -- %c\n"
#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: la opción requiere un argumento -- %c\n"
+msgstr "%s: la opción requiere un argumento -- %c\n"
#: getopt.c:844
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: la opción `-W %s' es ambigua\n"
+msgstr "%s: la opción '-W %s' es ambigua\n"
-# No admite ningún argumento. sv
+# No admite ningún argumento. sv
# Ok. Y vuelve la burra al trigo. mm
#: getopt.c:862
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
+msgstr "%s: la opción '-W %s' no admite ningún argumento\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
-msgstr ""
+msgstr "guile: Expandiendo '%s'\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
-msgstr ""
+msgstr "guile: Evaluando '%s'\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "no se pueden reservar %lu bytes para la tabla de hash: memoria agotada"
+msgstr "no se pueden reservar %lu bytes para la tabla «hash»: memoria agotada"
#: hash.c:280
#, c-format
@@ -672,110 +665,110 @@ msgstr "Rehash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Colisiones=%ld/%ld=%.0f%%"
-# Y no sería mejor "Buscando una regla implícita ..."
-# Ten en cuenta que este mensaje no parece un mensaje de error, sino más
+# Y no sería mejor "Buscando una regla implícita ..."
+# Ten en cuenta que este mensaje no parece un mensaje de error, sino más
# de "debug" o de "verbose". sv
# Cierto. mm
#: implicit.c:38
-#, fuzzy, c-format
+#, c-format
msgid "Looking for an implicit rule for '%s'.\n"
-msgstr "Buscando una regla implícita para `%s'.\n"
+msgstr "Buscando una regla implícita para '%s'.\n"
# Lo mismo.
-# Buscando una regla implítita para el miembro del archivo `%s' em+
-# Se me resbaló. mm
+# Buscando una regla implítita para el miembro del archivo `%s' em+
+# Se me resbaló. mm
#: implicit.c:54
-#, fuzzy, c-format
+#, c-format
msgid "Looking for archive-member implicit rule for '%s'.\n"
-msgstr "Buscando una regla implícita para el miembro del archivo `%s'.\n"
+msgstr "Buscando una regla implícita para el miembro del archivo '%s'.\n"
-# Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
-# escaparse de la cárcel... (fuga de alcatraz :-)
-# te voy a dar yo a tí fuga ... em+
-# ¿Qué te parecería "se evita"? sv
+# Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
+# escaparse de la cárcel... (fuga de alcatraz :-)
+# te voy a dar yo a tí fuga ... em+
+# ¿Qué te parecería "se evita"? sv
# Me gusta evade, pero evita es correcto. Acepto tu sugerencia. mm
-# No me gusta se evita, pondría evitando em+
-# Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm
+# No me gusta se evita, pondría evitando em+
+# Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm
#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Evitando la recursión en la regla implícita.\n"
+msgstr "Evitando la recursión en la regla implícita.\n"
#: implicit.c:486
#, c-format
msgid "Stem too long: '%.*s'.\n"
-msgstr ""
+msgstr "Tema demasiado largo: '%.*s'.\n"
# FUZZY
# Esto me suena fatal. Se a que se refiere, porque lo
-# he visto, pero en cristiano no se si podría entenderlo.
-# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
+# he visto, pero en cristiano no se si podría entenderlo.
+# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
# que pensar un poco en ello em+
# De momento cambio la regla patron por una regla de patron , y
-# pondría a toda costa gerundio ( intentando ) em+
-# Ok con el gerundio. Pero también tengo que meditarlo. mm
+# pondría a toda costa gerundio ( intentando ) em+
+# Ok con el gerundio. Pero también tengo que meditarlo. mm
#: implicit.c:491
-#, fuzzy, c-format
+#, c-format
msgid "Trying pattern rule with stem '%.*s'.\n"
-msgstr "Intentando una regla de patrón con la ramificación `%.*s'.\n"
+msgstr "Intentando una regla de patrón con el tema '%.*s'.\n"
# ## Corrijo la palabra "dependencia". sv
-# Cuando aparezca este mensaje tendrá poco menos que sentido
+# Cuando aparezca este mensaje tendrá poco menos que sentido
# testimonial. Date cuenta que los argumentos estan cambiados.
-# Pon el orden correcto, siempre será más lógico que lo que vaya a
-# aparecer tal y como está ahora (Se rechaza la dependencia imposible
+# Pon el orden correcto, siempre será más lógico que lo que vaya a
+# aparecer tal y como está ahora (Se rechaza la dependencia imposible
# `%s' `%s )'em+
# Ok. mm
#: implicit.c:697
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible rule prerequisite '%s'.\n"
-msgstr "Se rechaza la regla de dependencia imposible `%s'.\n"
+msgstr "Se rechaza la regla de dependencia imposible '%s'.\n"
# ## Corrijo la palabra "dependencia". sv
-# Cuando aparezca este mensaje tendrá poco menos que sentido
+# Cuando aparezca este mensaje tendrá poco menos que sentido
# testimonial. Date cuenta que los argumentos estan cambiados.
-# Pon el orden correcto, siempre será más lógico que lo que vaya a
-# aparecer tal y como está ahora (Se rechaza la dependencia imposible
+# Pon el orden correcto, siempre será más lógico que lo que vaya a
+# aparecer tal y como está ahora (Se rechaza la dependencia imposible
# `%s' `%s )'em+
# Ok. mm
#: implicit.c:698
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible implicit prerequisite '%s'.\n"
-msgstr "Se rechaza la dependencia imposible `%s'.\n"
+msgstr "Se rechaza la dependencia implícita imposible '%s'.\n"
# FUZZY
# Esto me suena fatal. Se a que se refiere, porque lo
-# he visto, pero en cristiano no se si podría entenderlo.
-# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
+# he visto, pero en cristiano no se si podría entenderlo.
+# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
# que pensar un poco en ello em+
# De momento cambio la regla patron por una regla de patron , y
-# pondría a toda costa gerundio ( intentando ) em+
-# Ok con el gerundio. Pero también tengo que meditarlo. mm
+# pondría a toda costa gerundio ( intentando ) em+
+# Ok con el gerundio. Pero también tengo que meditarlo. mm
#: implicit.c:711
-#, fuzzy, c-format
+#, c-format
msgid "Trying rule prerequisite '%s'.\n"
-msgstr "Intentando la regla de dependencia `%s'.\n"
+msgstr "Intentando la regla de dependencia '%s'.\n"
-# Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
-# escaparse de la cárcel... (fuga de alcatraz :-)
-# te voy a dar yo a tí fuga ... em+
-# ¿Qué te parecería "se evita"? sv
+# Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
+# escaparse de la cárcel... (fuga de alcatraz :-)
+# te voy a dar yo a tí fuga ... em+
+# ¿Qué te parecería "se evita"? sv
# Me gusta evade, pero evita es correcto. Acepto tu sugerencia. mm
-# No me gusta se evita, pondría evitando em+
-# Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm
+# No me gusta se evita, pondría evitando em+
+# Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm
#: implicit.c:712
-#, fuzzy, c-format
+#, c-format
msgid "Trying implicit prerequisite '%s'.\n"
-msgstr "Probando la dependencia implícita `%s'.\n"
+msgstr "Probando la dependencia implícita '%s'.\n"
#: implicit.c:751
-#, fuzzy, c-format
+#, c-format
msgid "Found prerequisite '%s' as VPATH '%s'\n"
-msgstr "Se encontró la dependencia `%s' como la VPATH `%s'.\n"
+msgstr "Se encontró la dependencia '%s' como la VPATH '%s'.\n"
#: implicit.c:765
-#, fuzzy, c-format
+#, c-format
msgid "Looking for a rule with intermediate file '%s'.\n"
-msgstr "Se busca una regla con el archivo intermedio `%s'.\n"
+msgstr "Se busca una regla con el archivo intermedio '%s'.\n"
#: job.c:361
msgid "Cannot create a temporary file\n"
@@ -783,122 +776,121 @@ msgstr "No se puede crear un archivo temporal\n"
# Sugerencia: " (volcado de `core')". sv
# volcado de `core' no significa nada, que te parece si mejor dejamos
-# el core dumped, o bien volcado del núcleo o algo así. Por el momento
+# el core dumped, o bien volcado del núcleo o algo así. Por el momento
# no cambio nada. mm
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
-msgstr " (core dumped) [Núcleo vaciado a un archivo]"
+msgstr " (core dumped) [Núcleo vaciado a un archivo]"
-# Preferiría mil veces "sin efecto" o algo parecido. sv
-# Ok. Habíamos quedado en `no tiene efecto'. mm
-#: job.c:487
+# Preferiría mil veces "sin efecto" o algo parecido. sv
+# Ok. Habíamos quedado en `no tiene efecto'. mm
+#: job.c:488
msgid " (ignored)"
msgstr " (no tiene efecto)"
-#: job.c:491 job.c:1994
-#, fuzzy
+#: job.c:492 job.c:2046
msgid "<builtin>"
-msgstr " (interconstruido):"
+msgstr "<integrado>"
-# No me gusta esta traducción de override. Mira a ver
+# No me gusta esta traducción de override. Mira a ver
# si encaja mejor alguna de las dos que se proponen arriba
# em+
-# Aunque no me acaba de convencer, que te parece ésto? mm
-#: job.c:501
-#, fuzzy, c-format
+# Aunque no me acaba de convencer, que te parece ésto? mm
+#: job.c:503
+#, c-format
msgid "%s: recipe for target '%s' failed"
-msgstr "atención: se imponen las instrucciones para el objetivo `%s'"
-
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Error 0x%x"
+msgstr "%s: fallo en las instrucciones para el objetivo '%s'"
-#: job.c:513
-#, fuzzy, c-format
+#: job.c:516 job.c:524
+#, c-format
msgid "%s[%s] Error %d%s"
-msgstr "*** [%s] Error %d"
+msgstr "%s[%s] Error %d%s"
-#: job.c:517
-#, fuzzy, c-format
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Error 0x%x%s"
+
+#: job.c:529
+#, c-format
msgid "%s[%s] %s%s%s"
-msgstr "%s%s: %s"
+msgstr "%s[%s] %s%s%s"
-# ¿Y job -> trabajos? sv
+# ¿Y job -> trabajos? sv
# Si, pero no hablas de una computadora multi-trabajos sino multi-tareas.
-# Por eso elegí tareas. Lo platicamos con más calma? mm
-#: job.c:609
+# Por eso elegí tareas. Lo platicamos con más calma? mm
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Se espera a que terminen otras tareas...."
-# ¿De verdad se dice "vivo"? Si es un proceso, se me ocurre "activo". sv
+# ¿De verdad se dice "vivo"? Si es un proceso, se me ocurre "activo". sv
# Me gusta lo de activo. mm
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Hijo activo %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remoto)"
# Lo mismo, pon Proceso hijo, y quita lo que hay
-# entre paréntesis em+
-#: job.c:829
+# entre paréntesis em+
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Se recupera al proceso hijo perdido %p PID %s %s\n"
# Lo mismo, pon Proceso hijo, y quita lo que hay
-# entre paréntesis em+
-#: job.c:830
+# entre paréntesis em+
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Se recupera al proceso hijo ganador %p PID %s %s\n"
# Give up no es enfocar, es abandonar, o desistir em+
-# Si, metí la pata. mm
-#: job.c:837
+# Si, metí la pata. mm
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Se limpia el archivo temporal %s\n"
# Give up no es enfocar, es abandonar, o desistir em+
-# Si, metí la pata. mm
-#: job.c:843
-#, fuzzy, c-format
+# Si, metí la pata. mm
+#: job.c:855
+#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
-msgstr "Se limpia el archivo temporal %s\n"
+msgstr "Fallo al limpiar el archivo temporal por lotes %s (%d)\n"
# Proceso hijo em+
# Ok.
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Se elimina al proceso hijo %p PID %s%s de la cadena.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "liberar semáforo del servidor de tareas: (Error %ld: %s)"
# Lo mismo, pon Proceso hijo, y quita lo que hay
-# entre paréntesis em+
-#: job.c:1011 job.c:1025
+# entre paréntesis em+
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Se libera el token para el proceso hijo %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "escribir en el servidor de tareas"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "fallo en process_easy() para lanzar al proceso (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -909,117 +901,113 @@ msgstr ""
# Proceso hijo em+
# Ok.
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Se pone al proceso hijo %p (%s) PID %s%s en la cadena.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
-msgstr ""
+msgstr "semáforo o proceso hijo en espera: (Error %ld: %s)"
# Lo mismo, pon Proceso hijo, y quita lo que hay
-# entre paréntesis em+
-#: job.c:1967
+# entre paréntesis em+
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Se obtiene el token para el proceso hijo %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "tubería de trabajos leídos"
+msgstr "tubería de trabajos leídos"
-#: job.c:2003
-#, fuzzy, c-format
+#: job.c:2056
+#, c-format
msgid "%s: target '%s' does not exist"
-msgstr "touch: El archivo `%s' no existe"
+msgstr "%s: el objetivo '%s' no existe"
-#: job.c:2005
-#, fuzzy, c-format
+#: job.c:2059
+#, c-format
msgid "%s: update target '%s' due to: %s"
-msgstr ""
-"%sNo hay ninguna regla para construir el objetivo `%s', necesario para `%s'%s"
+msgstr "%s: actualizar el objetivo '%s' a causa de: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "no se pueden forzar los límites de carga en este sistema operativo"
+msgstr "no se pueden forzar los límites de carga en este sistema operativo"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "no se puede forzar la carga límite: "
+msgstr "no se puede forzar la carga límite: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr "no hay más manejadores de archivos: no se puede duplicar stdin\n"
+msgstr "no hay más manejadores de archivos: no se puede duplicar stdin\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr "no hay más manejadores de archivos: no se puede duplicar stdout\n"
+msgstr "no hay más manejadores de archivos: no se puede duplicar stdout\n"
-#: job.c:2223
-#, fuzzy
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
-msgstr "no hay más manejadores de archivos: no se puede duplicar stdin\n"
+msgstr "no hay más manejadores de archivos: no se puede duplicar stderr\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "No se puede restaurar stdin\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "No se puede restaurar stdout\n"
-#: job.c:2254
-#, fuzzy
+#: job.c:2309
msgid "Could not restore stderr\n"
-msgstr "No se puede restaurar stdin\n"
+msgstr "No se puede restaurar stderr\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "hacer un hijo descarriado %s, aún se espera por el pid %s\n"
+msgstr "hacer un hijo descarriado %s, aún se espera por el pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: No se encontró el programa"
+msgstr "%s: No se encontró el programa"
-# ¿Y "el programa Shell"? (a secas) sv
+# ¿Y "el programa Shell"? (a secas) sv
# Si. Suena mucho mejor. mm
# Suena, pero no es mejor. Tal y como esta escrito, incluso
# yo pensaria que me falta un programa en mi sistema que se
# llame shell. No se ha encontrado el 'shell'em+
-# Es bueno contar con una segunda opinión ... mm
-#: job.c:2463
+# Es bueno contar con una segunda opinión ... mm
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: No se ha encontrado el `shell'"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr "spawnvpe: el espacio ambiental podría estar agotado"
+msgstr "spawnvpe: el espacio ambiental podría estar agotado"
-#: job.c:2709
-#, fuzzy, c-format
+#: job.c:2765
+#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
-msgstr "$SHELL ha cambiado (era `%s' y ahora es `%s')\n"
+msgstr "$SHELL ha cambiado (era '%s' y ahora es '%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Se crea el archivo temporal %s\n"
-#: job.c:3148
-#, fuzzy
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
"Contenido del archivo de lotes:%s\n"
-"\t%s\n"
+"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -1028,64 +1016,63 @@ msgstr ""
"Contenido del archivo de lotes:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
-"%s (linea %d) Contexto de shell erróneo (!unixy && !batch_mode_shell)\n"
+"%s (linea %d) Contexto de shell erróneo (!unixy && !batch_mode_shell)\n"
#: job.h:43
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
-msgstr ""
+msgstr "-O[TIPO] (--output-sync[=TIPO]) no está configurado para este «build»."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
-msgstr ""
+msgstr "Fallo al abrir tabla global de símbolos: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
+"El objeto %s que se ha cargado no está declarado como compatible con GPL"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
-msgstr ""
+msgstr "Fallo al cargar símbolo %s desde %s: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
-msgstr ""
+msgstr "Nombre de símbolo vacío en la carga: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
-msgstr ""
+msgstr "Cargando símbolo %s desde %s\n"
-#: load.c:229
-#, fuzzy
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
-msgstr ""
-"Los trabajos en paralelo (-j) no están implementados en esta plataforma."
+msgstr "La operación 'load' no está implementada en esta plataforma."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Opciones:\n"
# Lo mismo de arriba con "ignorar". sv
# Ok. mm.
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
-" -b, -m No se tendrá en cuenta por compatibilidad.\n"
+" -b, -m No se tendrá en cuenta por compatibilidad.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Hace incondicionalmente todos los objetivos.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -1093,25 +1080,25 @@ msgstr ""
" -C DIRECTORIO, --directory=DIRECTORIO\n"
" Se cambia al DIRECTORIO antes de hacer nada.\n"
-# ¿"depurado" o "depuración"? sv
-# Puse de depurado para evitar la cacofonía información depuración.
+# ¿"depurado" o "depuración"? sv
+# Puse de depurado para evitar la cacofonía información depuración.
# Sugerencias bienvenidas. mm
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-" -d Se imprimirán grandes cantidades de información de depurado.\n"
+" -d Se imprimirán grandes cantidades de información de depurado.\n"
-# ¿"depurado" o "depuración"? sv
-# Puse de depurado para evitar la cacofonía información depuración.
+# ¿"depurado" o "depuración"? sv
+# Puse de depurado para evitar la cacofonía información depuración.
# Sugerencias bienvenidas. mm
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-" --debug[=BANDERAS] Se imprimirán varios tipos de información de "
+" --debug[=BANDERAS] Se imprimirán varios tipos de información de "
"depurado.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -1120,14 +1107,14 @@ msgstr ""
" Las variables ambientales se imponen a las de los "
"makefiles.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-" --eval=CADENA Evalúla la CADENA como una instrucción de un "
+" --eval=CADENA Evalúla la CADENA como una instrucción de un "
"makefile.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -1135,7 +1122,7 @@ msgstr ""
" -f ARCHIVO, --file=ARCHIVO, --makefile=ARCHIVO\n"
" Lee al ARCHIVO como un makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Muestra este mensaje y finaliza.\n"
@@ -1143,15 +1130,15 @@ msgstr " -h, --help Muestra este mensaje y finaliza.\n"
# Ok. mm
# Por favor, si has traducido commands como instrucciones , hazlo aqui
# tambien.
-# No me gusta este mensaje, preferiría: Se ignoran los errores obtenidos
-# en la ejecución de las instrucciones em+
-#: main.c:334
+# No me gusta este mensaje, preferiría: Se ignoran los errores obtenidos
+# en la ejecución de las instrucciones em+
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
" -i, --ignore-errors No se toman en cuenta los errores provenientes "
"de las instrucciones.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -1159,10 +1146,10 @@ msgstr ""
" -I DIRECTORIO, --include-dir=DIRECTORIO\n"
" Busca dentro del DIRECTORIO los makefiles incluidos.\n"
-# Yo traduciría "infinite" por "infinitos", no por "una infinidad", que
+# Yo traduciría "infinite" por "infinitos", no por "una infinidad", que
# parece que son muchos menos... sv
# Ok. mm
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -1171,44 +1158,44 @@ msgstr ""
"especifica un\n"
"argumento son infinitos.\n"
-# No entiendo por qué aquí empleas subjuntivo: "pudieron". sv
+# No entiendo por qué aquí empleas subjuntivo: "pudieron". sv
# Es incorrecto. Es una de las opciones `k' que dice... mm
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-" -k, --keep-going Sigue avanzando aún cuando no se puedan crear "
+" -k, --keep-going Sigue avanzando aún cuando no se puedan crear "
"algunos objetivos.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""
" -l [N], --load-average[=N], --max-load[=N]\n"
-" No inicia con trabajos múltiples a menos que la carga esté por debajo "
+" No inicia con trabajos múltiples a menos que la carga esté por debajo "
"de N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-" -L, --check-symlink-times Utiliza el último mtime entre los enlaces "
-"simbólicos y los objetivos.\n"
+" -L, --check-symlink-times Utiliza el último mtime entre los enlaces "
+"simbólicos y los objetivos.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
" -n, --just-print, --dry-run, --recon\n"
-" No ejecuta ninguna instrucción; sólo las "
+" No ejecuta ninguna instrucción; sólo las "
"muestra.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -1218,110 +1205,111 @@ msgstr ""
" Supone que ARCHIVO es muy viejo y no lo "
"reconstruye.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
+" -O[TIPO], --output-sync[=TIPO]\n"
+" Sincroniza la salida de tareas paralelas por "
+"tipo.\n"
# de 'make' em+
# ok. mm
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
" -p, --print-data-base Se imprime la base de datos interna de "
-"`make'.\n"
+"'make'.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question No se ejecutan las instrucciones; el "
-"estado de salida\n"
-" indicará si están actualizados.\n"
+" -q, --question No se ejecutan las instrucciones; el estado de "
+"salida\n"
+" indicará si están actualizados.\n"
-# ¿desabilitan o deshabilitan? sv
+# ¿desabilitan o deshabilitan? sv
# Error de dedo. mm
-# ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
+# ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
# Pon almacenadas internamente, que es exactamente lo que son :) em+
# Bueno, bajo protesta. mm
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-" -r, --no-builtin-rules Se deshabilitan las reglas implícitas "
+" -r, --no-builtin-rules Se deshabilitan las reglas implícitas "
"almacenadas internamente.\n"
-# ¿desabilitan o deshabilitan? sv
+# ¿desabilitan o deshabilitan? sv
# Error de dedo. mm
-# ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
+# ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
# Pon almacenadas internamente, que es exactamente lo que son :) em+
# Bueno, bajo protesta. mm
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Se deshabilitan los ajustes a las variables "
"almacenadas internamente.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet No muestra las intrucciones.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" Desactiva la opción -k.\n"
+" Desactiva la opción -k.\n"
-# Se *tocan*, ¿no? sv
+# Se *tocan*, ¿no? sv
# Si. mm
#
-# Pues entonces cámbialo arriba tambien em+
+# Pues entonces cámbialo arriba tambien em+
# En donde? mm
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Se tocan los objetivos en vez de "
"reconstruirlos.\n"
-# ¿"depurado" o "depuración"? sv
-# Puse de depurado para evitar la cacofonía información depuración.
+# ¿"depurado" o "depuración"? sv
+# Puse de depurado para evitar la cacofonía información depuración.
# Sugerencias bienvenidas. mm
-#: main.c:372
-#, fuzzy
+#: main.c:373
msgid " --trace Print tracing information.\n"
-msgstr ""
-" -d Se imprimirán grandes cantidades de información de depurado.\n"
+msgstr " --trace Muestra trazas.\n"
-# Me comería el "Se" inicial. "Muestra la versión..." sv
+# Me comería el "Se" inicial. "Muestra la versión..." sv
# Ok. mm
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-" -v, --version Muestra la versión del make y finaliza.\n"
+" -v, --version Muestra la versión del make y finaliza.\n"
# Lo mismo. sv
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Muestra el directorio actual.\n"
# Lo mismo. sv
# Turn off , desactiva o deshabilita , pero no apaga em+
# apaga luz Mari Luz apaga luz ,que yo no puedo vivir con
-# tanta luz ... ( canción tradicional ) ( no lo pude evitar ) em+
+# tanta luz ... ( canción tradicional ) ( no lo pude evitar ) em+
# Juar, Juar, Juar. Coincido, pero el sentido es el mismo. mm
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory Desactiva -w, aún cuando haya sido activado "
-"implícitamente.\n"
+" --no-print-directory Desactiva -w, aún cuando haya sido activado "
+"implícitamente.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1332,7 +1320,7 @@ msgstr ""
# Lo mismo. sv
# Todas estas parecen descripciones de opciones.
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1340,32 +1328,27 @@ msgstr ""
" --warn-undefined-variables Advierte cuando se hace una referencia a una "
"variable no definida.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "no se permite que una cadena vacía sea el nombre de un archivo"
+msgstr "no se permite que una cadena vacía sea el nombre de un archivo"
-#: main.c:734
-#, fuzzy, c-format
+#: main.c:737
+#, c-format
msgid "unknown debug level specification '%s'"
-msgstr "se especificó un nivel de depuración desconocido `%s'"
+msgstr "se especificó un nivel de depuración desconocido '%s'"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
-msgstr ""
-
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "error interno: hay varias opciones --jobserver-fds"
+msgstr "tipo de sincronización de salida desconocido '%s'"
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-"%s: Se atrapó una interrupción/excepción (código = 0x%lx, dirección = 0x%p)\n"
+"%s: Se atrapó una interrupción/excepción (código = 0x%lx, dirección = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1375,213 +1358,211 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"Se ha llamado un filtro de excepción no manejado desde el programa %s\n"
-"Código de la excepción = %lx\n"
-"Banderas de la excepción = %lx\n"
-"Dirección de la excepción = 0x%p\n"
+"Se ha llamado un filtro de excepción no manejado desde el programa %s\n"
+"Código de la excepción = %lx\n"
+"Banderas de la excepción = %lx\n"
+"Dirección de la excepción = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Violación de acceso: operación de escritura en la dirección 0x%p\n"
+msgstr "Violación de acceso: operación de escritura en la dirección 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Violación de acceso: operación de lectura en la dirección 0x%p\n"
+msgstr "Violación de acceso: operación de lectura en la dirección 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr "la función find_and_set_shell() pone el valor del default_shell = %s\n"
+msgstr "la función find_and_set_shell() pone el valor del default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
-"la función find_and_set_shell() pone el valor de la ruta de búsceda "
+"la función find_and_set_shell() pone el valor de la ruta de búsceda "
"default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%s está suspendida por 30 segundos..."
+msgstr "%s está suspendida por 30 segundos..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "se hizo un sleep(30). Continuando.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "error interno: hay varias opciones --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
+"error interno: no se pudo abrir el semáforo del servidor de tareas '%s': "
+"(Error %ld: %s)"
-#: main.c:1547
-#, fuzzy, c-format
+#: main.c:1530
+#, c-format
msgid "Jobserver client (semaphore %s)\n"
-msgstr "Cliente del servidor de tareas (fds %d,%d)\n"
+msgstr "Cliente del servidor de tareas (semáforo %s)\n"
-#: main.c:1551
-#, fuzzy, c-format
+#: main.c:1534
+#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
-msgstr "error interno: cadena --jobserver-fds inválida `%s'"
+msgstr "error interno: cadena --jobserver-fds inválida '%s'"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Cliente del servidor de tareas (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-"atención: se fuerza a -jN en el submake: se deshabilita el modo de servidor "
+"atención: se fuerza a -jN en el submake: se deshabilita el modo de servidor "
"de tareas."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "servidor de tareas duplicado"
-#: main.c:1586
-#, fuzzy
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"atención: el servidor de tareas no está disponible: se utilizará -j1. Añada `"
-"+' a la regla padre del make."
+"atención: el servidor de tareas no está disponible: se utilizará -j1. Añada "
+"'+' a la regla padre del make."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr ""
-"El archivo Makefile ha sido especificado dos veces desde la entrada estándard"
+"El archivo Makefile ha sido especificado dos veces desde la entrada estándard"
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (archivo temporal)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (archivo temporal)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr ""
-"Los trabajos en paralelo (-j) no están implementados en esta plataforma."
+"Los trabajos en paralelo (-j) no están implementados en esta plataforma."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Reajustando al modo monotarea (-j1)."
-#: main.c:2006
-#, fuzzy, c-format
+#: main.c:1994
+#, c-format
msgid "Jobserver slots limited to %d\n"
-msgstr "Cliente del servidor de tareas (fds %d,%d)\n"
+msgstr "Ranuras del servidor de tareas limitads a %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "creando semáforo del servidor de tareas: (Error %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
-msgstr "creando una tubería de trabajos"
+msgstr "creando una tubería de tareas"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "se inicializa la tubería al servidor de tareas"
+msgstr "se inicializa la tubería al servidor de tareas"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr "Los enlaces simbólicos no están implementados: se deshabilitan con -L."
+msgstr "Los enlaces simbólicos no están implementados: se deshabilitan con -L."
# Antes pusiste "makefiles". Coherencia. sv
# Cierto. mm
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Actualizando archivos makefiles....\n"
-# Me comería el "archivo" inicial.
+# Me comería el "archivo" inicial.
# Ok. mm
# "El Makefile `%s' ..." sv
-# Pondría ( como en un mensaje anterior ) se autoreferencia ... em+
-# He puesto makefile con minúsculas , par ser coherentes em+
-# Ok. Es más breve. mm.
-#: main.c:2174
-#, fuzzy, c-format
+# Pondría ( como en un mensaje anterior ) se autoreferencia ... em+
+# He puesto makefile con minúsculas , par ser coherentes em+
+# Ok. Es más breve. mm.
+#: main.c:2158
+#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
-msgstr "El makefile `%s' se autoreferencia; por lo cual no se reconstruye.\n"
+msgstr ""
+"El makefile '%s' podría entrar en bucle; por lo tanto, no se reconstruye.\n"
# Lo mismo. sv
-#: main.c:2253
-#, fuzzy, c-format
+#: main.c:2237
+#, c-format
msgid "Failed to remake makefile '%s'."
-msgstr "Fallo al reconstruir el makefile `%s'."
+msgstr "Fallo al reconstruir el makefile '%s'."
# Lo mismo. sv
-#: main.c:2270
-#, fuzzy, c-format
+#: main.c:2257
+#, c-format
msgid "Included makefile '%s' was not found."
-msgstr "No se encontró el makefile incluído `%s'."
+msgstr "No se encontró el makefile incluído '%s'."
# Lo mismo. sv
-#: main.c:2275
-#, fuzzy, c-format
+#: main.c:2262
+#, c-format
msgid "Makefile '%s' was not found"
-msgstr "No se encontró el Makefile `%s'"
+msgstr "No se encontró el makefile '%s'"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "No se pudo regresar al directorio original."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Re-ejecutando[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (archivo temporal)"
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ".DEFAULT_GOAL contien más de un objetivo"
+msgstr ".DEFAULT_GOAL contien más de un objetivo"
-# Sugerencia: "No se especificó ningún objetivo ... " sv
+# Sugerencia: "No se especificó ningún objetivo ... " sv
# Ok. Me gusta. mm
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "No se especificó ningún objetivo y no se encontró ningún makefile"
+msgstr "No se especificó ningún objetivo y no se encontró ningún makefile"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "No hay objetivos"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Actualizando los objetivos finales....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-"atención: Se ha detectado una desviación en el reloj. La construcción podría "
+"atención: Se ha detectado una desviación en el reloj. La construcción podría "
"estar incompleta."
-# ¿Y Modo de empleo? sv
-# Soy medio bestia. Debería hacerlo automático. mm
-# "target" es "objetivo", no "objetivos". Fíjate que lleva puntos
-# suspensivos, permitiendo así varios objetivos. sv
+# ¿Y Modo de empleo? sv
+# Soy medio bestia. Debería hacerlo automático. mm
+# "target" es "objetivo", no "objetivos". Fíjate que lleva puntos
+# suspensivos, permitiendo así varios objetivos. sv
# Ok. mm
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Modo de empleo: %s [opciones] [objetivo] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1590,7 +1571,7 @@ msgstr ""
"\n"
"Este programa fue construido para %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1599,36 +1580,36 @@ msgstr ""
"\n"
"Este programa construido para %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Informe sobre los errores a <bug-make@gnu.org>\n"
-# Me comería el "de" de "requiere de" sv
+# Me comería el "de" de "requiere de" sv
# Ok. mm
-#: main.c:2810
-#, fuzzy, c-format
+#: main.c:2807
+#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
-msgstr "la opción `%s%s' requiere un argumento no-vacío de tipo cadena"
+msgstr "la opción '%s%s' requiere un argumento no-vacío de tipo cadena"
-# Me comería el "de" de "requiere de" sv
+# Me comería el "de" de "requiere de" sv
# Ok. mm
-#: main.c:2864
-#, fuzzy, c-format
+#: main.c:2871
+#, c-format
msgid "the '-%c' option requires a positive integer argument"
-msgstr "la opción `-%c' requiere un argumento positivo y entero"
+msgstr "la opción '-%c' requiere un argumento positivo y entero"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sEste programa fue construido para %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sEste programa fue construido para %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1636,14 +1617,14 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-"%sLicencia GPLv3+: GNU GPL versión 3 o posterior <http://gnu.org/licenses/"
+"%sLicencia GPLv3+: GNU GPL versión 3 o posterior <http://gnu.org/licenses/"
"gpl.html>\n"
"%sEste es software libre: cualquiera es libre para redistribuirlo y "
"modificarlo.\n"
-"%sNo existe GARANTÍA ALGUNA, hasta los límites permitidos por las leyes "
+"%sNo existe GARANTÃA ALGUNA, hasta los límites permitidos por las leyes "
"aplicables.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1654,10 +1635,10 @@ msgstr ""
# make -> Make. sv
# Ok. mm
-# Porqué 'del', o pones 'del programa' Make o pones
+# Porqué 'del', o pones 'del programa' Make o pones
# 'de Make' em+
# Ok. mm
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1671,13 +1652,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Error desconocido %d"
-# Propongo eliminar la palabra virtual. sv
-# Pero si es muy bonita. :) Bueno. Como ya platicamos puede que sea
-# una buena idea pero, por ahora la dejaría. mm
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "memoria virtual agotada"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1699,113 +1673,109 @@ msgstr "Acceso del Make"
msgid "Child access"
msgstr "Acceso del hijo"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: se ingresa a un directorio desconocido\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: se sale del directorio desconocido\n"
-# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
-# concuerde bien con esta frase y con la anterior simultáneamente. sv
-# No. Ya revisé el fuente y transcribo el trozo pertinente:
+# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
+# concuerde bien con esta frase y con la anterior simultáneamente. sv
+# No. Ya revisé el fuente y transcribo el trozo pertinente:
# char *message = entering ? "Entering" : "Leaving";
# if (makelevel == 0)
# printf ("%s: %s ", program, message);
# else
# printf ("%s[%u]: %s ", program, makelevel, message);
-# Como notarás lo del directorio va en otro lado.
-#: output.c:133
-#, fuzzy, c-format
+# Como notarás lo del directorio va en otro lado.
+#: output.c:109
+#, c-format
msgid "%s: Entering directory '%s'\n"
-msgstr "%s: se ingresa al directorio `%s'\n"
+msgstr "%s: se entra en el directorio '%s'\n"
-# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
-# concuerde bien con esta frase y con la anterior simultáneamente. sv
-# No. Ya revisé el fuente y transcribo el trozo pertinente:
+# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
+# concuerde bien con esta frase y con la anterior simultáneamente. sv
+# No. Ya revisé el fuente y transcribo el trozo pertinente:
# char *message = entering ? "Entering" : "Leaving";
# if (makelevel == 0)
# printf ("%s: %s ", program, message);
# else
# printf ("%s[%u]: %s ", program, makelevel, message);
-# Como notarás lo del directorio va en otro lado.
-#: output.c:135
-#, fuzzy, c-format
+# Como notarás lo del directorio va en otro lado.
+#: output.c:111
+#, c-format
msgid "%s: Leaving directory '%s'\n"
-msgstr "%s: se sale del directorio `%s'\n"
+msgstr "%s: se sale del directorio '%s'\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: se ingresa a un directorio desconocido\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: se sale del directorio desconocido\n"
-# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
-# concuerde bien con esta frase y con la anterior simultáneamente. sv
-# No. Ya revisé el fuente y transcribo el trozo pertinente:
+# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
+# concuerde bien con esta frase y con la anterior simultáneamente. sv
+# No. Ya revisé el fuente y transcribo el trozo pertinente:
# char *message = entering ? "Entering" : "Leaving";
# if (makelevel == 0)
# printf ("%s: %s ", program, message);
# else
# printf ("%s[%u]: %s ", program, makelevel, message);
-# Como notarás lo del directorio va en otro lado.
-#: output.c:144
-#, fuzzy, c-format
+# Como notarás lo del directorio va en otro lado.
+#: output.c:120
+#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
-msgstr "%s[%u]: se ingresa al directorio `%s'\n"
+msgstr "%s[%u]: se entra en el directorio '%s'\n"
-# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
-# concuerde bien con esta frase y con la anterior simultáneamente. sv
-# No. Ya revisé el fuente y transcribo el trozo pertinente:
+# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
+# concuerde bien con esta frase y con la anterior simultáneamente. sv
+# No. Ya revisé el fuente y transcribo el trozo pertinente:
# char *message = entering ? "Entering" : "Leaving";
# if (makelevel == 0)
# printf ("%s: %s ", program, message);
# else
# printf ("%s[%u]: %s ", program, makelevel, message);
-# Como notarás lo del directorio va en otro lado.
-#: output.c:146
-#, fuzzy, c-format
+# Como notarás lo del directorio va en otro lado.
+#: output.c:122
+#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
-msgstr "%s[%u]: se sale del directorio `%s'\n"
+msgstr "%s[%u]: se sale del directorio '%s'\n"
-# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
-# concuerde bien con esta frase y con la anterior simultáneamente. sv
-# No. Ya revisé el fuente y transcribo el trozo pertinente:
+# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
+# concuerde bien con esta frase y con la anterior simultáneamente. sv
+# No. Ya revisé el fuente y transcribo el trozo pertinente:
# char *message = entering ? "Entering" : "Leaving";
# if (makelevel == 0)
# printf ("%s: %s ", program, message);
# else
# printf ("%s[%u]: %s ", program, makelevel, message);
-# Como notarás lo del directorio va en otro lado.
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+# Como notarás lo del directorio va en otro lado.
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "error al escribir: %s"
-#: output.c:517
-msgid "write error"
-msgstr "error al escribir"
-
# Interrumpido (?). sv
-# Mmgmh... El mensaje indica que hubo algún error muy grave y que por
-# eso se detiene el make. Probablemente sea mejor dejarlo así. mm
-#: output.c:740
+# Mmgmh... El mensaje indica que hubo algún error muy grave y que por
+# eso se detiene el make. Probablemente sea mejor dejarlo así. mm
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Alto.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1816,494 +1786,497 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Leyendo makefiles...\n"
-#: read.c:333
-#, fuzzy, c-format
+#: read.c:335
+#, c-format
msgid "Reading makefile '%s'"
-msgstr "Leyendo makefile `%s'"
+msgstr "Leyendo makefile '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (no hay objetivo por defecto)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (ruta de búsqueda)"
+msgstr " (ruta de búsqueda)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (no importa)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (no hay expansión del ~)"
+msgstr " (no hay expansión del ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
-msgstr ""
+msgstr "se salta BOM UTF-8 en el makefile '%s'\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
-msgstr ""
+msgstr "se salta BOM UTF-8 en el «buffer» del makefile\n"
# ## Sintaxis no llevaba tilde.
# Ok. mm
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "sintaxis no válida en condicional"
+msgstr "sintaxis no válida en condicional"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
-msgstr ""
+msgstr "%s: fallo al cargar"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "las instrucciones comenzaron antes del primer objetivo"
# "falta una regla". sv
# (es que extraviada me suena muy raro).
-# Cierto pareciera que se perdió dentro de algún circuito. mm
+# Cierto pareciera que se perdió dentro de algún circuito. mm
# Falta 'la' regla em+
# No no es la regla sino una regla pues puede ser cualquiera de ellas. mm
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "falta una regla antes de las instrucciones"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "falta un separador%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (¿Quiere decir TAB en vez de 8 espacios?)"
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (¿Quiere decir TAB en vez de 8 espacios?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "falta un separador%s"
-#: read.c:1263
+#: read.c:1270
msgid "missing target pattern"
-msgstr "falta un patrón de objetivos"
+msgstr "falta un patrón de objetivos"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "hay varios patrones de objetivos"
-#: read.c:1269
-#, fuzzy, c-format
+#: read.c:1276
+#, c-format
msgid "target pattern contains no '%%'"
-msgstr "el patrón de objetivo no contiene `%%'"
+msgstr "el patrón de objetivo no contiene '%%'"
-#: read.c:1391
-#, fuzzy
+#: read.c:1398
msgid "missing 'endif'"
-msgstr "falta un `endif'"
+msgstr "falta un 'endif'"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "nombre de variable vacío"
+msgstr "nombre de variable vacío"
-#: read.c:1465
-#, fuzzy
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr ""
-"Hay un texto irrelevante o mal colocado después de la instrucción `define'"
+"Hay un texto irrelevante o mal colocado después de la instrucción 'define'"
-#: read.c:1490
-#, fuzzy
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
-msgstr "falta un `endef', no se terminó un `define'"
+msgstr "falta un 'endef', no se terminó un 'define'"
-#: read.c:1518
-#, fuzzy
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr ""
-"Hay un texto irrelevante o mal colocado después de la instrucción `endef'"
+"Hay un texto irrelevante o mal colocado después de la instrucción 'endef'"
-#: read.c:1589
-#, fuzzy, c-format
+#: read.c:1595
+#, c-format
msgid "extraneous text after '%s' directive"
-msgstr "Texto irrelevante o mal colocado después de la instrucción `%s'"
+msgstr "Texto irrelevante o mal colocado después de la instrucción '%s'"
-#: read.c:1598 read.c:1612
-#, fuzzy, c-format
+#: read.c:1596
+#, c-format
msgid "extraneous '%s'"
-msgstr "irrelevante o mal colocado `%s'"
+msgstr "irrelevante o mal colocado '%s'"
-#: read.c:1617
-#, fuzzy
+#: read.c:1624
msgid "only one 'else' per conditional"
-msgstr "sólo se admite un `else' por condicional"
+msgstr "sólo se admite un 'else' por condicional"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr ""
-"La definición de las variables específicas al blanco está mal construida"
+"La definición de las variables específicas al blanco está mal construida"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
"los prerequisitos no pueden ser definidos por los guiones de instrucciones"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "las reglas implícitas y las de patrón estático están mezcladas"
+msgstr "las reglas implícitas y las de patrón estático están mezcladas"
# Y 'las' normales em+
# Ok. mm
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "las reglas implícitas y las normales están mezcladas"
+msgstr "las reglas implícitas y las normales están mezcladas"
-#: read.c:2084
-#, fuzzy, c-format
+#: read.c:2091
+#, c-format
msgid "target '%s' doesn't match the target pattern"
-msgstr "el archivo de objetivos `%s' no coincide con el patrón de objetivos"
+msgstr "el objetivo '%s' no coincide con el patrón de objetivos"
-#: read.c:2099 read.c:2144
-#, fuzzy, c-format
+#: read.c:2106 read.c:2152
+#, c-format
msgid "target file '%s' has both : and :: entries"
-msgstr "el archivo de objetivos `%s' tiene líneas con : y ::"
+msgstr "el archivo de objetivos '%s' tiene líneas con : y ::"
-# Cambiaría given por 'proporcionó' o 'indicó' em+
+# Cambiaría given por 'proporcionó' o 'indicó' em+
# Ok. mm
-#: read.c:2105
-#, fuzzy, c-format
+#: read.c:2112
+#, c-format
msgid "target '%s' given more than once in the same rule"
-msgstr "el objetivo `%s' se proporcionó más de una vez en la misma regla."
+msgstr "el objetivo '%s' se proporcionó más de una vez en la misma regla"
-# No me gusta esta traducción de override. Mira a ver
+# No me gusta esta traducción de override. Mira a ver
# si encaja mejor alguna de las dos que se proponen arriba
# em+
-# Aunque no me acaba de convencer, que te parece ésto? mm
-#: read.c:2114
-#, fuzzy, c-format
+# Aunque no me acaba de convencer, que te parece ésto? mm
+#: read.c:2122
+#, c-format
msgid "warning: overriding recipe for target '%s'"
-msgstr "atención: se imponen las instrucciones para el objetivo `%s'"
+msgstr "atención: se anulan las instrucciones para el objetivo '%s'"
# Ojo con ignora. sv
-#: read.c:2117
-#, fuzzy, c-format
+#: read.c:2125
+#, c-format
msgid "warning: ignoring old recipe for target '%s'"
-msgstr "atención: se ignoran las instrucciones viejas para el objetivo `%s'"
+msgstr "atención: se ignoran las instrucciones viejas para el objetivo '%s'"
+
+# Y 'las' normales em+
+# Ok. mm
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "las reglas implícitas y las normales están mezcladas"
-#: read.c:2530
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "atención: hay un carácter NUL; se ignora el resto de la línea"
+msgstr "atención: hay un carácter NUL; se ignora el resto de la línea"
-#: remake.c:232
-#, fuzzy, c-format
+#: remake.c:230
+#, c-format
msgid "Nothing to be done for '%s'."
-msgstr "No se hace nada para `%s'."
+msgstr "No se hace nada para '%s'."
-#: remake.c:233
-#, fuzzy, c-format
+#: remake.c:231
+#, c-format
msgid "'%s' is up to date."
-msgstr "`%s' está actualizado."
+msgstr "'%s' está actualizado."
-#: remake.c:305
-#, fuzzy, c-format
+#: remake.c:303
+#, c-format
msgid "Pruning file '%s'.\n"
-msgstr "Se continúa actualizando el archivo `%s'.\n"
+msgstr "Se poda el archivo '%s'.\n"
+
+#: remake.c:390 remake.c:393
+#, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr ""
+"%sNo hay ninguna regla para construir el objetivo '%s', necesario para '%s'%s"
# Sugerencia: No hay ninguna regla... sv
# Como una no hay ninguna. mm
-#: remake.c:377
-#, fuzzy, c-format
+#: remake.c:402 remake.c:405
+#, c-format
msgid "%sNo rule to make target '%s'%s"
-msgstr "%sNo hay ninguna regla para construir el objetivo `%s'%s"
+msgstr "%sNo hay ninguna regla para construir el objetivo '%s'%s"
-#: remake.c:379
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s', needed by '%s'%s"
-msgstr ""
-"%sNo hay ninguna regla para construir el objetivo `%s', necesario para `%s'%s"
-
-# ¿target file no sería "archivo objetivo"? sv
+# ¿target file no sería "archivo objetivo"? sv
# Literalmente si pero un archivo make puede tener varios objetivos. mm
-# Max , pero no existe un archivo de objetivos. Esta línea, que es
-# de las que aparecen al hacer un make con la opción -d ( debug )
+# Max , pero no existe un archivo de objetivos. Esta línea, que es
+# de las que aparecen al hacer un make con la opción -d ( debug )
# se refiere a lo que dice Santiago, es decir, 'archivo objetivo' em+
-# Ok creo que tienen razón. mm
-#: remake.c:413
-#, fuzzy, c-format
+# Ok creo que tienen razón. mm
+#: remake.c:426
+#, c-format
msgid "Considering target file '%s'.\n"
-msgstr "Se considera el archivo objetivo `%s'.\n"
-
-# Un compañero mío dice que una buena regla es poner siempre que se pueda
-# un número par de comas.
-# Es decir: "Se intentó, sin éxito, actualizar ..."
-# o bien "Se intentó sin éxito actualizar ..."
-# ¿Qué te parece? sv
-# Bien y tiene razón. mm
-#: remake.c:420
-#, fuzzy, c-format
+msgstr "Se considera el archivo objetivo '%s'.\n"
+
+# Un compañero mío dice que una buena regla es poner siempre que se pueda
+# un número par de comas.
+# Es decir: "Se intentó, sin éxito, actualizar ..."
+# o bien "Se intentó sin éxito actualizar ..."
+# ¿Qué te parece? sv
+# Bien y tiene razón. mm
+#: remake.c:433
+#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
-msgstr "Se intentó, sin éxito, actualizar el archivo `%s'.\n"
+msgstr "Se intentó hace poco, sin éxito, actualizar el archivo '%s'.\n"
-#: remake.c:432
-#, fuzzy, c-format
+#: remake.c:445
+#, c-format
msgid "File '%s' was considered already.\n"
-msgstr "El archivo `%s' ya fue considerado.\n"
+msgstr "Ya se ha tenido en cuenta el archivo '%s'.\n"
-#: remake.c:442
-#, fuzzy, c-format
+#: remake.c:455
+#, c-format
msgid "Still updating file '%s'.\n"
-msgstr "Se continúa actualizando el archivo `%s'.\n"
+msgstr "Se continúa actualizando el archivo '%s'.\n"
-#: remake.c:445
-#, fuzzy, c-format
+#: remake.c:458
+#, c-format
msgid "Finished updating file '%s'.\n"
-msgstr "Se terminó de actualizar el archivo `%s'.\n"
+msgstr "Se terminó de actualizar el archivo '%s'.\n"
-#: remake.c:474
-#, fuzzy, c-format
+#: remake.c:487
+#, c-format
msgid "File '%s' does not exist.\n"
-msgstr "El archivo `%s' no existe.\n"
+msgstr "El archivo '%s' no existe.\n"
-#: remake.c:481
-#, fuzzy, c-format
+#: remake.c:495
+#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Atención: el archivo .LOW_RESOLUTION_TIME `%s' tiene una resolución "
-"demasiado alta"
+"*** Atención: el archivo .LOW_RESOLUTION_TIME '%s' tiene una marca de tiempo "
+"de alta resolución"
-#: remake.c:494 remake.c:1019
-#, fuzzy, c-format
+#: remake.c:508 remake.c:1040
+#, c-format
msgid "Found an implicit rule for '%s'.\n"
-msgstr "Se encontró una regla implícita para `%s'.\n"
+msgstr "Se encontró una regla implícita para '%s'.\n"
# Se ha encontrado em+
# Ok, pero procuro evitar como a la muerte los gerundios. mm
-#: remake.c:496 remake.c:1021
-#, fuzzy, c-format
+#: remake.c:510 remake.c:1042
+#, c-format
msgid "No implicit rule found for '%s'.\n"
-msgstr "No se ha encontrado una regla implícita para `%s'.\n"
+msgstr "No se ha encontrado ninguna regla implícita para '%s'.\n"
# Por defecto, como haces arriba em+
# en efecto, mm
-#: remake.c:502
-#, fuzzy, c-format
+#: remake.c:516
+#, c-format
msgid "Using default recipe for '%s'.\n"
-msgstr "Se utilizan las instrucciones por omisión para `%s'.\n"
+msgstr "Se utilizan las instrucciones por omisión para '%s'.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Se elimina la dependencia circular %s <- %s."
# Lo mismo de antes con "target file". sv
-# Estoy de acuerdo con él ( por una vez ;) ) em+
+# Estoy de acuerdo con él ( por una vez ;) ) em+
# Ok. mm
-#: remake.c:655
-#, fuzzy, c-format
+#: remake.c:675
+#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
-msgstr "Se terminaron las dependencias del archivo objetivo `%s'.\n"
+msgstr "Se terminaron las dependencias del archivo objetivo '%s'.\n"
-#: remake.c:661
-#, fuzzy, c-format
+#: remake.c:681
+#, c-format
msgid "The prerequisites of '%s' are being made.\n"
-msgstr "Se están construyendo las dependencias de `%s'.\n"
+msgstr "Se están construyendo las dependencias de '%s'.\n"
# Give up no es enfocar, es abandonar, o desistir em+
-# Si, metí la pata. mm
-#: remake.c:674
-#, fuzzy, c-format
+# Si, metí la pata. mm
+#: remake.c:695
+#, c-format
msgid "Giving up on target file '%s'.\n"
-msgstr "Se abandona el archivo objetivo `%s'.\n"
+msgstr "Se abandona el archivo objetivo '%s'.\n"
-#: remake.c:679
-#, fuzzy, c-format
+#: remake.c:700
+#, c-format
msgid "Target '%s' not remade because of errors."
-msgstr "Debido a los errores, el objetivo `%s' no se reconstruyó."
+msgstr "Debido a los errores, el objetivo '%s' no se reconstruyó."
-#: remake.c:731
-#, fuzzy, c-format
+#: remake.c:752
+#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
-msgstr "El prerequisito `%s' es posterior al objetivo `%s'.\n"
+msgstr "La dependencia '%s' es solo de orden para el objetivo '%s'.\n"
-#: remake.c:736
-#, fuzzy, c-format
+#: remake.c:757
+#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
-msgstr "La dependencia `%s' del blanco `%s' no existe.\n"
+msgstr "La dependencia '%s' del objetivo '%s' no existe.\n"
-#: remake.c:741
-#, fuzzy, c-format
+#: remake.c:762
+#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
-msgstr "La dependencia `%s' es más reciente que el objetivo `%s'.\n"
+msgstr "La dependencia '%s' es más reciente que el objetivo '%s'.\n"
-#: remake.c:744
-#, fuzzy, c-format
+#: remake.c:765
+#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
-msgstr "La dependencia `%s' es anterior al objetivo `%s'.\n"
+msgstr "La dependencia '%s' es anterior al objetivo '%s'.\n"
# Ahorra espacio, y pon '::' en vez de eso :) em+
# Bueno, no es mala idea. A ver si te gusta lo que puse. mm
-#: remake.c:762
-#, fuzzy, c-format
+#: remake.c:783
+#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-"El objetivo `%s' es de tipo dos puntos dos veces (::)\n"
+"El objetivo '%s' es de tipo dos puntos dos veces (::)\n"
"y no tiene dependencias.\n"
-#: remake.c:769
-#, fuzzy, c-format
+#: remake.c:790
+#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
-msgstr "No hay instrucciones para `%s' y ningún prerrequisito ha cambiado.\n"
+msgstr "No hay instrucciones para '%s' y ninguna dependencia ha cambiado.\n"
-#: remake.c:774
-#, fuzzy, c-format
+#: remake.c:795
+#, c-format
msgid "Making '%s' due to always-make flag.\n"
-msgstr "Haciendo `%s' debido a la bandera always-make.\n"
+msgstr "Haciendo '%s' debido a la bandera always-make.\n"
-#: remake.c:782
-#, fuzzy, c-format
+#: remake.c:803
+#, c-format
msgid "No need to remake target '%s'"
-msgstr "No es necesario reconstruir el objetivo `%s'."
+msgstr "No es necesario reconstruir el objetivo '%s'."
-#: remake.c:784
-#, fuzzy, c-format
+#: remake.c:805
+#, c-format
msgid "; using VPATH name '%s'"
-msgstr "; se usa el nombre del VPATH `%s'"
+msgstr "; se usa el nombre del VPATH '%s'"
# Revisa todo el po con un search, y mira a ver si decides usar
-# regenerar o reconstruir ( prefiero lo último 10000 veces ) em+
+# regenerar o reconstruir ( prefiero lo último 10000 veces ) em+
# Ok, buena propuesta. mm
-#: remake.c:804
-#, fuzzy, c-format
+#: remake.c:825
+#, c-format
msgid "Must remake target '%s'.\n"
-msgstr "Se debe reconstruir el objetivo `%s'.\n"
+msgstr "Se debe reconstruir el objetivo '%s'.\n"
-#: remake.c:810
-#, fuzzy, c-format
+#: remake.c:831
+#, c-format
msgid " Ignoring VPATH name '%s'.\n"
-msgstr " Se ignora el nombre del VPATH `%s'.\n"
+msgstr " Se ignora el nombre del VPATH '%s'.\n"
-#: remake.c:819
-#, fuzzy, c-format
+#: remake.c:840
+#, c-format
msgid "Recipe of '%s' is being run.\n"
-msgstr "Las instrucciones de `%s' se están ejecutando.\n"
+msgstr "Las instrucciones de '%s' se están ejecutando.\n"
# Target file no es archivo de objetivos, sino el archivo objetivo
-# make no tiene ningún archivo de objetivos em+
+# make no tiene ningún archivo de objetivos em+
# Ok. mm
-#: remake.c:826
-#, fuzzy, c-format
+#: remake.c:847
+#, c-format
msgid "Failed to remake target file '%s'.\n"
-msgstr "Fallo al reconstruir el archivo objetivo `%s'.\n"
+msgstr "Fallo al reconstruir el archivo objetivo '%s'.\n"
# Lo mismo em+
# Ok. mm
-#: remake.c:829
-#, fuzzy, c-format
+#: remake.c:850
+#, c-format
msgid "Successfully remade target file '%s'.\n"
-msgstr "Se reconstruyó con éxito el archivo objetivo `%s'.\n"
+msgstr "Se reconstruyó con éxito el archivo objetivo '%s'.\n"
# Otra vez em+
# Ok, no te puedes quejar de falta de consistencia en este caso! mm
-#: remake.c:832
-#, fuzzy, c-format
+#: remake.c:853
+#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
-msgstr "Se necesita reconstruir el archivo objetivo `%s' con la opción -q.\n"
+msgstr "Se necesita reconstruir el archivo objetivo '%s' con la opción -q.\n"
# Por defecto, como haces arriba em+
# en efecto, mm
-#: remake.c:1027
-#, fuzzy, c-format
+#: remake.c:1048
+#, c-format
msgid "Using default commands for '%s'.\n"
-msgstr "Se utilizan las instrucciones por defecto para `%s'.\n"
+msgstr "Se utilizan las instrucciones por defecto para '%s'.\n"
# Ubicada :)) , que tal futura, a secas ? em+
# Bueno, sonaba como StarTrek, muy chido, pero acepto tu sugerencia. mm
-#: remake.c:1372
-#, fuzzy, c-format
+#: remake.c:1397
+#, c-format
msgid "Warning: File '%s' has modification time in the future"
-msgstr "Atención: El archivo `%s' tiene una hora de modificación en el futuro"
+msgstr "Atención: El archivo '%s' tiene una hora de modificación en el futuro"
# Ubicada :)) , que tal futura, a secas ? em+
# Bueno, sonaba como StarTrek, muy chido, pero acepto tu sugerencia. mm
-#: remake.c:1385
-#, fuzzy, c-format
+#: remake.c:1411
+#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
-"Atención: El archivo `%s' tiene una hora de modificación %s s en el futuro"
+"Atención: El archivo '%s' tiene una hora de modificación %s s en el futuro"
-#: remake.c:1583
-#, fuzzy, c-format
+#: remake.c:1610
+#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
-msgstr "El elemento .LIBPATTERNS `%s' no es un patrón"
+msgstr "El elemento .LIBPATTERNS '%s' no es un patrón"
-# ¿Las aduanas? sv
-# Si, las aduanas de exportación de procesos. Suena rarísimo pero
-# revisé el código y todo parece apuntar a que así son las cosas.
+# ¿Las aduanas? sv
+# Si, las aduanas de exportación de procesos. Suena rarísimo pero
+# revisé el código y todo parece apuntar a que así son las cosas.
# Creo que esto es otra cosa. Custom se refiere a los valores dados
-# por el usuario ( customizables ) , y que no se exportarán se refiere
-# a que al llamar a otros makefiles, no serán pasados como valores
-# que se antepongan ( otro término para override ) a los que make
+# por el usuario ( customizables ) , y que no se exportarán se refiere
+# a que al llamar a otros makefiles, no serán pasados como valores
+# que se antepongan ( otro término para override ) a los que make
# tiene por defecto .
-# La traducción exacta por tanto es, los valores definidos por el usuario
-# no se exportarán em+
-# Muchísimo más claro (es más me gusta más en español que en inglés con tu
+# La traducción exacta por tanto es, los valores definidos por el usuario
+# no se exportarán em+
+# Muchísimo más claro (es más me gusta más en español que en inglés con tu
# arreglo) mm
#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "Los valores definidos por el usuario no se exportarán: %s\n"
+msgstr "Los valores definidos por el usuario no se exportarán: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# Reglas implícitas."
+"# Reglas implícitas."
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# No hay reglas implícitas."
+"# No hay reglas implícitas."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# %u reglas implícitas, %u"
+"# %u reglas implícitas, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-# ## Añado ¡ con tu permiso. sv
+# ## Añado ¡ con tu permiso. sv
# Gracias. mm
-# ¿ qué tal erróneo ? em+
+# ¿ qué tal erróneo ? em+
# Si, suena mejor. mm
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "BUG: ¡num_pattern_rules erróneo! %u != %u"
+msgstr "BUG: ¡num_pattern_rules erróneo! %u != %u"
#: signame.c:84
msgid "unknown signal"
-msgstr "señal desconocida"
+msgstr "señal desconocida"
#: signame.c:92
msgid "Hangup"
msgstr "Colgado"
-# ¿ Y por qué no Interrupción ? em+
-# Porque es una acción. De hecho es un mensaje que se envía a través
-# del sistema en este caso le enviarías un kill -INT num_proceso para
-# interrumpir al programa. Lo revisé contra el fuente. mm
+# ¿ Y por qué no Interrupción ? em+
+# Porque es una acción. De hecho es un mensaje que se envía a través
+# del sistema en este caso le enviarías un kill -INT num_proceso para
+# interrumpir al programa. Lo revisé contra el fuente. mm
#: signame.c:95
msgid "Interrupt"
msgstr "Interrumpir"
@@ -2314,7 +2287,7 @@ msgstr "Finalizar"
#: signame.c:101
msgid "Illegal Instruction"
-msgstr "Instrucción no válida"
+msgstr "Instrucción no válida"
# Los trap los hemos dejado como traps, simplemente. em+
# Ok. mm
@@ -2326,7 +2299,7 @@ msgstr "Trace/breakpoint trap"
msgid "Aborted"
msgstr "Abortado"
-# Ponte de acuerdo con Enrique en cómo se traduce esto.
+# Ponte de acuerdo con Enrique en cómo se traduce esto.
# Enrique tiene esta misma frase en glibc. sv
# Eso es :) IOT trap em+
# Ok. mm
@@ -2341,19 +2314,19 @@ msgid "EMT trap"
msgstr "EMT trap"
# Coma flotante, por favor. sv
-# Creeme que aquí lo de coma flotante no vale. Somos pro-yanquis y
+# Creeme que aquí lo de coma flotante no vale. Somos pro-yanquis y
# por eso usamos el punto flotante. Debemos llegar a un acuerdo.
# Por ahora pongo coma flotante para facilitar las cosas, pero bajo
# protesta ;-) mm
#: signame.c:118
msgid "Floating point exception"
-msgstr "Excepción de coma flotante"
+msgstr "Excepción de coma flotante"
-# "Terminado por la señal kill" quedaría un poco más suave ... sv
+# "Terminado por la señal kill" quedaría un poco más suave ... sv
# Enrique tiene en glibc "Terminado (killed)". sv
-# Bueno, creo que mi traducción es más exacta, concisa y clara
-# pero si insisten... Además recuerda en que estoy en un país
-# en donde asesinado es palabra de todos los días. mm
+# Bueno, creo que mi traducción es más exacta, concisa y clara
+# pero si insisten... Además recuerda en que estoy en un país
+# en donde asesinado es palabra de todos los días. mm
#: signame.c:121
msgid "Killed"
msgstr "Terminado (killed)"
@@ -2364,20 +2337,20 @@ msgstr "Error en el bus"
#: signame.c:127
msgid "Segmentation fault"
-msgstr "Fallo de segmentación"
+msgstr "Fallo de segmentación"
#: signame.c:130
msgid "Bad system call"
-msgstr "Llamada al sistema errónea"
+msgstr "Llamada al sistema errónea"
#: signame.c:133
msgid "Broken pipe"
-msgstr "Tubería rota"
+msgstr "Tubería rota"
-# ¿Temporizador? (así lo tradujo Enrique en glibc). sv
-# Suena como StarTrek. Mejor lo platico con él. A lo mejor
+# ¿Temporizador? (así lo tradujo Enrique en glibc). sv
+# Suena como StarTrek. Mejor lo platico con él. A lo mejor
# hasta lo convenzo. mm
-# Pues tendrás que darme razones em+
+# Pues tendrás que darme razones em+
# Bueno, un alarm clock es una alarma del reloj. No tiene pierde.
# Temporizador es una bonita palabra pero en donde dice que va a
# sonar una campana para despertarte? mm
@@ -2391,11 +2364,11 @@ msgstr "Finalizado"
#: signame.c:142
msgid "User defined signal 1"
-msgstr "Señal 1 definida por el usuario"
+msgstr "Señal 1 definida por el usuario"
#: signame.c:145
msgid "User defined signal 2"
-msgstr "Señal 2 definida por el usuario"
+msgstr "Señal 2 definida por el usuario"
# Proceso hijo terminado em+
# Ok. mm
@@ -2404,20 +2377,20 @@ msgid "Child exited"
msgstr "Proceso hijo terminado"
# Fallo. sv
-# Alimentación eléctrico em+
+# Alimentación eléctrico em+
# Ok. mm
#: signame.c:156
msgid "Power failure"
-msgstr "Falla de alimentación eléctrica"
+msgstr "Falla de alimentación eléctrica"
#: signame.c:159
msgid "Stopped"
msgstr "Detenido"
-# Enrique hizo una preciosa traducción de este mensaje que, según él,
-# mejora el original. Era algo así como:
+# Enrique hizo una preciosa traducción de este mensaje que, según él,
+# mejora el original. Era algo así como:
# "Detenido (requiere entrada de terminal)". sv
-# Tiene razón se ve bien. mm
+# Tiene razón se ve bien. mm
# Requiere 'de';) , como te vea Santiago que le metes
# otro 'de' otra vez ... em+
# Ok. mm
@@ -2434,31 +2407,31 @@ msgstr "Detenido (se requiere salida de terminal)"
# idem em+
#: signame.c:168
msgid "Stopped (signal)"
-msgstr "Detenido (se requiere una señal)"
+msgstr "Detenido (se requiere una señal)"
#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "Se agotó el tiempo de CPU permitido"
+msgstr "Se agotó el tiempo de CPU permitido"
#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Se excedió el tamaño máximo de archivo permitido"
+msgstr "Se excedió el tamaño máximo de archivo permitido"
#: signame.c:177
msgid "Virtual timer expired"
msgstr "El contador de tiempo virtual ha expirado"
-# Nunca me enteré de cómo se traducía profile, pero perfil me suena raro.
-# ¿De dónde lo has sacado? sv
-# Es lo que quiere decir, ni modo. Perfil de un avión es plane profile.
-# Por cierto, lo más probable es que esta "traducción" haya que
+# Nunca me enteré de cómo se traducía profile, pero perfil me suena raro.
+# ¿De dónde lo has sacado? sv
+# Es lo que quiere decir, ni modo. Perfil de un avión es plane profile.
+# Por cierto, lo más probable es que esta "traducción" haya que
# modificarla para que sea entendible. mm
-# Esto lo tengo en glibc, lo mirare otro día. Estos mensajes no son
+# Esto lo tengo en glibc, lo mirare otro día. Estos mensajes no son
# importantes em+
-# Agregué unas palabras en aras de claridad (espero) mm
+# Agregué unas palabras en aras de claridad (espero) mm
#: signame.c:180
msgid "Profiling timer expired"
-msgstr "El contador de tiempo para la generación del perfil ha expirado"
+msgstr "El contador de tiempo para la generación del perfil ha expirado"
#: signame.c:186
msgid "Window changed"
@@ -2470,7 +2443,7 @@ msgstr "Continuado"
#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "Condición urgente de I/O"
+msgstr "Condición urgente de I/O"
#: signame.c:199 signame.c:208
msgid "I/O possible"
@@ -2490,11 +2463,11 @@ msgstr "Recurso perdido"
#: signame.c:214
msgid "Danger signal"
-msgstr "Señal de peligro"
+msgstr "Señal de peligro"
#: signame.c:217
msgid "Information request"
-msgstr "Petición de información"
+msgstr "Petición de información"
#: signame.c:220
msgid "Floating point co-processor not available"
@@ -2506,111 +2479,113 @@ msgid ""
"\n"
"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s No hay «buffers» strcache\n"
#: strcache.c:266
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
"B\n"
msgstr ""
-"%s strcache utilizado: total = %d (%d) / máx = %d / mín = %d / promedio = "
-"%d\n"
+"\n"
+"%s «buffers» strcache: %lu (%lu) / cadenas = %lu / almacenamiento = %lu B / "
+"promedio = %lu B\n"
#: strcache.c:270
#, c-format
msgid ""
"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"%s «buffer» actual: tamaño = %hu B / utilizado = %hu B / número = %hu / "
+"promedio = %hu B\n"
#: strcache.c:280
-#, fuzzy, c-format
+#, c-format
msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-"%s strcache utilizado: total = %d (%d) / máx = %d / mín = %d / promedio = "
-"%d\n"
+"%s otros utilizado: total = %lu B / / número = %lu / promedio = %lu B\n"
#: strcache.c:283
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-"%s strcache libre: total = %d (%d) / máx = %d / mín = %d / promedio = %d\n"
+"%s otros libre: total = %lu B / máx = %lu B / mín = %lu B / promedio = %hu "
+"B\n"
#: strcache.c:287
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"%s # de cadenas en strcache: %d / búsquedas = %lu / coincidencias = %lu\n"
+"%s rendimiento de strcache: búsquedas = %lu / coincidencias = %lu%%\n"
#: strcache.c:289
-#, fuzzy
msgid ""
"# hash-table stats:\n"
"# "
msgstr ""
-"\n"
-"# estadísticas de la tabla de hash de los archivos:\n"
+"# estadísticas de la tabla «hash»:\n"
"# "
# Lo he cmabiado em+
-# Ok. Deberíamos platicarlo con Ulrich. mm
-#: variable.c:1607
+# Ok. Deberíamos platicarlo con Ulrich. mm
+#: variable.c:1599
msgid "automatic"
-msgstr "automática/o"
+msgstr "automática/o"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "por defecto"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "entorno"
# Sugerencia: No poner archivo. sv
# Ok. mm
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
# 'bajo -e' = 'con -e activo' em+
-# Ok. Esta inversión en los idiomas sajones se pega. mm
-#: variable.c:1619
+# Ok. Esta inversión en los idiomas sajones se pega. mm
+#: variable.c:1611
msgid "environment under -e"
msgstr "con -e activo"
-# Línea de comandos me parece correcto em+
-# Ver arriba. Estoy de acuerdo si así han traducido en otros lados. mm
-#: variable.c:1622
+# Línea de comandos me parece correcto em+
+# Ver arriba. Estoy de acuerdo si así han traducido en otros lados. mm
+#: variable.c:1614
msgid "command line"
-msgstr "línea de instrucciones"
+msgstr "línea de instrucciones"
-# Creo que tendremos un problema con instrucción, comando
-# , programa y directiva . Está claro que aquí es directiva em+
-# Ok, pero no deja de sonar a RoboCop. A ver que te parece como quedó. mm
-#: variable.c:1625
-#, fuzzy
+# Creo que tendremos un problema con instrucción, comando
+# , programa y directiva . Está claro que aquí es directiva em+
+# Ok, pero no deja de sonar a RoboCop. A ver que te parece como quedó. mm
+#: variable.c:1617
msgid "'override' directive"
-msgstr "directiva de sobreposición `override'"
+msgstr "directiva 'override'"
-#: variable.c:1636
-#, fuzzy, c-format
+#: variable.c:1628
+#, c-format
msgid " (from '%s', line %lu)"
-msgstr " (de `%s', línea %lu):"
+msgstr " (de '%s', línea %lu):"
-# Bueno. Aquí un punto de discusión. Traduzco buckets por cubetas o
+# Bueno. Aquí un punto de discusión. Traduzco buckets por cubetas o
# mejor las dejo tal cual? Opiniones bienvenidas. mm
# Estos mensajes son para debug, no creo que haga falta usar cubetas ;) em+
-# Tienes razón, si el debugueador no lo entiende pues, ... que se
+# Tienes razón, si el debugueador no lo entiende pues, ... que se
# dedique a otra cosa. mm
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# estadísticas del conjunto de variables de la tabla de hash:\n"
+msgstr "# estadísticas del conjunto de variables de la tabla «hash»:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2618,132 +2593,137 @@ msgstr ""
"\n"
"# Variables\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# Valores de variables específicas al patrón"
+"# Valores de variables específicas al patrón"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# No hay valores de variables específicas al patrón."
+"# No hay valores de variables específicas al patrón."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u valores de variables específicas al patrón"
+"# %u valores de variables específicas al patrón"
-# ¿Qué te parece "atención"? Lo hemos usado mucho en otros programas. sv
-# Pero que bestia soy. Perdón por el desbarre. mm
+# ¿Qué te parece "atención"? Lo hemos usado mucho en otros programas. sv
+# Pero que bestia soy. Perdón por el desbarre. mm
#: variable.h:224
-#, fuzzy, c-format
+#, c-format
msgid "warning: undefined variable '%.*s'"
-msgstr "atención: la variable `%.*s' no ha sido definida"
+msgstr "atención: la variable '%.*s' no ha sido definida"
#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr "fallo en sys$search() con %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "Atención: redirección vacía\n"
+msgstr "Atención: redirección vacía\n"
-#: vmsjobs.c:178
-#, fuzzy, c-format
+#: vmsjobs.c:183
+#, c-format
msgid "internal error: '%s' command_state"
-msgstr "error interno: `%s' command_state"
+msgstr "error interno: '%s' command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-atención, deberás rehabilitar el manejo del CTRL-Y desde el DCL.\n"
+msgstr "-atención, deberás rehabilitar el manejo del CTRL-Y desde el DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "INTERCONSTRUIDO [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "CD INTERCONSTRUIDO %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "RM INTERCONSTRUIDO %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "CD INTERCONSTRUIDO %s\n"
# Por defecto, como haces arriba em+
# en efecto, mm
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Instrucción interconstruida desconocida `%s'.\n"
+msgstr "Instrucción integrada desconocida '%s'.\n"
+
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
-#: vmsjobs.c:489
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
-msgstr "Error, comando vacío\n"
+msgstr "Error, comando vacío\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Entrada redirigida desde %s\n"
-# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
-# concuerde bien con esta frase y con la anterior simultáneamente. sv
-# No. Ya revisé el fuente y transcribo el trozo pertinente:
+# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
+# concuerde bien con esta frase y con la anterior simultáneamente. sv
+# No. Ya revisé el fuente y transcribo el trozo pertinente:
# char *message = entering ? "Entering" : "Leaving";
# if (makelevel == 0)
# printf ("%s: %s ", program, message);
# else
# printf ("%s[%u]: %s ", program, makelevel, message);
-# Como notarás lo del directorio va en otro lado.
-#: vmsjobs.c:509
+# Como notarás lo del directorio va en otro lado.
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Se redirecciona el error a %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Salida redirigida a %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Salida redirigida a %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Agregada a %.*s y limpieza\n"
# "en sustituto" me suena muy raro. Propongo: "en su lugar" en su lugar :-) sv
# Ok. mm
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "En su lugar, se ejecuta %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Error al lanzar el proceso %d\n"
-# ¿Y al revés?: Rutas de búsqueda VPATH. sv
+# ¿Y al revés?: Rutas de búsqueda VPATH. sv
# Mejora
#: vpath.c:583
msgid ""
@@ -2751,418 +2731,57 @@ msgid ""
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# Rutas de búsqueda VPATH\n"
+"# Rutas de búsqueda VPATH\n"
# Rutas creo que queda mejor. sv
-# Ok. Es más común. mm
+# Ok. Es más común. mm
#: vpath.c:600
-#, fuzzy
msgid "# No 'vpath' search paths."
-msgstr "# No hay rutas de búsqueda `vpath'."
+msgstr "# No hay rutas de búsqueda 'vpath'."
-# ¡Ah! Aquí si que pones el vpath al final, ¿eh? :-) sv
+# ¡Ah! Aquí si que pones el vpath al final, ¿eh? :-) sv
# You really got me! mm
#: vpath.c:602
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u rutas de búsqueda `vpath'.\n"
+"# %u rutas de búsqueda 'vpath'.\n"
#: vpath.c:605
-#, fuzzy
msgid ""
"\n"
"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# No hay ruta de búsqueda general (variable `VPATH')."
+"# No hay ruta de búsqueda general (variable 'VPATH')."
#: vpath.c:611
-#, fuzzy
msgid ""
"\n"
"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Ruta de búsqueda general (variable `VPATH'):\n"
+"# Ruta de búsqueda general (variable 'VPATH'):\n"
"# "
-# ## Le he añadido un "¡" con tu permiso.
-# Gracias. No lo puse porque no se como poner ese símbolo con el
-# iso-accents-mode y luego se me olvidó. Por cierto, como se hace?
-# también tengo duda de la interrogación abierta.
-#~ msgid "# Invalid value in `update_status' member!"
-#~ msgstr "# ¡Valor inválido en el miembro `update_status'!"
-
-# Lo mismo. sv
-#~ msgid "*** [%s] Error 0x%x (ignored)"
-#~ msgstr "*** [%s] Error 0x%x (no tiene efecto)"
-
-# Lo mismo. sv
-#~ msgid "[%s] Error %d (ignored)"
-#~ msgstr "[%s] Error %d (no tiene efecto)"
-
-#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-#~ msgstr ""
-#~ "Se invocan la instrucciones desde %s:%lu para actualizar el objetivo `"
-#~ "%s'.\n"
-
-#~ msgid "Invoking builtin recipe to update target `%s'.\n"
-#~ msgstr ""
-#~ "Se utilizan las instrucciones internas para actualizar al objetivo `%s'.\n"
-
-#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-#~ msgstr "%s # de búfers strcache: %d (* %d B/búfer = %d B)\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "# strcache hash-table stats:\n"
-#~ "# "
-#~ msgstr ""
-#~ "\n"
-#~ "# estadísticas de la tabla de hash:\n"
-#~ "# "
-
-#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "No especifique -j o --jobs si sh.exe no está disponible."
-
-#~ msgid "Resetting make for single job mode."
-#~ msgstr "Reajustando a make para el modo monotarea."
-
-# De esto hablaremos otro día. sv
-# Si. Es bastante complicado. mm
-#~ msgid ""
-#~ "%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"
-#~ msgstr ""
-#~ "%sEste es software libre; consulte en el código fuente las condiciones de "
-#~ "copia.\n"
-#~ "%sNO hay garantía; ni siquiera para MERCANTIBILIDAD o EL CUMPLIMIENTO DE\n"
-#~ "%sALGÚN PROPÓSITO PARTICULAR.\n"
-
-#~ msgid "extraneous `endef'"
-#~ msgstr "el `endef' es irrelevante o está mal colocado"
-
-#~ msgid "empty `override' directive"
-#~ msgstr "instrucción `override' vacía"
-
-# Creo que tendremos un problema con instrucción, comando
-# , programa y directiva . Está claro que aquí es directiva em+
-# Ok, pero no deja de sonar a RoboCop. A ver que te parece como quedó. mm
-#~ msgid "invalid `override' directive"
-#~ msgstr "directiva de sobreposición `override' inválida"
-
-#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-atención, CTRL-Y dejará vivos a los subprocesos.\n"
-
-# Esto habría que revisarlo. sv
-# En efecto, había que revisarlo, no es número de archivos
-# sino que no hay archivos. mm
-#~ msgid ""
-#~ "\n"
-#~ "# No files."
-#~ msgstr ""
-#~ "\n"
-#~ "# No hay archivos."
-
-# Sugerencia: hash buckets -> `hash buckets'
-# (al menos hasta que sepamos lo que es, creo que me salió algo parecido
-# en recode). sv
-# Literalmente un hash bucket es un tonel de trozos. En un proceso de
-# partición por picadillo (hash) se deben definir "toneles" o "cubetas"
-# para guardar allí la información "hasheada". En otras palabras es el
-# tamaño de las entradas de índice hash. Claro como el lodo?
-# Finalmente, ok. Por ahora no traducimos hasta ponernos de acuerdo.
-#~ msgid ""
-#~ "\n"
-#~ "# %u files in %u hash buckets.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "# %u archivos en %u `hash buckets'.\n"
-
-#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
-#~ msgstr ""
-#~ "# promedio de %.3f archivos por `bucket', max %u archivos en un "
-#~ "`bucket'.\n"
-
-#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "Error de sintáxis, aún se está dentro de '\"'\n"
-
-# Recibida o capturada, pero por Dios , no pongas
-# 'se tiene' . En vez de hijo pon proceso hijo , y quita lo
-# que tienes entre paréntesis em+
-# Lo del paréntesis era para escoger. mm
-#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "Recibí una señal SIGCHLD; %u proceso hijo descarriado.\n"
-
-#~ msgid "DIRECTORY"
-#~ msgstr "DIRECTORIO"
-
-#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr ""
-#~ "Debe desplazarse al directorio DIRECTORY antes de hacer cualquier cosa"
-
-#~ msgid "FLAGS"
-#~ msgstr "BANDERAS"
-
-#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "Suspender el proceso para permitir que un depurador se utilice"
-
-#~ msgid "Environment variables override makefiles"
-#~ msgstr "Las variables de entorno tienen prioridad sobre los makefiles"
-
-#~ msgid "FILE"
-#~ msgstr "ARCHIVO"
-
-#~ msgid "Read FILE as a makefile"
-#~ msgstr "Se leyó el ARCHIVO como makefile"
-
-#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "Se buscan en DIRECTORIO los archivos makefile incluídos"
-
-# Esto me suena a descripción de una opción, más que a un mensaje de error.
-# Sugerencia por lo tanto: "No se lanzan ..." sv
-# Estás en lo correcto. mm
-#~ msgid "Don't start multiple jobs unless load is below N"
-#~ msgstr ""
-#~ "No se lanzan varios trabajos a menos que la carga\n"
-#~ "sea inferior a N"
-
-# Lo mismo de antes. sv
-# Ok. mm
-#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "No se ejecutan las instrucciones; sólamente se muestran"
-
-#~ msgid "Consider FILE to be very old and don't remake it"
-#~ msgstr "Se considera el ARCHIVO demasiado viejo y no se reconstruye"
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "error interno: hay varias opciones --sync-mutex"
-# ¿ qué te parece ...
-# No se hace echo de las instrucciones em+
-# No me gusta. Que te parece lo que puse ahora? mm
-#~ msgid "Don't echo commands"
-#~ msgstr "Los comandos no se muestran con eco"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "error interno: hay varias opciones --jobserver-fds"
-# Corregido error de tecleos ;) em+
-# Ok.
-#~ msgid "Turns off -k"
-#~ msgstr "Se deshabilita -k"
-
-# Lo mismo. sv
-# Se considera siempre como nuevo em+
-# Ok. Elimino el 'se' porque está describiendo a una opción. mm
-#~ msgid "Consider FILE to be infinitely new"
-#~ msgstr "Considera al ARCHIVO siempre como nuevo"
-
-# "Entrando en el" (fíjate que esto lo dice cuando entra en un directorio).
-# Habría que ver cómo queda. sv
-# Ver nota más adelante. mm
-# Cambiando a , me pareceria mucho mejor em+
-# En efecto. mm
-#~ msgid "Entering"
-#~ msgstr "Cambiando a"
-
-# "Dejando el", "Abandonando el". sv
-# Que tal "saliendo"? mm
-# Prefiero 'abandonando' , o 'saliendo de' em+
-# Que tal saliendo? mm
-#~ msgid "Leaving"
-#~ msgstr "Saliendo"
-
-# corregido el efecto indio , añado un 'un'em+
-# Ok. mm
-#~ msgid "no file name for `%sinclude'"
-#~ msgstr "no hay un nombre de archivo para `%sinclude'"
-
-#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "El objetivo `%s' deja a los patrones de dependencias vacíos"
-
-#~ msgid "# No variables."
-#~ msgstr "# No hay variables."
-
-#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# promedio de %.1f variables por `bucket', máx %u en un `bucket'.\n"
-
-#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr ""
-#~ "# promedio de %d.%d variables por `bucket', máx %u en un `bucket'.\n"
-
-#~ msgid "Error in lbr$ini_control, %d\n"
-#~ msgstr "Error en lbr$ini_control, %d\n"
-
-#~ msgid "Error looking up module %s in library %s, %d\n"
-#~ msgstr "Error al buscar el módulo %s en la biblioteca %s, %d\n"
-
-#~ msgid "Error getting module info, %d\n"
-#~ msgstr "Error al intentar obtener la información del módulo, %d\n"
-
-#~ msgid "touch: "
-#~ msgstr "touch: "
-
-#~ msgid " not"
-#~ msgstr " no"
-
-#~ msgid "# Last modified %.24s (%0lx)\n"
-#~ msgstr "# Última modificación %.24s (%0lx)\n"
-
-#~ msgid "undefined"
-#~ msgstr "indefinido"
-
-#~ msgid "file"
-#~ msgstr "archivo"
-
-# ¿ crees sinceramente que esto lo puede entender alguien ? em+
-# ¿ qué tal ? con preferencia sobre el entorno em+
-# No, está en AIX, ahora lo arreglo. mm
-#~ msgid "environment override"
-#~ msgstr "con preferencia sobre el entorno"
-
-# Habra que compilar esto inmediatamente e instalar
-# el .po a ver que es esto em+
-# No se puede por ahora pues make no ha sido internacionalizado aún.
-# Será una de las primeras cosas que haga en cuanto se pueda. mm
-#~ msgid "override"
-#~ msgstr "sobreposición"
-
-# Sugerencia: Borrar el "de" en "requiere de ..." sv
-# Perdón, siempre se me vá a pesar de haberlo discutido un buen rato. mm
-#~ msgid "the `word' function takes a one-origin index argument"
-#~ msgstr "la función `word' requiere un argumento indexado de tipo origen-uno"
-
-#~ msgid "implicit"
-#~ msgstr "implícita"
-
-#~ msgid "rule"
-#~ msgstr "regla"
-
-#~ msgid "Trying %s dependency `%s'.\n"
-#~ msgstr "Se intenta la dependencia %s `%s'.\n"
-
-#~ msgid "Found dependency as `%s'.%s\n"
-#~ msgstr "Se encuentra la dependencia como `%s'.%s\n"
-
-#~ msgid "intermediate"
-#~ msgstr "intermedia"
-
-# Protestar al autor. No hay forma de poner trabajo(s) desconocido(s)
-# con coherencia. sv
-# Si, si no tienen identificado a su padre. Ni modo. mm
-# Pongo /s em+
-# Ok. mm
-#~ msgid "Unknown%s job %d"
-#~ msgstr "Trabajo%s desconocido/s %d"
-
-#~ msgid " remote"
-#~ msgstr " remoto"
-
-#~ msgid "%s finished."
-#~ msgstr "%s terminado."
-
-#~ msgid "losing"
-#~ msgstr "se pierde"
-
-#~ msgid "winning"
-#~ msgstr "se gana"
-
-# No me gusta como queda así.
-# Sugerencia: "%sGNU Make versión %s" sv
-# Aceptada. mm
-#~ msgid "%sGNU Make version %s"
-#~ msgstr "%sGNU Make versión %s"
-
-#~ msgid "Unknown error 12345678901234567890"
-#~ msgstr "Error desconocido 12345678901234567890"
-
-#~ msgid "User"
-#~ msgstr "Usuario"
-
-#~ msgid "Make"
-#~ msgstr "Make"
-
-#~ msgid "Child"
-#~ msgstr "Hijo"
-
-#~ msgid "Dependency `%s' does not exist.\n"
-#~ msgstr "La dependencia `%s' no existe.\n"
-
-#~ msgid "newer"
-#~ msgstr "más reciente"
-
-#~ msgid "older"
-#~ msgstr "más antigua"
-
-# Sugerencia: `socket' sv
-# Ok. mm
-#~ msgid "exporting: Couldn't create return socket."
-#~ msgstr "exportando: No se puede crear el `socket' de regreso."
-
-#~ msgid "exporting: "
-#~ msgstr "exportando: "
-
-#~ msgid "exporting: %s"
-#~ msgstr "exportando: %s"
-
-#~ msgid "Job exported to %s ID %u\n"
-#~ msgstr "El trabajo ha sido exportado a %s ID %u\n"
-
-#~ msgid "Error getting load average"
-#~ msgstr "Error al obtener la carga promedio"
-
-#~ msgid "1-minute: %f "
-#~ msgstr "1-minuto: %f "
-
-#~ msgid "5-minute: %f "
-#~ msgstr "5-minutos: %f "
-
-#~ msgid "15-minute: %f "
-#~ msgstr "15-minutos: %f "
-
-# argv-elements -> elementos argv. sv
-# (A poco C que sepas, sabrás lo que es).
-# Algunos si, algunos no. Pero tienes razón. mm
-#~ msgid "digits occur in two different argv-elements.\n"
-#~ msgstr "los dígitos están en dos elementos argv distintos.\n"
-
-#~ msgid "option %c\n"
-#~ msgstr "opción %c\n"
-
-#~ msgid "option a\n"
-#~ msgstr "opción a\n"
-
-#~ msgid "option b\n"
-#~ msgstr "opción b\n"
-
-# Sugerencia: La opción c tiene el valor `%s'
-# Hay un mensaje idéntico en hello. sv
-# Me gusta mucho. mm
-#~ msgid "option c with value `%s'\n"
-#~ msgstr "La opción c tiene el valor `%s'\n"
-
-#~ msgid "?? getopt returned character code 0%o ??\n"
-#~ msgstr "?? getopt() regresó un cáracter con código 0%o ??\n"
-
-# Elementos ARGV que no son opciones: sv
-# Ok. mm.
-# Esto es:
-# Elementos de ARGV 'que' no son opciones:
-# pero tambien es un mensaje de debug del propio make, asi
-# que no me preocupa ( no aparecerá a usuarios normales de make ) em+
-# Bueno, pero de todas formas se corrige. mm
-#~ msgid "non-option ARGV-elements: "
-#~ msgstr "los elementos ARGV que no son opciones: "
-
-#~ msgid "option d with value `%s'\n"
-#~ msgstr "opción d con valor `%s'\n"
-
-#~ msgid "%s: unknown signal"
-#~ msgstr "%s: señal desconocida"
+# Propongo eliminar la palabra virtual. sv
+# Pero si es muy bonita. :) Bueno. Como ya platicamos puede que sea
+# una buena idea pero, por ahora la dejaría. mm
+#~ msgid "virtual memory exhausted"
+#~ msgstr "memoria virtual agotada"
-#~ msgid "Signal 12345678901234567890"
-#~ msgstr "Señal 12345678901234567890"
+#~ msgid "write error"
+#~ msgstr "error al escribir"
-#~ msgid "Signal %d"
-#~ msgstr "Señal %d"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "RM INTERCONSTRUIDO %s\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index f950a1c..4967e23 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index efd8db2..ab3df02 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.81-b3\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2005-07-06 21:36+0300\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -45,50 +45,50 @@ msgstr "touch: Arkistossa \"%1$s\" ei ole jäsentä \"%2$s\""
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: ar_member_touch antoi virheellisen paluuarvon kohteesta \"%s\""
-#: arscan.c:67
+#: arscan.c:124
#, fuzzy, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_module epäonnistui moduulitietojen noutamisessa, tila = %d"
-#: arscan.c:173
+#: arscan.c:230
#, fuzzy, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control epäonnistui, tila = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "kirjastoa \"%s\" ei voi avata jäsenen \"%s\" etsimiseksi"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Jäsen \"%s\"%s: %ld tavua kohdassa %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (nimi voi olla typistynyt)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Päiväys %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Katkaisu.\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Arkistojäsen \"%s\" voi olla viallinen - ei poisteta"
@@ -98,26 +98,26 @@ msgstr "*** [%s] Arkistojäsen \"%s\" voi olla viallinen - ei poisteta"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Arkistojäsen \"%s\" voi olla viallinen - ei poisteta"
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Poistetaan tiedosto \"%s\""
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Poistetaan tiedosto \"%s\""
-#: commands.c:684
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# käynnisetttävät komennot"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (sisäänrakennettu):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (tiedostosta \"%s\", rivi %lu):\n"
@@ -200,158 +200,158 @@ msgstr "Rekursiivinen muuttuja \"%s\" viittaa (lopulta) itseensä"
msgid "unterminated variable reference"
msgstr "päättämätön muuttujaviittaus"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Tiedostolle \"%s\" määriteltiin komentoja paikassa %s:%lu,"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Tiedostolle \"%s\" löytyi komentoja oletussääntöhaussa,"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "mutta \"%s\":n katsotaan nyt olevan sama tiedosto kuin \"%s\"."
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
"Tiedoston \"%s\" komentoja ei huomioida, vaan käytetään komentoja "
"tiedostosta \"%s\"."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Poistetaan aputiedosto \"%s\""
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Poistetaan aputiedostot...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Tämänhetkinen aika"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Aikaleima ei ole sallitulla välillä, korvataan %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Tämänhetkinen aika"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ei kohde:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Arvokas tiedosto (ennakkoehto .PRECIOUS:ille)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Valekohde (ennakkoehto .PHONY:lle)."
-#: file.c:958
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# Komentorivikohde."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Oletus-, MAKEFILES- tai -include/sinclude -makefile-tiedosto."
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# Ei oletussääntöjä."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Oletussääntöhaku on suoritettu."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Oletussääntöhakua ei ole suoritettu."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr ""
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Tiedosto on välitason ennakkoehto."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Tuotetaan myös:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Muutosaikaa ei koskaan tarkastettu."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Tiedosto ei ole olemassa."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Tiedosto on hyvin vanha."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Viimeksi muutettu %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Tiedosto on päivitetty."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Tiedostoa ei ole päivitetty."
-#: file.c:995
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Ajossa olevat komennot (TÄMÄ ON OHJELMISTOVIKA)."
-#: file.c:998
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Ajossa olevat riippuvuuskomennot (TÄMÄ ON OHJELMISTOVIKA)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Päivitetty onnistuneesti."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Vaatii päivitystä (-q on asetettu)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Päivitys epäonnistui."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# Virheellinen arvo \"command_state\"-jäsenessä!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -359,7 +359,7 @@ msgstr ""
"\n"
"# Tiedostot"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -369,108 +369,108 @@ msgstr ""
"# tilasto tiedostojen hajautustaulusta:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "ei-numeerinen ensimmäinen argumentti \"word\"-funktiolle"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "\"word\"-funktion ensimmäisen argumentin on oltava suurempi kuin 0"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "ei-numeerinen ensimmäinen argumentti \"wordlist\"-funktiolle"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "ei-numeerinen toinen argumentti \"wordlist\"-funktiolle"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(In) epäonnistui (v=%d)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(Err) epäonnistui (v=%d)\n"
-#: function.c:1490
+#: function.c:1530
#, fuzzy, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() epäonnistui (v=%d)\n"
-#: function.c:1498
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): process_init_fd() epäonnistui\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Siivotaan väliaikainen komentotiedosto %s\n"
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "kirjoitusvirhe: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\""
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "Ei toteutettu tällä alustalla: funktio \"%s\""
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "päättämätön kutsu funktioon \"%s\": puuttuva \"%c\""
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\""
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\""
#: getopt.c:659
@@ -528,12 +528,12 @@ msgstr "%s: valitsin \"-W %s\" on moniselitteinen\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: valitsin \"-W %s\" ei salli argumenttia\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -616,98 +616,98 @@ msgstr "Etsitään sääntöä aputiedostolla \"%s\".\n"
msgid "Cannot create a temporary file\n"
msgstr "Väliaikaistiedoston luominen ei onnistu\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (muisti vedostettu)"
-#: job.c:487
+#: job.c:488
#, fuzzy
msgid " (ignored)"
msgstr "[%s] Virhe %d (ei huomioida)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (sisäänrakennettu):"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Virhe 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] Virhe %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Virhe 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Odotetaan keskeneräisiä töitä...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr ""
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (etä)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr ""
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr ""
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Siivotaan väliaikainen komentotiedosto %s\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Siivotaan väliaikainen komentotiedosto %s\n"
-#: job.c:949
+#: job.c:961
#, fuzzy, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Poistetaan ketjusta lapsiprosessi 0x%08lx PID %ld%s.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr ""
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "työpalvelimen kirjoitus"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, fuzzy, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() epäonnistui prosessin käynnistämisessä (v=%d)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -716,117 +716,117 @@ msgstr ""
"\n"
"Laskettiin %d argumenttia epäonnistuneessa käynnistyksessä\n"
-#: job.c:1685
+#: job.c:1735
#, fuzzy, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Lisätään ketjuun lapsiprosessi 0x%08lx (%s) PID %ld%s.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr ""
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "työputken luku"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch: Arkistoa \"%s\" ei ole olemassa"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr ""
"%1$s\"%3$s\"-kohteen tarvitseman kohteen \"%2$s\" tuottamiseen ei ole sääntöä"
"%4$s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "kuormarajoja ei voi ottaa käyttöön tässä käyttöjärjestelmässä"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "kuormarajaa ei voi ottaa käyttöön: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
"tiedostokahvoja ei ole enempää: vakiosyötteen kahdentaminen ei onnistunut\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
"tiedostokahvoja ei ole enempää: vakiotulosteen kahdentaminen epäonnistui\n"
-#: job.c:2223
+#: job.c:2278
#, fuzzy
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
"tiedostokahvoja ei ole enempää: vakiosyötteen kahdentaminen ei onnistunut\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Vakiosyötettä ei voitu palauttaa\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Vakiotulostetta ei voitu palauttaa\n"
-#: job.c:2254
+#: job.c:2309
#, fuzzy
msgid "Could not restore stderr\n"
msgstr "Vakiosyötettä ei voitu palauttaa\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Komentoa ei löytynyt"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Kuoriohjelmaa ei löytynyt"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: ympäristötila saattaa olla lopussa"
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL muuttunut (oli \"%s\", nyt \"%s\")\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Luodaan väliaikainen komentotiedosto %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (rivi %d) Väärä kuoriympäristö (!unixy && !batch_mode_shell)\n"
@@ -835,50 +835,50 @@ msgstr "%s (rivi %d) Väärä kuoriympäristö (!unixy && !batch_mode_shell)\n"
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "Rinnakkaiset työt (-j) eivät ole tuettuja tällä alustalla."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Valitsimet:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
" -b, -m Yhteensopivuuden vuoksi jätetään huomiotta.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Tuota kaikki kohteet ehdoitta.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -886,16 +886,16 @@ msgstr ""
" -C HAKEMISTO, --directory=HAKEMISTO\n"
" Siirry HAKEMISTOon ennen jatkamista.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Näytä runsaasti vianetsintätietoja.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr " --debug[=LIPUT] Näytä monenlaisia vianetsintätietoja.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -904,12 +904,12 @@ msgstr ""
" Ympäristömuuttujat kumoavat makefile-"
"tiedostot.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -917,18 +917,18 @@ msgstr ""
" -f TIEDOSTO, --file=TIEDOSTO, --makefile=TIEDOSTO\n"
" Käytä TIEDOSTOa makefile-tiedostona.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Näytä tämä viesti ja poistu.\n"
-#: main.c:334
+#: main.c:335
#, fuzzy
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
" -i, --ignore-errors Älä huomioi suoritettujen komentojen "
"virheitä.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -937,7 +937,7 @@ msgstr ""
" Etsi sisällytettäviä makefile:ja "
"HAKEMISTOsta.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -945,14 +945,14 @@ msgstr ""
" -j [N], --jobs[=N] Salli N yhtäaikaista työtä; ilman N:ää "
"ääretön.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Jatka vaikka joidenkin kohteiden tuottaminen\n"
" epäonnistuisi.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -962,7 +962,7 @@ msgstr ""
" Älä aloita useita töitä ellei kuormitus alle "
"N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -970,7 +970,7 @@ msgstr ""
" -L, --check-symlink-times Käytä uusinta mtime-aikaa symlinkkien ja\n"
" kohteen välillä.\n"
-#: main.c:348
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -981,7 +981,7 @@ msgstr ""
" Näytä ajettavat komennot, älä käynnistä "
"niitä.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -990,17 +990,17 @@ msgstr ""
" -o TIEDOSTO, --old-file=TIEDOSTO, --assume-old=TIEDOSTO\n"
" Käsittele TIEDOSTO vanhana, älä tuota sitä.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Näytä make:in sisäinen tietokanta.\n"
-#: main.c:359
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
@@ -1009,22 +1009,22 @@ msgstr ""
" -q, --question Älä aja komentoja; paluuarvo kertoo ajan-\n"
" tasaisuuden.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Poista käytöstä sisäiset oletussäännöt.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Poista käytöstä sisäiset muuttuja-asetukset.\n"
-#: main.c:365
+#: main.c:366
#, fuzzy
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Älä kaiuta komentoja.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1032,25 +1032,25 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Kumoaa valitsimen -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr " -t, --touch Kosketa kohteita tuottamisen sijaan.\n"
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr " -d Näytä runsaasti vianetsintätietoja.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version Näytä make:in versionumero ja poistu.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Näytä nykyinen hakemisto.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1058,7 +1058,7 @@ msgstr ""
" --no-print-directory Kumoa -w, vaikka se olisi käytössä "
"oletuksena.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1067,7 +1067,7 @@ msgstr ""
"new=TIEDOSTO\n"
" Käsittele TIEDOSTO aina uutena.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1075,31 +1075,26 @@ msgstr ""
" --warn-undefined-variables Varoita viittauksista määrittelemättömiin\n"
" muuttujiin.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "tyhjä merkkijono ei kelpaa tiedostonimeksi"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "tuntematon vianetsintätason määritys \"%s\""
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "sisäinen virhe: useitan --jobserver-fds -valitsimia"
-
-#: main.c:848
+#: main.c:828
#, fuzzy, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Keskeytys/poikkeus siepattu (koodi = 0x%x, osoite = 0x%x)\n"
-#: main.c:855
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -1114,70 +1109,66 @@ msgstr ""
"Poikkeusliput = %x\n"
"Poikkeusosoite = %x\n"
-#: main.c:863
+#: main.c:843
#, fuzzy, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Suojausvirhe: kirjoitusoperaatio osoitteeseen %x\n"
-#: main.c:864
+#: main.c:844
#, fuzzy, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Suojausvirhe: lukuoperaatio osoitteeseen %x\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, fuzzy, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell asettaa default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, fuzzy, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell: polkuhaku asetti default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s keskeytyy 30 sekunniksi..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) valmis. Jatketaan.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "sisäinen virhe: useitan --jobserver-fds -valitsimia"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "sisäinen virhe: virheellinen --jobserver-fds -merkkijono \"%s\""
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "varoitus: -jN pakotettu ali-make:ssa: poistetaan työpalvelin käytöstä."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "kaksinkertainen työpalvelin"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
@@ -1185,115 +1176,115 @@ msgstr ""
"varoitus: työpalvelin ei käytettävissä: käytetään -j1. Lisää \"+\" ylemmän "
"tason make-sääntöön."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile-tiedosto vakiosyötteestä määritelty kahdesti."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (väliaikaistiedosto)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (väliaikaistiedosto)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Rinnakkaiset työt (-j) eivät ole tuettuja tällä alustalla."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Palataan yhden työn (-j1) tilaan."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "luodaan työputki"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "alustetaan työpalvelimen putki"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Ei tukea symbolisille linkeille: poistetaan -L käytöstä."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Päivitetään makefile-tiedostoja....\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
"Ei uudelleentuoteta makefile-tiedostoa \"%s\" - vältetään mahdollinen "
"ikuinen silmukka.\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Makefile-tiedoston \"%s\" uudelleentuottaminen epäonnistui."
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "Sisällytettyä makefile-tiedostoa \"%s\" ei löytynyt."
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "Makefile-tiedostoa \"%s\" ei löytynyt"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Ei voitu siirtyä takaisin alkuperäiseen hakemistoon."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Uudelleenkäynnistetään[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (väliaikaistiedosto): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL sisältää yli yhden kohteen"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Kohteita ei ole annettu, eikä makefileä löytynyt"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Ei kohteita"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr ""
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"varoitus: Havaittu väärä kellonaika. Käännösversio saattaa olla "
"epätäydellinen."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Käyttö: %s [valitsimet] [kohde] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1302,7 +1293,7 @@ msgstr ""
"\n"
"Tämä ohjelma on käännetty järjestelmälle %s.\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1311,37 +1302,37 @@ msgstr ""
"\n"
"Tämä ohjelma on käännetty järjestelmälle %s (%s).\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Ilmoita ohjelmistovioista (englanniksi) osoitteeseen <bug-make@gnu.org>.\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "valitsin \"-%c\" vaatii ei-tyhjän merkkijonoargumentin"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "valitsin \"-%c\" vaatii positiivisen kokonaislukuargumentin"
-#: main.c:3253
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%sTämä ohjelma on käännetty järjestelmälle %s.\n"
-#: main.c:3255
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%sTämä ohjelma on käännetty järjestelmälle %s (%s).\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1350,7 +1341,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1359,7 +1350,7 @@ msgstr ""
"\n"
"# Make-tietokanta, tulostettu %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1373,10 +1364,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Tuntematon virhe %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "virtuaalimuisti lopussa"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1398,65 +1385,61 @@ msgstr "Make-prosessin käyttöoikeudet"
msgid "Child access"
msgstr "Lapsiprosessin käyttöoikeudet"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Siirrytään tuntemattomaan hakemistoon\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Poistutaan tuntemattomasta hakemistosta\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Siirrytään hakemistoon \"%s\"\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Poistutaan hakemistosta \"%s\"\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Siirrytään tuntemattomaan hakemistoon\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Poistutaan tuntemattomasta hakemistosta\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Siirrytään hakemistoon \"%s\"\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Poistutaan hakemistosta \"%s\"\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "kirjoitusvirhe: %s"
-#: output.c:517
-msgid "write error"
-msgstr "kirjoitusvirhe"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Seis.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1465,226 +1448,231 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Luetaan makefile-tiedostoja...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "Luetaan makefile-tiedosto \"%s\""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr ""
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (hakupolku)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (ei välitetä)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (ei ~-laajennusta)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "virheellinen syntaksi ehtolauseessa"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "komennot alkavat ennen ensimmäistä kohdetta"
-#: read.c:1036
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "puuttuva sääntö ennen komentoja"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "puuttuva erotin%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (ehkä tarkoitit sarkainta eikä kahdeksaa välilyöntiä?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "puuttuva erotin%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "puuttuva kohdehahmo"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "useita kohdehahmoja"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "kohdehahmo ei sisällä %%-merkkiä"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "puuttuva \"endif\""
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tyhjä muuttujan nimi"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "Ylimääräistä tekstiä \"endef\"-toimintaohjeen jälkeen"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "puuttuva \"endef\", päättämätön \"define\""
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "Ylimääräistä tekstiä \"endef\"-toimintaohjeen jälkeen"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "Ylimääräistä tekstiä \"%s\"-toimintaohjeen jälkeen"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "ylimääräinen \"%s\""
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "vain yksi \"else\" ehtolausetta kohden"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Väärin muotoiltu kohdekohtainen muuttujamäärittely"
# skripti?
-#: read.c:1951
+#: read.c:1957
#, fuzzy
msgid "prerequisites cannot be defined in recipes"
msgstr "ennakkoehtoja ei voi määritellä komentoskripteissä"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr ""
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr ""
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "kohde \"%s\" ei täsmää kohdehahmon kanssa"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "kohdetiedostolla \"%s\" on sekä :- että ::-merkinnät"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "kohde \"%s\" annettu yli yhden kerran samassa säännössä."
-#: read.c:2114
+#: read.c:2122
#, fuzzy, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "varoitus: syrjäytetään kohteen \"%s\" komennot"
-#: read.c:2117
+#: read.c:2125
#, fuzzy, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "varoitus: ei huomioida vanhoja komentoja kohteelle \"%s\""
-#: read.c:2530
+#: read.c:2229
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr ""
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "varoitus: havaittu NUL-merkki, rivin loppuosaa ei huomioida"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "Kohteelle \"%s\" ei tarvitse tehdä mitään."
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "\"%s\" on ajan tasalla."
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "Karsitaan tiedosto \"%s\".\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sKohteen \"%s\" tuottamiseen ei ole sääntöä%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
"%1$s\"%3$s\"-kohteen tarvitseman kohteen \"%2$s\" tuottamiseen ei ole sääntöä"
"%4$s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sKohteen \"%s\" tuottamiseen ei ole sääntöä%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "Tarkastellaan tiedostoa \"%s\".\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Tiedoston \"%s\" päivitysyritys epäonnistui äskettäin.\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "Tiedostoa \"%s\" on jo tarkasteltu.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "Päivitetään edelleen tiedostoa \"%s\".\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Tiedosto \"%s\" päivitetty.\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "Tiedosto \"%s\" ei ole olemassa.\n"
-#: remake.c:481
+#: remake.c:495
#, fuzzy, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1692,137 +1680,137 @@ msgstr ""
"*** Varoitus: .LOW_RESOLUTION_TIME-tiedostolla \"%s\" on "
"korkearesoluutioinen aikaleima"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Kohteelle \"%s\" löytyi oletussääntö.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Kohteelle \"%s\" ei löytynyt oletussääntöä.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Käytetään oletuskomentoja kohteelle \"%s\".\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Kehäriippuvuus %s <- %s hylätty."
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Kohdetiedoston \"%s\" ennakkoehdot täytetty.\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Kohteen \"%s\" ennakkoehtoja täytetään.\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Luovutaan kohdetiedostosta \"%s\".\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Kohdetta \"%s\" ei tuotettu uudelleen virheiden vuoksi."
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Ennakkoehto \"%s\" on vanhempi kuin kohde \"%s\".\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Kohteen \"%2$s\" ennakkoehto \"%1$s\" ei ole olemassa.\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Ennakkoehto \"%s\" on uudempi kuin kohde \"%s\".\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Ennakkoehto \"%s\" on vanhempi kuin kohde \"%s\".\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:774
+#: remake.c:795
#, fuzzy, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Tuotetaan \"%s\", koska --always-make -valitsin on käytössä.\n"
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "Ei tarvetta uudelleentuottaa kohdetta \"%s\""
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr "; käytetään VPATH-nimeä \"%s\""
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "Kohde \"%s\" on tuotettava uudelleen.\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ei huomioida VPATH-nimeä \"%s\".\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr ""
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Kohdetiedoston \"%s\" uudelleentuottaminen epäonnistui.\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Kohdetiedosto \"%s\" uudelleentuotettiin onnistuneesti.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Käytetään oletuskomentoja kohteelle \"%s\".\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Varoitus: Tiedoston \"%s\" muutosaika on tulevaisuudessa"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Varoitus: Tiedoston \"%s\" muutosaika on %.2g sekuntia tulevaisuudessa"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS-elementti \"%s\" ei ole hahmo"
@@ -1832,7 +1820,7 @@ msgstr ".LIBPATTERNS-elementti \"%s\" ei ole hahmo"
msgid "Customs won't export: %s\n"
msgstr ""
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1840,7 +1828,7 @@ msgstr ""
"\n"
"# Oletussäännöt"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1848,7 +1836,7 @@ msgstr ""
"\n"
"# Ei oletussääntöjä."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1857,11 +1845,11 @@ msgstr ""
"\n"
"# %u oletussääntöä, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr ""
-#: rule.c:531
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "VIKA: num_pattern_rules väärä! %u != %u"
@@ -2071,45 +2059,45 @@ msgstr ""
"# tilasto tiedostojen hajautustaulusta:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automaattinen"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "oletus"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "ympäristö"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "-e:n alainen ympäristö"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "komentorivi"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "\"override\"-toimintaohje"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (tiedostosta \"%s\", rivi %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# muuttujajoukon hajautustaulutilastot:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2117,7 +2105,7 @@ msgstr ""
"\n"
"# Muuttujat\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2125,7 +2113,7 @@ msgstr ""
"\n"
"# Hahmokohtaisia muuttujien arvoja"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2133,7 +2121,7 @@ msgstr ""
"\n"
"# Ei hahmokohtaisia muuttuja-arvoja."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2152,78 +2140,83 @@ msgstr "varoitus: määrittelemätön muuttuja \"%.*s\""
msgid "sys$search() failed with %d\n"
msgstr "sys$search epäonnistui, arvo %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Varoitus: Tyhjä uudelleenohjaus\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "sisäinen virhe: \"%s\" command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-varoitus, Ctrl-Y-käsittely on ehkä otettava uudelleen käyttöön DCL:stä.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "SISÄÄNRAKENNETTU [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "SISÄÄNRAKENNETTU CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "SISÄÄNRAKENNETTU RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "SISÄÄNRAKENNETTU CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Tuntematon sisäänrakennettu komento \"%s\"\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Virhe, tyhjä komento\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Syöte uudelleenohjattu kohteesta %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Virhetuloste uudelleenohjattu kohteeseen %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "Tuloste uudelleenohjattu kohteeseen %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Tuloste uudelleenohjattu kohteeseen %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Käynnistetään sen sijaan %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Virhe käynnistyksessä, %d\n"
@@ -2282,6 +2275,9 @@ msgstr ""
#~ msgid "Resetting make for single job mode."
#~ msgstr "Palautetaan make yhden työn tilaan."
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "sisäinen virhe: useitan --jobserver-fds -valitsimia"
+
#~ msgid ""
#~ "%sThis is free software; see the source for copying conditions.\n"
#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
@@ -2291,6 +2287,12 @@ msgstr ""
#~ "%sTakuuta EI ole, ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA tai\n"
#~ "%sSOPIVUUDESTA TIETTYYN TARKOITUKSEEN.\n"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtuaalimuisti lopussa"
+
+#~ msgid "write error"
+#~ msgstr "kirjoitusvirhe"
+
#~ msgid "extraneous `endef'"
#~ msgstr "ylimääräinen \"endef\""
@@ -2303,5 +2305,8 @@ msgstr ""
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr "-varoitus, Ctrl-Y jättää aliprosessi(n/t) käyntiin.\n"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "SISÄÄNRAKENNETTU RM %s\n"
+
#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "Syntaksivirhe, edelleen \":n sisällä\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 89271db..095850c 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index a652fcc..287bb62 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,14 +6,14 @@
# Marc Baudoin <babafou@ensta.fr>, Frédéric Liné <line@MicroNet.fr>, 1996.
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996-2006
# Christophe Combelles <ccomb@free.fr>, 2009, 2010
-# Kevin Raymond <shaiton@fedoraproject.org>, 2012
+# Kevin Raymond <shaiton@fedoraproject.org>, 2012, 2013
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 3.82\n"
+"Project-Id-Version: GNU make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2012-02-27 23:05+0100\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-11-01 16:15+0100\n"
"Last-Translator: Kevin Raymond <shaiton@fedoraproject.org>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -21,113 +21,115 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 1.5.4\n"
#: ar.c:46
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use unsupported feature: '%s'"
-msgstr "tentative d'utiliser une caractéristique non prise en charge : « %s »"
+msgstr "tentative d'utiliser une fonctionnalité non prise en charge : « %s »"
#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "impossible de modifier la date d'un membre d'une archive sur VMS"
#: ar.c:147
-#, fuzzy, c-format
+#, c-format
msgid "touch: Archive '%s' does not exist"
msgstr "touch : l'archive « %s » n'existe pas"
#: ar.c:150
-#, fuzzy, c-format
+#, c-format
msgid "touch: '%s' is not a valid archive"
msgstr "touch : « %s » n'est pas une archive valide"
#: ar.c:157
-#, fuzzy, c-format
+#, c-format
msgid "touch: Member '%s' does not exist in '%s'"
msgstr "touch : le membre « %s » n'existe pas dans « %s »"
#: ar.c:164
-#, fuzzy, c-format
+#, c-format
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch : mauvais code de retour de ar_member_touch pour « %s »"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_module() n'a pas pu extraire les infos du module. Code = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() a échoué avec un code = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
-msgstr "impossible d'ouvrir la bibliothèque %s pour récupérer le membre « %s »"
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr ""
+"impossible d'ouvrir la bibliothèque « %s » pour récupérer le membre « %s »"
-#: arscan.c:847
-#, fuzzy, c-format
+#: arscan.c:944
+#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Membre `%s'%s : %ld octets à %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (le nom peut être tronqué)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Date %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mode = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
-msgstr ""
+msgstr "La recette contient trop de lignes (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Break.\n"
-#: commands.c:630
-#, fuzzy, c-format
+#: commands.c:629
+#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** [%s] le membre d'archive « %s » peut avoir un problème ; il n'a pas été "
-"supprimé"
+"*** [%s] le membre « %s » de l'archive peut avoir un problème ; il n'a pas "
+"été supprimé"
#: commands.c:633
-#, fuzzy, c-format
+#, c-format
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** Le membre d'archive « %s » peut avoir un problème; il n'a pas été "
+"*** Le membre « %s » de l'archive peut avoir un problème ; il n'a pas été "
"supprimé"
-#: commands.c:646
-#, fuzzy, c-format
+#: commands.c:647
+#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Suppression du fichier « %s »"
-#: commands.c:648
-#, fuzzy, c-format
+#: commands.c:649
+#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Suppression du fichier « %s »"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# recette à exécuter"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (commande interne) :"
-#: commands.c:689
-#, fuzzy, c-format
+#: commands.c:690
+#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (de « %s », ligne %lu) : \n"
@@ -200,169 +202,165 @@ msgid " impossibilities in %lu directories.\n"
msgstr " impossibilités dans %lu répertoires.\n"
#: expand.c:125
-#, fuzzy, c-format
+#, c-format
msgid "Recursive variable '%s' references itself (eventually)"
-msgstr "La variable récursive « %s » se référence elle-même (finalement)"
+msgstr "La variable récursive « %s » se référence elle-même (à la fin)"
#: expand.c:269
msgid "unterminated variable reference"
msgstr "référence incomplète à une variable"
-#: file.c:269
-#, fuzzy, c-format
+#: file.c:271
+#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
-msgstr "Une recette a été spécifiée pour le fichier « %s » à %s:%lu,"
+msgstr "Une recette a été spécifiée pour le fichier « %s » dans %s : %lu,"
-#: file.c:274
-#, fuzzy, c-format
+#: file.c:276
+#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
"La recette pour le fichier « %s » a été trouvée par une recherche de règle "
"implicite,"
-#: file.c:277
-#, fuzzy, c-format
+#: file.c:280
+#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr ""
"mais « %s » est maintenant considéré comme étant le même fichier que « %s »."
-#: file.c:280
-#, fuzzy, c-format
+#: file.c:283
+#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "La recette pour « %s » sera ignorée en faveur de celle pour « %s »."
-#: file.c:300
-#, fuzzy, c-format
+#: file.c:303
+#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
"impossible de renommer le deux-points simple « %s » en deux-points double "
"« %s »"
-#: file.c:305
-#, fuzzy, c-format
+#: file.c:309
+#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
"impossible de renommer le deux-points double « %s » en deux-points simple "
"« %s »"
-#: file.c:396
-#, fuzzy, c-format
+#: file.c:401
+#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Suppression du fichier intermédiaire « %s »"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Suppression des fichiers intermédiaires...\n"
-#: file.c:808
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: horodatage hors limite ; remplacement par %s"
-
-#: file.c:809
+#: file.c:811
msgid "Current time"
msgstr "Heure actuelle"
-#: file.c:949
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s : horodatage hors limite ; remplacement par %s"
+
+#: file.c:955
msgid "# Not a target:"
msgstr "# Pas une cible :"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Fichier précieux (dépendance de .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Cible factice (dépendance de .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Cible de la ligne de commande."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Une valeur par défaut, MAKEFILES ou -include/sinclude makefile."
-#: file.c:962
-#, fuzzy
+#: file.c:968
msgid "# Builtin rule"
-msgstr ""
-"\n"
-"# Pas de règle implicite."
+msgstr "# Pas de règle interne"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# La recherche de règle implicite a été effectuée."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# La recherche de règle implicite n'a pas été effectuée."
-#: file.c:967
-#, fuzzy, c-format
+#: file.c:973
+#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Préfixe de motif implicite ou statique : « %s »\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Le fichier est une dépendance intermédiaire."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Fabrique également :"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Heure de modification jamais vérifiée."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Le fichier n'existe pas."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Le fichier est très ancien."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Dernière modification %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Le fichier a été mis à jour."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Le fichier n'a pas été mis à jour."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Recette en cours d'exécution (CECI EST UNE ANOMALIE)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
"# Recette de dépendances en cours d'exécution (CECI EST UNE ANOMALIE)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Mise à jour réussie."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# À besoin d'être mis à jour (l'option -q est activée)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# N'a pas pu être mis à jour."
-#: file.c:1019
-#, fuzzy
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr "# Valeur non valable dans le membre « command_state » !"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -370,7 +368,7 @@ msgstr ""
"\n"
"# Fichiers"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -380,173 +378,170 @@ msgstr ""
"# stats des tables de hachage des fichiers :\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
-msgstr ""
+msgstr "%s : le champ « %s » n'est pas en cache : %s"
-#: function.c:742
-#, fuzzy
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "le premier argument de la fonction « word » doit être numérique"
-#: function.c:747
-#, fuzzy
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
-msgstr "le premier argument de la fonction « word » doit être plus grand que 0"
+msgstr "le premier argument de la fonction « word » doit être supérieur à 0"
-#: function.c:767
-#, fuzzy
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "le premier argument de la fonction « wordlist » doit être numérique"
-#: function.c:769
-#, fuzzy
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "le deuxième argument de la fonction « wordlist » doit être numérique"
-#: function.c:1460
-#, fuzzy, c-format
+#: function.c:1499
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "windows32_openpipe(): DuplicateHandle(In) a échoué (e=%ld)\n"
+msgstr "windows32_openpipe : DuplicateHandle(In) a échoué (e=%ld)\n"
-#: function.c:1483
-#, fuzzy, c-format
+#: function.c:1523
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "windows32_open_pipe(): DuplicateHandle(Err) a échoué (e=%ld)\n"
+msgstr "windows32_openpipe : DuplicateHandle(Err) a échoué (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() a échoué (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe(): process_init_fd() a échoué\n"
+msgstr "windows32_openpipe() : process_init_fd() a échoué\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Nettoyage du fichier de commandes temporaire %s\n"
-#: function.c:2151
-#, fuzzy, c-format
+#: function.c:2193
+#, c-format
msgid "open: %s: %s"
-msgstr "%s: %s"
+msgstr "open : %s : %s"
-#: function.c:2158
-#, fuzzy, c-format
+#: function.c:2203
+#, c-format
msgid "write: %s: %s"
-msgstr "erreur d'écriture : %s"
+msgstr "write : %s : %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
-msgstr ""
+msgstr "Fichier d'opérations invalide : %s"
-#: function.c:2279
-#, fuzzy, c-format
+#: function.c:2324
+#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »"
-#: function.c:2291
-#, fuzzy, c-format
+#: function.c:2336
+#, c-format
msgid "unimplemented on this platform: function '%s'"
-msgstr "non implémenté sur cette plateforme: fonction « %s »"
+msgstr "non implémenté sur cette plateforme : fonction « %s »"
-#: function.c:2354
-#, fuzzy, c-format
+#: function.c:2399
+#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "appel à la fonction « %s » non terminé : « %c » manquant"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Nom de fonction absent\n"
-#: function.c:2548
-#, c-format
-msgid "Invalid function name: %s\n"
-msgstr ""
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Nom de fonction invalide : %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
-msgstr ""
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Nom de fonction trop long : %s\n"
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
-msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »"
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »\n"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
-msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »"
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »\n"
#: getopt.c:659
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: l'option « %s » est ambiguë\n"
+msgstr "%s : l'option « %s » est ambiguë\n"
#: getopt.c:683
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: l'option « --%s » ne prend pas d'argument\n"
+msgstr "%s : l'option « --%s » ne prend pas d'argument\n"
#: getopt.c:688
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: l'option « %c%s » ne prend pas d'argument\n"
+msgstr "%s : l'option « %c%s » ne prend pas d'argument\n"
#: getopt.c:705 getopt.c:878
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: l'option « %s » nécessite un argument\n"
+msgstr "%s : l'option « %s » nécessite un argument\n"
#: getopt.c:734
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: option non reconnue « --%s »\n"
+msgstr "%s : option non reconnue « --%s »\n"
#: getopt.c:738
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: option non reconnue « %c%s »\n"
+msgstr "%s : option non reconnue « %c%s »\n"
#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: option non admise -- %c\n"
+msgstr "%s : option non admise -- %c\n"
#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: option incorrecte -- %c\n"
+msgstr "%s : option incorrecte -- %c\n"
#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'option nécessite un argument -- %c\n"
+msgstr "%s : l'option nécessite un argument -- %c\n"
#: getopt.c:844
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: l'option « -W %s » est ambiguë\n"
+msgstr "%s : l'option « -W %s » est ambiguë\n"
#: getopt.c:862
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: l'option « -W %s » ne prend pas d'argument\n"
+msgstr "%s : l'option « -W %s » ne prend pas d'argument\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
-msgstr ""
+msgstr "guile : expansion de « %s »\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
-msgstr ""
+msgstr "guile : évaluation de « %s »\n"
#: hash.c:49
#, c-format
@@ -570,12 +565,12 @@ msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Collisions=%ld/%ld=%.0f%%"
#: implicit.c:38
-#, fuzzy, c-format
+#, c-format
msgid "Looking for an implicit rule for '%s'.\n"
msgstr "Recherche d'une règle implicite pour « %s ».\n"
#: implicit.c:54
-#, fuzzy, c-format
+#, c-format
msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr "Recherche d'une règle implicite de membre d'archive pour « %s ».\n"
@@ -586,40 +581,40 @@ msgstr "Évitement de récursion dans une règle implicite.\n"
#: implicit.c:486
#, c-format
msgid "Stem too long: '%.*s'.\n"
-msgstr ""
+msgstr "Motif trop long : « %.*s ».\n"
#: implicit.c:491
-#, fuzzy, c-format
+#, c-format
msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr "Essai du motif avec « %.*s » comme radical.\n"
#: implicit.c:697
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr "Rejet d'une dépendance de règle impossible « %s ».\n"
#: implicit.c:698
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr "Rejet d'une dépendance implicite impossible « %s ».\n"
#: implicit.c:711
-#, fuzzy, c-format
+#, c-format
msgid "Trying rule prerequisite '%s'.\n"
msgstr "Essai de la dépendance de règle « %s ».\n"
#: implicit.c:712
-#, fuzzy, c-format
+#, c-format
msgid "Trying implicit prerequisite '%s'.\n"
msgstr "Essai de la dépendance implicite « %s ».\n"
#: implicit.c:751
-#, fuzzy, c-format
+#, c-format
msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr "Dépendance trouvée « %s » comme VPATH « %s »\n"
#: implicit.c:765
-#, fuzzy, c-format
+#, c-format
msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr "Recherche d'une règle contenant le fichier intermédaire « %s ».\n"
@@ -627,97 +622,96 @@ msgstr "Recherche d'une règle contenant le fichier intermédaire « %s ».\n"
msgid "Cannot create a temporary file\n"
msgstr "Impossible de créer un fichier temporaire\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (core dump créé)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (ignorée)"
-#: job.c:491 job.c:1994
-#, fuzzy
+#: job.c:492 job.c:2046
msgid "<builtin>"
-msgstr " (commande interne) :"
+msgstr "<commande interne>"
-#: job.c:501
-#, fuzzy, c-format
+#: job.c:503
+#, c-format
msgid "%s: recipe for target '%s' failed"
-msgstr "AVERTISSEMENT : surchargement de la recette pour la cible « %s »"
+msgstr "%s : la recette pour la cible « %s » a échouée"
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Erreur 0x%x"
-
-#: job.c:513
-#, fuzzy, c-format
+#: job.c:516 job.c:524
+#, c-format
msgid "%s[%s] Error %d%s"
-msgstr "*** [%s] Erreur %d"
+msgstr "%s[%s] Erreur %d%s"
-#: job.c:517
-#, fuzzy, c-format
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Erreur 0x%x%s"
+
+#: job.c:529
+#, c-format
msgid "%s[%s] %s%s%s"
-msgstr "%s%s: %s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Attente des tâches non terminées...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Processus fils actif %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (distant)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Récolte du processus fils perdant %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Récolte du processus fils gagnant %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Nettoyage du fichier de commande temporaire %s\n"
-#: job.c:843
-#, fuzzy, c-format
+#: job.c:855
+#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
-msgstr "Nettoyage du fichier de commande temporaire %s\n"
+msgstr "Le nettoyage du fichier de commandes temporaire %s a échoué (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Retrait du processus fils %p PID %s%s de la chaîne.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "libération de la sémaphore jobserver : erreur (%ld : %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Jeton relâché pour le processus fils %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "écriture vers le serveur de tâches"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() n'a pas pu lancer de processus (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -726,115 +720,112 @@ msgstr ""
"\n"
"%d arguments comptés lors du lancement échoué\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Ajout du processus fils %p (%s) PID %s%s à la chaîne.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
-msgstr ""
+msgstr "attente de la sémaphore ou du processus fils : (erreur %ld : %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Jeton obtenu pour le processus fils %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "lecture du tube des processus"
-#: job.c:2003
-#, fuzzy, c-format
+#: job.c:2056
+#, c-format
msgid "%s: target '%s' does not exist"
-msgstr "touch : l'archive « %s » n'existe pas"
+msgstr "%s : la cible « %s » n'existe pas"
-#: job.c:2005
-#, fuzzy, c-format
+#: job.c:2059
+#, c-format
msgid "%s: update target '%s' due to: %s"
-msgstr ""
-"%s Aucune règle pour fabriquer la cible « %s », nécessaire pour « %s »%s"
+msgstr "%s : mise à jour de la cible « %s » nécessaire pour : %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
"impossible d'imposer des limites de charge sur ce système d'exploitation"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "impossible d'imposer des limites de charge : "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
"plus d'identificateur de fichier disponible : impossible de dupliquer stdin\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
"plus d'identificateur de fichier disponible : impossible de dupliquer "
"stdout\n"
-#: job.c:2223
-#, fuzzy
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
-"plus d'identificateur de fichier disponible : impossible de dupliquer stdin\n"
+"plus d'identificateurs de fichier disponible : impossible de dupliquer "
+"stderr\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Impossible de restaurer stdin\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Impossible de restaurer stdout\n"
-#: job.c:2254
-#, fuzzy
+#: job.c:2309
msgid "Could not restore stderr\n"
-msgstr "Impossible de restaurer stdin\n"
+msgstr "Impossible de restaurer stderr\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
"make a récolté le processus fils pid %s, toujours en attente du pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: commande introuvable"
+msgstr "%s : commande introuvable"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: programme Shell introuvable"
+msgstr "%s : programme Shell introuvable"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe : l'espace d'environnement est peut-être épuisé"
-#: job.c:2709
-#, fuzzy, c-format
+#: job.c:2765
+#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
-msgstr "$SHELL a été modifié (valait « %s », vaut maintenant « %s »)\n"
+msgstr "$SHELL a été modifié (de « %s » à « %s »)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Création d'un fichier de commande temporaire %s\n"
-#: job.c:3148
-#, fuzzy
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-"Contenu du fichier Batch :%s\n"
-"\t%s\n"
+"Contenu du fichier de commande :\n"
+"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -843,7 +834,7 @@ msgstr ""
"Contenu du fichier Batch :%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -852,53 +843,52 @@ msgstr ""
#: job.h:43
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
+"-O[TYPE] (--output-sync[=TYPE]) n'est pas configuré pour cette construction."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
-msgstr ""
+msgstr "Echec de l'ouverture de la table des symboles générale : %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
-msgstr ""
+msgstr "L'objet chargé « %s » n'est pas déclaré compatible avec la GPL"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
-msgstr ""
+msgstr "Echec du chargement du symbole %s à partir de %s : %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
-msgstr ""
+msgstr "Nom du symbole absent pour l'opération « load » : %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
-msgstr ""
+msgstr "Chargement du symbole %s à partir de %s\n"
-#: load.c:229
-#, fuzzy
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr ""
-"Les tâches en parallèle (-j) ne sont pas prises en charge sur cette "
-"plateforme."
+"Les opérations « load » ne sont pas prises en charge sur cette plateforme."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Options :\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignoré pour compatibilité.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Fabriquer toutes les cibles sans condition.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -907,19 +897,19 @@ msgstr ""
" Se placer dans le RÉPERTOIRE avant toute "
"action.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
" -d Afficher beaucoup d'informations de débogage.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAGS] Afficher divers types d'informations de "
"débogage.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -928,14 +918,14 @@ msgstr ""
" Les variables d'environment sont prioritaires "
"sur les makefiles.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=CHAINE Evaluer la CHAINE comme une instruction de "
"makefile.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -943,16 +933,16 @@ msgstr ""
" -f FICHIER, --file=FICHIER, --makefile=FICHIER\n"
" Lire le FICHIER comme un makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Afficher ce message et quitter.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
" -i, --ignore-errors Ignorer les erreurs venant des recettes.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -961,7 +951,7 @@ msgstr ""
" Chercher dans le RÉPERTOIRE les makefiles "
"traités par inclusion.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -969,14 +959,14 @@ msgstr ""
" -j [N], --jobs[=N] Autoriser N tâches simultanées ; nombre infini "
"si utilisé sans argument.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Poursuivre même si certaines cibles n'ont pas "
"pu être fabriquées.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -986,7 +976,7 @@ msgstr ""
" Ne pas lancer de tâches multiples à moins que "
"la charge soit inférieure à N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -994,7 +984,7 @@ msgstr ""
" -L, --check-symlink-times Utiliser le « mtime » le plus récent entre les "
"liens symboliques et la cible.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -1004,7 +994,7 @@ msgstr ""
" N'exécuter aucune recette ; seulement les "
"afficher.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -1014,18 +1004,21 @@ msgstr ""
" Considérer le FICHIER comme étant très ancien "
"et ne pas le refabriquer.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronise la sortie des tâches parallèles "
+"par TYPE.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
" -p, --print-data-base Afficher la base de données interne de make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1033,22 +1026,22 @@ msgstr ""
" -q, --question Ne pas exécuter de recette ; le code de sortie "
"indique si la cible est à jour.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Désactiver les règles implicites internes.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Désactiver les réglages des variables "
"internes.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ne pas répéter les recettes.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1056,30 +1049,28 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Désactiver -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Assigner l'heure actuelle aux cibles au lieu "
"de les refabriquer.\n"
-#: main.c:372
-#, fuzzy
+#: main.c:373
msgid " --trace Print tracing information.\n"
-msgstr ""
-" -d Afficher beaucoup d'informations de débogage.\n"
+msgstr " --trace Afficher les traces mémoire.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
" -v, --version Afficher le numéro de version de make et "
"quitter.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Afficher le répertoire courant.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1087,7 +1078,7 @@ msgstr ""
" --no-print-directory Désactiver l'option -w, même si elle a été "
"activée implicitement.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1096,7 +1087,7 @@ msgstr ""
" Considérer le FICHIER comme étant toujours "
"nouveau.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1104,32 +1095,27 @@ msgstr ""
" --warn-undefined-variables Prévenir lorsqu'une variable non définie est "
"référencée.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "une chaîne vide n'est pas un nom de fichier valable"
-#: main.c:734
-#, fuzzy, c-format
+#: main.c:737
+#, c-format
msgid "unknown debug level specification '%s'"
msgstr "niveau de débogage inconnu « %s »"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
-msgstr ""
+msgstr "type de output-sync « %s » inconnu"
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "erreur interne : options --jobserver-fds multiples"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
"%s: interception de l'interruption/exception (code = 0x%lx, addr = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1144,190 +1130,187 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Violation d'accès : opération d'écriture à l'adresse 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Violation d'accès : opération de lecture à l'adresse 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() définit default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
"La recherche de chemin de find_and_set_shell() a définit default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s s'arrête pendant 30 secondes..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) terminé. On continue.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "erreur interne : options --jobserver-fds multiples"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
+"erreur interne : impossible d'ouvrir la sémaphore « %s » du jobserver : "
+"(erreur %ld : %s) "
-#: main.c:1547
-#, fuzzy, c-format
+#: main.c:1530
+#, c-format
msgid "Jobserver client (semaphore %s)\n"
-msgstr "client Jobserver (fds %d,%d)\n"
+msgstr "client Jobserver (semaphore %s)\n"
-#: main.c:1551
-#, fuzzy, c-format
+#: main.c:1534
+#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
-msgstr "erreur interne : chaîne --jobserver-fds incorrecte « %s » "
+msgstr "erreur interne : chaîne --jobserver-fds incorrecte « %s »"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "client Jobserver (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"AVERTISSEMENT : -jN forcé dans un submake : désactivation du mode serveur de "
"tâches."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "duplication du serveur de tâches"
-#: main.c:1586
-#, fuzzy
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"AVERTISSEMENT : le serveur de tâches n'est pas disponible : utilisation de -"
-"j1. Ajouter « + » à la règle parent du make."
+"avertissement : jobserver n'est pas disponible : utilisation de -j1. Ajouter "
+"« + » à la règle parent du make."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile depuis l'entrée standard spécifié deux fois."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (fichier temporaire)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (fichier temporaire)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr ""
"Les tâches en parallèle (-j) ne sont pas prises en charge sur cette "
"plateforme."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "On revient en mode monotâche (-j1)."
-#: main.c:2006
-#, fuzzy, c-format
+#: main.c:1994
+#, c-format
msgid "Jobserver slots limited to %d\n"
-msgstr "client Jobserver (fds %d,%d)\n"
+msgstr "Nombre de clients jobserver limités à %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "création de la sémaphore du jobserver : (erreur %ld : %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "création d'un tube pour les tâches"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "initialisation du tube du serveur de tâches"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
"Les liens symboliques ne sont pas pris en charge : désactivation de -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Mise à jour des makefiles....\n"
-#: main.c:2174
-#, fuzzy, c-format
+#: main.c:2158
+#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
-msgstr "Le makefile « %s » peut boucler ; on ne refabrique pas.\n"
+msgstr "Le makefile « %s » pourrait boucler ; on ne recommence pas.\n"
-#: main.c:2253
-#, fuzzy, c-format
+#: main.c:2237
+#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Échec de refabrication du makefile « %s »."
-#: main.c:2270
-#, fuzzy, c-format
+#: main.c:2257
+#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Le makefile inclus « %s » est introuvable."
-#: main.c:2275
-#, fuzzy, c-format
+#: main.c:2262
+#, c-format
msgid "Makefile '%s' was not found"
msgstr "Le makefile « %s » est introuvable"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Impossible de revenir dans le répertoire d'origine."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
-msgstr "Ré-exécution[%u] :"
+msgstr "Réexécution[%u] :"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (fichier temporaire):"
+msgstr "unlink (fichier temporaire) :"
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL contient plus d'une cible"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Pas de cible spécifiée et aucun makefile n'a été trouvé"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Pas de cible"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Mise à jour des objectifs cibles....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"AVERTISSEMENT : décalage d'horloge détecté. La construction peut être "
"incomplète."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Utilisation : %s [options] [cible] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1336,7 +1319,7 @@ msgstr ""
"\n"
"Ce programme est construit pour %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1345,32 +1328,32 @@ msgstr ""
"\n"
"Ce programme est construit pour %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Signaler les anomalies à <bug-make@gnu.org>.\n"
-#: main.c:2810
-#, fuzzy, c-format
+#: main.c:2807
+#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "l'option « %s%s » a besoin d'une chaîne non vide comme argument"
-#: main.c:2864
-#, fuzzy, c-format
+#: main.c:2871
+#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "l'option « -%c » prend en argument un entier positif"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sConstruit pour %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sConstruit pour %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1384,7 +1367,7 @@ msgstr ""
"redistribuer.\n"
"%sIl ne comporte AUCUNE GARANTIE, dans la mesure de ce que permet la loi.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1393,7 +1376,7 @@ msgstr ""
"\n"
"# Base de données de Make, imprimée le %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1407,14 +1390,10 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Erreur inconnue %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "mémoire virtuelle épuisée"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: utilisateur %lu (reél %lu), groupe %lu (réel %lu)\n"
+msgstr "%s : utilisateur %lu (reél %lu), groupe %lu (réel %lu)\n"
#: misc.c:543
msgid "Initialized access"
@@ -1432,431 +1411,428 @@ msgstr "Accès de Make"
msgid "Child access"
msgstr "Accès des fils"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "%s: on entre dans un répertoire inconnu\n"
+msgstr "%s : on entre dans un répertoire inconnu\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: on quitte un répertoire inconnu\n"
+msgstr "%s : on quitte un répertoire inconnu\n"
-#: output.c:133
-#, fuzzy, c-format
+#: output.c:109
+#, c-format
msgid "%s: Entering directory '%s'\n"
-msgstr "%s: on entre dans le répertoire « %s »\n"
+msgstr "%s : on entre dans le répertoire « %s »\n"
-#: output.c:135
-#, fuzzy, c-format
+#: output.c:111
+#, c-format
msgid "%s: Leaving directory '%s'\n"
-msgstr "%s: on quitte le répertoire « %s »\n"
+msgstr "%s : on quitte le répertoire « %s »\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: on entre dans un répertoire inconnu\n"
+msgstr "%s[%u] : on entre dans un répertoire inconnu\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: on quitte un répertoire inconnu\n"
+msgstr "%s[%u] : on quitte un répertoire inconnu\n"
-#: output.c:144
-#, fuzzy, c-format
+#: output.c:120
+#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
-msgstr "%s[%u]: on entre dans le répertoire « %s »\n"
+msgstr "%s[%u] : on entre dans le répertoire « %s »\n"
-#: output.c:146
-#, fuzzy, c-format
+#: output.c:122
+#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
-msgstr "%s[%u]: on quitte le répertoire « %s »\n"
+msgstr "%s[%u] : on quitte le répertoire « %s »\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "erreur d'écriture : %s"
-#: output.c:517
-msgid "write error"
-msgstr "erreur d'écriture"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Arrêt.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
-msgstr "%s%s: %s"
+msgstr "%s%s : %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
-msgstr "%s: %s"
+msgstr "%s : %s"
#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Lecture des makefiles...\n"
-#: read.c:333
-#, fuzzy, c-format
+#: read.c:335
+#, c-format
msgid "Reading makefile '%s'"
msgstr "Lecture du makefile « %s »"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (pas d'objectif par défaut)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (chemin de recherche)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (peu importe)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (pas de remplacement du ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
-msgstr ""
+msgstr "On saute les BOM UTF-8 du makefile « %s »\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
-msgstr ""
+msgstr "On saute les BOM UTF-8 du tampon makefile\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "syntaxe incorrecte dans la condition"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
-msgstr ""
+msgstr "%s : echec du chargement"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "La recette commence avant la première cible"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "règle manquante avant la recette"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "séparateur manquant %s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (vouliez-vous dire TAB au lieu des 8 espaces ?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "séparateur manquant %s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "motif de cible manquant"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "motifs de cible multiples"
-#: read.c:1269
-#, fuzzy, c-format
+#: read.c:1276
+#, c-format
msgid "target pattern contains no '%%'"
msgstr "le motif de cible ne contient pas « %% »"
-#: read.c:1391
-#, fuzzy
+#: read.c:1398
msgid "missing 'endif'"
msgstr "« endif » manquant"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "nom de variable vide"
-#: read.c:1465
-#, fuzzy
+#: read.c:1471
msgid "extraneous text after 'define' directive"
-msgstr "Texte superflu après la directive « define »"
+msgstr "texte superflu après la directive « define »"
-#: read.c:1490
-#, fuzzy
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr "« endef » manquant, « define » non terminé"
-#: read.c:1518
-#, fuzzy
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
-msgstr "Texte superflu après la directive « endef »"
+msgstr "texte superflu après la directive « endef »"
-#: read.c:1589
-#, fuzzy, c-format
+#: read.c:1595
+#, c-format
msgid "extraneous text after '%s' directive"
-msgstr "Texte superflu après la directive « %s »"
+msgstr "texte superflu après la directive « %s »"
-#: read.c:1598 read.c:1612
-#, fuzzy, c-format
+#: read.c:1596
+#, c-format
msgid "extraneous '%s'"
msgstr "« %s » superflu"
-#: read.c:1617
-#, fuzzy
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "un seul « else » par condition"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Définition malformée de variable spécifique à une cible"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "les prérequis ne peuvent être définis dans des recettes"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "mélange de règles implicites et statiques pour le motif"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "mélange de règles implicites et normales"
-#: read.c:2084
-#, fuzzy, c-format
+#: read.c:2091
+#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "la cible « %s » ne correspond pas au motif de cible"
-#: read.c:2099 read.c:2144
-#, fuzzy, c-format
+#: read.c:2106 read.c:2152
+#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "le fichier cible « %s » possède à la fois des entrées : et ::"
-#: read.c:2105
-#, fuzzy, c-format
+#: read.c:2112
+#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "la cible « %s » apparaît plus d'une fois dans la même règle."
-#: read.c:2114
-#, fuzzy, c-format
+#: read.c:2122
+#, c-format
msgid "warning: overriding recipe for target '%s'"
-msgstr "AVERTISSEMENT : surchargement de la recette pour la cible « %s »"
+msgstr "avertissement : surchargement de la recette pour la cible « %s »"
-#: read.c:2117
-#, fuzzy, c-format
+#: read.c:2125
+#, c-format
msgid "warning: ignoring old recipe for target '%s'"
-msgstr "AVERTISSEMENT : ancienne recette ignorée pour la cible « %s »"
+msgstr "avertissement : ancienne recette ignorée pour la cible « %s »"
+
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "mélange de règles implicites et normales"
-#: read.c:2530
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
"AVERTISSEMENT : caractère NUL détecté ; le reste de la ligne est ignoré"
-#: remake.c:232
-#, fuzzy, c-format
+#: remake.c:230
+#, c-format
msgid "Nothing to be done for '%s'."
msgstr "rien à faire pour « %s »."
-#: remake.c:233
-#, fuzzy, c-format
+#: remake.c:231
+#, c-format
msgid "'%s' is up to date."
msgstr "« %s » est à jour."
-#: remake.c:305
-#, fuzzy, c-format
+#: remake.c:303
+#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Élagage du fichier « %s ».\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sAucune règle pour fabriquer la cible « %s »%s"
-
-#: remake.c:379
-#, fuzzy, c-format
+#: remake.c:390 remake.c:393
+#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
"%s Aucune règle pour fabriquer la cible « %s », nécessaire pour « %s »%s"
-#: remake.c:413
-#, fuzzy, c-format
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sAucune règle pour fabriquer la cible « %s »%s"
+
+#: remake.c:426
+#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Étude du fichier cible « %s ».\n"
-#: remake.c:420
-#, fuzzy, c-format
+#: remake.c:433
+#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Tentative récente échouée de mettre à jour le fichier « %s ».\n"
-#: remake.c:432
-#, fuzzy, c-format
+#: remake.c:445
+#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Le fichier « %s » a déjà été étudié.\n"
-#: remake.c:442
-#, fuzzy, c-format
+#: remake.c:455
+#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Mise à jour du fichier « %s » en cours.\n"
-#: remake.c:445
-#, fuzzy, c-format
+#: remake.c:458
+#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Fin de la mise à jour du fichier « %s ».\n"
-#: remake.c:474
-#, fuzzy, c-format
+#: remake.c:487
+#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Le fichier « %s » n'existe pas.\n"
-#: remake.c:481
-#, fuzzy, c-format
+#: remake.c:495
+#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** AVERTISSEMENT : le fichier .LOW_RESOLUTION_TIME « %s » a un horodatage à "
+"*** Avertissement : le fichier .LOW_RESOLUTION_TIME « %s » a un horodatage à "
"haute résolution"
-#: remake.c:494 remake.c:1019
-#, fuzzy, c-format
+#: remake.c:508 remake.c:1040
+#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Règle implicite trouvée pour « %s ».\n"
-#: remake.c:496 remake.c:1021
-#, fuzzy, c-format
+#: remake.c:510 remake.c:1042
+#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Pas de règle implicite trouvée pour « %s ».\n"
-#: remake.c:502
-#, fuzzy, c-format
+#: remake.c:516
+#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Utilisation de la recette par défaut pour « %s ».\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Dépendance circulaire %s <- %s abandonnée."
-#: remake.c:655
-#, fuzzy, c-format
+#: remake.c:675
+#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Fin des dépendances du fichier cible « %s ».\n"
-#: remake.c:661
-#, fuzzy, c-format
+#: remake.c:681
+#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Les dépendances de « %s » sont en cours de fabrication.\n"
-#: remake.c:674
-#, fuzzy, c-format
+#: remake.c:695
+#, c-format
msgid "Giving up on target file '%s'.\n"
-msgstr "Abandon sur le fichier cible « %s ».\n"
+msgstr "Abandon du fichier cible « %s ».\n"
-#: remake.c:679
-#, fuzzy, c-format
+#: remake.c:700
+#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "La cible « %s » n'a pas été refabriquée à cause d'erreurs."
-#: remake.c:731
-#, fuzzy, c-format
+#: remake.c:752
+#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
-msgstr "Le prérequis « %s » est seulement d'ordre pour la cible « %s ».\n"
+msgstr "La dépendance « %s » ne commande que la cible « %s ».\n"
-#: remake.c:736
-#, fuzzy, c-format
+#: remake.c:757
+#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "La dépendance « %s » de la cible « %s » n'existe pas.\n"
-#: remake.c:741
-#, fuzzy, c-format
+#: remake.c:762
+#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "La dépendance « %s » est plus récente que la cible « %s ».\n"
-#: remake.c:744
-#, fuzzy, c-format
+#: remake.c:765
+#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
-msgstr "La dépendance « %s » est plus ancienne que la cible « %s ».\n"
+msgstr "uLa dépendance « %s » est plus ancienne que la cible « %s ».\n"
-#: remake.c:762
-#, fuzzy, c-format
+#: remake.c:783
+#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
-msgstr "La cible « %s » a un double deux-points et n'a pas de dépendance.\n"
+msgstr "La cible « %s » a un deux-points double et n'a pas de dépendance.\n"
-#: remake.c:769
-#, fuzzy, c-format
+#: remake.c:790
+#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Pas de recette pour « %s » et aucune dépendance n'a changé.\n"
-#: remake.c:774
-#, fuzzy, c-format
+#: remake.c:795
+#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Fabrication de « %s » à cause de l'indicateur « always-make ».\n"
-#: remake.c:782
-#, fuzzy, c-format
+#: remake.c:803
+#, c-format
msgid "No need to remake target '%s'"
-msgstr "Inutile de refabriquer la cible « %s »."
+msgstr "Inutile de refabriquer la cible « %s »"
-#: remake.c:784
-#, fuzzy, c-format
+#: remake.c:805
+#, c-format
msgid "; using VPATH name '%s'"
-msgstr "; utilisation du nom VPATH « %s »"
+msgstr " ; utilisation du nom VPATH « %s »"
-#: remake.c:804
-#, fuzzy, c-format
+#: remake.c:825
+#, c-format
msgid "Must remake target '%s'.\n"
msgstr "Il faut refabriquer la cible « %s ».\n"
-#: remake.c:810
-#, fuzzy, c-format
+#: remake.c:831
+#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " On ignore le nom VPATH « %s ».\n"
-#: remake.c:819
-#, fuzzy, c-format
+#: remake.c:840
+#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "La recette de « %s » est en cours d'exécution.\n"
-#: remake.c:826
-#, fuzzy, c-format
+#: remake.c:847
+#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Échec de refabrication du fichier cible « %s ».\n"
-#: remake.c:829
-#, fuzzy, c-format
+#: remake.c:850
+#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Refabrication réussie du fichier cible « %s ».\n"
-#: remake.c:832
-#, fuzzy, c-format
+#: remake.c:853
+#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Le fichier cible « %s » a besoin d'être refabriqué avec l'option -q.\n"
-#: remake.c:1027
-#, fuzzy, c-format
+#: remake.c:1048
+#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Utilisation des commandes par défaut pour « %s ».\n"
-#: remake.c:1372
-#, fuzzy, c-format
+#: remake.c:1397
+#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr ""
-"AVERTISSEMENT : le fichier « %s » a une date de modification dans le futur"
+"Avertissement : le fichier « %s » a une date de modification dans le futur"
-#: remake.c:1385
-#, fuzzy, c-format
+#: remake.c:1411
+#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
-"AVERTISSEMENT : le fichier « %s » a une date de modification %s s dans le "
+"Avertissement : le fichier « %s » a une date de modification %s s dans le "
"futur"
-#: remake.c:1583
-#, fuzzy, c-format
+#: remake.c:1610
+#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "l'élément « %s » de .LIBPATTERNS n'est pas un motif"
@@ -1865,7 +1841,7 @@ msgstr "l'élément « %s » de .LIBPATTERNS n'est pas un motif"
msgid "Customs won't export: %s\n"
msgstr "« customs » n'exportera pas : %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1873,7 +1849,7 @@ msgstr ""
"\n"
"# Règles implicites"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1881,7 +1857,7 @@ msgstr ""
"\n"
"# Pas de règle implicite."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1890,11 +1866,11 @@ msgstr ""
"\n"
"# %u règles implicites, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
-msgstr " terminales."
+msgstr " terminal."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "ANOMALIE : num_pattern_rules est faux ! %u != %u"
@@ -2061,92 +2037,95 @@ msgid ""
"\n"
"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s pas de tampons strcache\n"
#: strcache.c:266
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
"B\n"
msgstr ""
-"%s strcache utilisé : total = %d (%d) / max = %d / min = %d / moy = %d\n"
+"\n"
+"%s strcache utilisé : %lu (%lu) / chaînes = %lu / espace = %lu o / moy = %lu "
+"o\n"
#: strcache.c:270
#, c-format
msgid ""
"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"%s tampon courant : taille = %hu o / utilisé = %hu o / nombre = %hu / moy = "
+"%hu o\n"
#: strcache.c:280
-#, fuzzy, c-format
+#, c-format
msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
-msgstr ""
-"%s strcache utilisé : total = %d (%d) / max = %d / min = %d / moy = %d\n"
+msgstr "%s autre utilisé : total = %lu o / nombre = %lu / moy = %lu o\n"
#: strcache.c:283
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
-msgstr "%s strcache libre : total = %d (%d) / max = %d / min = %d / moy = %d\n"
+msgstr ""
+"%s autre libre : total = %lu o / max = %lu o / min = %lu o / moy = %hu o\n"
#: strcache.c:287
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"%s nombre de chaines dans strcache: %d / lookups = %lu / hits = %lu\n"
+"%s performance strcache : lookups = %lu / accès = %lu%%\n"
#: strcache.c:289
-#, fuzzy
msgid ""
"# hash-table stats:\n"
"# "
msgstr ""
-"\n"
-"# stats des tables de hachage des fichiers :\n"
+"# stats des tables de hachage :\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatique"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "défaut"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "environnement"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "environnement avec l'option -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "ligne de commande"
-#: variable.c:1625
-#, fuzzy
+#: variable.c:1617
msgid "'override' directive"
msgstr "directive « override »"
-#: variable.c:1636
-#, fuzzy, c-format
+#: variable.c:1628
+#, c-format
msgid " (from '%s', line %lu)"
msgstr " (depuis « %s », ligne %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# stats des tables de hachage de la variable « set » :\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2154,7 +2133,7 @@ msgstr ""
"\n"
"# Variables\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2162,7 +2141,7 @@ msgstr ""
"\n"
"# Valeurs de variable spécifiques au motif"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2170,7 +2149,7 @@ msgstr ""
"\n"
"# pas de valeurs de variable spécifiques au motif"
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2180,88 +2159,93 @@ msgstr ""
"# %u valeurs de variable spécifiques au motif"
#: variable.h:224
-#, fuzzy, c-format
+#, c-format
msgid "warning: undefined variable '%.*s'"
-msgstr "AVERTISSEMENT : variable indéfinie « %.*s »"
+msgstr "avertissement : variable « %.*s » indéfinie"
#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr "sys$search() a échoué avec %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "AVERTISSEMENT : redirection vide\n"
-#: vmsjobs.c:178
-#, fuzzy, c-format
+#: vmsjobs.c:183
+#, c-format
msgid "internal error: '%s' command_state"
msgstr "erreur interne : « %s » command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-warning, vous pourriez avoir besoin de réactiver le traitement de CTRL-Y "
"par DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "COMMANDE INTERNE [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "COMMANDE CD INTERNE %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "COMMANDE RM INTERNE %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "COMMANDE CD INTERNE %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Commande interne inconnue « %s »\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Erreur, commande vide\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Entrée redirigée depuis %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Erreur redirigée vers %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Sortie ajoutée à %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Sortie redirigée vers %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Ajoute %.*s et nettoie\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Exécution de %s à la place\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Erreur de lancement, %d\n"
@@ -2272,15 +2256,14 @@ msgid ""
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# Chemins de Recherche VPATH\n"
+"# Chemins de recherche VPATH\n"
#: vpath.c:600
-#, fuzzy
msgid "# No 'vpath' search paths."
msgstr "# Aucun chemin de recherche « vpath »."
#: vpath.c:602
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"# %u 'vpath' search paths.\n"
@@ -2289,7 +2272,6 @@ msgstr ""
"# %u chemins de recherche « vpath ».\n"
#: vpath.c:605
-#, fuzzy
msgid ""
"\n"
"# No general ('VPATH' variable) search path."
@@ -2298,7 +2280,6 @@ msgstr ""
"# Aucun chemin de recherche général (variable « VPATH »)."
#: vpath.c:611
-#, fuzzy
msgid ""
"\n"
"# General ('VPATH' variable) search path:\n"
@@ -2308,6 +2289,21 @@ msgstr ""
"# Chemin de recherche général (variable « VPATH ») :\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "erreur interne : options --sync-mutex multiples"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "erreur interne : options --jobserver-fds multiples"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "mémoire virtuelle épuisée"
+
+#~ msgid "write error"
+#~ msgstr "erreur d'écriture"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "COMMANDE RM INTERNE %s\n"
+
#~ msgid "# Invalid value in `update_status' member!"
#~ msgstr "# Valeur non valable dans le membre « update_status » !"
diff --git a/po/ga.gmo b/po/ga.gmo
index aaf3e74..39e658e 100644
--- a/po/ga.gmo
+++ b/po/ga.gmo
Binary files differ
diff --git a/po/ga.po b/po/ga.po
index ef86f28..7e865a5 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.81\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2006-04-22 16:02-0500\n"
"Last-Translator: Kevin Patrick Scannell <scannell@SLU.EDU>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
@@ -45,54 +45,54 @@ msgstr "touch: Níl a leithéid de bhall `%s' i `%s'"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: Droch-chód aisfhillidh ó ar_member_touch ar `%s'"
-#: arscan.c:67
+#: arscan.c:124
#, fuzzy, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
"níorbh fhéidir le lbr$set_module an t-eolas modúil a bhaint amach, stádas = "
"%d"
-#: arscan.c:173
+#: arscan.c:230
#, fuzzy, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "theip ar lbr$ini_control le stádas = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr ""
"ní féidir leabharlann `%s' a oscailt chun cuardach a dhéanamh ar an mball `"
"%s'"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Ball `%s'%s: %ld beart ag %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (is féidir go bhfuil an t-ainm teasctha)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Dáta %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mód = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Briseadh.\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Is féidir gur ball bréige é `%s'; ní scriosadh"
@@ -102,26 +102,26 @@ msgstr "*** [%s] Is féidir gur ball bréige é `%s'; ní scriosadh"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Is féidir gur ball bréige é `%s'; ní scriosadh"
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Comhad `%s' á scriosadh"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Comhad `%s' á scriosadh"
-#: commands.c:684
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# orduithe le rith"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (insuite):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (ó `%s', líne %lu):\n"
@@ -203,160 +203,160 @@ msgstr "Déanann an athróg athchúrsach `%s' tagairt dó féin (sa deireadh)"
msgid "unterminated variable reference"
msgstr "tagairt athróige gan chríochnú"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Sonraíodh orduithe le haghaidh comhaid `%s' ag %s:%lu,"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
"Aimsíodh orduithe le haghaidh `%s' trí chuardach ar rialacha intuigthe,"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "ach anois is ionann iad na comhaid `%s' agus `%s'."
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
"Déanfar neamhshuim ar orduithe le haghaidh `%s'; úsáidfear na cinn le "
"haghaidh `%s' ina n-ionad."
-#: file.c:300
+#: file.c:303
#, fuzzy, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
"ní féidir idirstad aonair `%s' a athainmnigh le hidirstad dúbailte `%s'"
-#: file.c:305
+#: file.c:309
#, fuzzy, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "ní féidir idirstad dúbailte `%s' a athainmniú le hidirstad aonair `%s'"
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Comhad idirmheánach `%s' á scriosadh"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Comhaid idirmheánacha á mbaint...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "An t-am anois"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Stampa ama as raon; %s á úsáid ina ionad"
-#: file.c:809
-msgid "Current time"
-msgstr "An t-am anois"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ní sprioc é:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Comhad luachmhar (réamhriachtanas de .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Sprioc bhréige (réamhriachtanas de .PHONY)."
-#: file.c:958
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# Sprioc líne na n-orduithe."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Makefile réamhshocraithe, nó ó MAKEFILES, nó -include/sinclude."
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# Níl aon riail intuigthe."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Rinneadh cuardach ar rialacha intuigthe."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Ní dhearna cuardach ar rialacha intuigthe."
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Stoc patrúin intuigthe/statach: `%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Tá an comhad ina réamhriachtanas idirmheánach."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Déantar fosta:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Níor seiceáladh an t-am mionathraithe riamh."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Níl a leithéid de chomhad ann."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Is cianaosta an comhad seo."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Athraithe %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Nuashonraíodh an comhad."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Níor nuashonraíodh an comhad."
-#: file.c:995
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Tá orduithe ann atá ag rith faoi láthair (IS FABHT É SEO)."
-#: file.c:998
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Tá orduithe spleáchais ag rith (IS FABHT É SEO)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# D'éirigh leis an nuashonrú."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Tá gá le nuashonrú (-q ceaptha)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Theip ar nuashonrú."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# Luach neamhbhailí sa bhall `command_state'!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -364,7 +364,7 @@ msgstr ""
"\n"
"# Comhaid"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -374,108 +374,108 @@ msgstr ""
"# comhaid hais-tábla stait:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "tá an chéad argóint neamhuimhriúil leis an fheidhm `word'"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "caithfidh an chéad argóint leis an fheidhm `word' a bheith deimhneach"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "is neamhuimhriúil í an chéad argóint leis an fheidhm `wordlist'"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "is neamhuimhriúil í an dara hargóint leis an fheidhm `wordlist'"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: theip ar DuplicateHandle(In) (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: theip ar DuplicateHandle(Earr) (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "Theip ar CreatePipe() (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): theip ar process_init_fd()\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Baisc-chomhad sealadach %s á ghlanadh\n"
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "earráid sa scríobh: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "easpa argóintí (%d) d'fheidhm `%s'"
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "níl an fheidhm `%s' ar fáil ar an chóras seo"
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "glao ar fheidhm `%s' gan chríochnú: `%c' ar iarraidh"
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "easpa argóintí (%d) d'fheidhm `%s'"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "easpa argóintí (%d) d'fheidhm `%s'"
#: getopt.c:659
@@ -533,12 +533,12 @@ msgstr "%s: Tá an rogha `-W %s' débhríoch\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -622,98 +622,98 @@ msgstr "Ag déanamh cuardach ar riail le comhad idirmheánach `%s'.\n"
msgid "Cannot create a temporary file\n"
msgstr "Ní féidir comhad sealadach a chruthú\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (córdhumpa)"
-#: job.c:487
+#: job.c:488
#, fuzzy
msgid " (ignored)"
msgstr "[%s] Earráid %d (rinneadh neamhshuim)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (insuite):"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Earráid 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] Earráid %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Earráid 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Ag fanacht le jabanna neamhchríochnaithe..."
-#: job.c:639
+#: job.c:651
#, fuzzy, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Mac beo 0x%08lx (%s) PID %ld %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (cianda)"
-#: job.c:829
+#: job.c:841
#, fuzzy, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Mac caillteach á bhaint: 0x%08lx PID %ld %s\n"
-#: job.c:830
+#: job.c:842
#, fuzzy, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Mac buaiteach á bhaint: 0x%08lx PID %ld %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Baisc-chomhad sealadach %s á ghlanadh\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Baisc-chomhad sealadach %s á ghlanadh\n"
-#: job.c:949
+#: job.c:961
#, fuzzy, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Mac 0x%08lx PID %ld%s á dhealú ón slabhra.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, fuzzy, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Saoradh ceadchomhartha le haghaidh mac 0x%08lx (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "scríobh jabfhreastalaí"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "theip ar process_easy(); níor tosaíodh próiseas (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -722,114 +722,114 @@ msgstr ""
"\n"
"%d argóint sa tosú theipthe\n"
-#: job.c:1685
+#: job.c:1735
#, fuzzy, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Ag cur mac 0x%08lx (%s) PID %ld%s ar an slabhra.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, fuzzy, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Fuarthas ceadchomhartha le haghaidh mac 0x%08lx (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "léadh píopa na jabanna"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch: Níl an chartlann `%s' ann"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr ""
"%sNíl aon riail chun an sprioc `%s' a dhéanamh, riachtanach le haghaidh `"
"%s'%s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "ní féidir srianta lóid a chur i bhfeidhm ar an chóras oibriúcháin seo"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "ní féidir srian lóid a chur i bhfeidhm: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "níl aon hanla comhaid le fáil: níorbh fhéidir stdin a chóipeáil\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "níl aon hanla comhaid le fáil: níorbh fhéidir stdout a chóipeáil\n"
-#: job.c:2223
+#: job.c:2278
#, fuzzy
msgid "no more file handles: could not duplicate stderr\n"
msgstr "níl aon hanla comhaid le fáil: níorbh fhéidir stdin a chóipeáil\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Níorbh fhéidir stdin a athchóiriú\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Níorbh fhéidir stdout a athchóiriú\n"
-#: job.c:2254
+#: job.c:2309
#, fuzzy
msgid "Could not restore stderr\n"
msgstr "Níorbh fhéidir stdin a athchóiriú\n"
-#: job.c:2365
+#: job.c:2420
#, fuzzy, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "ghin make mac le pid %ld, ag feitheamh le pid %ld fós\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Ní bhfuarthas an t-ordú"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Ní bhfuarthas an clár blaoisce"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: is féidir gur ídithe í cuimhne na timpeallachta"
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "Athraíodh $SHELL (ba `%s' é, agus is `%s' é anois)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Baisc-chomhad sealadach %s á chruthú\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -839,49 +839,49 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "Níl jabanna parailéalacha (-j) ar fáil ar an gcóras seo."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Roghanna:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Déan neamhshuim (comhoiriúnacht)\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Déan gach sprioc, gan choinníollacha.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -889,18 +889,18 @@ msgstr ""
" -C COMHADLANN, --directory=COMHADLANN\n"
" Téigh go COMHADLANN roimh dhéanamh aon rud.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Taispeáin go leor eolas dífhabhtaithe.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=BRATACHA] Taispeáin eolas fabhtaithe de chineálacha "
"éagsúla.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -908,12 +908,12 @@ msgstr ""
" -e, --environment-overrides\n"
" Sáraíonn athróga timpeallachta makefileanna.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -921,17 +921,17 @@ msgstr ""
" -f COMHAD, --file=COMHAD, --makefile=COMHAD\n"
" Léigh COMHAD mar makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Taispeáin an chabhair seo agus scoir.\n"
-#: main.c:334
+#: main.c:335
#, fuzzy
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
" -i, --ignore-errors Déan neamhshuim ar earráidí ó orduithe.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -940,7 +940,7 @@ msgstr ""
" Cuardaigh i gCOMHADLANN ar makefileanna "
"breise.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -948,14 +948,14 @@ msgstr ""
" -j [N], --jobs[=N] Ceadaigh N jab le chéile; éigríoch mura "
"gceaptar arg.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Lean ar aghaidh fiú nach féidir sprioc a "
"dhéanamh.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -965,7 +965,7 @@ msgstr ""
" Ná tosaigh jabanna iomadúla mura bhfuil an lód "
"níos lú ná N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -974,7 +974,7 @@ msgstr ""
"nasc\n"
" siombalach nó ar an sprioc.\n"
-#: main.c:348
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -985,7 +985,7 @@ msgstr ""
" Ná rith aon ordú; taispeáin torthaí mar dhea "
"amháin.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -995,18 +995,18 @@ msgstr ""
" Caith le COMHAD mar cheann cianaosta; ná "
"hathdhéan é.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
" -p, --print-data-base Taispeáin an bunachar sonraí inmheánach.\n"
-#: main.c:359
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
@@ -1015,21 +1015,21 @@ msgstr ""
" -q, --question Ná rith aon ordú; stádas scortha = 0 mura gá "
"le nuashonrú.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Díchumasaigh na rialacha intuigthe insuite.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr " -R, --no-builtin-variables Díchumasaigh na hathróga insuite.\n"
-#: main.c:365
+#: main.c:366
#, fuzzy
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ná déan macalla ar orduithe.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1037,28 +1037,28 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Múch -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Teagmhaigh spriocanna in ionad iad a "
"athdhéanamh.\n"
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr " -d Taispeáin go leor eolas dífhabhtaithe.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
" -v, --version Taispeáin eolas faoin leagan agus scoir.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Taispeáin an chomhadlann reatha.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1066,7 +1066,7 @@ msgstr ""
" --no-print-directory Múch -w, fiú má tá sé i bhfeidhm go "
"hintuigthe.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1075,7 +1075,7 @@ msgstr ""
" Caith le COMHAD mar cheann úrnua (go "
"héigríoch).\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1083,31 +1083,26 @@ msgstr ""
" --warn-undefined-variables Tabhair rabhadh má dhéantar tagairt d'athróg "
"gan sainmhíniú.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "ní féidir teaghrán folamh a úsáid mar ainm comhaid"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "sonrú anaithnid `%s' ar an leibhéal dífhabhtaithe"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "earráid inmheánach: roghanna --jobserver-fds iomadúla"
-
-#: main.c:848
+#: main.c:828
#, fuzzy, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Fuarthas idirbhriseadh/eisceacht (cód = 0x%lx, seoladh = 0x%lx)\n"
-#: main.c:855
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -1122,70 +1117,66 @@ msgstr ""
"BratachaEisceachta = %lx\n"
"SeoladhEisceachta = %lx\n"
-#: main.c:863
+#: main.c:843
#, fuzzy, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Sárú rochtana: oibríocht scríofa ag seoladh %lx\n"
-#: main.c:864
+#: main.c:844
#, fuzzy, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Sárú rochtana: oibríocht léimh ag seoladh %lx\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, fuzzy, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "tá find_and_set_shell ag socrú default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, fuzzy, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "shocraigh find_and_set_shell conair chuardaigh default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "cuirfear %s ar fionraí ar feadh tréimhse 30 soicind..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) críochnaithe. Ag gabháil ar aghaidh.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "earráid inmheánach: roghanna --jobserver-fds iomadúla"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "earráid inmheánach: teaghrán neamhbhailí --jobserver-fds `%s'"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "rabhadh: -jN fórsáilte i bhfo-make: mód jabfhreastalaí á dhíchumasú."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "jabfhreastalaí dup"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
@@ -1193,111 +1184,111 @@ msgstr ""
"rabhadh: níl jabfhreastalaí ar fáil: ag baint úsáid as -j1. Cuir `+' leis "
"an máthair-riail."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Sonraíodh Makefile ón ionchur caighdeánach faoi dhó."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (comhad sealadach)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (comhad sealadach)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Níl jabanna parailéalacha (-j) ar fáil ar an gcóras seo."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Á athshocrú le haghaidh jabanna aonair (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "píopa na jabanna á chruthú"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "píopa an jabfhreastalaí á thúsú"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "ní thacaítear le naisc shiombalacha: -L á dhíchumasú."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Makefileanna á nuashonrú....\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "is féidir go lúbfar an Makefile `%s'; ní athdhéanfar é.\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Theip ar athdhéanamh an makefile `%s'."
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "Níor aimsíodh an makefile `%s' san áireamh."
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "Níor aimsíodh an makefile `%s'"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Níorbh fhéidir an chomhadlann oibre a athrú ar ais."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Á rith arís[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (comhad sealadach): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr "tá níos mó ná aon sprioc amháin i .DEFAULT_GOAL"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Níor sonraíodh aon sprioc agus níor aimsíodh aon makefile"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Níl aon sprioc ann"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Cinn sprice á nuashonrú....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "rabhadh: Clog ar sceabha. Is féidir go bhfuil an tógáil neamhiomlán."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Úsáid: %s [roghanna] [sprioc] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1306,7 +1297,7 @@ msgstr ""
"\n"
"Tógadh an clár seo le haghaidh %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1315,36 +1306,36 @@ msgstr ""
"\n"
"Tógadh an clár seo le haghaidh %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Seol tuairiscí fabhtanna chuig <bug-make@gnu.org>\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "caithfidh tú teaghrán nach folamh a thabhairt mar argóint le `-%c'"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "caithfidh tú slánuimhir dheimhneach a thabhairt mar argóint le `-%c'"
-#: main.c:3253
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%sTógadh an clár seo le haghaidh %s\n"
-#: main.c:3255
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%sTógadh an clár seo le haghaidh %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1353,7 +1344,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1362,7 +1353,7 @@ msgstr ""
"\n"
"# Bunachar sonraí Make, priontáilte ar %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1376,10 +1367,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Earráid anaithnid %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "cuimhne fhíorúil ídithe"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1401,65 +1388,61 @@ msgstr "Rochtain make"
msgid "Child access"
msgstr "Rochtain mic"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Ag dul isteach i gcomhadlann anaithnid\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Ag dul amach as comhadlann anaithnid\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Ag dul isteach sa chomhadlann `%s'\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Ag dul amach as an gcomhadlann `%s'\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Ag dul isteach i gcomhadlann anaithnid\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Ag dul amach as comhadlann anaithnid\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Ag dul isteach sa chomhadlann `%s'\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Ag dul amach as an gcomhadlann `%s'\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "earráid sa scríobh: %s"
-#: output.c:517
-msgid "write error"
-msgstr "earráid sa scríobh"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stop.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1468,369 +1451,375 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Makefileanna á léamh...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "Makefile `%s' á léamh"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (gan ceann sprice réamhshocraithe)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (conair chuardaigh)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (is cuma)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (ná fairsing ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "comhréir neamhbhailí i gcoinníollach"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "tá orduithe ann roimh an chéad sprioc"
-#: read.c:1036
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "riail ar iarraidh roimh orduithe"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "deighilteoir%s ar iarraidh"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (Ar mhian leat TÁB in ionad ocht spás?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "deighilteoir%s ar iarraidh"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "patrún sprice ar iarraidh"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "patrúin iomadúla sprice"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "níl aon `%%' sa phatrún sprice"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "`endif' ar iarraidh"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "ainm folamh athróige"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "Téacs gan mhaith i ndiaidh treorach `endef'"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "`endef' ar iarraidh, `define' gan chríochnú"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "Téacs gan mhaith i ndiaidh treorach `endef'"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "Téacs gan mhaith i ndiaidh treorach `%s'"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "`%s' breise"
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "ní cheadaítear ach aon `else' amháin le gach coinníollach"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Is míchumtha é an sainmhíniú athróige (le haghaidh aon sprioc amháin)"
-#: read.c:1951
+#: read.c:1957
#, fuzzy
msgid "prerequisites cannot be defined in recipes"
msgstr "ní féidir réamhriachtanais a shonrú i scripteanna ordaithe"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "rialacha intuigthe agus rialacha statacha measctha le chéile"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "rialacha intuigthe agus gnáthrialacha measctha le chéile"
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "níl an sprioc `%s' comhoiriúnach leis an phatrún sprice"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "tá iontrálacha : agus :: araon ann don chomhad sprice `%s'"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "tá an sprioc `%s' i riail amháin níos mó ná uair amháin."
-#: read.c:2114
+#: read.c:2122
#, fuzzy, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "rabhadh: ag sárú na n-orduithe le haghaidh na sprice `%s'"
-#: read.c:2117
+#: read.c:2125
#, fuzzy, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr ""
"rabhadh: ag déanamh neamhshuim ar sheanorduithe le haghaidh sprice `%s'"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "rialacha intuigthe agus gnáthrialacha measctha le chéile"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
"rabhadh: chonacthas carachtar NUL; ag déanamh neamhshuim ar an chuid eile "
"den líne"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "Níl faic le déanamh i gcomhair `%s'."
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "Níl gá le `%s' a nuashonrú."
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "Comhad `%s' á bhearradh.\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sNíl aon riail chun an sprioc `%s' a dhéanamh%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
"%sNíl aon riail chun an sprioc `%s' a dhéanamh, riachtanach le haghaidh `"
"%s'%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNíl aon riail chun an sprioc `%s' a dhéanamh%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "Comhad sprice `%s' idir lámha.\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
"Rinneadh iarracht ar an chomhad `%s' a nuashonrú le déanaí, agus theip air.\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "Rinneadh scrúdú ar an chomhad `%s' cheana.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "Comhad `%s' á nuashonrú fós.\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Nuashonraíodh an comhad `%s'.\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "Níl a leithéid de chomhad `%s' ann.\n"
-#: remake.c:481
+#: remake.c:495
#, fuzzy, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
"*** Warning: comhad .LOW_RESOLUTION_TIME `%s' le stampa ama ardtaifeach"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Aimsíodh riail intuigthe le haghaidh `%s'.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Níor aimsíodh aon riail intuigthe le haghaidh `%s'.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Ag baint úsáid as orduithe réamhshocraithe le haghaidh `%s'.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Tréigeadh an spleáchas ciorclach %s <- %s."
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Críochnaíodh na réamhriachtanais den chomhad sprice `%s'.\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Réamhriachtanais de `%s' á ndéanamh anois.\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Ag tréigean an chomhaid sprice `%s'.\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Ní dhearna an sprioc `%s' arís ós rud é go bhfuil earráidí ann."
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ""
"Sonraíonn an réamhriachtanas `%s' ord rite amháin le haghaidh sprice `%s'.\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Níl an réamhriachtanas `%s' den sprioc `%s' ann.\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Tá an réamhriachtanas `%s' níos nuaí ná an sprioc `%s'.\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Tá an réamhriachtanas `%s' níos sine ná an sprioc `%s'.\n"
-#: remake.c:762
+#: remake.c:783
#, fuzzy, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Tá dhá idirstad ag an sprioc `%s' agus níl aon réamhriachtanas aice.\n"
-#: remake.c:769
+#: remake.c:790
#, fuzzy, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
"Níl aon ordú le haghaidh `%s' agus níor athraigh aon réamhriachtanas.\n"
-#: remake.c:774
+#: remake.c:795
#, fuzzy, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "`%s' á dhéanamh de bharr bratach --always-make.\n"
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "Níl gá leis an sprioc `%s' a athdhéanamh"
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr "; ag baint úsáid as ainm VPATH `%s'"
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "Caithfidh an sprioc `%s' a athdhéanamh.\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ag déanamh neamhshuim ar ainm VPATH `%s'.\n"
-#: remake.c:819
+#: remake.c:840
#, fuzzy, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Orduithe de `%s' á rith.\n"
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Theip ar athdhéanamh an sprioc-chomhaid `%s'.\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "D'éirigh le hathdhéanamh an sprioc-chomhaid `%s'.\n"
-#: remake.c:832
+#: remake.c:853
#, fuzzy, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Tá gá leis an chomhad sprice `%s' a athdhéanamh leis an rogha -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Ag baint úsáid as orduithe réamhshocraithe le haghaidh `%s'.\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Rabhadh: Tá an t-am mionathraithe den chomhad `%s' sa todhchaí"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
"Rabhadh: Tá an t-am mionathraithe den chomhad `%s' %.2g soicind sa todhchaí"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "Níl eilimint .LIBPATTERNS `%s' ina patrún"
@@ -1840,7 +1829,7 @@ msgstr "Níl eilimint .LIBPATTERNS `%s' ina patrún"
msgid "Customs won't export: %s\n"
msgstr "Ní easpórtálfar Customs: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1848,7 +1837,7 @@ msgstr ""
"\n"
"# Rialacha Intuigthe"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1856,7 +1845,7 @@ msgstr ""
"\n"
"# Níl aon riail intuigthe."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1865,11 +1854,11 @@ msgstr ""
"\n"
"# %u riail intuigthe, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " teirminéal."
-#: rule.c:531
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "FABHT: num_pattern_rules mícheart! %u != %u"
@@ -2079,45 +2068,45 @@ msgstr ""
"# comhaid hais-tábla stait:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "uathoibríoch"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "réamhshocraithe"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "timpeallacht"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "timpeallacht le -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "líne na n-orduithe"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "treoir `override'"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (ó `%s', líne %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# athróg tacar hais-tábla stait:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2125,7 +2114,7 @@ msgstr ""
"\n"
"# Athróga\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2133,7 +2122,7 @@ msgstr ""
"\n"
"# Luachanna Athróige sainiúil don phatrún"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2141,7 +2130,7 @@ msgstr ""
"\n"
"# Níl aon luach athróige atá sainiúil don phatrún."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2160,78 +2149,83 @@ msgstr "rabhadh: athróg gan sainmhíniú: `%.*s'"
msgid "sys$search() failed with %d\n"
msgstr "Theip ar sys$cuardach le %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Rabhadh: Atreorú folamh\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "earráid inmheánach: `%s' command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-rabhadh, is féidir gur gá duit ionramháil CTRL-Y a athchumasú ó DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "INSUITE [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "CD INSUITE %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "RM INSUITE %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "CD INSUITE %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Ordú anaithnid insuite '%s'\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Earráid, ordú folamh\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Atreoraíodh ionchur ó %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Atreoraíodh earráidí go %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "Atreoraíodh aschur go %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Atreoraíodh aschur go %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "%s á rith ina áit\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Earráid le linn sceitheadh, %d\n"
@@ -2287,6 +2281,9 @@ msgstr ""
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr "theip ar process_easy(); níor tosaíodh próiseas (e=%ld)\n"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "earráid inmheánach: roghanna --jobserver-fds iomadúla"
+
#~ msgid ""
#~ "%sThis is free software; see the source for copying conditions.\n"
#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
@@ -2297,6 +2294,12 @@ msgstr ""
#~ "ann\n"
#~ "%sd'INDÍOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH.\n"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "cuimhne fhíorúil ídithe"
+
+#~ msgid "write error"
+#~ msgstr "earráid sa scríobh"
+
#~ msgid "extraneous `endef'"
#~ msgstr "`endef' breise"
@@ -2315,3 +2318,6 @@ msgstr ""
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr "-rabhadh, fágfaidh CTRL-Y fo-phróisis gan ghlanadh.\n"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "RM INSUITE %s\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index 793358c..209a1a4 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 335dd64..254e2a5 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.82\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2012-11-12 16:40+0100\n"
"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
@@ -52,52 +52,52 @@ msgstr "touch: O membro «%s» non existe en «%s»"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: Código de retorno incorrecto de ar_member_touch en «%s»"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
"a chamada a lbr$set_module() fallou ao extraer a información do módulo, "
"estado = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "a chamada a lbr$ini_control() fallou con estado = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "non é posíbel abrir a biblioteca «%s» para buscar o membro «%s»"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Membro «%s»%s: %ld bytes en %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (o nome pode quedar truncado)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, modo = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Interrompido.\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] O membro do arquivo «%s» pode non ser correcto; non eliminado"
@@ -107,25 +107,25 @@ msgstr "*** [%s] O membro do arquivo «%s» pode non ser correcto; non eliminado
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** O membro do arquivo «%s» pode non ser correcto; non eliminado"
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Eliminando o ficheiro «%s»"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Eliminando o ficheiro «%s»"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr ""
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (incorporadas):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (desde «%s», liña %lu):\n"
@@ -207,153 +207,153 @@ msgstr "A variábel recursiva «%s» fai referencia a si mesma (ao final)"
msgid "unterminated variable reference"
msgstr "referencia a variábel non rematada"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr ""
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "pero agora considérase que «%s» é o mesmo ficheiro que «%s»."
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-#: file.c:300
+#: file.c:303
#, fuzzy, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "non é posíbel renomear «%s» con dous puntos a «%s» con catro puntos"
-#: file.c:305
+#: file.c:309
#, fuzzy, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "non é posíbel renomear «%s» con catro puntos a «%s» con dous puntos"
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Eliminando o ficheiro intermedio «%s»"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Retirando os ficheiros intermedios...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Hora actual"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Marca de tempo fóra de rango; substituíndo %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Hora actual"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Non é un obxectivo:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Ficheiro precioso (prerrequisito de .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Obxectivo falso (prerrequisito de .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Obxectivo da liña de ordes."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Un ficheiro de make por defecto, MAKEFILES, ou -include/sinclude."
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# Non hai regras implícitas."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Fíxose a busca de regras implícitas."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Non se fixo a busca de regras implícitas."
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Raíz do patrón implícito/estático: «%s»\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# O ficheiro é un prerrequisito intermedio."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Tamén se fai:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Nunca se comprobou o tempo de modificación."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# O ficheiro non existe."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# O ficheiro é moi antigo."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Última modificación: %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# O ficheiro foi actualizado."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# O ficheiro non foi actualizado."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr ""
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Actualizado con éxito."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Ten que ser actualizado (-q está definido)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Produciuse un erro ao actualizar."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# Valor non válido no membro «command_state»!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -361,7 +361,7 @@ msgstr ""
"\n"
"# Ficheiros"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -371,108 +371,108 @@ msgstr ""
"# estatísticas da táboa hash de ficheiros:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "primeiro argumento da función «word» non numérico"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "o primeiro argumento da función «word» debe ser maior que 0"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "primeiro argumento da función «wordlist» non numérico"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "segundo argumento da función «wordlist» non numérico"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe(): a chamada a DuplicateHandle(In) fallou (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr ""
"windows32_open_pipe(): a chamada a DuplicateHandle(Err) fallou (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "A chamada a CreatePipe() fallou (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): a chamada a process_init_fd() fallou\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Limpando o ficheiro de lotes temporal %s\n"
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "erro de escritura: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "número de argumentos insuficiente (%d) na chamada á función «%s»"
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "non implementada nesta plataforma: función «%s»"
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "chamada á función «%s» non rematada: falta «%c»"
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "número de argumentos insuficiente (%d) na chamada á función «%s»"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "número de argumentos insuficiente (%d) na chamada á función «%s»"
#: getopt.c:659
@@ -530,12 +530,12 @@ msgstr "%s: a opción «-W %s» é ambigua\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: a opción «-W %s» non permite ningún argumento\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -618,97 +618,97 @@ msgstr "Buscando unha regra co ficheiro intermedio «%s».\n"
msgid "Cannot create a temporary file\n"
msgstr "Non foi posíbel crear un ficheiro temporal\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (memoria envorcada)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (ignorado)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (incorporadas):"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Erro 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] Erro %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Erro 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Agardando por traballos non rematados...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Proceso fillo vivo %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remoto)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Colleitando o proceso fillo perdedor %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Colleitando o proceso fillo gañador %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Limpando o ficheiro de lotes temporal %s\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Limpando o ficheiro de lotes temporal %s\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Retirando o proceso fillo %p PID %s%s da cadea.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Liberouse un elemento para o proceso fillo %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr ""
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "produciuse un erro ao iniciar process_easy() o proceso (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -717,111 +717,111 @@ msgstr ""
"\n"
"Contáronse %d argumentos no inicio que fallou\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Poñendo o proceso fillo %p (%s) PID %s%s na cadea.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Obtívose un elemento para o proceso fillo %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "lectura da canalización de traballos"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch: O arquivo «%s» non existe"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%sNon hai unha regra para facer o obxectivo «%s», que precisa «%s»%s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "non é posíbel impoñer límites de carga neste sistema operativo"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "non é posíbel impoñer un límite de carga: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr ""
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
"make colleitou un proceso fillo de pid %s, aínda se agarda polo pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Orde non atopada"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Programa para o intérprete de ordes non atopado"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "O valor de $SHELL cambiou (antes era «%s», agora é «%s»)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Creando un ficheiro por lotes temporal %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -832,50 +832,50 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "Non se admiten os traballos en paralelo (-j) nesta plataforma."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Opcións:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignorado por compatibilidade.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Facer todos os obxectivos incondicionalmente.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -883,19 +883,19 @@ msgstr ""
" -C DIRECTORIO, --directory=DIRECTORIO\n"
" Cambiar ao DIRECTORIO antes de facer nada.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
" -d Mostrar moita información de depuración.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=MODIFICADORES] Mostrar varios tipos de información de "
"depuración.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -904,12 +904,12 @@ msgstr ""
" As variábei de ambiente substitúen aos "
"makefiles.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -917,15 +917,15 @@ msgstr ""
" -f FICHEIRO, --file=FICHEIRO, --makefile=FICHEIRO\n"
" Ler o FICHEIRO como makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Mostrar esta mensaxe e saír.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -934,7 +934,7 @@ msgstr ""
" Buscar os makefiles incluídos\n"
" no DIRECTORIO.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -942,14 +942,14 @@ msgstr ""
" -j [N], --jobs[=N] Permitir N traballos á vez; infinitos sen\n"
" un argumento.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Continuar cando no se poidan facer\n"
" algúns obxectivos.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -959,13 +959,13 @@ msgstr ""
" Non iniciar varios traballos con carga\n"
" superior a N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:348
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -975,7 +975,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" Non executar ningún comando; só amosalos.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -985,39 +985,39 @@ msgstr ""
" Tratar o FICHEIRO como moi antigo e non "
"refacelo.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
" -p, --print-data-base Mostrar a base de datos interna de make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Desactivar as regras implícitas incorporadas.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Desactivar os valores das variábeis "
"incorporadas.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr ""
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1025,28 +1025,28 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Desactiva -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Tocar os obxectivos no canto de os refacer.\n"
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr ""
" -d Mostrar moita información de depuración.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
" -v, --version Mostrar o número de versión de make e saír.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Mostrar o directorio actual.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1054,7 +1054,7 @@ msgstr ""
" --no-print-directory Desactivar -w, incluso se se activou\n"
" implicitamente.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1063,7 +1063,7 @@ msgstr ""
"new=FICHEIRO\n"
" Tratar o FICHEIRO como infinitamente novo.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1071,32 +1071,27 @@ msgstr ""
" --warn-undefined-variables Avisar cando se faga referencia a\n"
" unha variábel non definida.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "a cadea baleira non é válida como nome de ficheiro"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "especificación de nivel de depuración descoñecido «%s»"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "erro interno: opcións --jobserver-fds múltiples"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
"%s: Atrapouse unha Interrupción/Excepción (código = 0x%lx, enderezo = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1111,71 +1106,67 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Violación de acceso: operación de escritura no enderezo 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Violación de acceso: operación de lectura no enderezo 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() definindo default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "A busca de rutas de find_and_set_shell() define default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s está suspendido durante 30 segundos..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "rematouse sleep(30). Continuando.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "erro interno: opcións --jobserver-fds múltiples"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "erro interno: cadea --jobserver-fds non válida «%s»"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"aviso: -jN forzado no submake: desactivando o modo de servidor de traballos."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
@@ -1183,113 +1174,113 @@ msgstr ""
"aviso: o servidor de traballos non está dispoñíbel: usando -j1. Engada «+» á "
"regra do make pai."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "O ficheiro de make da entrada estándar especificouse dúas veces."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (ficheiro temporal)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (ficheiro temporal)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Non se admiten os traballos en paralelo (-j) nesta plataforma."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Reiniciando para entrar no modo de traballo único (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "creando a canalización de traballos"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inicializar a canalización do servidor de traballos"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Actualizando os ficheiros de make....\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "O ficheiro de make «%s» podería causar un bucle; non se refai.\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Produciuse un erro ao refacer o ficheiro de make «%s»."
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "Non se atopou o ficheiro de make incluído «%s»."
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "Non se atopou o ficheiro de make «%s»"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Non foi posíbel volver ao directorio orixinal."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Re-executando[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (ficheiro temporal)"
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Non se especificaron obxectivos e non se atopou un ficheiro de make"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Non hai obxectivos"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Actualizando os obxectivos meta....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"aviso: Detectáronse inconsistencias de reloxo. A operación pode quedar "
"incompleta."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Uso: %s [opcións] [obxectivo] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1298,7 +1289,7 @@ msgstr ""
"\n"
"Este programa compilou para %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1307,34 +1298,34 @@ msgstr ""
"\n"
"Este programa compilou para %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Envíe informes de fallo no programa a <bug-make@gnu.org>.\n"
"Envíe informes de fallo na tradución a <proxecto@trasno.net>.\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "a opción «%s%s» require un argumento de cadea non baleira"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "a opción «-%c» require un argumento integral positivo"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sCompilado para %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sCompilado para %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1347,7 +1338,7 @@ msgstr ""
"%sIsto é software libre: pode modificalo e redistribuílo.\n"
"%sNon hai NINGUNHA GARANTÃA, ata onde o permita a lei.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1356,7 +1347,7 @@ msgstr ""
"\n"
"# Base de datos de Make, imprimida en %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1370,10 +1361,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Erro %d descoñecido"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "memoria virtual esgotada"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1395,65 +1382,61 @@ msgstr "Acceso de make"
msgid "Child access"
msgstr "Acceso de fillo"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Entrando nun directorio descoñecido\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Saíndo dun directorio descoñecido\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Entrando no directorio «%s»\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Saíndo do directorio «%s»\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Entrando nun directorio descoñecido\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Saíndo dun directorio descoñecido\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Entrando no directorio «%s»\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Saíndo do directorio «%s»\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "erro de escritura: %s"
-#: output.c:517
-msgid "write error"
-msgstr "erro de escritura"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Detido.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1462,221 +1445,227 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Lendo os ficheiros de make...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "Lendo o ficheiro de make «%s»"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (non hai unha meta por defecto)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (ruta de busca)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (non importa)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (non hai expansión de ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "sintaxe non válida no condicional"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr ""
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr ""
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "falta un separador%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (quixo dicir TAB no canto de 8 espazos?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "falta un separador%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "falta un patrón obxectivo"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "patróns de obxectivo múltiples"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "o patrón obxectivo non contén «%%»"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "falta «endif»"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "nome de variábel baleiro"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "texto superfluo trala directiva «define»"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "falta «endef», «define» sen rematar"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "Texto superfluo trala directiva «endef»"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "Texto superfluo trala directiva «%s»"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "«%s» superfluo"
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "só un «else» por condicional"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Definición dunha variábel por obxectivo mal formada"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "regras de patrón implícitas e estáticas mesturadas"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "regras implícitas e normais mesturadas"
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "o obxectivo «%s» non coincide co patrón do obxectivo"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "o ficheiro obxectivo «%s» ten entradas : e ::"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "o obxectivo «%s» aparece máis dunha vez na mesma regra."
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr ""
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr ""
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "regras implícitas e normais mesturadas"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "aviso: viuse un carácter NUL; ignórase o resto da liña"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "Non hai nada que facer para «%s»"
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "«%s» está actualizado."
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "Podando o ficheiro «%s».\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sNon hai unha regra para facer o obxectivo «%s»%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sNon hai unha regra para facer o obxectivo «%s», que precisa «%s»%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNon hai unha regra para facer o obxectivo «%s»%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "Considerando o ficheiro obxectivo «%s».\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
"Hai pouco probouse a actualizar o ficheiro «%s» e non foi posíbel facelo.\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "O ficheiro «%s» xa fora considerado.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "Aínda se está actualizando o ficheiro «%s».\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Rematouse de actualizar o ficheiro «%s».\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "O ficheiro «%s» non existe.\n"
-#: remake.c:481
+#: remake.c:495
#, fuzzy, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1684,137 +1673,137 @@ msgstr ""
"*** Aviso: o ficheiro «%s» de .LOW_RESOLUTION_TIME ten unha marca de tempo "
"de alta resolución"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Atopouse unha regra implícita de «%s».\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Non se atopou unha regra implícita para «%s».\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Usando as ordes por defecto para «%s».\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "A dependencia circular %s <- %s foi eliminada."
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Rematáronse os prerrequisitos do ficheiro obxectivo «%s».\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Están a se facer os prerrequisitos de «%s».\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Abandonando no ficheiro obxectivo «%s».\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Non se refai o obxectivo «%s» a causa dos erros."
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "O prerrequisito «%s» é só-orde para o obxectivo «%s».\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "O prerrequisito «%s» do obxectivo «%s» non existe.\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "O prerrequisito «%s» é máis novo que o obxectivo «%s».\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "O prerrequisito «%s» é máis vello que o obxectivo «%s».\n"
-#: remake.c:762
+#: remake.c:783
#, fuzzy, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "O obxectivo «%s» ten catro puntos e non ten prerrequisitos.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:774
+#: remake.c:795
#, fuzzy, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Facendo «%s» debido á marca de sempre-facer.\n"
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "Non é preciso refacer o obxectivo «%s»"
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr "; usando o nome de VPATH «%s»"
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "Debe refacerse o obxectivo «%s».\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ignorando o nome VPATH «%s».\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr ""
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Produciuse un erro ao refacer o ficheiro obxectivo «%s».\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "O ficheiro obxectivo «%s» foi feito de novo con éxito.\n"
-#: remake.c:832
+#: remake.c:853
#, fuzzy, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "O ficheiro obxectivo «%s» precisa refacerse con -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Usando as ordes por defecto para «%s».\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Aviso: O ficheiro «%s» ten un tempo de modificación no futuro"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Aviso: O ficheiro «%s» ten un tempo de modificación %s seg no futuro"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "O elemento de .LIBPATTERNS «%s» non é un patrón"
@@ -1824,7 +1813,7 @@ msgstr "O elemento de .LIBPATTERNS «%s» non é un patrón"
msgid "Customs won't export: %s\n"
msgstr "A Aduana non exporta: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1832,7 +1821,7 @@ msgstr ""
"\n"
"# Regras implícitas"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1840,7 +1829,7 @@ msgstr ""
"\n"
"# Non hai regras implícitas."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1849,11 +1838,11 @@ msgstr ""
"\n"
"# %u regras implícitas, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "FALLO: num_pattern_rules é incorrecto! %u != %u"
@@ -2063,45 +2052,45 @@ msgstr ""
"# estatísticas da táboa hash de ficheiros:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automático"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "por defecto"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "ambiente"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "ficheiro de make"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "ambiente baixo -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "liña de ordes"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "directiva «override»"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (desde «%s», liña %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# estatísticas da táboa hash de conxunto de variábeis:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2109,7 +2098,7 @@ msgstr ""
"\n"
"# Variábeis\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2117,7 +2106,7 @@ msgstr ""
"\n"
"# Valores de variábeis específicas do patrón"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2125,7 +2114,7 @@ msgstr ""
"\n"
"# Non hai valores específicos do patrón."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2144,77 +2133,82 @@ msgstr "aviso: variábel non definida «%.*s»"
msgid "sys$search() failed with %d\n"
msgstr "a chamada a sys$search() fallou con %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Aviso: Redirección baleira\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "erro interno: «%s» command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-aviso, pode que teña que reactivar o manexo de CTRL-Y desde o DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Orde incorporada descoñecida «%s»\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Erro, orde baleira\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Entrada redirixida desde %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Erros redirixidos a %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr ""
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Saída redirixida a %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Executando %s no canto\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Erro ao lanzar, %d\n"
@@ -2270,6 +2264,15 @@ msgstr ""
#~ msgid "[%s] Error %d (ignored)"
#~ msgstr "[%s] Erro %d (ignorado)"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "erro interno: opcións --jobserver-fds múltiples"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "memoria virtual esgotada"
+
+#~ msgid "write error"
+#~ msgstr "erro de escritura"
+
#~ msgid ""
#~ "\n"
#~ "# strcache hash-table stats:\n"
@@ -2279,6 +2282,9 @@ msgstr ""
#~ "# estatísticas da táboa hash strcache:\n"
#~ "# "
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "create_child_process: DuplicateHandle(In) failed (e=%d)\n"
#~ msgstr ""
#~ "create_child_process: a chamada a DuplicateHandle(In) fallou (e=%d)\n"
diff --git a/po/he.gmo b/po/he.gmo
index 64f3603..0603509 100644
--- a/po/he.gmo
+++ b/po/he.gmo
Binary files differ
diff --git a/po/he.po b/po/he.po
index 57116c8..0de9871 100644
--- a/po/he.po
+++ b/po/he.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.79.1\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2002-03-30 21:33+0300\n"
"Last-Translator: Eli Zaretskii <eliz@gnu.org>\n"
"Language-Team: Hebrew <eliz@gnu.org>\n"
@@ -44,51 +44,51 @@ msgstr "`%s' øáà ìéëî åðéà `%s' ïåéëøà :touch"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "`%s' øåáò ïé÷ú-àì ãå÷ äøéæçä ar_member_touch :touch"
-#: arscan.c:67
+#: arscan.c:124
#, fuzzy, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "%d ñåèèñ ,lib$rset_module é\"ò ìåãåî ìò òãéî úôéìùá ïåìùë"
-#: arscan.c:173
+#: arscan.c:230
#, fuzzy, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "%d ñåèèñ íò ìùëð lbr$ini_control"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "(`%s' äéøôñ) `%s' øáà øåáò äéøôñ úçéúôá äì÷ú"
# These are not translated, since they belong to a test program.
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (name might be truncated)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Date %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mode = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Break. ***\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] ÷çîéé àì ;ïé÷ú-éúìá úåéäì ìåìò `%s' ïåéëøà øáà ***"
@@ -98,12 +98,12 @@ msgstr "*** [%s] ÷çîéé àì ;ïé÷ú-éúìá úåéäì ìåìò `%s' ïåéëøà øáà ***"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** ÷çîéé àì ;ïé÷ú-éúìá úåéäì ìåìò `%s' ïåéëøà øáà ***"
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] `%s' õáå÷ ÷çåî ***"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** `%s' õáå÷ ÷çåî ***"
@@ -111,16 +111,16 @@ msgstr "*** `%s' õáå÷ ÷çåî ***"
# I decided to retain the English text of what Make prints under -p,
# since it is notoriously hard to get right in right-to-left languages,
# and because its primary use is for programmers who write Makefiles.
-#: commands.c:684
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# commands to execute"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (built-in):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (from `%s', line %lu):\n"
@@ -202,159 +202,159 @@ msgstr "(øáã ìù åôåñá) åîöòì äééðôäì íøåâ `%s' éáéñøå÷ø äðúùî"
msgid "unterminated variable reference"
msgstr "äëìäë úîééúñî äðéà äðúùîì äééðôä"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr ",`%s' õáå÷ øåáò úåãå÷ô åðúéð %s õáå÷á %lu äøåùá"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ",íéùøåôî-éúìá íéììëá ùåôéç é\"ò åàöîð `%s' õáå÷ øåáò úåãå÷ô"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr ".õáå÷ åúåàì äúò íéáùçð `%s' ïäå `%s' ïä íìåàå"
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ".`%s' øåáò åìà ìò úåôéãò `%s' øåáò úåãå÷ô"
-#: file.c:300
+#: file.c:303
#, fuzzy, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "`%s' íéããåá íééúåãå÷ðî `%s' íéìåôë íééúåãå÷ðì êåôäì ïúéð àì"
-#: file.c:305
+#: file.c:309
#, fuzzy, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "`%s' íéìåôë íééúåãå÷ðî `%s' íéããåá íééúåãå÷ðì êåôäì ïúéð àì"
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** `%s' íééðéá õáå÷ ÷çåî ***"
-#: file.c:400
+#: file.c:405
#, fuzzy
msgid "Removing intermediate files...\n"
msgstr "*** `%s' íééðéá õáå÷ ÷çåî ***"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "úëøòî ïåòù"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "øúåîä íåçúì õåçî äðéäù ,%s ìù ïîæä úîéúç úà %s-á óéìçî"
-#: file.c:809
-msgid "Current time"
-msgstr "úëøòî ïåòù"
-
# See the comment above about translations of text printed under -p.
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Not a target:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Precious file (prerequisite of .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Phony target (prerequisite of .PHONY)."
-#: file.c:958
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# Command-line target."
-#: file.c:960
+#: file.c:966
#, fuzzy
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# A default or MAKEFILES makefile."
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# No implicit rules."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Implicit rule search has been done."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Implicit rule search has not been done."
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Implicit/static pattern stem: `%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# File is an intermediate prerequisite."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Also makes:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Modification time never checked."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# File does not exist."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# File is very old."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Last modified %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# File has been updated."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# File has not been updated."
-#: file.c:995
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Commands currently running (THIS IS A BUG)."
-#: file.c:998
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Dependencies commands running (THIS IS A BUG)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Successfully updated."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Needs to be updated (-q is set)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Failed to be updated."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# Invalid value in `command_state' member!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -362,115 +362,115 @@ msgstr ""
"\n"
"# Files"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "øôñî åðéà `word' úééö÷ðåôì ïåùàø èðîåâøà"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "éáåéç úåéäì áééç `word' úééö÷ðåôì ïåùàø èðîåâøà"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "øôñî åðéà `wordlist' úééö÷ðåôì ïåùàø èðîåâøà"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "øôñî åðéà `wordlist' úééö÷ðåôì éðù èðîåâøà"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(In) failed (e=%d)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(Err) failed (e=%d)\n"
-#: function.c:1490
+#: function.c:1530
#, fuzzy, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() failed (e=%d)\n"
-#: function.c:1498
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): process_init_fd() failed\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr ""
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr ""
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô"
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "åæ úëøòîá úùîåîî äðéà `%s' äéö÷ðåô"
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "`%s' äéö÷ðåôì äàéø÷á `%c' øñç"
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô"
#: getopt.c:659
@@ -528,12 +528,12 @@ msgstr "%s úéðëú øåáò éòîùî-ãç åðéà `-W %s' ïééôàî\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s úéðëú øåáò èðîåâøà ìá÷î åðéà `-W %s' ïééôàî\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -617,100 +617,100 @@ msgstr ".`%s' éðîæ õáå÷ íò ììë ùôçî\n"
msgid "Cannot create a temporary file\n"
msgstr "fwrite (temporary file)"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (core õáå÷á íùøð ïåøëæä ïëåú)"
-#: job.c:487
+#: job.c:488
#, fuzzy
msgid " (ignored)"
msgstr "[%s] %d äì÷úî éúîìòúä"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (built-in):"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] 0x%x äì÷ú ***"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] %d äì÷ú"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] 0x%x äì÷ú ***"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr ""
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** ...åîééúñð íøèù úåãåáòì ïéúîî"
-#: job.c:639
+#: job.c:651
#, fuzzy, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "äöø 0x%08lx (%s) PID=%ld %s úá-úéðëú\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr "(ú÷çåøî)"
-#: job.c:829
+#: job.c:841
#, fuzzy, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "äìùëðù 0x%08lx PID=%ld %s úá-úéðëú óñåà\n"
-#: job.c:830
+#: job.c:842
#, fuzzy, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "äçéìöäù 0x%08lx PID=%ld %s úá-úéðëú óñåà\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n"
-#: job.c:949
+#: job.c:961
#, fuzzy, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ".úåãåáò úøùøùî 0x%08lx PID=%ld %s úá-úéðëú ÷éçøî\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, fuzzy, c-format
msgid "Released token for child %p (%s).\n"
msgstr ".øøçåù 0x%08lx (%s) úá-úéðëú øåáò ïåîéñàä\n"
# Here and elsewhere leading strings passed to perror are not translated,
# since they will be followed by an error message in English.
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "write jobserver"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, fuzzy, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "(e=%d) úéðëú-úú øåâéùá ìùëð process_easy()\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -719,110 +719,110 @@ msgstr ""
"\n"
"ìùëðù øåâéùá åðîð íéèðîåâøà %d\n"
-#: job.c:1685
+#: job.c:1735
#, fuzzy, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ".úåãåáò úøùøùì 0x%08lx (%s) PID=%ld %s úá-úéðëú óøöî\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, fuzzy, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr ".0x%08lx (%s) úá-úéðëú øåáò ïåîéñà ìá÷úä\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "read jobs pipe"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "íéé÷ åðéà `%s' ïåéëøà õáå÷ :touch"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%säúééðáì íéììë ïéà êà ,`%s' úùøåã `%s'%s äøèî"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "åæ úëøòîá ñîåò úåìáâî úåôëì ïúéð àì"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "cannot enforce load limit: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr ""
-#: job.c:2365
+#: job.c:2420
#, fuzzy, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "äôñàð pid %d úá-úéðëú ,pid %d-ì äëçî ïééãò\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "äàöîð àì åæ äãå÷ô :%s"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "äàöîð àì shell úãå÷ô :%s"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "(`%s' äéä íãå÷ ,`%s' åéùëò) äðúùä $SHELL ìù åëøò"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "`%s' éðîæ batch õáå÷ øöåé\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -832,241 +832,236 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr ".åæ úëøòîá êîúð åðéà (-j) éìéá÷î òåöéá"
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr " :íéðééôàî\n"
-#: main.c:313
+#: main.c:314
#, fuzzy
msgid " -b, -m Ignored for compatibility.\n"
msgstr "úåîéàú ïòîì èîùåî"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-#: main.c:320
+#: main.c:321
#, fuzzy
msgid " -d Print lots of debugging information.\n"
msgstr "úåàéâù éåôéð úáåèì òãéî ìù òôù âöä"
-#: main.c:322
+#: main.c:323
#, fuzzy
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr "úåàéâù éåôéð úáåèì òãéî ìù íéðåù íéâåñ âöä"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-#: main.c:332
+#: main.c:333
#, fuzzy
msgid " -h, --help Print this message and exit.\n"
msgstr "úéðëúäî àöå äæ äøæò êñî âöä"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-#: main.c:339
+#: main.c:340
#, fuzzy
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr "äìáâî ïéà èðîåâøà àìì ;úéðîæ-åá úåãåáò N-î øúåé àì"
-#: main.c:341
+#: main.c:342
#, fuzzy
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr "äéðáì úåðúéð ïðéà úåøèîäî äîë íà åìéôà êùîä"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
"it.\n"
msgstr ""
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
#, fuzzy
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr "Make ìù éîéðô íéðåúð ñéñá âöä"
-#: main.c:359
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr "úðëãåòî äøèî íàá øîåà äàéöé ãå÷ ;úåãå÷ô õéøú ìà"
-#: main.c:361
+#: main.c:362
#, fuzzy
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr "íéùøåôî-éúìá íéðáåî íéììë ìøèð"
-#: main.c:363
+#: main.c:364
#, fuzzy
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr "íéðúùî ìù úåðáåî úåøãâä ìøèð"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr ""
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
-#: main.c:370
+#: main.c:371
#, fuzzy
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr "ïúåðáì íå÷îá úåøèî ìù ïîæ úîéúç ïëãò"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr ""
-#: main.c:374
+#: main.c:375
#, fuzzy
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr "úéðëúäî àöå Make ìù àñøéâ øôñî âöä"
-#: main.c:376
+#: main.c:377
#, fuzzy
msgid " -w, --print-directory Print the current directory.\n"
msgstr "úéçëåð äé÷éú íù âöä"
-#: main.c:378
+#: main.c:379
#, fuzzy
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr "ùøåôîá ïéåö àåä íà åìéôà -w ìèá"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
msgstr ""
-#: main.c:383
+#: main.c:384
#, fuzzy
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr "øãâåä àìù äðúùîì äééðôä äø÷îá äøäæà âöä"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "õáå÷ íùë úìá÷úî äðéà ä÷éø úæåøçî"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "úåàéâù éåôéðì òãéî ìù `%s' øëåî-éúìá ïééôàî"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "íéáåøî --jobserver-fds éðééôàî :úéîéðô äðëú úì÷ú"
-
-#: main.c:848
+#: main.c:828
#, fuzzy, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s úéðëúá (code = 0x%x, addr = 0x%x) äâéøç åà ä÷éñô\n"
-#: main.c:855
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -1081,224 +1076,220 @@ msgstr ""
"ExceptionFlags = %x\n"
"ExceptionAddress = %x\n"
-#: main.c:863
+#: main.c:843
#, fuzzy, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "%x úáåúëì äáéúë :ïåøëæì äùéâ úì÷ú\n"
-#: main.c:864
+#: main.c:844
#, fuzzy, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "%x úáåúëî äàéø÷ :ïåøëæì äùéâ úì÷ú\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, fuzzy, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell setting default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, fuzzy, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell path search set default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr ".úåéðù 30 ìù %s úééäùä"
# Pay attention: this is written to the _right_ of the previous string,
# but should look like a single sentence together with it.
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr " äîééúñð\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "íéáåøî --jobserver-fds éðééôàî :úéîéðô äðëú úì÷ú"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "--jobserver-fds ïééôàîá `%s' äéåâù úæåøçî :úéîéðô äðëú úì÷ú"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "jobserver ïôåà ìèáî ;-jN áééçî Make-úú :äøäæà"
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
".Make ìù áàä ììëì `+' óñåä .-j1-á ùåîéù äùòéé ;ïéîæ åðéà jobserver :äøäæà"
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr ".úçà íòôî øúåé ïúéð éð÷ú èì÷ õåøòî Makefile"
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (temporary file)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (temporary file)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr ".åæ úëøòîá êîúð åðéà (-j) éìéá÷î òåöéá"
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr ".(-j1) éúøãñ ïôåàá åòöåáé úåãå÷ô"
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "creating jobs pipe"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "init jobserver pipe"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "...makefile éöá÷ ïëãòî\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ".ùãçî åøöééìî òðîð ;úéôåñðéà äàìåì øåöéì ìåìò `%s' Makefile\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr ".`%s' makefile ìù ùãçî-äøéöéá äì÷ú"
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr ".àöîð àì `%s' ììëåî makefile"
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "àöîð àì `%s' Makefile"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr ".úéøå÷îä äé÷éúì øåæçì ïúéð àì"
-#: main.c:2354
+#: main.c:2343
#, fuzzy, c-format
msgid "Re-executing[%u]:"
msgstr "Re-executing:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (temporary file): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "makefile éöá÷ åàöîð àìå úåøèî ïåéö ïéà"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "úåøèî ïéà"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "...ãòé úåøèî ïëãòî\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ".äîìù àì úåéäì äìåìò äéðáä .ïåòù úùéìâ äúìâúð :úåøéäæ"
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "%s [íéðééôàî] [äøèî] ... :ùåîéù ïôåà\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
-#: main.c:2729
+#: main.c:2721
#, fuzzy, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"\n"
".<bug-make@gnu.org>-ì äì÷ú éçååéã çåìùì àð\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "éáåéçå íìù èðîåâøà áééçî `-%c' ïééôàî"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "éáåéçå íìù èðîåâøà áééçî `-%c' ïééôàî"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr ""
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1307,7 +1298,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1316,7 +1307,7 @@ msgstr ""
"\n"
"# Make data base, printed on %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1330,10 +1321,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Unknown error %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "éìàåèøéåä ïåøëæä øîâð"
-
#: misc.c:522
#, fuzzy, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1356,68 +1343,60 @@ msgstr ""
msgid "Child access"
msgstr ""
-#: output.c:128
+#: output.c:104
#, fuzzy, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "an unknown directory"
-#: output.c:130
+#: output.c:106
#, fuzzy, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "an unknown directory"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "directory `%s'\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "directory `%s'\n"
-#: output.c:139
+#: output.c:115
#, fuzzy, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "an unknown directory"
-#: output.c:141
+#: output.c:117
#, fuzzy, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "an unknown directory"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr ""
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "directory `%s'\n"
-#: output.c:515
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "%s-ì úåàéâù úééðôä\n"
-
-# Here and elsewhere leading strings passed to perror are not translated,
-# since they will be followed by an error message in English.
-#: output.c:517
-#, fuzzy
-msgid "write error"
-msgstr "write jobserver"
+#: output.c:495 output.c:497
+msgid "write error: stdout"
+msgstr ""
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stop.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr ""
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr ""
@@ -1426,359 +1405,365 @@ msgstr ""
msgid "Reading makefiles...\n"
msgstr "...makefile éöá÷ àøå÷\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "Reading makefile `%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (no default goal)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (search path)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (don't care)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (no ~ expansion)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "éàðú ìù éåâù øéáçú"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "äðåùàø äøèî éðôì úåìéçúî úåãå÷ô"
-#: read.c:1036
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "ïäéðôì ììë àìì úåãå÷ô"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "%sãéøôî øñç"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr "(?íéçååø 8 íå÷îá TAB-ì úðååëúä íàä) "
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "%sãéøôî øñç"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "äøèî úéðáú ïéà"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "úåáåøî äøèî úåéðáú"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "`%%' àìì äøèî úéðáú"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "øñç `endif'"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "÷éø äðúùî íù"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "`endef' úàøåä éøçà øúåéî èñ÷è"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "íåéñ àìì `define' úàøåä ,øñç `endef'"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "`endef' úàøåä éøçà øúåéî èñ÷è"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "`%s' úàøåä éøçà øúåéî èñ÷è"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "øúåéî `%s'"
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "éàðú ìëì ãéçé `else' ÷ø øúåî"
-#: read.c:1892
+#: read.c:1899
#, fuzzy
msgid "Malformed target-specific variable definition"
msgstr "äøèîì éôéöôñ äðúùî ìù äéåâù äøãâä"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "íéùøåôî-éúìáå íééèèñ úéðáú éììë ìù áåáøò"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "íéùøåôî-éúìáå íéìéâø íéììë ìù áåáøò"
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "ãòéä úéðáú úà úîàåú äðéà `%s' äøèî"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr ":: ïäå : âåñî ïä íéììë ùé `%s' äøèî õáå÷ì"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr ".ììë åúåàá úçà íòôî øúåé äòéôåî `%s' äøèî"
-#: read.c:2114
+#: read.c:2122
#, fuzzy, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "`%s' äøèî øåáò úåãå÷ô ñøåã :úåøéäæ"
-#: read.c:2117
+#: read.c:2125
#, fuzzy, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "`%s' äøèî øåáò úåîãå÷ úåãå÷ôî íìòúî :úåøéäæ"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "íéùøåôî-éúìáå íéìéâø íéììë ìù áåáøò"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "äçðæð äøåùä úøúé ;NUL åú éúùâô :äøäæà"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr ".`%s øåáò úåùòì äî ïéà"
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr ".éðëãò øáë `%s'"
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr ".`%s' øåáò úåéåìú óøâ õö÷î\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%s`%s'%s äøèî úééðáì íéììë ïéà"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%säúééðáì íéììë ïéà êà ,`%s' úùøåã `%s'%s äøèî"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%s`%s'%s äøèî úééðáì íéììë ïéà"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr ".`%s' äøèî õáå÷ ïçåá\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr ".`%s' õáå÷ ïåëãòá éúìùëðå éúéñéð ïîæî àì\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr ".ïë-éðôì ïçáð øáë `%s' õáå÷\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr ".`%s' õáå÷ ïëãòî ïééãò\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr ".`%s' õáå÷ ïëãòì éúîééñ\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr ".íéé÷ åðéà `%s' õáå÷\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr ".`%s' øåáò ùøåôî-éúìá ììë éúàöî\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr ".`%s' øåáò íéùøåôî-éúìá íéììë åàöîð àì\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr ".`%s' øåáò ìãçî úøéøá úåãå÷ôá ùîúùî\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr ".%s <- %s úéìâòî ìåìú èéîùî"
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr ".`%s' äøèî õáå÷ ìù íã÷-úåùéøã íò éúîééñ\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr ".äéðáá `%s' ìù íã÷ä úåùéøã\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr ".`%s' äøèî õáå÷ éáâì íééãé éúîøä\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr ".úåàéâù á÷ò ùãçî äúðáð àì `%s' äøèî"
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ".`%s' íã÷ä úùéøãî äùãç `%s' äøèî\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr ".íéé÷ åðéàù `%s' éàðúë úùøåã `%s' äøèî\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr ".`%s' íã÷ä úùéøãî äðùé `%s' äøèî\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ".`%s' íã÷ä úùéøãî äùãç `%s' äøèî\n"
-#: remake.c:762
+#: remake.c:783
#, fuzzy, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ".íã÷ úåùéøã àììå íéìåôë íééúåãå÷ð íò äðéä `%s' äøèî\n"
-#: remake.c:769
+#: remake.c:790
#, fuzzy, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ".äùòîì äúðúùä àì íã÷ úùéøã óàå `%s' øåáò úåãå÷ô ïéà\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr ""
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "`%s' äøèî ùãçî úåðáì êøåö ïéà"
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr " (`%s' :VPATH õáå÷ íù)"
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr ".`%s' äøèî ùãçî úåðáì áééç\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " .`%s' VPATH íùî íìòúî\n"
-#: remake.c:819
+#: remake.c:840
#, fuzzy, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr ".`%s' øåáò úåãå÷ô õéøî\n"
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr ".ùãçî `%s' úåðáì ïåéñð ìùëð\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr ".`%s' ùãçî úééðáá äçìöä\n"
-#: remake.c:832
+#: remake.c:853
#, fuzzy, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ".-q íò úåðáéäì êéøö `%s' äøèî õáå÷\n"
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr ".`%s' øåáò ìãçî úøéøá úåãå÷ôá ùîúùî\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "*** `%s' õáå÷ øåáò (%s > %s) ãéúòá åðéä ïåøçà éåðéù ïîæ :äøäæà ***"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "*** `%s' õáå÷ øåáò (%s > %s) ãéúòá åðéä ïåøçà éåðéù ïîæ :äøäæà ***"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "úéðáú åðéà .LIBPATTERNS ìù `%s' èðîìà"
@@ -1788,7 +1773,7 @@ msgstr "úéðáú åðéà .LIBPATTERNS ìù `%s' èðîìà"
msgid "Customs won't export: %s\n"
msgstr "%s àöééî åðéà Customs\n"
-#: rule.c:496
+#: rule.c:495
#, fuzzy
msgid ""
"\n"
@@ -1797,7 +1782,7 @@ msgstr ""
"\n"
"# No implicit rules."
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1805,7 +1790,7 @@ msgstr ""
"\n"
"# No implicit rules."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1814,11 +1799,11 @@ msgstr ""
"\n"
"# %u implicit rules, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:531
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "BUG: num_pattern_rules wrong! %u != %u"
@@ -2025,47 +2010,47 @@ msgid ""
"# "
msgstr ""
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatic"
# These are printed under -p, so they are left in English.
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "default"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "environment"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "environment under -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "command line"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "`override' directive"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (from `%s', line %lu):\n"
-#: variable.c:1699
+#: variable.c:1691
#, fuzzy
msgid "# variable set hash-table stats:\n"
msgstr "# %u variables in %u hash buckets.\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2073,7 +2058,7 @@ msgstr ""
"\n"
"# Variables\n"
-#: variable.c:1714
+#: variable.c:1706
#, fuzzy
msgid ""
"\n"
@@ -2082,7 +2067,7 @@ msgstr ""
"\n"
"# Pattern-specific variable values"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2090,7 +2075,7 @@ msgstr ""
"\n"
"# No pattern-specific variable values."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2109,77 +2094,82 @@ msgstr "`%.*s' øãâåî-éúìá äðúùî :úåøéäæ"
msgid "sys$search() failed with %d\n"
msgstr "%d íò ìùëð sys$search\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "ä÷éø äééðôä :úåøéäæ\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "command_state `%s' :úéîéðô äðëú úì÷ú"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ".DCL-î CTRL-Y-á ìåôéè øåùôéàá êøåö úåéäì ìåìò :úåøéäæ\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "úøëåî äðéà '%s'úéðáåî äãå÷ô\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "ä÷éø äãå÷ô :äì÷ú\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "%s-î èì÷ úééðôä\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "%s-ì úåàéâù úééðôä\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "%s-ì èìô úééðôä\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "%s-ì èìô úééðôä\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "%s õéøî úàæ íå÷îá\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "%d :úá-úéðëú úìòôäá äì÷ú\n"
@@ -2258,6 +2248,9 @@ msgstr ""
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr ".úåìéòô úá-úåéðëú øéàùäì ìåìò CTRL-Y :úåøéäæ\n"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "DIRECTORY"
#~ msgstr "DIRECTORY"
@@ -2309,6 +2302,9 @@ msgstr ""
#~ msgid "Resetting make for single job mode."
#~ msgstr ".éúøãñ ïôåàá åòöåáé úåãå÷ô"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "íéáåøî --jobserver-fds éðééôàî :úéîéðô äðëú úì÷ú"
+
#~ msgid ""
#~ ", by Richard Stallman and Roland McGrath.\n"
#~ "%sBuilt for %s\n"
@@ -2338,6 +2334,9 @@ msgstr ""
#~ msgid "Leaving"
#~ msgstr "Leaving"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "éìàåèøéåä ïåøëæä øîâð"
+
#~ msgid "extraneous `endef'"
#~ msgstr "øúåéî `endef'"
diff --git a/po/hr.gmo b/po/hr.gmo
index 33ffdae..6340916 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 5ae7169..36db598 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.82\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2012-10-31 17:32+0100\n"
"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -48,50 +48,50 @@ msgstr "touch: Element „%s†ne postoji u „%sâ€"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: Neispravan povratni kod iz ar_member_touch na „%sâ€"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_module() nije izdvojio informacije o modulu, status = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() nije uspio sa stanjem = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "ne mogu otvoriti biblioteku „%s†za traženje elementa „%sâ€"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Älan „%sâ€%s: %ld bajtova na %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (ime je možda odsjeÄeno)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mod = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Prekid.\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Element arhive „%s†je možda lažan; nije izbrisan"
@@ -101,25 +101,25 @@ msgstr "*** [%s] Element arhive „%s†je možda lažan; nije izbrisan"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Element arhive „%s†je možda lažan; nije izbrisan"
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] BriÅ¡em datoteku „%sâ€"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** BriÅ¡em datoteku „%sâ€"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# recept za izvršavanje"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (ugrađeno):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (iz „%sâ€, redak %lu):\n"
@@ -201,153 +201,153 @@ msgstr "Rekurzivna varijabla „%s†pokazuje (na kraju) na sebe"
msgid "unterminated variable reference"
msgstr "nedovršena referenca na varijablu"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Naveden je recept za datoteku „%s†na %s:%lu,"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Recept za datoteku „%s†nađen je implicitnim pretraživanjem propisa,"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "ali se „%s†sada smatra istom datotekom kao i „%sâ€."
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Recept za „%s†će se zanemariti u korist onog za „%sâ€."
-#: file.c:300
+#: file.c:303
#, fuzzy, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "ne mogu preimenovati „%s†s jednim dvotoÄjem u „%s†s dva dvotoÄja"
-#: file.c:305
+#: file.c:309
#, fuzzy, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "ne mogu preimenovati „%s†s dva dvotoÄja u „%s†s jednim dvotoÄjem"
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** BriÅ¡em posrednu datoteku „%sâ€"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Uklanjam posredne datoteke...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Trenutno vrijeme"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Vremenska oznaka izvan granica; zamjenjujem s %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Trenutno vrijeme"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Nije meta:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Vrijedna datoteka (preduvjet mete .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Lažna meta (preduvjet mete .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Meta naredbenog retka."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Zadana, MAKEFILES ili -include/sinclude datoteka izrade."
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# Nema implicitnih propisa."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Implicitna pretraga propisa je izvršena."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Implicitna pretraga propisa nije izvršena."
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Korijen implicitnog/statiÄkog uzorka: „%sâ€\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Datoteka je posredni preduvjet."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Također napravi:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Vrijeme promjene nikada nije provjereno."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Datoteka ne postoji."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Datoteka je vrlo stara."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Zadnja promjena %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Datoteka je ažurirana."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Datoteka nije ažurirana."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Recept koji se trenutno izvršava (OVO JE BUG)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Recept ovisnosti koji se izvršava (OVO JE BUG)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Uspješno ažuriran."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Treba ga ažurirati (-q je postavljen)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Nije ažuriran."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# Neispravna vrijednost u elementu „command_stateâ€!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -355,7 +355,7 @@ msgstr ""
"\n"
"# Datoteke"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -365,107 +365,107 @@ msgstr ""
"# statistike tablice raspršivanja datoteka:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "prvi argument funkcije „word†nije broj"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "prvi argument funkcije „word†mora biti veći od 0"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "drugi argument funkcije „wordlist†nije broj"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "drugi argument funkcije „wordlist†nije broj"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe(): DuplicateHandle(In) nije uspio (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_open_pipe(): DuplicateHandle(Err) nije uspio (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() nije uspio (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() nije uspio\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "ÄŒistim privremenu skupnu datoteku %s.\n"
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "greška pisanja: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "nedovoljan broj argumenata (%d) funkciji „%sâ€"
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "neimplementirano na ovoj platformi: funkcija „%sâ€"
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "nedovrÅ¡en poziv funkciji „%sâ€: nedostaje „%câ€"
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "nedovoljan broj argumenata (%d) funkciji „%sâ€"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "nedovoljan broj argumenata (%d) funkciji „%sâ€"
#: getopt.c:659
@@ -523,12 +523,12 @@ msgstr "%s: opcija „-W %s†je viÅ¡eznaÄna\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opcija „-W %s†ne dozvoljava argument\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -612,99 +612,99 @@ msgstr "Tražim propis s posrednom datotekom „%sâ€.\n"
msgid "Cannot create a temporary file\n"
msgstr "Ne mogu napraviti privremenu datoteku\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (jezgra izbaÄena)"
-#: job.c:487
+#: job.c:488
#, fuzzy
msgid " (ignored)"
msgstr "[%s] Greška %d (zanemarena)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (ugrađeno):"
-#: job.c:501
+#: job.c:503
#, fuzzy, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "upozorenje: poniÅ¡tavam recept za metu „%sâ€"
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Greška 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] Greška %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Greška 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Čekam nedovršene poslove...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Živo dijete %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (udaljen)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Skupljam neuspješno dijete %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Skupljam uspješno dijete %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "ÄŒistim privremenu skupnu datoteku %s\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "ÄŒistim privremenu skupnu datoteku %s\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Uklanjam dijete %p PID %s%s iz lanca.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Ispušten simbol za dijete %p (%s).\n"
# Što bi ovdje trebalo ići?
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "poslužitelj poslova pisanja"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() nije uspio pokrenuti proces (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -713,104 +713,104 @@ msgstr ""
"\n"
"Izbrojeno %d argumenata u neuspjelom pokretanju\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Smještam dijete %p (%s) PID %s%s u lanac.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Preuzet simbol za dijete %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "cjevovod poslova Äitanja"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch: Arhiva „%s†ne postoji"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%sNema propisa za izradu mete „%sâ€, koji traži „%sâ€%s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
"ne mogu silom primijeniti ograniÄenje opterećenja na ovom operacijskom "
"sustavu"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "ne mogu silom primijeniti ograniÄenje opterećenja: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni ulaz\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni izlaz\n"
-#: job.c:2223
+#: job.c:2278
#, fuzzy
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni ulaz\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Ne mogu obnoviti standardni ulaz\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Ne mogu obnoviti standardni izlaz\n"
-#: job.c:2254
+#: job.c:2309
#, fuzzy
msgid "Could not restore stderr\n"
msgstr "Ne mogu obnoviti standardni ulaz\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make je skupio dijete pid %s, joÅ¡ uvijek Äeka pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Naredba nije pronađena"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Program ljuske nije pronađen"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: prostor okoline je možda iscrpljen"
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL se promijenio (prije „%sâ€, sada „%sâ€)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Stvaram privremenu skupnu datoteku %s\n"
-#: job.c:3148
+#: job.c:3206
#, fuzzy
msgid ""
"Batch file contents:\n"
@@ -819,7 +819,7 @@ msgstr ""
"Sadržaj skupne datoteke:%s\n"
"\t%s\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -828,7 +828,7 @@ msgstr ""
"Sadržaj skupne datoteke:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -838,49 +838,49 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "Paralelni poslovi (-j) nisu podržani na ovoj platformi."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Opcije:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Zanemareno zbog kompatibilnosti.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Bezuvjetno izradi sve mete.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -888,18 +888,18 @@ msgstr ""
" -C DIREKTORIJ, --directory=DIREKTORIJ\n"
" PrijeÄ‘i u DIREKTORIJ prije poÄetka rada.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Ispiši puno podataka za debugiranje.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=ZASTAVICE] Ispiši razne vrste informacija za "
"debugiranje.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -908,14 +908,14 @@ msgstr ""
" Varijable okoline imaju veću važnost od\n"
" datoteka izrade.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=NIZ Postupaj s NIZOM kao naredbom datoteke "
"izrade.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -923,15 +923,15 @@ msgstr ""
" -f DATOTEKA, --file=DATOTEKA, --makefile=DATOTEKA\n"
" ProÄitaj DATOTEKU kao datoteku izrade.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Ispiši ovu poruku i izađi.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Zanemari greške iz recepata.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -940,7 +940,7 @@ msgstr ""
" Traži u DIREKTORIJU ukljuÄene datoteke "
"izrade.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -948,14 +948,14 @@ msgstr ""
" -j [N], --jobs[=N] Dozvoli N istovremenih poslova; bez argumenta\n"
" ih dozvoli beskonaÄno.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Nastavi s radom ako se neke mete ne mogu "
"izraditi.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -965,7 +965,7 @@ msgstr ""
" Ne pokreći višestruke poslove, osim ako je\n"
" opterećenje ispod N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -973,7 +973,7 @@ msgstr ""
" -L, --check-symlink-times Koristi posljednji mtime izmeÄ‘u simboliÄkih "
"veza i mete.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -983,7 +983,7 @@ msgstr ""
" Nemoj zapravo pokrenuti nijedan recept,\n"
" samo ih ispiši.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -993,17 +993,17 @@ msgstr ""
" Smatraj da je DATOTEKA vrlo stara i nemoj ju\n"
" ponovo napraviti.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Ispiši „make†internu bazu podataka.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1011,20 +1011,20 @@ msgstr ""
" -q, --question Ne pokreći recepte; izlazno stanje oznaÄava\n"
" je li sve ažurirano.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr " -r, --no-builtin-rules Onemogući ugrađene implicitne propise.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Onemogući ugrađene vrijednosti varijabli.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ne ispisuj recepte.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1032,27 +1032,27 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" IskljuÄuje -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Umjesto ponovne izrade dodirni izgrađene "
"mete.\n"
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr " -d Ispiši puno podataka za debugiranje.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version IspiÅ¡i „make†broj inaÄice i izaÄ‘i.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Ispiši trenutni direktorij.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1060,7 +1060,7 @@ msgstr ""
" --no-print-directory IskljuÄi -w, Äak i ako je implicitno "
"ukljuÄen.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1069,7 +1069,7 @@ msgstr ""
" --assume-new=DATOTEKA\n"
" Smatraj DATOTEKU beskonaÄno novom.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1077,31 +1077,26 @@ msgstr ""
" --warn-undefined-variables Upozori pri referenciranju nedefinirane "
"varijable.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "prazan niz nije ispravan naziv datoteke"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "nepoznata oznaka razine debugiranja „%sâ€"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "interna greška: višestruko pojavljivanje opcije --jobserver-fds"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Uhvaćen prekid/iznimka (kod = 0x%lx, adr = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1116,73 +1111,69 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Pristupni prekršaj: operacija pisanja na adresi 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Pristupni prekrÅ¡aj: operacija Äitanja na adresi 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() postavlja default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell() pretraga putanje postavlja default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s se zaustavlja na 30 sekundi..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "gotov sa sleep(30). Nastavljam.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "interna greška: višestruko pojavljivanje opcije --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, fuzzy, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Klijent poslužitelja poslova (fds %d,%d)\n"
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "interna greÅ¡ka: neispravan --jobserver-fds niz „%sâ€"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Klijent poslužitelja poslova (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"upozorenje: pod-make prisilno postavlja -jN: onemogućujem poslužitelj "
"poslova."
# Treba li ovo prevesti?
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup poslužitelj poslova"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
@@ -1190,112 +1181,112 @@ msgstr ""
"upozorenje: poslužitelj poslova nedostupan: koristim -j1. Dodaj `+' na "
"roditeljev propis izrade."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Datoteka izrade sa standardnog ulaza navedena dvaput."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (privremena datoteka)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (privremena datoteka)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Paralelni poslovi (-j) nisu podržani na ovoj platformi."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Vraćam naÄin rada s jednim poslom (-j1)."
-#: main.c:2006
+#: main.c:1994
#, fuzzy, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Klijent poslužitelja poslova (fds %d,%d)\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "stvaram cjevovod poslova"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inicijaliziraj cjevovod poslužitelja poslova"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "SimboliÄke veze nisu podržane: onemogućujem -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Ažuriram datoteke izrade....\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Datoteka izrade „%s†bi mogla ući u petlju; ne izgrađujem ponovo.\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Nisam uspio ponovo izgraditi datoteku izrade „%sâ€."
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "UkljuÄeni datoteka izrade „%s†nije pronaÄ‘ena."
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "Datoteka izrade „%s†nije pronađena"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Ne mogu se vratiti u izvorni direktorij."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Ponovo izvršavam[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (privremena datoteka): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL sadrži više od jedne mete"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nijedna meta nije navedena, niti je pronađena ijedna datoteka izrade"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Nema meta"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Ažuriram ciljne mete....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"upozorenje: UoÄena je nepravilnost sata. Izgradnja bi mogla biti nedovrÅ¡ena."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Uporaba: %s [opcije] [meta] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1304,7 +1295,7 @@ msgstr ""
"\n"
"Program izgrađen za %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1313,32 +1304,32 @@ msgstr ""
"\n"
"Program izgrađen za %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Prijavite greške na <bug-make@gnu.org>\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "opcija „%s%s†zahtijeva neprazan znakovni niz kao argument"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "opcija „-%c†zahtijeva pozitivan cjelobrojni argument"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sIzgrađen za %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sIzgrađen za %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1351,7 +1342,7 @@ msgstr ""
"%sOvo je slobodan softver: slobodno ga smijete mijenjati i dijeliti.\n"
"%sNEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1360,7 +1351,7 @@ msgstr ""
"\n"
"# Make baza podataka, ispisana na %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1374,10 +1365,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Nepoznata greška %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "virtualna memorija iscrpljena"
-
# Da prevedem ovo?
#: misc.c:522
#, c-format
@@ -1400,66 +1387,61 @@ msgstr "Make pristup"
msgid "Child access"
msgstr "Pristup djeteta"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Ulazim u nepoznat direktorij\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Izlazim iz nepoznatog direktorija\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Ulazim u direktorij „%sâ€\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Izlazim iz direktorija „%sâ€\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Ulazim u nepoznat direktorij\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Izlazim iz nepoznatog direktorija\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Ulazim u direktorij „%sâ€\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Izlazim iz direktorija „%sâ€\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "greška pisanja: %s"
-# Što bi ovdje trebalo ići?
-#: output.c:517
-msgid "write error"
-msgstr "gresÌŒka pisanja"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Zaustavi.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1468,221 +1450,227 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "ÄŒitam datoteke izrade...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "ÄŒitam datoteku izrade „%sâ€"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (nema zadane mete)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (putanja pretraživanja)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (nije važno)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (bez proširenja ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "neispravna sintaksa uvjeta"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "recept poÄinje prije prve mete"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "nedostaje propis prije recepta"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (jeste li htjeli TAB umjesto 8 razmaka?)"
+
# Grr, živjela engleska množina! I što sad da radim s onim %s-om?
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
msgstr "nedostaju znakovi razdvajanja (%s)"
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (jeste li htjeli TAB umjesto 8 razmaka?)"
-
-#: read.c:1263
+#: read.c:1270
msgid "missing target pattern"
msgstr "nedostaje uzorak mete"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "višestruki uzorci meta"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "uzorak mete ne sadrži „%%â€"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "nedostaje „endifâ€"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "prazno ime varijable"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "suviÅ¡an tekst nakon direktive „defineâ€"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "nedostaje „endefâ€, nedovrÅ¡en „defineâ€"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "suviÅ¡an tekst nakon direktive „endefâ€"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "suviÅ¡an tekst nakon direktive „%sâ€"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "suviÅ¡an „%sâ€"
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "samo jedan „else†po uvjetu"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "IzobliÄena definicija o meti ovisne varijable"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "preduvjeti ne mogu biti definirani u receptima"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "pomijeÅ¡ani implicitni i statiÄki propisi uzoraka"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "pomiješani implicitni i normalni propisi"
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "meta „%s†ne odgovara uzorku mete"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "datoteka mete „%s†ima unose i kod : i kod ::"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "meta „%s†je navedena više nego jednom u istom propisu."
-#: read.c:2114
+#: read.c:2122
#, fuzzy, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "upozorenje: poniÅ¡tavam recept za metu „%sâ€"
-#: read.c:2117
+#: read.c:2125
#, fuzzy, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "upozorenje: zanemarujem stari recept za metu „%sâ€"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "pomiješani implicitni i normalni propisi"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "upozorenje: uoÄen je NUL znak; ostatak retka se zanemaruje"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "NiÅ¡ta za napraviti za „%sâ€."
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "„%s†je ažuriran."
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "ÄŒistim datoteku „%sâ€.\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sNema propisa za izradu mete „%sâ€%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sNema propisa za izradu mete „%sâ€, koji traži „%sâ€%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNema propisa za izradu mete „%sâ€%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "Razmatram datoteku mete „%sâ€.\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Nedavno bezuspjeÅ¡no pokuÅ¡ao ažurirati datoteku „%sâ€.\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "Datoteka „%s†je već razmatrana.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "JoÅ¡ uvijek ažuriram datoteku „%sâ€.\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "ZavrÅ¡io s ažuriranjem datoteke „%sâ€.\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "Datoteka „%s†ne postoji.\n"
-#: remake.c:481
+#: remake.c:495
#, fuzzy, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1690,139 +1678,139 @@ msgstr ""
"*** Upozorenje: .LOW_RESOLUTION_TIME datoteka „%s†ima vremensku oznaku "
"visoke rezolucije"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "PronaÄ‘en implicitni propis za „%sâ€.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Nisam naÅ¡ao nijedan implicitni propis za „%sâ€.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Koristim zadani recept za „%sâ€.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Kružna ovisnost %s <- %s ispuštena."
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "ZavrÅ¡eni preduvjeti datoteke mete „%sâ€.\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Preduvjeti „%s†se izrađuju.\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Odustajem od datoteke mete „%sâ€.\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Meta „%s†nije ponovo izrađena zbog grešaka."
# Nisam siguran da sam ovo ispravno shvatio.
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Preduvjet „%s†služi samo za redoslijed za metu „%sâ€.\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Preduvjet „%s†mete „%s†ne postoji.\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Preduvjet „%s†noviji je od mete „%sâ€.\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Preduvjet „%s†stariji je od mete „%sâ€.\n"
-#: remake.c:762
+#: remake.c:783
#, fuzzy, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Meta „%s†je dvotoÄje, a nema preduvjete.\n"
-#: remake.c:769
+#: remake.c:790
#, fuzzy, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Nema recepta za „%sâ€, a nijedan preduvjet nije promijenjen.\n"
-#: remake.c:774
+#: remake.c:795
#, fuzzy, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Izrađujem „%s†zbog zastavice always-make.\n"
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "Ponovna izrada mete „%s†nije potrebna"
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr "; koristim VPATH ime „%sâ€"
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "Moram ponovo izraditi metu „%sâ€.\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Zanemarujem VPATH ime „%sâ€.\n"
-#: remake.c:819
+#: remake.c:840
#, fuzzy, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Recept za „%s†se izvršava.\n"
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Nisam uspio ponovo izraditi datoteku mete „%sâ€.\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "UspjeÅ¡no ponovo izraÄ‘ena datoteka mete „%sâ€.\n"
-#: remake.c:832
+#: remake.c:853
#, fuzzy, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Datoteku mete „%s†treba ponovo izraditi zbog -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Koristim zadane naredbe za „%sâ€.\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Upozorenje: Vrijeme uređivanja datoteke „%s†je u budućnosti"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
"Upozorenje: Vrijeme uređivanja datoteke „%s†je %s sekundi u budućnosti"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "Element „%s†iz .LIBPATTERNS nije uzorak"
@@ -1832,7 +1820,7 @@ msgstr "Element „%s†iz .LIBPATTERNS nije uzorak"
msgid "Customs won't export: %s\n"
msgstr "Customs neće izvesti: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1840,7 +1828,7 @@ msgstr ""
"\n"
"# Implicitni propisi"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1848,7 +1836,7 @@ msgstr ""
"\n"
"# Nema implicitnih propisa."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1857,11 +1845,11 @@ msgstr ""
"\n"
"# %u implicitnih propisa, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " završni."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "BUG: neispravan num_pattern_rules! %u != %u"
@@ -2082,45 +2070,45 @@ msgstr ""
"# statistike tablice raspršivanja datoteka:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatsko"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "zadano"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "okolina"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "datoteka izrade"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "okolina pod -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "naredbeni redak"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "direktiva „overrideâ€"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (iz „%sâ€, redak %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# statistike tablice raspršivanja skupova varijabli:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2128,7 +2116,7 @@ msgstr ""
"\n"
"# Varijable\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2136,7 +2124,7 @@ msgstr ""
"\n"
"# Uzorcima svojstvene vrijednosti varijabli"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2144,7 +2132,7 @@ msgstr ""
"\n"
"# Nema uzorcima svojstvenih vrijednosti varijabli."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2163,79 +2151,84 @@ msgstr "upozorenje: nedefinirana varijabla „%.*sâ€"
msgid "sys$search() failed with %d\n"
msgstr "sys$search() nije uspio s %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Upozorenje: Prazno preusmjeravanje\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "interna greška: „%s†command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-upozorenje, možda ćete morati ponovo omogućiti upravljanje s CTRL-Y iz DCL-"
"a.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "UGRAÄEN [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "UGRAÄEN CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "UGRAÄEN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "UGRAÄEN CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Nepoznata ugraÄ‘ena naredba „%sâ€\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Greška, prazna naredba\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Preusmjeren ulaz iz %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Preusmjerene greške u %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Dodaj izlaz na %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Preusmjeren izlaz u %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Dodaj %.*s i poÄisti\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Umjesto toga, izvršavam %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Greška pri pokretanju, %d\n"
@@ -2294,6 +2287,16 @@ msgstr ""
#~ msgid "Invoking builtin recipe to update target `%s'.\n"
#~ msgstr "Pozivam ugraÄ‘eni recept za ažuriranje mete „%sâ€.\n"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "interna greška: višestruko pojavljivanje opcije --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtualna memorija iscrpljena"
+
+# Što bi ovdje trebalo ići?
+#~ msgid "write error"
+#~ msgstr "gresÌŒka pisanja"
+
#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
#~ msgstr "%s # strcache međuspremnika: %d (* %d B/međuspremniku = %d B)\n"
@@ -2306,6 +2309,9 @@ msgstr ""
#~ "# statistike strcache tablice raspršivanja:\n"
#~ "# "
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "UGRAÄEN RM %s\n"
+
#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "Greška u sintaksi, još uvijek unutar '\"'\n"
diff --git a/po/id.gmo b/po/id.gmo
index d052d6c..44d6423 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 7adf238..ef0dd99 100644
--- a/po/id.po
+++ b/po/id.po
@@ -1,14 +1,14 @@
# Pesan Bahasa Indonesia untuk GNU make
# Copyright (C) 2006 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
-# Arif E. Nugroho <arif_endro@yahoo.com>, 2006, 2009.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 3.81\n"
+"Project-Id-Version: GNU make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2009-01-31 18:30+0700\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2014-07-30 18:30+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"Language: id\n"
@@ -17,110 +17,109 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ar.c:46
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use unsupported feature: '%s'"
-msgstr "usaha untuk menggunakan layanan yang tidak didukung: `%s'"
+msgstr "usaha untuk menggunakan layanan yang tidak didukung: '%s'"
#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "touch anggota archive tidak tersedia di VMS"
#: ar.c:147
-#, fuzzy, c-format
+#, c-format
msgid "touch: Archive '%s' does not exist"
-msgstr "touch: Archive `%s' tidak ada"
+msgstr "touch: Archive '%s' tidak ada"
#: ar.c:150
-#, fuzzy, c-format
+#, c-format
msgid "touch: '%s' is not a valid archive"
-msgstr "touch: `%s' bukan archive yang valid"
+msgstr "touch: '%s' bukan archive yang valid"
#: ar.c:157
-#, fuzzy, c-format
+#, c-format
msgid "touch: Member '%s' does not exist in '%s'"
-msgstr "touch: Anggota `%s' tidak terdapat dalam `%s'"
+msgstr "touch: Anggota '%s' tidak terdapat dalam '%s'"
#: ar.c:164
-#, fuzzy, c-format
+#, c-format
msgid "touch: Bad return code from ar_member_touch on '%s'"
-msgstr "touch: Kode kembali tidak baik dari ar_member_touch pada `%s'"
+msgstr "touch: Kode kembali tidak baik dari ar_member_touch pada '%s'"
-#: arscan.c:67
-#, fuzzy, c-format
+#: arscan.c:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "lbr$set_module gagal untuk mengekstrak info module, status = %d"
+msgstr "lbr$set_module() gagal untuk mengekstrak info module, status = %d"
-#: arscan.c:173
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control gagal dengan status = %d"
+msgstr "lbr$ini_control() gagal dengan status = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
-msgstr "tidak dapat membuka perpustakaan `%s' untuk melihat anggota `%s'"
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "tidak dapat membuka perpustakaan '%s' untuk melihat anggota '%s'"
-#: arscan.c:847
-#, fuzzy, c-format
+#: arscan.c:944
+#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "Anggota `%s'%s: %ld bytes pada %ld (%ld).\n"
+msgstr "Anggota '%s'%s: %ld bytes pada %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (nama mungkin akan di potong)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Tanggal %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mode = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
-msgstr ""
+msgstr "Recipe has too many lines (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Berhenti.\n"
-#: commands.c:630
-#, fuzzy, c-format
+#: commands.c:629
+#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
-msgstr "*** [%s] Anggota archive `%s' mungkin palsu: tidak dihapus"
+msgstr "*** [%s] Anggota archive '%s' mungkin palsu: tidak dihapus"
#: commands.c:633
-#, fuzzy, c-format
+#, c-format
msgid "*** Archive member '%s' may be bogus; not deleted"
-msgstr "*** Anggota archive `%s' mungkin palsu; tidak dihapus"
+msgstr "*** Anggota archive '%s' mungkin palsu; tidak dihapus"
-#: commands.c:646
-#, fuzzy, c-format
+#: commands.c:647
+#, c-format
msgid "*** [%s] Deleting file '%s'"
-msgstr "*** [%s] Menghapus berkas `%s'"
+msgstr "*** [%s] Menghapus berkas '%s'"
-#: commands.c:648
-#, fuzzy, c-format
+#: commands.c:649
+#, c-format
msgid "*** Deleting file '%s'"
-msgstr "*** Menghapus berkas `%s'"
+msgstr "*** Menghapus berkas '%s'"
-#: commands.c:684
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# perintah untuk dijalankan"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (bawaan):"
-#: commands.c:689
-#, fuzzy, c-format
+#: commands.c:690
+#, c-format
msgid " (from '%s', line %lu):\n"
-msgstr " (dari `%s', baris %lu):\n"
+msgstr " (dari '%s', baris %lu):\n"
#: dir.c:989
msgid ""
@@ -191,165 +190,158 @@ msgid " impossibilities in %lu directories.\n"
msgstr " tidak mungkin dalam direktori %lu.\n"
#: expand.c:125
-#, fuzzy, c-format
+#, c-format
msgid "Recursive variable '%s' references itself (eventually)"
-msgstr "Variabel rekursif `%s' menunjuk pada dirinya sendiri"
+msgstr "Variabel rekursif '%s' menunjuk pada dirinya sendiri"
#: expand.c:269
msgid "unterminated variable reference"
msgstr "referensi variabel tidak diselesaikan"
-#: file.c:269
-#, fuzzy, c-format
+#: file.c:271
+#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
-msgstr "Perintah di spesifikasikan untuk berkas `%s' di %s:%lu,"
+msgstr "Perintah di spesifikasikan untuk berkas '%s' di %s:%lu,"
-#: file.c:274
-#, fuzzy, c-format
+#: file.c:276
+#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
-msgstr "Perintah untuk berkas `%s' ditemukan dalam pencarian aturan implisit,"
+msgstr "Perintah untuk berkas '%s' ditemukan dalam pencarian aturan implisit,"
-#: file.c:277
-#, fuzzy, c-format
+#: file.c:280
+#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr ""
-"tetapi `%s' sekarang dipertimbangkan sebagai berkas yang sama dengan `%s'."
+"tetapi '%s' sekarang dipertimbangkan sebagai berkas yang sama dengan '%s'."
-#: file.c:280
-#, fuzzy, c-format
+#: file.c:283
+#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
-msgstr "Perintah untuk `%s' akan diabaikan untuk menghargai `%s'."
+msgstr "Perintah untuk '%s' akan diabaikan untuk menghargai '%s'."
-#: file.c:300
-#, fuzzy, c-format
+#: file.c:303
+#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
-msgstr "tidak dapat mengubah nama dari kolon-tunggal `%s' ke kolon-ganda `%s'"
+msgstr "tidak dapat mengubah nama dari kolon-tunggal '%s' ke kolon-ganda '%s'"
-#: file.c:305
-#, fuzzy, c-format
+#: file.c:309
+#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
-msgstr "tidak dapat mengubah nama kolon-ganda `%s' menjadi kolon-tunggal `%s'"
+msgstr "tidak dapat mengubah nama kolon-ganda '%s' menjadi kolon-tunggal '%s'"
-#: file.c:396
-#, fuzzy, c-format
+#: file.c:401
+#, c-format
msgid "*** Deleting intermediate file '%s'"
-msgstr "*** Menghapus berkas sementara `%s'"
+msgstr "*** Menghapus berkas sementara '%s'"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Menghapus berkas sementara...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Waktu saat ini"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Timestamp diluar jangkauan; digantikan dengan %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Waktu saat ini"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Bukan sebuah target:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Berkas sebelumnya (dibutuhkan oleh .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Phony target (dibutuhkan oleh .PHONY)."
-#: file.c:958
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# Baris-perintah target."
+msgstr "# Baris perintah target."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Merupakan baku, MAKEFILES atau -include/sinclude makefile."
-#: file.c:962
-#, fuzzy
+#: file.c:968
msgid "# Builtin rule"
-msgstr ""
-"\n"
-"# Tidak ada aturan implisit."
+msgstr "# Tidak ada aturan implisit."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Pencarian aturan implisit sudah selesai."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Pencarian aturan implisit belum selesai."
-#: file.c:967
-#, fuzzy, c-format
+#: file.c:973
+#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
-msgstr "# Pola implisit atau statis stem: `%s'\n"
+msgstr "# Pola/implisit atau statis stem: '%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Berkas merupakan dibutuhkan untuk sementara."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Juga membuat:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Waktu ubah sudah diperiksa."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Berkas tidak ada."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Berkas sudah sangat tua."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Terakhir dimodifikasi %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Berkas sudah diperbarui."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Berkas belum diperbarui."
-#: file.c:995
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Perintah sedang berjalan (INI MERUPAKAN SEBUAH BUG)."
-#: file.c:998
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Perintah ketergantungan sedang berjalan (INI MERUPAKAN SEBUAH BUG)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Sukses memperbarui."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Perlu untuk diupdate (-q diset)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Gagal untuk mengupdate."
-#: file.c:1019
-#, fuzzy
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
-msgstr "# Nilai yang salah dalam anggota `command_state' !"
+msgstr "# Nilai yang salah dalam anggota 'command_state' !"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -357,7 +349,7 @@ msgstr ""
"\n"
"# Berksa"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -367,139 +359,135 @@ msgstr ""
"# berkas statistik hash-table:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
-msgstr ""
+msgstr "%s: Field '%s' not cached: %s"
-#: function.c:742
-#, fuzzy
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
-msgstr "argumen pertama untuk fungsi `word' bukan numerik"
+msgstr "argumen pertama untuk fungsi 'word' bukan numerik"
-#: function.c:747
-#, fuzzy
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
-msgstr "argumen pertama untuk fungsi `word' harus lebih besar dari 0"
+msgstr "argumen pertama untuk fungsi 'word' harus lebih besar dari 0"
-#: function.c:767
-#, fuzzy
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
-msgstr "argumen pertama untuk fungsi `wordlist' bukan numerik"
+msgstr "argumen pertama untuk fungsi 'wordlist' bukan numerik"
-#: function.c:769
-#, fuzzy
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
-msgstr "argumen kedua dari fungsi `wordlist' bukan numerik"
+msgstr "argumen kedua dari fungsi 'wordlist' bukan numerik"
-#: function.c:1460
-#, fuzzy, c-format
+#: function.c:1499
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) gagal (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(In) gagal (e=%ld)\n"
-#: function.c:1483
-#, fuzzy, c-format
+#: function.c:1523
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) gagal (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(Err) gagal (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() gagal (e=%ld)\n"
-#: function.c:1498
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() gagal\n"
+msgstr "windows32_openpipe(): process_init_fd() gagal\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Membersihkan berkas batch sementara %s\n"
-#: function.c:2151
-#, fuzzy, c-format
+#: function.c:2193
+#, c-format
msgid "open: %s: %s"
-msgstr "%s: %s"
+msgstr "open: %s: %s"
-#: function.c:2158
-#, fuzzy, c-format
+#: function.c:2203
+#, c-format
msgid "write: %s: %s"
-msgstr "error menulis: %s"
+msgstr "menulis: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
-msgstr ""
+msgstr "Invalid file operation: %s"
-#: function.c:2279
-#, fuzzy, c-format
+#: function.c:2324
+#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
-msgstr "Jumlah dari argumen (%d) untuk fungsi `%s' tidak mencukupi"
+msgstr "Jumlah dari argumen (%d) untuk fungsi '%s' tidak mencukupi"
-#: function.c:2291
-#, fuzzy, c-format
+#: function.c:2336
+#, c-format
msgid "unimplemented on this platform: function '%s'"
-msgstr "Tidak terimplementasi dalam platform ini: fungsi `%s'"
+msgstr "Tidak terimplementasi dalam platform ini: fungsi '%s'"
-#: function.c:2354
-#, fuzzy, c-format
+#: function.c:2399
+#, c-format
msgid "unterminated call to function '%s': missing '%c'"
-msgstr "fungsi `%s' tidak diselesaikan: hilang `%c'"
+msgstr "fungsi '%s' tidak diselesaikan: hilang '%c'"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Empty function name\n"
-#: function.c:2548
-#, c-format
-msgid "Invalid function name: %s\n"
-msgstr ""
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Invalid function name: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
-msgstr ""
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Function name too long: %s\n"
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
-msgstr "Jumlah dari argumen (%d) untuk fungsi `%s' tidak mencukupi"
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "Jumlah dari argumen (%d) untuk fungsi %s tidak mencukupi\n"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
-msgstr "Jumlah dari argumen (%d) untuk fungsi `%s' tidak mencukupi"
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "Jumlah dari argumen (%d) untuk fungsi %s tidak mencukupi\n"
#: getopt.c:659
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: opsi `%s' merupakan ambigu\n"
+msgstr "%s: opsi '%s' merupakan ambigu\n"
#: getopt.c:683
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: opsi `--%s' tidak memperbolehkan argumen\n"
+msgstr "%s: opsi '--%s' tidak memperbolehkan argumen\n"
#: getopt.c:688
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: opsi `%c%s' tidak memperbolehkan argumen\n"
+msgstr "%s: opsi '%c%s' tidak memperbolehkan argumen\n"
#: getopt.c:705 getopt.c:878
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: opsi `%s' membutuhkan sebuah argumen\n"
+msgstr "%s: opsi '%s' membutuhkan sebuah argumen\n"
#: getopt.c:734
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: opsi tidak dikenali `--%s'\n"
+msgstr "%s: opsi tidak dikenali '--%s'\n"
#: getopt.c:738
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: opsi tidak dikenali `%c%s'\n"
+msgstr "%s: opsi tidak dikenali '%c%s'\n"
#: getopt.c:764
#, c-format
@@ -517,30 +505,30 @@ msgid "%s: option requires an argument -- %c\n"
msgstr "%s: opsi membutuhkan sebuah argumen -- %c\n"
#: getopt.c:844
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: opsi `-W %s' merupakan opsi ambigu\n"
+msgstr "%s: opsi '-W %s' merupakan opsi ambigu\n"
#: getopt.c:862
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: opsi `-W %s' tidak memperbolehkan sebuah argumen\n"
+msgstr "%s: opsi '-W %s' tidak memperbolehkan sebuah argumen\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
-msgstr ""
+msgstr "guile: Expanding '%s'\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
-msgstr ""
+msgstr "guile: Evaluating '%s'\n"
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr ""
-"tidak dapat mengalokasikan %ld bytes untuk tabel hash; kehabisan memory"
+"tidak dapat mengalokasikan %lu bytes untuk tabel hash; kehabisan memory"
#: hash.c:280
#, c-format
@@ -558,14 +546,14 @@ msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Tabrakan=%ld/%ld=%.0f%%"
#: implicit.c:38
-#, fuzzy, c-format
+#, c-format
msgid "Looking for an implicit rule for '%s'.\n"
-msgstr "Mencari aturan implisit untuk `%s'.\n"
+msgstr "Mencari aturan implisit untuk '%s'.\n"
#: implicit.c:54
-#, fuzzy, c-format
+#, c-format
msgid "Looking for archive-member implicit rule for '%s'.\n"
-msgstr "Mencari aturan implisit untuk anggota-archive pada `%s'.\n"
+msgstr "Mencari aturan implisit untuk anggota-archive pada '%s'.\n"
#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
@@ -574,139 +562,137 @@ msgstr "Menghindari aturan implisit rekursi.\n"
#: implicit.c:486
#, c-format
msgid "Stem too long: '%.*s'.\n"
-msgstr ""
+msgstr "Stem too long: '%.*s'.\n"
#: implicit.c:491
-#, fuzzy, c-format
+#, c-format
msgid "Trying pattern rule with stem '%.*s'.\n"
-msgstr "Mencoba aturan pola dengan stem `%.*s'.\n"
+msgstr "Mencoba aturan pola dengan stem '%.*s'.\n"
#: implicit.c:697
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible rule prerequisite '%s'.\n"
-msgstr "Menolak persyaratan aturan yang tidak mungkin `%s'.\n"
+msgstr "Menolak persyaratan aturan yang tidak mungkin '%s'.\n"
#: implicit.c:698
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible implicit prerequisite '%s'.\n"
-msgstr "Menolak persyaratan implisit yang tidak mungkin `%s'.\n"
+msgstr "Menolak persyaratan implisit yang tidak mungkin '%s'.\n"
#: implicit.c:711
-#, fuzzy, c-format
+#, c-format
msgid "Trying rule prerequisite '%s'.\n"
-msgstr "Mencoba persyaratan dari aturan `%s'.\n"
+msgstr "Mencoba persyaratan dari aturan '%s'.\n"
#: implicit.c:712
-#, fuzzy, c-format
+#, c-format
msgid "Trying implicit prerequisite '%s'.\n"
-msgstr "Mencoba persyaratan implisit `%s'.\n"
+msgstr "Mencoba persyaratan implisit '%s'.\n"
#: implicit.c:751
-#, fuzzy, c-format
+#, c-format
msgid "Found prerequisite '%s' as VPATH '%s'\n"
-msgstr "Menemukan persyaratan `%s' sebagai VPATH `%s'\n"
+msgstr "Menemukan persyaratan '%s' sebagai VPATH '%s'\n"
#: implicit.c:765
-#, fuzzy, c-format
+#, c-format
msgid "Looking for a rule with intermediate file '%s'.\n"
-msgstr "Mencari aturan dengan berkas sementara `%s'.\n"
+msgstr "Mencari aturan dengan berkas sementara '%s'.\n"
#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "Tidak dapat membuat berkas sementara\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (core di-dump)"
-#: job.c:487
-#, fuzzy
+#: job.c:488
msgid " (ignored)"
-msgstr "[%s] Error %d (diabaikan)"
+msgstr " (diabaikan)"
-#: job.c:491 job.c:1994
-#, fuzzy
+#: job.c:492 job.c:2046
msgid "<builtin>"
-msgstr " (bawaan):"
+msgstr "<bawaan>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
-msgstr ""
-
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Error 0x%x"
+msgstr "%s: recipe for target '%s' failed"
-#: job.c:513
-#, fuzzy, c-format
+#: job.c:516 job.c:524
+#, c-format
msgid "%s[%s] Error %d%s"
-msgstr "*** [%s] Error %d"
+msgstr "%s[%s] Error %d%s"
-#: job.c:517
-#, fuzzy, c-format
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Error 0x%x%s"
+
+#: job.c:529
+#, c-format
msgid "%s[%s] %s%s%s"
-msgstr "%s%s: %s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Menunggu pekerjaan yang belum selesai...."
-#: job.c:639
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Proses anak yang masih berjalan 0x%08lx (%s) PID %ld %s\n"
+msgstr "Proses anak yang masih berjalan %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remote)"
-#: job.c:829
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Reaping anak hilang 0x%08lx PID %ld %s\n"
+msgstr "Reaping anak hilang %p PID %s %s\n"
-#: job.c:830
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Reaping winning child 0x%08lx PID %ld %s\n"
+msgstr "Reaping winning child %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Membersihkan berkas batch sementara %s\n"
-#: job.c:843
-#, fuzzy, c-format
+#: job.c:855
+#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
-msgstr "Membersihkan berkas batch sementara %s\n"
+msgstr "Membersihkan berkas batch sementara %s failed (%d)\n"
-#: job.c:949
-#, fuzzy, c-format
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Menghilangkan proses anak 0x%08lx PID %ld%s dari rantai.\n"
+msgstr "Menghilangkan proses anak %p PID %s%s dari rantai.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "release jobserver semaphore: (Error %ld: %s)"
-#: job.c:1011 job.c:1025
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Melepaskan token dari proses anak 0x%08lx (%s).\n"
+msgstr "Melepaskan token dari proses anak %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "menulis jobserver"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() gagal untuk menjalankan proses (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -715,166 +701,167 @@ msgstr ""
"\n"
"Terhitung %d argumen gagal untuk dijalankan\n"
-#: job.c:1685
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Meletakkan proses anak 0x%08lx (%s) PID %ld%s pada rantai proses.\n"
+msgstr "Meletakkan proses anak %p (%s) PID %s%s pada rantai proses.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
-msgstr ""
+msgstr "semaphore or child process wait: (Error %ld: %s)"
-#: job.c:1967
-#, fuzzy, c-format
+#: job.c:2019
+#, c-format
msgid "Obtained token for child %p (%s).\n"
-msgstr "Memperoleh token untuk proses anak 0x%08lx (%s).\n"
+msgstr "Memperoleh token untuk proses anak %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "membaca pipa pekerjaan"
-#: job.c:2003
-#, fuzzy, c-format
+#: job.c:2056
+#, c-format
msgid "%s: target '%s' does not exist"
-msgstr "touch: Archive `%s' tidak ada"
+msgstr "%s: archive '%s' tidak ada"
-#: job.c:2005
-#, fuzzy, c-format
+#: job.c:2059
+#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr ""
-"%sTidak terdapat aturan untuk membuat target `%s', dibutuhkan oleh `%s'%s"
+"%s: tidak terdapat aturan untuk membuat target '%s', dibutuhkan oleh %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "tidak dapat memaksa mencapai batas beban pada sistem operasi ini"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "tidak dapat memaksa mencapai batas beban: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "tidak ada lagi file handles: tidak dapat menggandakan stdin\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "tidak ada lagi file handles: tidak dapat menggandakan stdout\n"
-#: job.c:2223
-#, fuzzy
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
-msgstr "tidak ada lagi file handles: tidak dapat menggandakan stdin\n"
+msgstr "tidak ada lagi file handles: tidak dapat menggandakan stderr\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Tidak dapat mengembalikan stdin\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Tidak dapat mengembalikan stdout\n"
-#: job.c:2254
-#, fuzzy
+#: job.c:2309
msgid "Could not restore stderr\n"
-msgstr "Tidak dapat mengembalikan stdin\n"
+msgstr "Tidak dapat mengembalikan stderr\n"
-#: job.c:2365
-#, fuzzy, c-format
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "make reaped child pid %ld, tetap menunggu untuk pid %ld\n"
+msgstr "make reaped child pid %s, tetap menunggu untuk pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Perintah tidak ada"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Shell program tidak ditemukan"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: mungkin kehabisan ruang environment"
-#: job.c:2709
-#, fuzzy, c-format
+#: job.c:2765
+#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
-msgstr "$SHELL berubah (sebelumnya `%s', sekarang `%s')\n"
+msgstr "$SHELL berubah (sebelumnya '%s', sekarang '%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Membuat berkas batch sementara %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
+"Batch file contents:\n"
+"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Batch file contents:%s\n"
+"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (baris %d) shell context tidak baik (!unixy && !batch_mode_shell)\n"
#: job.h:43
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
-msgstr ""
+msgstr "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
-msgstr ""
+msgstr "Failed to open global symbol table: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
-msgstr ""
+msgstr "Loaded object %s is not declared to be GPL compatible"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
-msgstr ""
+msgstr "Failed to load symbol %s from %s: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
-msgstr ""
+msgstr "Empty symbol name for load: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
-msgstr ""
+msgstr "Loading symbol %s from %s\n"
-#: load.c:229
-#, fuzzy
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
-msgstr "Parallel jobs (-j) tidak didukung dalam platform ini."
+msgstr "Parallel jobs '-j' tidak didukung dalam platform ini."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Opsi:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Diabaikan untuk kompatibilitas.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Membuat semua target secara tidak "
"kondisional.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -882,17 +869,17 @@ msgstr ""
" -C DIRECTORI, --directory=DIREKTORI\n"
" Pindah ke DIREKTORI sebelum melakukan apapun.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Menampilkan banyak informasi debug.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAGS] Menampilkan berbagai tipe informasi debug.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -900,12 +887,13 @@ msgstr ""
" -e, --environment-overrides\n"
" Variabel lingkungan memaksa makefiles.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
+" --eval=STRING Evaluate STRING as a makefile statement.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -913,18 +901,17 @@ msgstr ""
" -f BERKAS, --file=BERKAS, --makefile=BERKAS\n"
" Baca BERKAS sebagai sebuah makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Tampilkan pesan ini dan keluar.\n"
-#: main.c:334
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
" -i, --ignore-errors Abaikan kesalahan dari perintah yang "
"dijalankan.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -933,7 +920,7 @@ msgstr ""
" Cari di DIREKTORI untuk makefile yang "
"disertakan.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -941,13 +928,13 @@ msgstr ""
" -j [N], --jobs[=N] Ijinkan N kerja secara bersamaan. Kerja tidak "
"terhingga jika tidak diberikan argumen.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Tetap jalan ketika target tidak dapat dibuat.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -957,7 +944,7 @@ msgstr ""
" Jangan menjalankan multiple pekerjaan kecuali "
"beban dibawah N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -965,8 +952,7 @@ msgstr ""
" -L, --check-symlink-times Gunakan waktu mtime terbaru diantara symlinks "
"dan target.\n"
-#: main.c:348
-#, fuzzy
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -976,7 +962,7 @@ msgstr ""
" Jangan menjalankan perintah apapun; tampilkan "
"saja apa yang akan dikerjakan.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -986,18 +972,19 @@ msgstr ""
" Pertimbangkan BERKAS sudah sangat tua dan "
"jangan membuatnya lagi.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Tampilkan basis data internal make.\n"
-#: main.c:359
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1005,22 +992,21 @@ msgstr ""
" -q, --question Tidak menjalankan perintah. Mengeluarkan "
"status saja dan mengatakan up to date.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Aturan implisit bawaan tidak digunakan.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Non-aktifkan konfigurasi variabel bawaan.\n"
-#: main.c:365
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Jangan menampilkan perintah.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1028,26 +1014,26 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Matikan opsi -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Sentuh target dari pada membuat kembali.\n"
-#: main.c:372
-#, fuzzy
+#: main.c:373
msgid " --trace Print tracing information.\n"
-msgstr " -d Menampilkan banyak informasi debug.\n"
+msgstr ""
+" --trace Menampilkan banyak informasi debug.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version Tampilkan versi dari make dan keluar.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Tampilkan directory saat ini.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1055,7 +1041,7 @@ msgstr ""
" --no-print-directory Matikan opsi -w, walaupun opsi ini diaktifkan "
"secara implisit.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1064,7 +1050,7 @@ msgstr ""
" Pertimbangkan BERKAS sebagai sebuah berkas "
"baru.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1072,32 +1058,27 @@ msgstr ""
" --warn-undefined-variables Peringatkan akan adanya variabel yang tidak "
"terdefinisi yang direferensikan.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "`string' kosong tidak valid sebagai nama file"
-#: main.c:734
-#, fuzzy, c-format
+#: main.c:737
+#, c-format
msgid "unknown debug level specification '%s'"
-msgstr "spesifikasi tingkat debug tidak diketahui `%s'"
+msgstr "spesifikasi tingkat debug tidak diketahui '%s'"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
-msgstr ""
-
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "internal error: opsi --jobserver-fds lebih dari satu"
+msgstr "unknown output-sync type '%s'"
-#: main.c:848
-#, fuzzy, c-format
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr "%s: Interupsi/Exception diterima (kode = 0x%lx, alamat = 0x%lx)\n"
+msgstr "%s: Interupsi/Exception diterima (kode = 0x%lx, alamat = 0x%p)\n"
-#: main.c:855
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -1109,186 +1090,182 @@ msgstr ""
"Exception filter tidak dapat diatasi dari program %s\n"
"ExceptionCode = %lx\n"
"ExceptionFlags = %lx\n"
-"ExceptionAddress = %lx\n"
+"ExceptionAddress = 0x%p\n"
-#: main.c:863
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Akses dilanggar: operasi tulis pada alamat %lx\n"
+msgstr "Akses dilanggar: operasi tulis pada alamat 0x%p\n"
-#: main.c:864
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Akses dilanggar: operasi baca pada alamat %lx\n"
+msgstr "Akses dilanggar: operasi baca pada alamat 0x%p\n"
-#: main.c:940 main.c:955
-#, fuzzy, c-format
+#: main.c:920 main.c:935
+#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr "find_and_set_shell diset pada default_shell = %s\n"
+msgstr "find_and_set_shell() diset pada default_shell = %s\n"
-#: main.c:1008
-#, fuzzy, c-format
+#: main.c:988
+#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
-msgstr "find_and_set_shell jalur pencarian di set pada default_shell = %s\n"
+msgstr "find_and_set_shell() jalur pencarian di set pada default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s dihentikan selama 30 detik..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "selesai tidur(30). Melanjutkan.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "internal error: opsi --jobserver-fds lebih dari satu"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
-msgstr ""
+msgstr "Jobserver client (semaphore %s)\n"
-#: main.c:1551
-#, fuzzy, c-format
+#: main.c:1534
+#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
-msgstr "internal error: tidak valid --jobserver-fds string `%s'"
+msgstr "internal error: tidak valid --jobserver-fds string '%s'"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "Jobserver client (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"Peringatan: -jN dipaksakan dalam submake: non-aktifkan mode server pekerja."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup server pekerja"
-#: main.c:1586
-#, fuzzy
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"Peringatan: server pekerja tidak ada: menggunakan -j1. Tambahkan `+' pada "
+"Peringatan: server pekerja tidak ada: menggunakan -j1. Tambahkan '+' pada "
"aturan make paling atas."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile dari standard input dispesifikasikan dua kali."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (berkas sementara)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (berkas sementara)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Parallel jobs (-j) tidak didukung dalam platform ini."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Mereset kembali ke mode satu job (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
-msgstr ""
+msgstr "Jobserver slots limited to %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "creating jobserver semaphore: (Error %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "membuat pipa pekerjaan"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inisiasi pipa server pekerja"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Symbolic links tidak didukung: menonaktifkan opsi -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Memperbarui makefiles....\n"
-#: main.c:2174
-#, fuzzy, c-format
+#: main.c:2158
+#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
-msgstr "Makefile `%s' mungkin berupa loop; tidak membuat lagi.\n"
+msgstr "Makefile '%s' mungkin berupa loop; tidak membuat lagi.\n"
-#: main.c:2253
-#, fuzzy, c-format
+#: main.c:2237
+#, c-format
msgid "Failed to remake makefile '%s'."
-msgstr "Gagal membuat lagi makefile `%s'."
+msgstr "Gagal membuat lagi makefile '%s'."
-#: main.c:2270
-#, fuzzy, c-format
+#: main.c:2257
+#, c-format
msgid "Included makefile '%s' was not found."
-msgstr "Makefile yang dimasukan `%s' tidak ditemukan."
+msgstr "Makefile yang dimasukan '%s' tidak ditemukan."
-#: main.c:2275
-#, fuzzy, c-format
+#: main.c:2262
+#, c-format
msgid "Makefile '%s' was not found"
-msgstr "Makefile `%s' tidak ditemukan"
+msgstr "Makefile '%s' tidak ditemukan"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Tidak dapat kembali ke direktori asal."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Menjalankan kembali[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (berkas sementara): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL berisi lebih dari satu target"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Target tidak dispesifikasikan dan tidak ditemukan makefile"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Tidak ada targets"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Memperbarui tujuan target....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"Peringatan: Clock skew terdeteksi. Pembuatan anda mungkin tidak sempurna"
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Penggunaan: %s [opsi] [target] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1297,7 +1274,7 @@ msgstr ""
"\n"
"Program ini dibuat untuk %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1306,36 +1283,32 @@ msgstr ""
"\n"
"Program ini dibuat untuk %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Laporkan bugs kepada <bug-make@gnu.org>\n"
-#: main.c:2810
-#, fuzzy, c-format
+#: main.c:2807
+#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
-msgstr "opsi `-%c' membutuhkan sebuah argument string yang tidak kosong"
+msgstr "opsi '%s%s' membutuhkan sebuah argument string yang tidak kosong"
-#: main.c:2864
-#, fuzzy, c-format
+#: main.c:2871
+#, c-format
msgid "the '-%c' option requires a positive integer argument"
-msgstr "opsi `-%c' membutuhkan sebuah argument `string' yang tidak kosong"
+msgstr "opsi '-%c' membutuhkan sebuah argument `string' yang tidak kosong"
-#: main.c:3253
-#, fuzzy, c-format
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"%sAplikasi ini dibuat untuk %s\n"
+msgstr "%sAplikasi ini dibuat untuk %s\n"
-#: main.c:3255
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"%sAplikasi ini dibuat untuk %s (%s)\n"
+msgstr "%sAplikasi ini dibuat untuk %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1343,8 +1316,12 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLisensi GPLv3+: GNU GPL versi 3 atau sesudahnya <http://gnu.org/licenses/"
+"gpl.html>\n"
+"%sIni adalah aplikasi gratis: anda bebas untuk mengubah dan menyebarkannya.\n"
+"%sTidak ada JAMINAN, sepanjang diperbolehkan oleh hukum.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1353,7 +1330,7 @@ msgstr ""
"\n"
"# Membuat basis data, ditampilkan %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1367,10 +1344,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Kesalahan tidak diketahui %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "Kehabisan memori maya"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1392,65 +1365,61 @@ msgstr "Buat akses"
msgid "Child access"
msgstr "Akses anak"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Memasuki sebuah direktori yang tidak diketahui\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Meninggalkan sebuah direktori yang tidak diketahui\n"
-#: output.c:133
-#, fuzzy, c-format
+#: output.c:109
+#, c-format
msgid "%s: Entering directory '%s'\n"
-msgstr "%s: Memasuki direktori `%s'\n"
+msgstr "%s: Memasuki direktori '%s'\n"
-#: output.c:135
-#, fuzzy, c-format
+#: output.c:111
+#, c-format
msgid "%s: Leaving directory '%s'\n"
-msgstr "%s: Meninggalkan direktori `%s'\n"
+msgstr "%s: Meninggalkan direktori '%s'\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Memasuki sebuah direktori yang tidak diketahui\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Meninggalkan sebuah direktori yang tidak diketahui\n"
-#: output.c:144
-#, fuzzy, c-format
+#: output.c:120
+#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
-msgstr "%s[%u]: Memasuki direktori `%s'\n"
+msgstr "%s[%u]: Memasuki direktori '%s'\n"
-#: output.c:146
-#, fuzzy, c-format
+#: output.c:122
+#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
-msgstr "%s[%u]: Meninggalkan direktori `%s'\n"
+msgstr "%s[%u]: Meninggalkan direktori '%s'\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "error menulis: %s"
-#: output.c:517
-msgid "write error"
-msgstr "error menulis"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Berhenti.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1459,372 +1428,370 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Membaca makefiles...\n"
-#: read.c:333
-#, fuzzy, c-format
+#: read.c:335
+#, c-format
msgid "Reading makefile '%s'"
-msgstr "Membaca makefile `%s'"
+msgstr "Membaca makefile '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (tidak terdapat tujuan baku)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (jalur pencarian)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (tidak peduli)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (tidak terdapat ekspansi tilde ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
-msgstr ""
+msgstr "Skipping UTF-8 BOM in makefile '%s'\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
-msgstr ""
+msgstr "Skipping UTF-8 BOM in makefile buffer\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "sintak salah dalam kondisional"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
-msgstr ""
+msgstr "%s: failed to load"
-#: read.c:987
-#, fuzzy
+#: read.c:992
msgid "recipe commences before first target"
msgstr "perintah dijalankan sebelum target pertama"
-#: read.c:1036
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "hilang aturan sebelum menjalankan perintah"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "pemisah %s hilang"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (apakah yang anda maksud TAB dari pada 8 buah spasi?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "pemisah %s hilang"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "pola target hilang"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "pola target banyak"
-#: read.c:1269
-#, fuzzy, c-format
+#: read.c:1276
+#, c-format
msgid "target pattern contains no '%%'"
-msgstr "pola target tidak memiliki `%%'"
+msgstr "pola target tidak memiliki '%%'"
-#: read.c:1391
-#, fuzzy
+#: read.c:1398
msgid "missing 'endif'"
-msgstr "hilang `endif'"
+msgstr "hilang 'endif'"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "nama variabel kosong"
-#: read.c:1465
-#, fuzzy
+#: read.c:1471
msgid "extraneous text after 'define' directive"
-msgstr "Kelebihan text sesudah `endef' directive"
+msgstr "Kelebihan text sesudah 'endef' directive"
-#: read.c:1490
-#, fuzzy
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
-msgstr "hilang `endef', tidak diselesaikan `define'"
+msgstr "hilang 'endef', tidak diselesaikan 'define'"
-#: read.c:1518
-#, fuzzy
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
-msgstr "Kelebihan text sesudah `endef' directive"
+msgstr "kelebihan text sesudah 'endef' directive"
-#: read.c:1589
-#, fuzzy, c-format
+#: read.c:1595
+#, c-format
msgid "extraneous text after '%s' directive"
-msgstr "Kelebihan text sesudah `%s' directive"
+msgstr "kelebihan text sesudah '%s' directive"
-#: read.c:1598 read.c:1612
-#, fuzzy, c-format
+#: read.c:1596
+#, c-format
msgid "extraneous '%s'"
-msgstr "kelebihan `%s'"
+msgstr "kelebihan '%s'"
-#: read.c:1617
-#, fuzzy
+#: read.c:1624
msgid "only one 'else' per conditional"
-msgstr "hanya satu `else' dalam setiap kondisi"
+msgstr "hanya satu 'else' dalam setiap kondisi"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Definisi variable target-specific memiliki format yang salah"
-#: read.c:1951
-#, fuzzy
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "persyaratan tidak dapat didefinisikan dalam script perintah"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "aturan pola implisit dan static tercampur"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "aturan implisit dan aturan normal tercampur"
-#: read.c:2084
-#, fuzzy, c-format
+#: read.c:2091
+#, c-format
msgid "target '%s' doesn't match the target pattern"
-msgstr "target `%s' tidak cocok dengan pola target"
+msgstr "target '%s' tidak cocok dengan pola target"
-#: read.c:2099 read.c:2144
-#, fuzzy, c-format
+#: read.c:2106 read.c:2152
+#, c-format
msgid "target file '%s' has both : and :: entries"
-msgstr "target berkas `%s' keduanya memiliki masukan : dan ::"
+msgstr "target berkas '%s' keduanya memiliki masukan : dan ::"
-#: read.c:2105
-#, fuzzy, c-format
+#: read.c:2112
+#, c-format
msgid "target '%s' given more than once in the same rule"
-msgstr "target `%s' memberikan lebih dari sekali dalam aturan sama."
+msgstr "target '%s' memberikan lebih dari sekali dalam aturan sama."
-#: read.c:2114
-#, fuzzy, c-format
+#: read.c:2122
+#, c-format
msgid "warning: overriding recipe for target '%s'"
-msgstr "Peringatan: memaksa perintah untuk target `%s'"
+msgstr "peringatan: memaksa perintah untuk target '%s'"
-#: read.c:2117
-#, fuzzy, c-format
+#: read.c:2125
+#, c-format
msgid "warning: ignoring old recipe for target '%s'"
-msgstr "Peringatan: menghiraukan perintah lama untuk target `%s'"
+msgstr "peringatan: menghiraukan perintah lama untuk target '%s'"
+
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "aturan implisit dan aturan normal tercampur"
-#: read.c:2530
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "Peringatan: karakter NUL terlihat; baris selanjutnya dihiraukan"
+msgstr "peringatan: karakter NUL terlihat; baris selanjutnya dihiraukan"
-#: remake.c:232
-#, fuzzy, c-format
+#: remake.c:230
+#, c-format
msgid "Nothing to be done for '%s'."
-msgstr "Tidak ada yang harus dilakukan untuk `%s'."
+msgstr "Tidak ada yang harus dilakukan untuk '%s'."
-#: remake.c:233
-#, fuzzy, c-format
+#: remake.c:231
+#, c-format
msgid "'%s' is up to date."
-msgstr "`%s' sudah baru."
+msgstr "'%s' sudah baru."
-#: remake.c:305
-#, fuzzy, c-format
+#: remake.c:303
+#, c-format
msgid "Pruning file '%s'.\n"
-msgstr "Pruning file `%s'.\n"
+msgstr "Pruning file '%s'.\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sTidak terdapat aturan untuk membuat target `%s'%s"
-
-#: remake.c:379
-#, fuzzy, c-format
+#: remake.c:390 remake.c:393
+#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
-"%sTidak terdapat aturan untuk membuat target `%s', dibutuhkan oleh `%s'%s"
+"%sTidak terdapat aturan untuk membuat target '%s', dibutuhkan oleh '%s'%s"
-#: remake.c:413
-#, fuzzy, c-format
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sTidak terdapat aturan untuk membuat target '%s'%s"
+
+#: remake.c:426
+#, c-format
msgid "Considering target file '%s'.\n"
-msgstr "Mempertimbangkan berkas target `%s'.\n"
+msgstr "Mempertimbangkan berkas target '%s'.\n"
-#: remake.c:420
-#, fuzzy, c-format
+#: remake.c:433
+#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
-msgstr "Baru saja dicoba dan gagal untuk memperbarui berkas `%s'.\n"
+msgstr "Baru saja dicoba dan gagal untuk memperbarui berkas '%s'.\n"
-#: remake.c:432
-#, fuzzy, c-format
+#: remake.c:445
+#, c-format
msgid "File '%s' was considered already.\n"
-msgstr "Berkas `%s' baru saja dipertimbangkan.\n"
+msgstr "Berkas '%s' baru saja dipertimbangkan.\n"
-#: remake.c:442
-#, fuzzy, c-format
+#: remake.c:455
+#, c-format
msgid "Still updating file '%s'.\n"
-msgstr "Sedang memperbarui berkas `%s'.\n"
+msgstr "Sedang memperbarui berkas '%s'.\n"
-#: remake.c:445
-#, fuzzy, c-format
+#: remake.c:458
+#, c-format
msgid "Finished updating file '%s'.\n"
-msgstr "Selesai memperbarui berkas `%s'.\n"
+msgstr "Selesai memperbarui berkas '%s'.\n"
-#: remake.c:474
-#, fuzzy, c-format
+#: remake.c:487
+#, c-format
msgid "File '%s' does not exist.\n"
-msgstr "Berkas `%s' tidak ada.\n"
+msgstr "Berkas '%s' tidak ada.\n"
-#: remake.c:481
-#, fuzzy, c-format
+#: remake.c:495
+#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Peringatan: .LOW_RESOLUTION_TIME berkas `%s' memiliki sebuah penanda "
+"*** Peringatan: .LOW_RESOLUTION_TIME berkas '%s' memiliki sebuah penanda "
"waktu dengan resolusi tinggi"
-#: remake.c:494 remake.c:1019
-#, fuzzy, c-format
+#: remake.c:508 remake.c:1040
+#, c-format
msgid "Found an implicit rule for '%s'.\n"
-msgstr "Ditemukan sebuah aturan implisit untuk `%s'.\n"
+msgstr "Ditemukan sebuah aturan implisit untuk '%s'.\n"
-#: remake.c:496 remake.c:1021
-#, fuzzy, c-format
+#: remake.c:510 remake.c:1042
+#, c-format
msgid "No implicit rule found for '%s'.\n"
-msgstr "Tidak terdapat aturan implisit untuk membuat `%s'.\n"
+msgstr "Tidak terdapat aturan implisit untuk membuat '%s'.\n"
-#: remake.c:502
-#, fuzzy, c-format
+#: remake.c:516
+#, c-format
msgid "Using default recipe for '%s'.\n"
-msgstr "Menggunakan perintah baku untuk `%s'.\n"
+msgstr "Menggunakan perintah baku untuk '%s'.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Ketergantungan %s <- %s melingkar dijatuhkan."
-#: remake.c:655
-#, fuzzy, c-format
+#: remake.c:675
+#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
-msgstr "Selesai melakukan semua persyaratan untuk berkas target `%s'.\n"
+msgstr "Selesai melakukan semua persyaratan untuk berkas target '%s'.\n"
-#: remake.c:661
-#, fuzzy, c-format
+#: remake.c:681
+#, c-format
msgid "The prerequisites of '%s' are being made.\n"
-msgstr "Persyaratan untuk membuat `%s' sedang dibuat.\n"
+msgstr "Persyaratan untuk membuat '%s' sedang dibuat.\n"
-#: remake.c:674
-#, fuzzy, c-format
+#: remake.c:695
+#, c-format
msgid "Giving up on target file '%s'.\n"
-msgstr "Menyerah untuk membuat target berkas `%s'.\n"
+msgstr "Menyerah untuk membuat target berkas '%s'.\n"
-#: remake.c:679
-#, fuzzy, c-format
+#: remake.c:700
+#, c-format
msgid "Target '%s' not remade because of errors."
-msgstr "Target `%s' tidak dibuat lagi karena ada errors."
+msgstr "Target '%s' tidak dibuat lagi karena ada errors."
-#: remake.c:731
-#, fuzzy, c-format
+#: remake.c:752
+#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
-msgstr "Persyaratan untuk `%s' adalah order-only untuk target `%s'.\n"
+msgstr "Persyaratan untuk '%s' adalah order-only untuk target '%s'.\n"
-#: remake.c:736
-#, fuzzy, c-format
+#: remake.c:757
+#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
-msgstr "Persyaratan untuk `%s' untuk target `%s' tidak ada.\n"
+msgstr "Persyaratan untuk '%s' untuk target '%s' tidak ada.\n"
-#: remake.c:741
-#, fuzzy, c-format
+#: remake.c:762
+#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
-msgstr "Persyaratan untuk `%s' lebih baru dari pada target `%s'.\n"
+msgstr "Persyaratan untuk '%s' lebih baru dari pada target '%s'.\n"
-#: remake.c:744
-#, fuzzy, c-format
+#: remake.c:765
+#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
-msgstr "Persyaratan untuk `%s' lebih tua dari pada target `%s'.\n"
+msgstr "Persyaratan untuk '%s' lebih tua dari pada target '%s'.\n"
-#: remake.c:762
-#, fuzzy, c-format
+#: remake.c:783
+#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
-msgstr "Target `%s' merupakan kolon-ganda dan tidak memiliki syarat.\n"
+msgstr "Target '%s' merupakan kolon-ganda dan tidak memiliki syarat.\n"
-#: remake.c:769
-#, fuzzy, c-format
+#: remake.c:790
+#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
-msgstr "Tidak ada perintah untuk `%s' dan persyaratan tidak berubah.\n"
+msgstr "Tidak ada perintah untuk '%s' dan persyaratan tidak berubah.\n"
-#: remake.c:774
-#, fuzzy, c-format
+#: remake.c:795
+#, c-format
msgid "Making '%s' due to always-make flag.\n"
-msgstr "Membuat `%s' karena adanya tanda always-make.\n"
+msgstr "Membuat '%s' karena adanya tanda always-make.\n"
-#: remake.c:782
-#, fuzzy, c-format
+#: remake.c:803
+#, c-format
msgid "No need to remake target '%s'"
-msgstr "Tidak perlu membuat lagi target `%s'"
+msgstr "Tidak perlu membuat lagi target '%s'"
-#: remake.c:784
-#, fuzzy, c-format
+#: remake.c:805
+#, c-format
msgid "; using VPATH name '%s'"
-msgstr "; menggunakan nama VPATH `%s'"
+msgstr "; menggunakan nama VPATH '%s'"
-#: remake.c:804
-#, fuzzy, c-format
+#: remake.c:825
+#, c-format
msgid "Must remake target '%s'.\n"
-msgstr "Harus membuat lagi target `%s'.\n"
+msgstr "Harus membuat lagi target '%s'.\n"
-#: remake.c:810
-#, fuzzy, c-format
+#: remake.c:831
+#, c-format
msgid " Ignoring VPATH name '%s'.\n"
-msgstr " Mengabaikan nama VPATH `%s'.\n"
+msgstr " Mengabaikan nama VPATH '%s'.\n"
-#: remake.c:819
-#, fuzzy, c-format
+#: remake.c:840
+#, c-format
msgid "Recipe of '%s' is being run.\n"
-msgstr "Perintah dari `%s' sedang dijalankan.\n"
+msgstr "Perintah dari '%s' sedang dijalankan.\n"
-#: remake.c:826
-#, fuzzy, c-format
+#: remake.c:847
+#, c-format
msgid "Failed to remake target file '%s'.\n"
-msgstr "Gagal membuat lagi target berkas `%s'.\n"
+msgstr "Gagal membuat lagi target berkas '%s'.\n"
-#: remake.c:829
-#, fuzzy, c-format
+#: remake.c:850
+#, c-format
msgid "Successfully remade target file '%s'.\n"
-msgstr "Sukses membuat kembali target berkas `%s'.\n"
+msgstr "Sukses membuat kembali target berkas '%s'.\n"
-#: remake.c:832
-#, fuzzy, c-format
+#: remake.c:853
+#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
-msgstr "Target berkas `%s' dibutuhkan untuk membuat kembali dengan opsi -q.\n"
+msgstr "Target berkas '%s' dibutuhkan untuk membuat kembali dengan opsi -q.\n"
-#: remake.c:1027
-#, fuzzy, c-format
+#: remake.c:1048
+#, c-format
msgid "Using default commands for '%s'.\n"
-msgstr "Menggunakan perintah baku untuk `%s'.\n"
+msgstr "Menggunakan perintah baku untuk '%s'.\n"
-#: remake.c:1372
-#, fuzzy, c-format
+#: remake.c:1397
+#, c-format
msgid "Warning: File '%s' has modification time in the future"
-msgstr "Peringatan: Berkas `%s' memiliki waktu modifikasi dimasa depan"
+msgstr "Peringatan: Berkas '%s' memiliki waktu modifikasi dimasa depan"
-#: remake.c:1385
-#, fuzzy, c-format
+#: remake.c:1411
+#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
-msgstr "Peringatan: Berkas `%s' memiliki waktu modifikasi %.2g s kedepan"
+msgstr "Peringatan: Berkas '%s' memiliki waktu modifikasi %s s kedepan"
-#: remake.c:1583
-#, fuzzy, c-format
+#: remake.c:1610
+#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
-msgstr ".LIBPATTERNS elemen `%s' bukan merupakan sebuah pattern"
+msgstr ".LIBPATTERNS elemen '%s' bukan merupakan sebuah pattern"
#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Custom tidak akan men-export: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1832,7 +1799,7 @@ msgstr ""
"\n"
"# Aturan implisit."
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1840,7 +1807,7 @@ msgstr ""
"\n"
"# Tidak ada aturan implisit."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1849,12 +1816,12 @@ msgstr ""
"\n"
"# %u aturan implisit, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:531
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "BUG: num_pattern_rules salah! %u != %u"
@@ -2015,36 +1982,43 @@ msgid "Floating point co-processor not available"
msgstr "co-processor titik pecahan tidak tersedia"
#: strcache.c:236
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"%s No strcache buffers\n"
-msgstr "%s # dari buffer strcache: %d\n"
+msgstr ""
+"\n"
+"%s # dari buffer strcache: \n"
#: strcache.c:266
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
"B\n"
-msgstr "%s strcache free: total = %d / mak = %d / min = %d / rata-rata = %d\n"
+msgstr ""
+"\n"
+"%s strcache free: %lu total = (%lu) / mak = %lu / min = %lu / rata-rata = "
+"%lu\n"
#: strcache.c:270
#, c-format
msgid ""
"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
#: strcache.c:280
-#, fuzzy, c-format
+#, c-format
msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
-msgstr "besar %s strcache: total = %d / mak = %d / min = %d / rata-rata = %d\n"
+msgstr "besar %s strcache: total = %lu / count = %lu / rata-rata = %lu\n"
#: strcache.c:283
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
-msgstr "%s strcache free: total = %d / mak = %d / min = %d / rata-rata = %d\n"
+msgstr ""
+"%s strcache free: total = %lu / mak = %lu / min = %lu / rata-rata = %hu\n"
#: strcache.c:287
#, c-format
@@ -2052,56 +2026,55 @@ msgid ""
"\n"
"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
+"\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
#: strcache.c:289
-#, fuzzy
msgid ""
"# hash-table stats:\n"
"# "
msgstr ""
-"\n"
"# berkas statistik hash-table:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "otomatis"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "baku"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "lingkungan"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "lingkungan dibawah opsi -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "baris perintah"
-#: variable.c:1625
-#, fuzzy
+#: variable.c:1617
msgid "'override' directive"
-msgstr "`override' direktif"
+msgstr "'override' direktif"
-#: variable.c:1636
-#, fuzzy, c-format
+#: variable.c:1628
+#, c-format
msgid " (from '%s', line %lu)"
-msgstr " (dari `%s', baris %lu)"
+msgstr " (dari '%s', baris %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# statistik variable set hash-table:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2109,7 +2082,7 @@ msgstr ""
"\n"
"# Variabel\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2117,7 +2090,7 @@ msgstr ""
"\n"
"# Nilai Variabel Pola-Spesifik"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2125,7 +2098,7 @@ msgstr ""
"\n"
"# Tidak terdapat nilai variabel pola-spesifik"
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2135,87 +2108,92 @@ msgstr ""
"# %u nilai variabel pola-spesifik"
#: variable.h:224
-#, fuzzy, c-format
+#, c-format
msgid "warning: undefined variable '%.*s'"
-msgstr "peringatan: variabel `%.*s' tidak terdefinisi"
+msgstr "peringatan: variabel '%.*s' tidak terdefinisi"
#: vmsfunctions.c:91
-#, fuzzy, c-format
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search gagal dengan kode %d\n"
+msgstr "sys$search() gagal dengan kode %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Peringatan: redirection kosong\n"
-#: vmsjobs.c:178
-#, fuzzy, c-format
+#: vmsjobs.c:183
+#, c-format
msgid "internal error: '%s' command_state"
-msgstr "kesalahan internal: `%s' command_state"
+msgstr "kesalahan internal: '%s' command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-warning, kamu mungkin telah mengaktifkan pengontrolan CTRL-Y dari DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BAWAAN [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BAWAAN CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BAWAAN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BAWAAN CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Perintah bawaan '%s' tidak diketahui\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Error, perintah kosong\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Meneruskan masukan dari %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Meneruskan error ke %s\n"
-#: vmsjobs.c:518
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
msgstr "Meneruskan output ke %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Meneruskan output ke %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "Append %.*s and cleanup\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Menjalankan perintah %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Gagal spawning, %d\n"
@@ -2229,39 +2207,51 @@ msgstr ""
"# VPATH Jalur Pencarian\n"
#: vpath.c:600
-#, fuzzy
msgid "# No 'vpath' search paths."
-msgstr "# Tidak ada `vpath' dalam jalur pencarian."
+msgstr "# Tidak ada 'vpath' dalam jalur pencarian."
#: vpath.c:602
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u `vpath' jalur pencarian.\n"
+"# %u 'vpath' jalur pencarian.\n"
#: vpath.c:605
-#, fuzzy
msgid ""
"\n"
"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Tidak ada (`VPATH' variabel) umum dalam jalur pencarian."
+"# Tidak ada ('VPATH' variabel) umum dalam jalur pencarian."
#: vpath.c:611
-#, fuzzy
msgid ""
"\n"
"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Jalur pencarian umum untuk variabel `VPATH':\n"
+"# Jalur pencarian umum untuk variabel 'VPATH':\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "internal error: opsi --sync-mutex lebih dari satu"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "internal error: opsi --jobserver-fds lebih dari satu"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "Kehabisan memori maya"
+
+#~ msgid "write error"
+#~ msgstr "error menulis"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BAWAAN RM %s\n"
+
#~ msgid "# Invalid value in `update_status' member!"
#~ msgstr "# Nilai yang salah dalam anggota `update_status' !"
diff --git a/po/it.gmo b/po/it.gmo
index 3430cc8..dd76258 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 9e21bd4..6502255 100644
--- a/po/it.po
+++ b/po/it.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.99.93\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2013-10-02 18:34+0200\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-11 14:58+0200\n"
"Last-Translator: Francesco Groccia <frgroccia@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
@@ -45,52 +45,52 @@ msgstr "touch: il membro \"%s\" non esiste in \"%s\""
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: codice di uscita errato da ar_member_touch su \"%s\""
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
"lbr$set_module() non è riuscita a estrarre informazioni sul modulo, stato = "
"%d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() non riuscita con lo stato = %d"
-#: arscan.c:185
-#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "impossibile aprire la libreria \"%s\" per cercare il membro \"%s\""
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Membro \"%s\"%s: %ld byte a %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (il nome potrebbe essere troncato)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, modo = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr "Il set di istruzioni ha troppe righe (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Interruzione.\n"
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
@@ -103,25 +103,25 @@ msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
"*** Il membro di archivio \"%s\" potrebbe essere inesistente; non eliminato"
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Eliminazione del file \"%s\""
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Eliminazione del file \"%s\""
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# set di istruzioni da eseguire"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (comando interno):"
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (da \"%s\", riga %lu):\n"
@@ -203,157 +203,157 @@ msgstr "La variabile ricorsiva \"%s\" si autoreferenzia (alla fine)"
msgid "unterminated variable reference"
msgstr "riferimento alla variabile non terminato"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "È stato specificato un set di istruzioni per il file \"%s\" a %s:%lu,"
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
"È stato trovato un set di istruzioni per il file \"%s\" mediante una regola "
"di ricerca implicita,"
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "ma ora \"%s\" viene considerato lo stesso file di \"%s\"."
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
"Il set di istruzioni per \"%s\" verrà ignorato in favore di quello per \"%s"
"\"."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
"impossibile rinominare la regola \"due punti\" \"%s\" con la regola \"doppio "
"due punti\" \"%s\""
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
"impossibile rinominare la regola \"doppio due punti\" \"%s\" con la regola "
"\"due punti\" \"%s\""
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Eliminazione del file intermedio \"%s\""
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Rimozione dei file intermedi...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Ora corrente"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: intervallo errato per la marcatura temporale; sostituzione di %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Ora corrente"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Non è un obiettivo:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# File \"precious\" (prerequisito di .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Obiettivo \"phony\" (prerequisito di .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Obiettivo a riga di comando."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Un makefile predefinito, da MAKEFILES, o da -include/sinclude."
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr "# Regola incorporata"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Regola di ricerca implicita completata."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Regola di ricerca implicita non completata."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Stem implicito/statico del modello: \"%s\"\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Il file è un prerequisito intermedio."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Inoltre, genera:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ora di modifica mai controllata."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Il file non esiste."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Il file è molto vecchio."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Ultima modifica %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Il file è stato aggiornato."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Il file non è stato aggiornato."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Set di istruzioni attualmente in esecuzione (QUESTO È UN BUG)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Dipendenze del set di istruzioni in esecuzione (QUESTO È UN BUG)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Aggiornato con successo."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Richiede di essere aggiornato (-q è impostato)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Aggiornamento non riuscito."
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr "# Valore illecito nel membro \"command_state\"!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -361,7 +361,7 @@ msgstr ""
"\n"
"# File"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -371,103 +371,104 @@ msgstr ""
"# statistiche tabella hash dei file:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr "%s: Campo \"%s\" non memorizzato: %s"
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "primo argomento non numerico per la funzione \"word\""
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr "il primo argomento per la funzione \"word\" deve essere maggiore di 0"
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "primo argomento non numerico per la funzione \"wordlist\""
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "secondo argomento non numerico per la funzione \"wordlist\""
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(In) non riuscita (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_open_pipe: DuplicateHandle(Err) non riuscita (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() non riuscita (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() non riuscita\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Pulitura del file batch temporaneo %s\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr "apertura: %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr "scrittura: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr "Operazione sui file non valida: %s"
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\""
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "non implementata su questa piattaforma: funzione \"%s\""
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "chiamata non terminata alla funzione \"%s\": \"%c\" mancante"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Nome della funzione vuoto\n"
-#: function.c:2548
+#: function.c:2593
#, fuzzy, c-format
-msgid "Invalid function name: %s\n"
-msgstr "Operazione sui file non valida: %s"
+msgid "Invalid function name: %s"
+msgstr "Nome della funzione non valido: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
msgstr "Nome della funzione troppo lungo: %s\n"
-#: function.c:2552
-#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\"\n"
-#: function.c:2555
-#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\"\n"
#: getopt.c:659
@@ -525,12 +526,12 @@ msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: l'opzione \"-W %s\" non ammette argomenti\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: Espansione di \"%s\"\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: Valutazione di \"%s\"\n"
@@ -614,97 +615,97 @@ msgstr "Ricerca di una regola con il file intermedio \"%s\".\n"
msgid "Cannot create a temporary file\n"
msgstr "Impossibile creare un file temporaneo\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (creato dump del core)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (ignorato)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr "<incorporato>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "%s: set di istruzioni per l'obiettivo \"%s\" non riuscito"
-#: job.c:510
-#, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "%s[%s] Errore 0x%x%s"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, c-format
msgid "%s[%s] Error %d%s"
msgstr "%s[%s] Errore %d%s"
-#: job.c:517
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Errore 0x%x%s"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Attesa per i processi non terminati...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Processo figlio vivo %p (%s) con PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remoto)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Interruzione del processo figlio perdente %p con PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Interruzione del processo figlio vincente %p con PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Pulitura del file batch temporaneo %s\n"
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Pulitura del file batch temporaneo %s non riuscita (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ""
"Rimozione del processo figlio %p con PID %s%s dalla catena di esecuzione.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr "rilascio del semaforo del jobserver: (Errore %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Token rilasciato per il processo figlio %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "scrittura del jobserver"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() non riuscita all'avvio del processo (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -713,105 +714,105 @@ msgstr ""
"\n"
"Contati %d argomenti nell'avvio fallito\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ""
"Inserimento del processo figlio %p (%s) con PID %s%s nella catena di "
"esecuzione.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "attendere semaforo o processo figlio (Errore %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Token ottenuto per il processo figlio %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "lettura della pipe dei processi"
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr "%s: l'obbiettivo \"%s\" non esiste"
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: aggiorna l'obbiettivo \"%s\" a causa di: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
"impossibile far rispettare i limiti di carico su questo sistema operativo"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "impossibile far rispettare il limite di carico: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
"nessun'altra gestione del file: impossibile duplicare lo standard input\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
"nessun'altra gestione del file: impossibile duplicare lo standard output\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
"nessun'altra gestione del file: impossibile duplicare lo standard error\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Impossibile ripristinare lo standard input\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Impossibile ripristinare lo standard output\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr "Impossibile ripristinare lo standard error\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
"make ha interrotto il processo figlio con pid %s, è ancora in attesa del "
"processo con pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: comando non trovato"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: shell non trovata"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: lo spazio dell'ambiente potrebbe essere esaurito"
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL cambiata (era \"%s\", adesso è \"%s\")\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Creazione del file batch temporaneo %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
@@ -819,7 +820,7 @@ msgstr ""
"Contenuti del file batch:\n"
"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -828,7 +829,7 @@ msgstr ""
"Contenuti del file batch:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -838,50 +839,50 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr "-O[TIPO] (--output-sync[=TIPO]) non è configurato per questa versione."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Apertura della tabella dei simboli globale non riuscita: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr "L'oggetto caricato %s non è dichiarato compatibile con la licenza GPL"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr "Caricamento del simbolo %s da %s non riuscito: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "Nome del simbolo vuoto per il caricamento: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "Caricamento del simbolo %s da %s\n"
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr "L'operazione \"load\" non è supportata su questa piattaforma."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Opzioni:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignorato per compatibilità.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Genera tutti gli obiettivi "
"incondizionatamente.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -890,17 +891,17 @@ msgstr ""
" Cambia DIRECTORY prima di fare qualunque "
"cosa.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Mostra molte informazioni di debug.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAGS] Mostra diversi tipi di informazioni di debug.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -909,13 +910,13 @@ msgstr ""
" Le variabili ambiente sovrascrivono i "
"makefile.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=TESTO Analizza STRINGA come estratta dal makefile.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -923,16 +924,16 @@ msgstr ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Legge FILE come un makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Mostra questo messaggio ed esce.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
" -i, --ignore-errors Ignora gli errori dai set di istruzioni.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -940,7 +941,7 @@ msgstr ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Cerca nella DIRECTORY per i makefile inclusi.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -948,14 +949,14 @@ msgstr ""
" -j [N], --jobs[=N] Permette N processi alla volta; infiniti se "
"non viene specificato l'argomento.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Continua l'esecuzione quando non è possibile "
"creare alcuni obiettivi.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -965,7 +966,7 @@ msgstr ""
" Non avvia processi multipli a meno che il "
"carico di lavoro non sia sotto N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -973,7 +974,7 @@ msgstr ""
" -L, --check-symlink-times Usa il più recente mtime tra i collegamenti "
"simbolici e l'obiettivo.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -983,7 +984,7 @@ msgstr ""
" Non esegue alcun set di istruzioni; lo stampa "
"solamente.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -993,7 +994,7 @@ msgstr ""
" Considera il FILE come molto vecchio e non "
"riesegue make.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
@@ -1002,11 +1003,11 @@ msgstr ""
" Sincronizza l'output dei processi paralleli "
"dal TIPO.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Stampa il database interno di make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1014,22 +1015,22 @@ msgstr ""
" -q, --question Non avvia alcun set di istruzioni; lo stato di "
"uscita indica se è aggiornato.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Disabilita le regole implicite interne.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Disabilita le impostazioni delle variabili "
"interne.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Non visualizza i set di istruzioni.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1038,27 +1039,27 @@ msgstr ""
" Disattiva l'opzione -k.\n"
# ## touch = in questo contesto è simile alla funzione del comando 'touch'
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Esegue il touch degli obiettivi invece di "
"ricrearli.\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr " --trace Stampa informazioni di tracciamento.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
" -v, --version Stampa il numero di versione di make ed esce.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Stampa la directory corrente.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1066,7 +1067,7 @@ msgstr ""
" --no-print-directory Disattiva l'opzione -w, anche se era stata "
"attivata implicitamente.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1074,7 +1075,7 @@ msgstr ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Considera il FILE come nuovo di zecca.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1082,31 +1083,27 @@ msgstr ""
" --warn-undefined-variables Avvisa quando viene referenziata una variabile "
"non definita.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "una stringa vuota non è valida come nome di file"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr "livello di debug specificato sconosciuto \"%s\""
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "tipo di output-sync (sincronizzazione dell'output) sconosciuto \"%s\""
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr "errore interno: opzioni multiple per --sync-mutex"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
"%s: catturata una interruzione/eccezione (codice = 0x%lx, indirizzo = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1121,43 +1118,39 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Violazione accesso: operazione di scrittura all'indirizzo 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Violazione accesso: operazione di lettura all'indirizzo 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() impostazione default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
"find_and_set_shell() impostazione del percorso di ricerca default_shell = "
"%s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s viene sospeso per 30 secondi..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) eseguito. Continuazione.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "errore interno: opzioni multiple per --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
@@ -1165,146 +1158,146 @@ msgstr ""
"errore interno: impossibile aprire il semaforo del jobserver \"%s\": (Errore "
"%ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Client del jobserver (semaforo %s)\n"
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "errore interno: stringa illecita per --jobserver-fds \"%s\""
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Client del jobserver (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"attenzione: -jN forzata nel submake: disattivazione della modalità jobserver."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "jobserver duplicato"
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
"attenzione: jobserver non disponibile, viene usato -j1. Aggiungere \"+\" "
"alla regola make superiore."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Il Makefile dallo standard input è stato specificato due volte."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (file temporaneo)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (file temporaneo)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "I processi paralleli (-j) non sono supportati su questa piattaforma."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Reimpostazione alla modalità a singolo processo (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Slot del jobserver limitati a %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr "Creazione del semaforo del jobserver: (Errore %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "creazione della pipe dei processi"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inizializzazione nella pipe della modalità jobserver"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Collegamenti simbolici non supportati: opzione -L disabilitata."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Aggiornamento dei makefile....\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
"Il makefile \"%s\" potrebbe entrare in un ciclo all'infinito; make non "
"rieseguito.\n"
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Riesecuzione del makefile \"%s\" non riuscita."
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Il makefile \"%s\" incluso non è stato trovato."
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr "Il makefile \"%s\" non è stato trovato"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Impossibile ritornare alla directory originale."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Riesecuzione[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (file temporaneo): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL contiene più di un obiettivo"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nessun obiettivo specificato e nessun makefile trovato"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Nessun obiettivo"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Aggiornamento degli obiettivi....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"attenzione: rilevato un tempo alterato. La creazione potrebbe essere "
"incompleta."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Uso: %s [opzioni] [obiettivo] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1313,7 +1306,7 @@ msgstr ""
"\n"
"Questo programma è stato compilato per %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1322,32 +1315,32 @@ msgstr ""
"\n"
"Questo programma è stato compilato per %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Segnalare i bug a <bug-make@gnu.org>\n"
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "l'opzione \"%s%s\" richiede un argomento stringa non vuoto"
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "l'opzione \"-%c\" richiede un argomento intero positivo"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sCompilato per %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sCompilato per %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1361,7 +1354,7 @@ msgstr ""
"ridistribuirlo.\n"
"%s Non c'è ALCUNA GARANZIA, per quanto consentito dalle vigenti normative.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1370,7 +1363,7 @@ msgstr ""
"\n"
"# Generazione del database delle informazioni, creato il %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1384,10 +1377,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Errore %d sconosciuto"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "memoria virtuale esaurita"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1409,65 +1398,61 @@ msgstr "Accesso make"
msgid "Child access"
msgstr "Accesso processo figlio"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: ingresso in una directory sconosciuta\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: uscita dalla directory sconosciuta\n"
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: ingresso nella directory \"%s\"\n"
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: uscita dalla directory \"%s\"\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: ingresso in una directory sconosciuta\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: uscita dalla directory sconosciuta\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: ingresso nella directory \"%s\"\n"
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: uscita dalla directory \"%s\"\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "errore in scrittura: %s"
-#: output.c:517
-msgid "write error"
-msgstr "errore in scrittura"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Arresto.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1476,222 +1461,228 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Lettura dei makefile...\n"
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
msgstr "Lettura del makefile \"%s\""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (nessun obiettivo predefinito)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (percorso di ricerca)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (ignora)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (nessuna espansione per \"~\")"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr "UTF-8 BOM nel makefile \"%s\" saltato\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr "UTF-8 BOM nel makefile buffer saltato\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "sintassi illecita nel condizionale"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr "%s: caricamento non riuscito"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "il set di istruzioni inizia prima del primo obiettivo"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "regola mancante prima del set di istruzioni"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "separatore %s mancante"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (si intendeva TAB invece di 8 spazi?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "separatore %s mancante"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "modello mancante per l'obiettivo"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "modelli multipli per l'obiettivo"
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr "il modello dell'obiettivo non contiene alcun \"%%\""
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
msgstr "\"endif\" mancante"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "nome vuoto della variabile"
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr "testo non pertinente dopo la direttiva \"define\""
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr "\"endef\" mancante, \"define\" non terminato"
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr "testo non pertinente dopo la direttiva \"endef\""
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr "testo non pertinente dopo la direttiva \"%s\""
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr "\"%s\" non pertinente"
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "un solo \"else\" per condizionale"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Definizione malformata della variabile specifica per l'obiettivo"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "i prerequisiti non possono essere definiti nei set di istruzioni"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "regole del modello implicite e statiche miste"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "regole implicite e normali miste"
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr ""
"il \"%s\" dell'obiettivo non corrisponde al modello dell'obiettivo stesso"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "Il file dell'obiettivo \"%s\" contiene sia : che ::"
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr ""
"l'obiettivo \"%s\" è stato fornito più di una volta nella stessa regola"
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr ""
"attenzione: sovrascrittura del set di istruzioni per l'obiettivo \"%s\""
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr ""
"attenzione: ignorato il set di istruzioni obsoleto per l'obiettivo \"%s\""
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "regole implicite e normali miste"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
"attenzione: è stato rilevato il carattere NUL; il resto della riga viene "
"ignorato"
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "Nessuna operazione da eseguire per \"%s\"."
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr "\"%s\" è aggiornato."
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Pulizia del file \"%s\".\n"
-#: remake.c:377
-#, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%s Nessuna regola per generare l'obiettivo \"%s\"%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
"%s Nessuna regola per generare l'obiettivo \"%s\", necessario per \"%s\"%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%s Nessuna regola per generare l'obiettivo \"%s\"%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Considerato il file obiettivo \"%s\".\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Tentativo recente di aggiornamento del file \"%s\" non riuscito.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Il file \"%s\" è già stato esaminato.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "L'aggiornamento del file \"%s\" è ancora in corso.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Aggiornamento del file \"%s\" terminato.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Il file \"%s\" non esiste.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1699,142 +1690,142 @@ msgstr ""
"*** Attenzione: il file .LOW_RESOLUTION_TIME \"%s\" ha una marcatura "
"temporale ad alta risoluzione"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Trovata una regola implicita per \"%s\".\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Nessuna regola implicita trovata per \"%s\".\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Uso del set di istruzioni predefinito per \"%s\".\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Dipendenza circolare %s <- %s scartata."
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Prerequisiti del file obiettivo \"%s\" terminati.\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Generazione dei prerequisiti di \"%s\" in corso.\n"
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Abbandono sul file obiettivo \"%s\".\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "L'obiettivo \"%s\" non è stato rigenerato a causa di errori."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Il prerequisito \"%s\" è solo per l'obiettivo \"%s\".\n"
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Il prerequisito \"%s\" dell'obiettivo \"%s\" non esiste.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Il prerequisito \"%s\" è più nuovo di quello dell'obiettivo \"%s\".\n"
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ""
"Il prerequisito \"%s\" è più vecchio di quello dell'obiettivo \"%s\".\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
"L'obiettivo \"%s\" è \"doppio due punti\" e non ha alcun prerequisito.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
"Nessun set di istruzioni per \"%s\" e nessun prerequisito effettivamente "
"cambiato.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Generazione di \"%s\" a causa del flag \"always-make\".\n"
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr "Non è necessario rigenerare l'obiettivo \"%s\""
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr "; uso del nome VPATH \"%s\""
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "L'obiettivo \"%s\" deve essere rigenerato.\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " nome VPATH \"%s\" ignorato.\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Esecuzione del set di istruzioni per \"%s\" in corso.\n"
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Rigenerazione del file obiettivo \"%s\" non riuscita.\n"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "File obiettivo \"%s\" rigenerato correttamente.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
"Il file obiettivo \"%s\" necessita di essere rigenerato con l'opzione -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Uso dei comandi predefiniti per \"%s\".\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Attenzione: il file \"%s\" ha un orario di modifica nel futuro"
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Attenzione: il file \"%s\" ha un orario di modifica %s nel futuro"
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "l'elemento .LIBPATTERNS \"%s\" non è un modello"
@@ -1844,7 +1835,7 @@ msgstr "l'elemento .LIBPATTERNS \"%s\" non è un modello"
msgid "Customs won't export: %s\n"
msgstr "Le personalizzazioni non verranno esportate: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1852,7 +1843,7 @@ msgstr ""
"\n"
"# Regole implicite"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1860,7 +1851,7 @@ msgstr ""
"\n"
"# Regole non implicite."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1869,11 +1860,11 @@ msgstr ""
"\n"
"# %u regole implicite, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminale."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "BUG: num_pattern_rules è errato! %u != %u"
@@ -2091,44 +2082,44 @@ msgstr ""
"# statistiche della tabella hash:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatico"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "predefinito"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "ambiente"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "ambiente con l'opzione -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "riga di comando"
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr "direttiva \"override\""
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (da \"%s\", riga %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# statistiche tabella di hash del set di variabili:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2136,7 +2127,7 @@ msgstr ""
"\n"
"# Variabili\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2144,7 +2135,7 @@ msgstr ""
"\n"
"# Valori di variabile non specifici per il modello."
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2152,7 +2143,7 @@ msgstr ""
"\n"
"# Nessun valore per la variabile \"pattern-specific\"."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2171,79 +2162,84 @@ msgstr "attenzione: variabile \"%.*s\" non definita"
msgid "sys$search() failed with %d\n"
msgstr "sys$search() non riuscita con %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Attenzione: redirezione vuota\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr "errore interno: command_state \"%s\""
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-attenzione, potrebbe essere necessario riabilitare la gestione di CTRL+Y da "
"DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "[%s] INTERNO [%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "CD INTERNO %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "RM INTERNO %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "CD INTERNO %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Comando interno \"%s\" sconosciuto\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Errore, comando vuoto\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Input rediretto da %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Errore rediretto a %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Accoda output a %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Output rediretto a %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Accoda %.*s e pulisce\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Verrà invece eseguito %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Errore nella generazione, %d\n"
@@ -2287,6 +2283,21 @@ msgstr ""
"# Percorso di ricerca generale (variabile \"VPATH\"):\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "errore interno: opzioni multiple per --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "errore interno: opzioni multiple per --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "memoria virtuale esaurita"
+
+#~ msgid "write error"
+#~ msgstr "errore in scrittura"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "RM INTERNO %s\n"
+
#~ msgid "# Invalid value in 'update_status' member!"
#~ msgstr "# Valore illecito nel membro \"update_status\"!"
diff --git a/po/ja.gmo b/po/ja.gmo
index 7d94d20..f79bcbd 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 5e98fa6..355e30d 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,129 +1,130 @@
-# Japanese message catalog for make 3.82
-# Copyright (C) 2001, 2003, 2004, 2011 Free Software Foundation, Inc.
+# Japanese message catalog for make 4.0
+# Copyright (C) 2001 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
-# GOTO Masanori <gotom@debian.or.jp>, 2003-2004.
# Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 2001.
# Thanks to NISHIJIMA Takanori
-# Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2011
+# GOTO Masanori <gotom@debian.or.jp>, 2003-2004.
+# Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2011, 2014
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.82\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2011-08-28 01:14+0900\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2014-05-03 23:00+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Basepath: /factory/ja-po/make/make-3.82\n"
+"X-Poedit-Basepath: /factory/ja-po/make/make-4.0\n"
+"X-Generator: Poedit 1.5.4\n"
#: ar.c:46
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use unsupported feature: '%s'"
-msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½¤ò»È¤ª¤¦¤È¤·¤Æ¤¤¤Þ¤¹: `%s'"
+msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„機能を使ãŠã†ã¨ã—ã¦ã„ã¾ã™: '%s'"
#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "VMS ¤Ç¤Ï½ñ¸Ë¤Î¥á¥ó¥Ð¤ò touch ¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "VMS ã§ã¯æ›¸åº«ã®ãƒ¡ãƒ³ãƒã‚’ touch ã™ã‚‹æ©Ÿèƒ½ãŒã‚ã‚Šã¾ã›ã‚“"
#: ar.c:147
-#, fuzzy, c-format
+#, c-format
msgid "touch: Archive '%s' does not exist"
-msgstr "touch: ½ñ¸Ë `%s' ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "touch: 書庫 '%s' ãŒã‚ã‚Šã¾ã›ã‚“"
#: ar.c:150
-#, fuzzy, c-format
+#, c-format
msgid "touch: '%s' is not a valid archive"
-msgstr "touch: `%s' ¤ÏÀµ¾ï¤Ê½ñ¸Ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgstr "'%s' ã¯æœ‰åŠ¹ãªæ›¸åº«ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
#: ar.c:157
-#, fuzzy, c-format
+#, c-format
msgid "touch: Member '%s' does not exist in '%s'"
-msgstr "touch: ¥á¥ó¥Ð `%s' ¤Ï `%s' Æâ¤Ë¤¢¤ê¤Þ¤»¤ó"
+msgstr "touch: メンム'%s' 㯠'%s' 内ã«å­˜åœ¨ã—ã¾ã›ã‚“"
#: ar.c:164
-#, fuzzy, c-format
+#, c-format
msgid "touch: Bad return code from ar_member_touch on '%s'"
-msgstr "touch: `%s' ¤Ø¤Î ar_member_touch ¤«¤é°Û¾ï¤ÊÃͤ¬ÊÖ¤ê¤Þ¤·¤¿"
+msgstr "touch: '%s' ã¸ã® ar_member_touch ã‹ã‚‰ç•°å¸¸ãªå€¤ãŒè¿”ã‚Šã¾ã—ãŸ"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "lbr$set_module() ¤¬¥â¥¸¥å¡¼¥ë¾ðÊó¤ÎÃê½Ð¤Ë¼ºÇÔ¤·¤Þ¤·¤¿. ¾õÂÖ = %d"
+msgstr "lbr$set_module() ãŒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«æƒ…å ±ã®æŠ½å‡ºã«å¤±æ•—ã—ã¾ã—ãŸ. 状態 = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control() ¤¬¼ºÇÔ¤·¤Þ¤·¤¿. ¾õÂÖ = %d"
+msgstr "lbr$ini_control() ãŒå¤±æ•—ã—ã¾ã—ãŸ. 状態 = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
-msgstr "¥é¥¤¥Ö¥é¥ê `%s' ¤ò³«¤±¤º, ¥á¥ó¥Ð `%s' ¤Î¸¡º÷¤¬¤Ç¤­¤Þ¤»¤ó"
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "ライブラリ '%s' ã‚’é–‹ã‘ãªã„ãŸã‚, メンム'%s' ã®æ¤œç´¢ãŒã§ãã¾ã›ã‚“"
-#: arscan.c:847
-#, fuzzy, c-format
+#: arscan.c:944
+#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "¥á¥ó¥Ð `%s'%s: %ld ¥Ð¥¤¥È at %ld (%ld).\n"
+msgstr "メンム'%s'%s: %ld ãƒã‚¤ãƒˆ at %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (̾Á°¤¬ÀÚ¤êµÍ¤á¤é¤ì¤¿¤«¤â)"
+msgstr " (åå‰ãŒåˆ‡ã‚Šè©°ã‚られãŸã‹ã‚‚)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
-msgstr " ÆüÉÕ %s"
+msgstr " 日付 %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mode = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
-msgstr ""
+msgstr "レシピã®è¡Œæ•°ãŒå¤šã™ãŽã¾ã™ (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
-msgstr "*** ̾̂.\n"
+msgstr "*** 中断.\n"
-#: commands.c:630
-#, fuzzy, c-format
+#: commands.c:629
+#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
-msgstr "*** [%s] ½ñ¸Ë¥á¥ó¥Ð `%s' ¤Ï¿ʬµ¶Êª¤Ç¤¹ ¡½ ºï½ü¤·¤Þ¤»¤ó¤Ç¤·¤¿"
+msgstr "*** [%s] 書庫ã®ãƒ¡ãƒ³ãƒ '%s' ã¯å¤šåˆ†å½ç‰©ã§ã™ ― 削除ã—ã¾ã›ã‚“ã§ã—ãŸ"
#: commands.c:633
-#, fuzzy, c-format
+#, c-format
msgid "*** Archive member '%s' may be bogus; not deleted"
-msgstr "*** ½ñ¸Ë¥á¥ó¥Ð `%s' ¤Ï¿ʬµ¶Êª¤Ç¤¹ ¡½ ºï½ü¤·¤Þ¤»¤ó¤Ç¤·¤¿"
+msgstr "*** 書庫ã®ãƒ¡ãƒ³ãƒ '%s' ã¯å¤šåˆ†å½ç‰©ã§ã™ ― 削除ã—ã¾ã›ã‚“ã§ã—ãŸ"
-#: commands.c:646
-#, fuzzy, c-format
+#: commands.c:647
+#, c-format
msgid "*** [%s] Deleting file '%s'"
-msgstr "*** [%s] ¥Õ¥¡¥¤¥ë `%s' ¤òºï½ü¤·¤Þ¤¹"
+msgstr "*** [%s] ファイル '%s' を削除ã—ã¾ã™"
-#: commands.c:648
-#, fuzzy, c-format
+#: commands.c:649
+#, c-format
msgid "*** Deleting file '%s'"
-msgstr "*** ¥Õ¥¡¥¤¥ë `%s' ¤òºï½ü¤·¤Þ¤¹"
+msgstr "*** ファイル '%s' を削除ã—ã¾ã™"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# ¼Â¹Ô¤¹¤ë¥ì¥·¥Ô"
+msgstr "# 実行ã™ã‚‹ãƒ¬ã‚·ãƒ”"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
-msgstr " (¥Ó¥ë¥È¥¤¥ó):"
+msgstr " (ビルトイン):"
-#: commands.c:689
-#, fuzzy, c-format
+#: commands.c:690
+#, c-format
msgid " (from '%s', line %lu):\n"
-msgstr " (`%s', %lu ¹ÔÌܤ«¤é):\n"
+msgstr " (ファイル '%s', %lu 行目):\n"
#: dir.c:989
msgid ""
@@ -131,27 +132,27 @@ msgid ""
"# Directories\n"
msgstr ""
"\n"
-"# ¥Ç¥£¥ì¥¯¥È¥ê\n"
+"# ディレクトリ\n"
#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: ¾õÂÖ¤òÄ´¤Ù¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgstr "# %s: 状態を調ã¹ã‚‰ã‚Œã¾ã›ã‚“ã§ã—ãŸ.\n"
#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (key %s, mtime %d): ³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgstr "# %s (key %s, mtime %d): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n"
#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
-msgstr "# %s (device %d, inode [%d,%d,%d]): ³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgstr "# %s (device %d, inode [%d,%d,%d]): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n"
#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
-msgstr "# %s (device %ld, inode %ld): ³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgstr "# %s (device %ld, inode %ld): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n"
#: dir.c:1041
#, c-format
@@ -174,7 +175,7 @@ msgstr "0"
#: dir.c:1059 dir.c:1080
msgid " files, "
-msgstr " ¸Ä¤Î¥Õ¥¡¥¤¥ë, "
+msgstr " 個ã®ãƒ•ã‚¡ã‚¤ãƒ«, "
#: dir.c:1061 dir.c:1082
msgid "no"
@@ -182,364 +183,357 @@ msgstr "0"
#: dir.c:1064
msgid " impossibilities"
-msgstr " ¸Ä¤ÎŬÍÑÉÔǽ¥Õ¥¡¥¤¥ë̾"
+msgstr " 個ã®é©ç”¨ä¸èƒ½ãƒ•ã‚¡ã‚¤ãƒ«å"
#: dir.c:1068
msgid " so far."
-msgstr " (¤³¤³¤Þ¤Ç¤Ë)."
+msgstr " (ã“ã“ã¾ã§ã«)."
#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " ¸Ä¤ÎŬÍÑÉÔǽ¥Õ¥¡¥¤¥ë̾ (%lu ¸Ä¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ).\n"
+msgstr " 個ã®é©ç”¨ä¸èƒ½ãƒ•ã‚¡ã‚¤ãƒ«å (%lu 個ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…).\n"
#: expand.c:125
-#, fuzzy, c-format
+#, c-format
msgid "Recursive variable '%s' references itself (eventually)"
-msgstr "ºÆµ¢ÅªÊÑ¿ô `%s' ¤¬(ºÇ½ªÅª¤Ë)¤½¤ì¼«¿È¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹"
+msgstr "å†å¸°çš„変数 '%s' ãŒ(最終的ã«)ãれ自身をå‚ç…§ã—ã¦ã„ã¾ã™"
#: expand.c:269
msgid "unterminated variable reference"
-msgstr "½ªÃ¼¤Î¤Ê¤¤ÊÑ¿ô»²¾È"
+msgstr "終端ã®ãªã„変数å‚ç…§"
-#: file.c:269
-#, fuzzy, c-format
+#: file.c:271
+#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Î¤¿¤á¤Î¤Î¥ì¥·¥Ô¤¬ %s:%lu ¤Ç»ØÄꤵ¤ì¤Þ¤·¤¿,"
+msgstr "ファイル '%s' ã®ãŸã‚ã®ã®ãƒ¬ã‚·ãƒ”㌠%s:%lu ã§æŒ‡å®šã•ã‚Œã¾ã—ãŸ,"
-#: file.c:274
-#, fuzzy, c-format
+#: file.c:276
+#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Î¤¿¤á¤Î¥ì¥·¥Ô¤¬°ÅÌۥ롼¥ë¤Îõº÷¤Ç¸«¤Ä¤«¤ê¤Þ¤·¤¿,"
+msgstr "ファイル '%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ãŒæš—黙ルールã®æŽ¢ç´¢ã§è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ,"
-#: file.c:277
-#, fuzzy, c-format
+#: file.c:280
+#, c-format
msgid "but '%s' is now considered the same file as '%s'."
-msgstr "¤·¤«¤·º£¤Ï `%s' ¤È `%s' ¤ÏƱ¤¸¥Õ¥¡¥¤¥ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹."
+msgstr "ã—ã‹ã—今㯠'%s' 㨠'%s' ã¯åŒã˜ãƒ•ã‚¡ã‚¤ãƒ«ã¨è¦‹ãªã•ã‚Œã¾ã™."
-#: file.c:280
-#, fuzzy, c-format
+#: file.c:283
+#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
-msgstr "`%s' ¤Î¤¿¤á¤Î¥ì¥·¥Ô¤Ï, `%s' ¤Î¤¿¤á¤Î¤â¤Î¤òÍ¥À褹¤ë¤¿¤á̵»ë¤µ¤ì¤Þ¤¹."
+msgstr "'%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ã¯, '%s' ã®ãŸã‚ã®ã‚‚ã®ã‚’優先ã™ã‚‹ãŸã‚無視ã•ã‚Œã¾ã™."
-#: file.c:300
-#, fuzzy, c-format
+#: file.c:303
+#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
-msgstr "¥·¥ó¥°¥ë¥³¥í¥ó `%s' ¤«¤é¥À¥Ö¥ë¥³¥í¥ó `%s' ¤Ë̾Á°¤òÊѤ¨¤é¤ì¤Þ¤»¤ó"
+msgstr "シングルコロン '%s' ã‹ã‚‰ãƒ€ãƒ–ルコロン '%s' ã«åå‰ã‚’変ãˆã‚‰ã‚Œã¾ã›ã‚“"
-#: file.c:305
-#, fuzzy, c-format
+#: file.c:309
+#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
-msgstr "¥À¥Ö¥ë¥³¥í¥ó `%s' ¤«¤é¥·¥ó¥°¥ë¥³¥í¥ó `%s' ¤Ë̾Á°¤òÊѤ¨¤é¤ì¤Þ¤»¤ó"
+msgstr "ダブルコロン '%s' ã‹ã‚‰ã‚·ãƒ³ã‚°ãƒ«ã‚³ãƒ­ãƒ³ '%s' ã«åå‰ã‚’変ãˆã‚‰ã‚Œã¾ã›ã‚“"
-#: file.c:396
-#, fuzzy, c-format
+#: file.c:401
+#, c-format
msgid "*** Deleting intermediate file '%s'"
-msgstr "*** Ãæ´Ö¥Õ¥¡¥¤¥ë `%s' ¤òºï½ü¤·¤Þ¤¹"
+msgstr "*** 中間ファイル '%s' を削除ã—ã¾ã™"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "Ãæ´Ö¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¤¤Þ¤¹...\n"
+msgstr "中間ファイルを削除ã—ã¦ã„ã¾ã™...\n"
+
+#: file.c:811
+msgid "Current time"
+msgstr "ç¾åœ¨æ™‚刻"
-#: file.c:808
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: ¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬Èϰϳ°¤Ç¤¹ -- Âå¤ê¤Ë %s ¤È¤·¤Þ¤¹"
+msgstr "%s: タイムスタンプãŒç¯„囲外ã§ã™ -- 代り㫠%s ã¨ã—ã¾ã™"
-#: file.c:809
-msgid "Current time"
-msgstr "¸½ºß»þ¹ï"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
-msgstr "# ¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó:"
+msgstr "# ターゲットã§ã¯ã‚ã‚Šã¾ã›ã‚“:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# ÆÃÊÌ°·¤¤¤Î¥Õ¥¡¥¤¥ë (.PRECIOUS ¤ÎɬÍ×¾ò·ï)"
+msgstr "# 特別扱ã„ã®ãƒ•ã‚¡ã‚¤ãƒ« (.PRECIOUS ã®å¿…è¦æ¡ä»¶)"
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# µ¿»÷¥¿¡¼¥²¥Ã¥È (.PHONY ¤ÎɬÍ×¾ò·ï)"
+msgstr "# 疑似ターゲット (.PHONY ã®å¿…è¦æ¡ä»¶)"
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
-msgstr "# ¥³¥Þ¥ó¥É¥é¥¤¥ó¥¿¡¼¥²¥Ã¥È."
+msgstr "# コマンドラインターゲット."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# ¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï MAKEFILES, -include/sinclude Makefile."
+msgstr "# デフォルトã¾ãŸã¯ MAKEFILES, -include/sinclude Makefile."
-#: file.c:962
-#, fuzzy
+#: file.c:968
msgid "# Builtin rule"
-msgstr ""
-"\n"
-"# °ÅÌۥ롼¥ë¤Ê¤·."
+msgstr "# ビルトインルール"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# °ÅÌۥ롼¥ë¤Îõº÷¤¬¹Ô¤ï¤ì¤Þ¤·¤¿."
+msgstr "# 暗黙ルールã®æŽ¢ç´¢ãŒè¡Œã‚ã‚Œã¾ã—ãŸ."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# °ÅÌۥ롼¥ë¤Îõº÷¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿."
+msgstr "# 暗黙ルールã®æŽ¢ç´¢ã¯è¡Œã‚ã‚Œã¾ã›ã‚“ã§ã—ãŸ."
-#: file.c:967
-#, fuzzy, c-format
+#: file.c:973
+#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
-msgstr "# °ÅÌÛ/ÀÅŪ¥Ñ¥¿¡¼¥ó¸ì´´: `%s'\n"
+msgstr "# æš—é»™/é™çš„パターン語幹: '%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# ¥Õ¥¡¥¤¥ë¤ÏÃæ´ÖɬÍ×¾ò·ï¤Ç¤¹."
+msgstr "# ファイルã¯ä¸­é–“å¿…è¦æ¡ä»¶ã§ã™."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
-msgstr "# ¤µ¤é¤Ë make:"
+msgstr "# ã•ã‚‰ã« make:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# ½¤Àµ»þ¹ï¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó."
+msgstr "# 修正時刻ãŒãƒã‚§ãƒƒã‚¯ã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
-msgstr "# ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤»¤ó."
+msgstr "# ファイルãŒå­˜åœ¨ã—ã¾ã›ã‚“."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
-msgstr "# ¥Õ¥¡¥¤¥ë¤¬Èó¾ï¤Ë¸Å¤¤¤Ç¤¹."
+msgstr "# ファイルãŒéžå¸¸ã«å¤ã„ã§ã™."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# ºÇ½ª½¤Àµ %s\n"
+msgstr "# 最終修正 %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
-msgstr "# ¥Õ¥¡¥¤¥ë¤Ï¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹."
+msgstr "# ファイルã¯æ›´æ–°ã•ã‚Œã¦ã„ã¾ã™."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
-msgstr "# ¥Õ¥¡¥¤¥ë¤Ï¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤»¤ó."
+msgstr "# ファイルã¯æ›´æ–°ã•ã‚Œã¦ã„ã¾ã›ã‚“."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# ¥ì¥·¥Ô¤ò¸½ºß¼Â¹ÔÃæ¤Ç¤¹ (*¤³¤ì¤Ï¥Ð¥°¤Ç¤¹*)."
+msgstr "# レシピをç¾åœ¨å®Ÿè¡Œä¸­ã§ã™ (*ã“ã‚Œã¯ãƒã‚°ã§ã™*)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# °Í¸´Ø·¸¥ì¥·¥Ô¤ò¼Â¹ÔÃæ¤Ç¤¹ (*¤³¤ì¤Ï¥Ð¥°¤Ç¤¹*)."
+msgstr "# ä¾å­˜é–¢ä¿‚レシピを実行中ã§ã™ (*ã“ã‚Œã¯ãƒã‚°ã§ã™*)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# ¹¹¿·¤ËÀ®¸ù¤·¤Þ¤·¤¿."
+msgstr "# æ›´æ–°ã«æˆåŠŸã—ã¾ã—ãŸ."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# ¹¹¿·¤¬É¬ÍפǤ¹ (-q ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤¹)."
+msgstr "# æ›´æ–°ãŒå¿…è¦ã§ã™ (-q ãŒã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã¾ã™)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# ¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿."
+msgstr "# æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸ."
-#: file.c:1019
-#, fuzzy
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
-msgstr "# `command_state' ¥á¥ó¥Ð¤Ë̵¸ú¤ÊÃÍ!"
+msgstr "# 'command_state' メンãƒã«ç„¡åŠ¹ãªå€¤ã§ã™!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
msgstr ""
"\n"
-"# ¥Õ¥¡¥¤¥ë"
+"# ファイル"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# ¥Õ¥¡¥¤¥ë¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¾õÂÖ:\n"
+"# ファイルãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çŠ¶æ…‹:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
-msgstr ""
+msgstr "%s: フィールド '%s' ã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¦ã„ã¾ã›ã‚“: %s"
-#: function.c:742
-#, fuzzy
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
-msgstr "Èó¿ôÃͤÎÂè°ì°ú¿ô¤¬ `word' ´Ø¿ô¤ËÍ¿¤¨¤é¤ì¤Þ¤·¤¿"
+msgstr "éžæ•°å€¤ã®ç¬¬1引数㌠'word' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
-#: function.c:747
-#, fuzzy
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
-msgstr "`word' ´Ø¿ô¤Ø¤ÎÂè°ì°ú¿ô¤Ï 0 ¤è¤êÂ礭¤¯¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+msgstr "'word' 関数ã¸ã®ç¬¬1引数㯠0 より大ãããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“"
-#: function.c:767
-#, fuzzy
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
-msgstr "Èó¿ôÃͤÎÂè°ì°ú¿ô¤¬ `wordlist' ´Ø¿ô¤ËÍ¿¤¨¤é¤ì¤Þ¤·¤¿"
+msgstr "éžæ•°å€¤ã®ç¬¬1引数㌠'wordlist' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
-#: function.c:769
-#, fuzzy
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
-msgstr "Èó¿ôÃͤÎÂèÆó°ú¿ô¤¬ `wordlist' ´Ø¿ô¤ËÍ¿¤¨¤é¤ì¤Þ¤·¤¿"
+msgstr "éžæ•°å€¤ã®ç¬¬2引数㌠'wordlist' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
-#: function.c:1460
-#, fuzzy, c-format
+#: function.c:1499
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "windows32_openpipe(): DuplicateHandle(In) ¤¬¼ºÇÔ (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(In) ãŒå¤±æ•— (e=%ld)\n"
-#: function.c:1483
-#, fuzzy, c-format
+#: function.c:1523
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "windows32_openpipe(): DuplicateHandle(Err) ¤¬¼ºÇÔ (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(Err) ãŒå¤±æ•— (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() ¤¬¼ºÇÔ (e=%ld)\n"
+msgstr "CreatePipe() ãŒå¤±æ•— (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() ¤¬¼ºÇÔ\n"
+msgstr "windows32_openpipe (): process_init_fd() ãŒå¤±æ•—\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "°ì»þŪ¤Ê¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë %s ¤ò¾Ãµî¤·¤Þ¤¹\n"
+msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を消去ã—ã¾ã™\n"
-#: function.c:2151
-#, fuzzy, c-format
+#: function.c:2193
+#, c-format
msgid "open: %s: %s"
-msgstr "%s: %s"
+msgstr "open: %s: %s"
-#: function.c:2158
-#, fuzzy, c-format
+#: function.c:2203
+#, c-format
msgid "write: %s: %s"
-msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼: %s"
+msgstr "write: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
-msgstr ""
+msgstr "無効ãªãƒ•ã‚¡ã‚¤ãƒ«æ“作: %s"
-#: function.c:2279
-#, fuzzy, c-format
+#: function.c:2324
+#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
-msgstr "°ú¿ô¤Î¿ô(%d)¤¬´Ø¿ô `%s' ¤Ë¤È¤Ã¤ÆÉÔ½½Ê¬¤Ç¤¹"
+msgstr "引数ã®æ•°(%d)ãŒé–¢æ•° '%s' ã«ã¨ã£ã¦ä¸å分ã§ã™"
-#: function.c:2291
-#, fuzzy, c-format
+#: function.c:2336
+#, c-format
msgid "unimplemented on this platform: function '%s'"
-msgstr "¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: ´Ø¿ô `%s'"
+msgstr "ã“ã®ãƒ—ラットフォームã§ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“: 関数 '%s'"
-#: function.c:2354
-#, fuzzy, c-format
+#: function.c:2399
+#, c-format
msgid "unterminated call to function '%s': missing '%c'"
-msgstr "½ªÃ¼¤¬¤Ê¤¤´Ø¿ô¸Æ¤Ó½Ð¤· `%s': `%c' ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "終端ãŒãªã„関数呼ã³å‡ºã— '%s': '%c' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "空ã®é–¢æ•°å\n"
-#: function.c:2548
-#, c-format
-msgid "Invalid function name: %s\n"
-msgstr ""
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "無効ãªé–¢æ•°å: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
-msgstr ""
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "関数åãŒé•·ã™ãŽã¾ã™: %s\n"
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
-msgstr "°ú¿ô¤Î¿ô(%d)¤¬´Ø¿ô `%s' ¤Ë¤È¤Ã¤ÆÉÔ½½Ê¬¤Ç¤¹"
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "引数個数指定(最å°å€¤;%d)ãŒç„¡åŠ¹ã§ã™: 関数 '%s'\n"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
-msgstr "°ú¿ô¤Î¿ô(%d)¤¬´Ø¿ô `%s' ¤Ë¤È¤Ã¤ÆÉÔ½½Ê¬¤Ç¤¹"
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "引数個数指定(最大値;%d)ãŒç„¡åŠ¹ã§ã™: 関数 '%s'\n"
#: getopt.c:659
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
+msgstr "%s: オプション '%s' ã¯çŸ­ã™ãŽã¦æ­£ã—ã判別ã§ãã¾ã›ã‚“\n"
#: getopt.c:683
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `--%s' ¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+msgstr "%s: オプション '--%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
#: getopt.c:688
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%c%s' ¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+msgstr "%s: オプション '%c%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
#: getopt.c:705 getopt.c:878
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
+msgstr "%s: オプション '%s' ã«ã¯å¼•æ•°ãŒ1ã¤å¿…è¦ã§ã™\n"
#: getopt.c:734
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: ǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó `--%s'\n"
+msgstr "%s: オプション '--%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n"
#: getopt.c:738
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: ǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó `%c%s'\n"
+msgstr "%s: オプション '%c%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n"
#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: ÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó ¡½ %c\n"
+msgstr "%s: ä¸æ­£ãªã‚ªãƒ—ション ― %c\n"
#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: ̵¸ú¤Ê¥ª¥×¥·¥ç¥ó ¡½ %c\n"
+msgstr "%s: 無効ãªã‚ªãƒ—ション ― %c\n"
#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹ ¡½ %c\n"
+msgstr "%s: オプションã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ ― %c\n"
#: getopt.c:844
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
+msgstr "%s: オプション '-W %s' ã¯çŸ­ã™ãŽã¦æ­£ã—ã判別ã§ãã¾ã›ã‚“\n"
#: getopt.c:862
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+msgstr "%s: オプション '-W %s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
-msgstr ""
+msgstr "guile: 展開中 '%s'\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
-msgstr ""
+msgstr "guile: 評価中 '%s'\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr ""
-"¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ëÍÑ %lu ¥Ð¥¤¥È¤Î³ä¤êÅö¤Æ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: ¥á¥â¥ê¤ò»È¤¤²Ì¤¿¤·¤Þ¤·"
-"¤¿"
+"ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ル用 %lu ãƒã‚¤ãƒˆã®å‰²ã‚Šå½“ã¦ã«å¤±æ•—ã—ã¾ã—ãŸ: メモリを使ã„æžœãŸã—ã¾ã—"
+"ãŸ"
#: hash.c:280
#, c-format
@@ -557,539 +551,529 @@ msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Collisions=%ld/%ld=%.0f%%"
#: implicit.c:38
-#, fuzzy, c-format
+#, c-format
msgid "Looking for an implicit rule for '%s'.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î°ÅÌۥ롼¥ë¤òõ¤·¤Þ¤¹.\n"
+msgstr "'%s' ã®ãŸã‚ã®æš—黙ルールを探ã—ã¾ã™.\n"
#: implicit.c:54
-#, fuzzy, c-format
+#, c-format
msgid "Looking for archive-member implicit rule for '%s'.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î½ñ¸Ë¥á¥ó¥Ð°ÅÌۥ롼¥ë¤òõ¤·¤Þ¤¹.\n"
+msgstr "'%s' ã®ãŸã‚ã®æ›¸åº«ãƒ¡ãƒ³ãƒæš—黙ルールを探ã—ã¾ã™.\n"
#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "°ÅÌۥ롼¥ë¤ÎºÆµ¢¤ò²óÈò¤·¤Þ¤¹.\n"
+msgstr "暗黙ルールã®å†å¸°ã‚’回é¿ã—ã¾ã™.\n"
#: implicit.c:486
#, c-format
msgid "Stem too long: '%.*s'.\n"
-msgstr ""
+msgstr "語幹ãŒé•·ã™ãŽã¾ã™: '%.*s'.\n"
#: implicit.c:491
-#, fuzzy, c-format
+#, c-format
msgid "Trying pattern rule with stem '%.*s'.\n"
-msgstr "¸ì´´ `%.*s' ¤È¤Î¥Ñ¥¿¡¼¥ó¥ë¡¼¥ë¤ò»î¤·¤Þ¤¹.\n"
+msgstr "語幹 '%.*s' ã¨ã®ãƒ‘ターンルールを試ã—ã¾ã™.\n"
#: implicit.c:697
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible rule prerequisite '%s'.\n"
-msgstr "ŬÍÑÉÔǽ¤Ê¥ë¡¼¥ë¤ÎɬÍ×¾ò·ï `%s' ¤òµÑ²¼¤·¤Þ¤¹.\n"
+msgstr "é©ç”¨ä¸èƒ½ãªãƒ«ãƒ¼ãƒ«ã®å¿…è¦æ¡ä»¶ '%s' ã‚’å´ä¸‹ã—ã¾ã™.\n"
#: implicit.c:698
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible implicit prerequisite '%s'.\n"
-msgstr "ŬÍÑÉÔǽ¤Ê°ÅÌÛ¤ÎɬÍ×¾ò·ï `%s' ¤òµÑ²¼¤·¤Þ¤¹.\n"
+msgstr "é©ç”¨ä¸èƒ½ãªæš—é»™ã®å¿…è¦æ¡ä»¶ '%s' ã‚’å´ä¸‹ã—ã¾ã™.\n"
#: implicit.c:711
-#, fuzzy, c-format
+#, c-format
msgid "Trying rule prerequisite '%s'.\n"
-msgstr "¥ë¡¼¥ë¤ÎɬÍ×¾ò·ï `%s' ¤ò»î¤·¤Þ¤¹.\n"
+msgstr "ルールã®å¿…è¦æ¡ä»¶ '%s' を試ã—ã¾ã™.\n"
#: implicit.c:712
-#, fuzzy, c-format
+#, c-format
msgid "Trying implicit prerequisite '%s'.\n"
-msgstr "°ÅÌÛ¤ÎɬÍ×¾ò·ï `%s' ¤ò»î¤·¤Þ¤¹.\n"
+msgstr "æš—é»™ã®å¿…è¦æ¡ä»¶ '%s' を試ã—ã¾ã™.\n"
#: implicit.c:751
-#, fuzzy, c-format
+#, c-format
msgid "Found prerequisite '%s' as VPATH '%s'\n"
-msgstr "VPATH `%2$s' ¤È¤·¤ÆɬÍ×¾ò·ï `%1$s' ¤ò¸«¤Ä¤±¤Þ¤·¤¿\n"
+msgstr "VPATH '%2$s' ã¨ã—ã¦å¿…è¦æ¡ä»¶ '%1$s' を見ã¤ã‘ã¾ã—ãŸ\n"
#: implicit.c:765
-#, fuzzy, c-format
+#, c-format
msgid "Looking for a rule with intermediate file '%s'.\n"
-msgstr "Ãæ´Ö¥Õ¥¡¥¤¥ë `%s' ¤Î¥ë¡¼¥ë¤òõ¤·¤Þ¤¹.\n"
+msgstr "中間ファイル '%s' ã®ãƒ«ãƒ¼ãƒ«ã‚’探ã—ã¾ã™.\n"
#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "°ì»þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "一時ファイルを作æˆã§ãã¾ã›ã‚“\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
-msgstr " (¥³¥¢¥À¥ó¥×¤·¤Þ¤·¤¿)"
+msgstr " (コアダンプã—ã¾ã—ãŸ)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
-msgstr " (̵»ë¤µ¤ì¤Þ¤·¤¿)"
+msgstr " (無視ã•ã‚Œã¾ã—ãŸ)"
-#: job.c:491 job.c:1994
-#, fuzzy
+#: job.c:492 job.c:2046
msgid "<builtin>"
-msgstr " (¥Ó¥ë¥È¥¤¥ó):"
+msgstr "<ビルトイン>"
-#: job.c:501
-#, fuzzy, c-format
+#: job.c:503
+#, c-format
msgid "%s: recipe for target '%s' failed"
-msgstr "·Ù¹ð: ¥¿¡¼¥²¥Ã¥È `%s' ¤Î¤¿¤á¤Î¥ì¥·¥Ô¤òÃÖ¤­´¹¤¨¤Þ¤¹"
-
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] ¥¨¥é¡¼ 0x%x"
+msgstr "%s: ターゲット '%s' ã®ãƒ¬ã‚·ãƒ”ã§å¤±æ•—ã—ã¾ã—ãŸ"
-#: job.c:513
-#, fuzzy, c-format
+#: job.c:516 job.c:524
+#, c-format
msgid "%s[%s] Error %d%s"
-msgstr "*** [%s] ¥¨¥é¡¼ %d"
+msgstr "%s[%s] エラー %d%s"
-#: job.c:517
-#, fuzzy, c-format
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] エラー 0x%x%s"
+
+#: job.c:529
+#, c-format
msgid "%s[%s] %s%s%s"
-msgstr "%s%s: %s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** ̤´°Î»¤Î¥¸¥ç¥Ö¤òÂԤäƤ¤¤Þ¤¹...."
+msgstr "*** 未完了ã®ã‚¸ãƒ§ãƒ–ã‚’å¾…ã£ã¦ã„ã¾ã™...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "À¸Â¸»Ò¥×¥í¥»¥¹ %p (%s) PID %s %s\n"
+msgstr "生存å­ãƒ—ロセス %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
-msgstr " (¥ê¥â¡¼¥È)"
+msgstr " (リモート)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "¼ºÇÔ¤·¤¿»Ò¥×¥í¥»¥¹ %p PID %s %s ¤ò²ó¼ý¤·¤Þ¤¹\n"
+msgstr "失敗ã—ãŸå­ãƒ—ロセス %p PID %s %s を回åŽã—ã¾ã™\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "À®¸ù¤·¤¿»Ò¥×¥í¥»¥¹ %p PID %s %s ¤ò²ó¼ý¤·¤Þ¤¹\n"
+msgstr "æˆåŠŸã—ãŸå­ãƒ—ロセス %p PID %s %s を回åŽã—ã¾ã™\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "°ì»þŪ¤Ê¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë %s ¤ò¾Ãµî¤·¤Þ¤¹\n"
+msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を消去ã—ã¾ã™\n"
-#: job.c:843
-#, fuzzy, c-format
+#: job.c:855
+#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
-msgstr "°ì»þŪ¤Ê¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë %s ¤ò¾Ãµî¤·¤Þ¤¹\n"
+msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s ã®æ¶ˆåŽ»ã«å¤±æ•—ã—ã¾ã—ãŸ(%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "¥Á¥§¥¤¥ó¤«¤é»Ò¥×¥í¥»¥¹ %p PID %s%s ¤òºï½ü¤·¤Þ¤¹.\n"
+msgstr "ãƒã‚§ã‚¤ãƒ³ã‹ã‚‰å­ãƒ—ロセス %p PID %s%s を削除ã—ã¾ã™.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "ジョブサーãƒã®ã‚»ãƒžãƒ•ã‚©ã‚’解放ã—ã¾ã™: (エラー %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "»Ò¥×¥í¥»¥¹ %p (%s) ¤Î°õ¤ò²òÊü¤·¤Þ¤·¤¿.\n"
+msgstr "å­ãƒ—ロセス %p (%s) ã®å°ã‚’解放ã—ã¾ã—ãŸ.\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
-msgstr "¥¸¥ç¥Ö¥µ¡¼¥Ð¤Ø¤Î write"
+msgstr "ジョブサーãƒã¸ã® write"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
-msgstr "process_easy() ¤¬¼ºÇÔ¤·¥×¥í¥»¥¹¤¬µ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ (e=%ld)\n"
+msgstr "process_easy() ãŒå¤±æ•—ã—プロセスãŒèµ·å‹•ã§ãã¾ã›ã‚“ã§ã—㟠(e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"µ¯Æ°¤Î¼ºÇÔ¤Ç %d ¸Ä¤Î°ú¿ô¤¬¥«¥¦¥ó¥È¤µ¤ì¤Þ¤·¤¿\n"
+"èµ·å‹•ã®å¤±æ•—㧠%d 個ã®å¼•æ•°ãŒã‚«ã‚¦ãƒ³ãƒˆã•ã‚Œã¾ã—ãŸ\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "¥Á¥§¥¤¥ó¤Ë»Ò¥×¥í¥»¥¹ %p (%s) PID %s%s ¤ò¼è¤ê¹þ¤ß¤Þ¤·¤¿.\n"
+msgstr "ãƒã‚§ã‚¤ãƒ³ã«å­ãƒ—ロセス %p (%s) PID %s%s ã‚’å–ã‚Šè¾¼ã¿ã¾ã—ãŸ.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
-msgstr ""
+msgstr "セマフォ ã¾ãŸã¯ å­ãƒ—ロセスを待ã£ã¦ã„ã¾ã™: (エラー %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
-msgstr "»Ò¥×¥í¥»¥¹ %p (%s) ¤Ë°õ¤ò¤Ä¤±¤Þ¤·¤¿.\n"
+msgstr "å­ãƒ—ロセス %p (%s) ã«å°ã‚’ã¤ã‘ã¾ã—ãŸ.\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "¥¸¥ç¥Ö¤Î¥Ñ¥¤¥×¤Î read"
+msgstr "ジョブã®ãƒ‘イプ㮠read"
-#: job.c:2003
-#, fuzzy, c-format
+#: job.c:2056
+#, c-format
msgid "%s: target '%s' does not exist"
-msgstr "touch: ½ñ¸Ë `%s' ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "%s: ターゲット '%s' ãŒå­˜åœ¨ã—ã¾ã›ã‚“"
-#: job.c:2005
-#, fuzzy, c-format
+#: job.c:2059
+#, c-format
msgid "%s: update target '%s' due to: %s"
-msgstr ""
-"%1$s`%3$s' ¤ËɬÍפʥ¿¡¼¥²¥Ã¥È `%2$s' ¤ò make ¤¹¤ë¥ë¡¼¥ë¤¬¤¢¤ê¤Þ¤»¤ó%4$s"
+msgstr "%s: ターゲット '%s' ã‚’ %s ã®ãŸã‚ã«æ›´æ–°ã—ã¾ã™"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "¤³¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Ï¥·¥¹¥Æ¥àÉé²ÙÀ©¸Â¤ò²Ã¤¨¤é¤ì¤Þ¤»¤ó"
+msgstr "ã“ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã‚·ã‚¹ãƒ†ãƒ è² è·åˆ¶é™ã‚’加ãˆã‚‰ã‚Œã¾ã›ã‚“"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "¥·¥¹¥Æ¥àÉé²ÙÀ©¸Â¤ò²Ý¤¹¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: "
+msgstr "システム負è·åˆ¶é™ã‚’課ã™ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr "¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤ò»È¤¤¿Ô¤¯¤·¤Þ¤·¤¿: ɸ½àÆþÎϤòÊ£À½¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準入力を複製ã§ãã¾ã›ã‚“\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr "¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤ò»È¤¤¿Ô¤¯¤·¤Þ¤·¤¿: ɸ½à½ÐÎϤòÊ£À½¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準出力を複製ã§ãã¾ã›ã‚“\n"
-#: job.c:2223
-#, fuzzy
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
-msgstr "¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤ò»È¤¤¿Ô¤¯¤·¤Þ¤·¤¿: ɸ½àÆþÎϤòÊ£À½¤Ç¤­¤Þ¤»¤ó\n"
+msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準エラー出力を複製ã§ãã¾ã›ã‚“\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr "ɸ½àÆþÎϤòÉü¸µ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
+msgstr "標準入力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr "ɸ½à½ÐÎϤòÉü¸µ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
+msgstr "標準出力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n"
-#: job.c:2254
-#, fuzzy
+#: job.c:2309
msgid "Could not restore stderr\n"
-msgstr "ɸ½àÆþÎϤòÉü¸µ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
+msgstr "標準エラー出力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "make ¤Ï pid %s ¤Î»Ò¥×¥í¥»¥¹¤ò²ó¼ý¤·, pid %s ¤òÂÔ¤Á³¤±¤Þ¤¹\n"
+msgstr "make 㯠pid %s ã®å­ãƒ—ロセスを回åŽã—, pid %s ã‚’å¾…ã¡ç¶šã‘ã¾ã™\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: ¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿"
+msgstr "%s: コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: ¥·¥§¥ë¥×¥í¥°¥é¥à¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿"
+msgstr "%s: シェルプログラムãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr "spawnvpe:´Ä¶­ÀßÄê¤Î¤¿¤á¤Î¥á¥â¥ê¤ò»È¤¤¿Ô¤¯¤¹¤«¤â¤·¤ì¤Þ¤»¤ó"
+msgstr "spawnvpe:環境設定ã®ãŸã‚ã®ãƒ¡ãƒ¢ãƒªã‚’使ã„å°½ãã™ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“"
-#: job.c:2709
-#, fuzzy, c-format
+#: job.c:2765
+#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
-msgstr "$SHELL ¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿ (Á°¤Ï `%s', º£¤Ï `%s')\n"
+msgstr "$SHELL ãŒå¤‰æ›´ã•ã‚Œã¾ã—㟠(å‰ã¯ '%s', 今㯠'%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "°ì»þŪ¤Ê¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë %s ¤òºîÀ®¤·¤Þ¤¹\n"
+msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を作æˆã—ã¾ã™\n"
-#: job.c:3148
-#, fuzzy
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-"¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ :%s\n"
-"\t%s\n"
+"ãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容:\n"
+"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-"¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ :%s\n"
+"ãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容 :%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
-msgstr "%s (%d ¹ÔÌÜ) ÉÔÀµ¤Ê¥·¥§¥ë¥³¥ó¥Æ¥­¥¹¥È (!unixy && !batch_mode_shell)\n"
+msgstr "%s (%d 行目) ä¸æ­£ãªã‚·ã‚§ãƒ«ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ (!unixy && !batch_mode_shell)\n"
#: job.h:43
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
-msgstr ""
+msgstr "ã“ã®ãƒ“ルドã§ã¯ -O[TYPE] (--output-sync[=TYPE]) ãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
-msgstr ""
+msgstr "グローãƒãƒ«ã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ルを開ãã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
-msgstr ""
+msgstr "読ã¿è¾¼ã‚“ã ã‚ªãƒ–ジェクト %s 㯠GPL互æ›ã®å®£è¨€ãŒãªã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
-msgstr ""
+msgstr "シンボル %s ã‚’ %s ã‹ã‚‰èª­ã¿è¾¼ã‚€ã®ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
-msgstr ""
+msgstr "空ã®ã‚·ãƒ³ãƒœãƒ«åを読ã¿è¾¼ã‚‚ã†ã¨ã—ã¦ã„ã¾ã™: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
-msgstr ""
+msgstr "シンボル %s ã‚’ %s ã‹ã‚‰èª­ã¿è¾¼ã‚“ã§ã„ã¾ã™\n"
-#: load.c:229
-#, fuzzy
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
-msgstr "ÊÂÎ󥸥ç¥Ö (-j) ¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó."
+msgstr "'load' 命令ã¯ã“ã®ãƒ—ラットフォームã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
-msgstr "¥ª¥×¥·¥ç¥ó:\n"
+msgstr "オプション:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr " -b, -m ¸ß´¹À­¤Î¤¿¤á¤Î¤â¤Î¤Ç, ̵»ë¤µ¤ì¤ë.\n"
+msgstr " -b, -m 互æ›æ€§ã®ãŸã‚ã®ã‚‚ã®ã§, 無視ã•ã‚Œã‚‹.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
-msgstr " -B, --always-make ̵¾ò·ï¤ËÁ´¥¿¡¼¥²¥Ã¥È¤ò make ¤¹¤ë.\n"
+msgstr " -B, --always-make ç„¡æ¡ä»¶ã«å…¨ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’ make ã™ã‚‹.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C DIRECTORY, --directory=DIRECTORY\n"
-" make ³«»ÏÁ°¤Ë¥Ç¥£¥ì¥¯¥È¥ê DIRECTORY ¤Ø°ÜÆ°¤¹"
-"¤ë.\n"
+" make 開始å‰ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª DIRECTORY ã¸ç§»å‹•ã™"
+"ã‚‹.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr " -d ¥Ç¥Ð¥Ã¥°¾ðÊó¤òÂçÎ̤Ëɽ¼¨¤¹¤ë.\n"
+msgstr " -d デãƒãƒƒã‚°æƒ…報を大é‡ã«è¡¨ç¤ºã™ã‚‹.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
-msgstr " --debug[=FLAGS] ÍÍ¡¹¤Ê¥¿¥¤¥×¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òɽ¼¨¤¹¤ë.\n"
+msgstr " --debug[=FLAGS] 様々ãªã‚¿ã‚¤ãƒ—ã®ãƒ‡ãƒãƒƒã‚°æƒ…報を表示ã™ã‚‹.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" ´Ä¶­ÊÑ¿ô¤¬ makefile Ãæ¤Îµ­½Ò¤ËÍ¥À褹¤ë\n"
+" 環境変数㌠makefile 中ã®è¨˜è¿°ã«å„ªå…ˆã™ã‚‹\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
-msgstr " --eval=STRING STRING ¤ò makefile ¤Îʸ¤È¤·¤Æɾ²Á¤¹¤ë.\n"
+msgstr " --eval=STRING STRING ã‚’ makefile ã®æ–‡ã¨ã—ã¦è©•ä¾¡ã™ã‚‹.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
" -f FILE, --file=FILE, --makefile=FILE\n"
-" FILE ¤ò makefile ¤È¤·¤ÆÆɤ߹þ¤à\n"
+" FILE ã‚’ makefile ã¨ã—ã¦èª­ã¿è¾¼ã‚€\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
-msgstr " -h, --help ¤³¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë.\n"
+msgstr " -h, --help ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¦çµ‚了ã™ã‚‹.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors ¥ì¥·¥Ô¤«¤éÊ֤ä¿¥¨¥é¡¼¤ò̵»ë¤¹¤ë.\n"
+msgstr " -i, --ignore-errors レシピã‹ã‚‰è¿”ã£ãŸã‚¨ãƒ©ãƒ¼ã‚’無視ã™ã‚‹.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
-" ¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë makefile ¤òõº÷¤¹¤ë "
+" インクルードã™ã‚‹ makefile を探索ã™ã‚‹ "
"DIRECTORY.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-" -j [N], --jobs[=N] °ìÅÙ¤Ë N ¸Ä¤Þ¤Ç¤Î¥¸¥ç¥Ö¤òµö²Ä; ̵°ú¿ô¤À¤È¥¸¥ç¥Ö"
-"¿ôÀ©¸Â¤Ê¤·.\n"
+" -j [N], --jobs[=N] 一度㫠N 個ã¾ã§ã®ã‚¸ãƒ§ãƒ–を許å¯; 無引数ã ã¨ã‚¸ãƒ§ãƒ–"
+"数制é™ãªã—.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-" -k, --keep-going ¤¢¤ë¥¿¡¼¥²¥Ã¥È¤¬ make ¤Ç¤­¤Ê¤¯¤Æ¤â¼Â¹Ô¤ò³¤±"
-"¤ë.\n"
+" -k, --keep-going ã‚るターゲット㌠make ã§ããªãã¦ã‚‚実行を続ã‘"
+"ã‚‹.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""
" -l [N], --load-average[=N], --max-load[=N]\n"
-" Éé²Ù ¤¬ N ̤Ëþ¤Ç¤Ê¤¤¸Â¤êÊ£¿ô¤Î¥¸¥ç¥Ö¤ò³«»Ï¤·¤Ê"
-"¤¤.\n"
+" è² è· ãŒ N 未満ã§ãªã„é™ã‚Šè¤‡æ•°ã®ã‚¸ãƒ§ãƒ–を開始ã—ãª"
+"ã„.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-" -L, --check-symlink-times ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤È¥¿¡¼¥²¥Ã¥È¤ÎÃæ¤Ç°ìÈÖ¿·¤·¤¤ "
-"mtime ¤ò»È¤¦.\n"
+" -L, --check-symlink-times シンボリックリンクã¨ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®ä¸­ã§ä¸€ç•ªæ–°ã—ã„ "
+"mtime を使ã†.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
" -n, --just-print, --dry-run, --recon\n"
-" ¥ì¥·¥Ô¤ò¼ÂºÝ¤Ë¼Â¹Ô¤·¤Ê¤¤; ɽ¼¨¤¹¤ë¤Î¤ß.\n"
+" レシピを実際ã«å®Ÿè¡Œã—ãªã„; 表示ã™ã‚‹ã®ã¿.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
"it.\n"
msgstr ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
-" FILE ¤ò¤È¤Æ¤â¸Å¤¤¤â¤Î¤È¸«¤Ê¤·¤Æ, ºÆ make ¤·¤Ê"
-"¤¤.\n"
+" FILE ã‚’ã¨ã¦ã‚‚å¤ã„ã‚‚ã®ã¨è¦‹ãªã—ã¦, å† make ã—ãª"
+"ã„.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" 並列ジョブã®å‡ºåŠ›ã‚’ TYPE ã§æƒãˆã‚‹.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
-msgstr " -p, --print-data-base make ¤ÎÆâÉô¥Ç¡¼¥¿¥Ù¡¼¥¹¤òɽ¼¨¤¹¤ë.\n"
+msgstr " -p, --print-data-base make ã®å†…部データベースを表示ã™ã‚‹.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question ¥ì¥·¥Ô¤ò¼Â¹Ô¤·¤Ê¤¤; ¹¹¿·ºÑ¤Ç¤¢¤ë¤«¤É¤¦¤«¤ò½ªÎ»"
-"¥¹¥Æ¡¼¥¿¥¹¤ÇÄÌÃÎ.\n"
+" -q, --question レシピを実行ã—ãªã„; 更新済ã§ã‚ã‚‹ã‹ã©ã†ã‹ã‚’終了"
+"ステータスã§é€šçŸ¥.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr " -r, --no-builtin-rules ¥Ó¥ë¥È¥¤¥ó¤Î°ÅÌۥ롼¥ë¤ò̵¸ú¤Ë¤¹¤ë.\n"
+msgstr " -r, --no-builtin-rules ビルトインã®æš—黙ルールを無効ã«ã™ã‚‹.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
-msgstr " -R, --no-builtin-variables ¥Ó¥ë¥È¥¤¥ó¤ÎÊÑ¿ôÀßÄê¤ò̵¸ú¤Ë¤¹¤ë.\n"
+msgstr " -R, --no-builtin-variables ビルトインã®å¤‰æ•°è¨­å®šã‚’無効ã«ã™ã‚‹.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet ¥ì¥·¥Ô¤òɽ¼¨¤·¤Ê¤¤.\n"
+msgstr " -s, --silent, --quiet レシピを表示ã—ãªã„.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" -k ¥ª¥×¥·¥ç¥ó¤ò¥ª¥Õ¤Ë¤¹¤ë.\n"
+" -k オプションをオフã«ã™ã‚‹.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-" -t, --touch ¥¿¡¼¥²¥Ã¥È¤òºÆ make ¤¹¤ëÂå¤ï¤ê¤Ë¥¿¥Ã¥Á¤¹¤ë.\n"
+" -t, --touch ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’å† make ã™ã‚‹ä»£ã‚ã‚Šã«ã‚¿ãƒƒãƒã™ã‚‹.\n"
-#: main.c:372
-#, fuzzy
+#: main.c:373
msgid " --trace Print tracing information.\n"
-msgstr " -d ¥Ç¥Ð¥Ã¥°¾ðÊó¤òÂçÎ̤Ëɽ¼¨¤¹¤ë.\n"
+msgstr " --trace トレース情報を表示ã™ã‚‹.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-" -v, --version make ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë.\n"
+" -v, --version make ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚’表示ã—ã¦çµ‚了ã™ã‚‹.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr " -w, --print-directory ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨¤¹¤ë.\n"
+msgstr " -w, --print-directory カレントディレクトリを表示ã™ã‚‹.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory -w ¤ò¥ª¥Õ¤Ë¤¹¤ë. °ÅÌÛ¤ËÍ­¸ú¤Ê¾ì¹ç¤Ç¤â¥ª¥Õ¤Ë¤¹"
-"¤ë.\n"
+" --no-print-directory -w をオフã«ã™ã‚‹. æš—é»™ã«æœ‰åŠ¹ãªå ´åˆã§ã‚‚オフã«ã™"
+"ã‚‹.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
msgstr ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
-" FILE ¤ò¤¤¤Ä¤Ç¤âºÇ¿·¤È¤·¤Æ¸«¤Ê¤¹.\n"
+" FILE ã‚’ã„ã¤ã§ã‚‚最新ã¨ã—ã¦è¦‹ãªã™.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-" --warn-undefined-variables ̤ÄêµÁ¤ÎÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿¤È¤­¤Ë·Ù¹ð¤òȯ¤¹¤ë.\n"
+" --warn-undefined-variables 未定義ã®å¤‰æ•°ãŒå‚ç…§ã•ã‚ŒãŸã¨ãã«è­¦å‘Šã‚’発ã™ã‚‹.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "¶õ¤Îʸ»úÎó¤Ï¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ¤Ï̵¸ú¤Ç¤¹"
+msgstr "空ã®æ–‡å­—列ã¯ãƒ•ã‚¡ã‚¤ãƒ«åã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™"
-#: main.c:734
-#, fuzzy, c-format
+#: main.c:737
+#, c-format
msgid "unknown debug level specification '%s'"
-msgstr "ÉÔÌÀ¤Ê¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë»ØÄê `%s'"
+msgstr "ä¸æ˜Žãªãƒ‡ãƒãƒƒã‚°ãƒ¬ãƒ™ãƒ«æŒ‡å®š '%s'"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
-msgstr ""
-
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "ÆâÉô¥¨¥é¡¼: Ê£¿ô¤Î --jobserver-fds ¥ª¥×¥·¥ç¥ó"
+msgstr "未知ã®å‡ºåŠ›åŒæœŸåž‹ '%s'"
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr "%s: ³ä¤ê¹þ¤ß/Îã³°¤òÊ᪤·¤Þ¤·¤¿ (code = 0x%lx, addr = 0x%p)\n"
+msgstr "%s: 割り込ã¿/例外をæ•æ‰ã—ã¾ã—㟠(code = 0x%lx, addr = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1099,231 +1083,226 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"½èÍý¤µ¤ì¤Ê¤¤Îã³°¤Î¤¿¤á¤Î¥Õ¥£¥ë¥¿¤¬¥×¥í¥°¥é¥à %s ¤«¤é¸Æ¤Ð¤ì¤Þ¤·¤¿\n"
-"Îã³°¥³¡¼¥É = %lx\n"
-"Îã³°¥Õ¥é¥° = %lx\n"
-"Îã³°¥¢¥É¥ì¥¹ = 0x%p\n"
+"処ç†ã•ã‚Œãªã„例外ã®ãŸã‚ã®ãƒ•ã‚£ãƒ«ã‚¿ãŒãƒ—ログラム %s ã‹ã‚‰å‘¼ã°ã‚Œã¾ã—ãŸ\n"
+"例外コード = %lx\n"
+"例外フラグ = %lx\n"
+"例外アドレス = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "¥¢¥¯¥»¥¹Êݸî°ãÈ¿: ¥¢¥É¥ì¥¹ 0x%p ¤Ç¤Î½ñ¤­¹þ¤ßÁàºî\n"
+msgstr "アクセスä¿è­·é•å: アドレス 0x%p ã§ã®æ›¸ãè¾¼ã¿æ“作\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "¥¢¥¯¥»¥¹Êݸî°ãÈ¿: ¥¢¥É¥ì¥¹ 0x%p ¤Ç¤ÎÆɤ߹þ¤ßÁàºî\n"
+msgstr "アクセスä¿è­·é•å: アドレス 0x%p ã§ã®èª­ã¿è¾¼ã¿æ“作\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr "find_and_set_shell() ¤Ï default_shell = %s ¤ËÀßÄꤷ¤Þ¤¹\n"
+msgstr "find_and_set_shell() 㯠default_shell = %s ã«è¨­å®šã—ã¾ã™\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
-msgstr "find_and_set_shell() ¥Ñ¥¹Ãµº÷¤Ç default_shell = %s ¤Ë¥»¥Ã¥È¤·¤Þ¤·¤¿\n"
+msgstr "find_and_set_shell() パス探索㧠default_shell = %s ã«ã‚»ãƒƒãƒˆã—ã¾ã—ãŸ\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%s ¤Ï 30 ÉôÖÄä»ß¤·¤Þ¤¹..."
+msgstr "%s 㯠30 秒間åœæ­¢ã—ã¾ã™..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "sleep(30) ¤¬½ª¤ï¤ê¤Þ¤·¤¿. ³¤±¤Þ¤¹.\n"
-
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "ÆâÉô¥¨¥é¡¼: Ê£¿ô¤Î --jobserver-fds ¥ª¥×¥·¥ç¥ó"
+msgstr "sleep(30) ãŒçµ‚ã‚ã‚Šã¾ã—ãŸ. 続ã‘ã¾ã™.\n"
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
-msgstr ""
+msgstr "内部エラー: ジョブサームセマフォを開ã‘ã¾ã›ã‚“ '%s': (エラー %ld: %s)"
-#: main.c:1547
-#, fuzzy, c-format
+#: main.c:1530
+#, c-format
msgid "Jobserver client (semaphore %s)\n"
-msgstr "jobserver ¥¯¥é¥¤¥¢¥ó¥È (fds %d,%d)\n"
+msgstr "jobserver クライアント (セマフォ %s)\n"
-#: main.c:1551
-#, fuzzy, c-format
+#: main.c:1534
+#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
-msgstr "ÆâÉô¥¨¥é¡¼: ̵¸ú¤Ê --jobserver-fds ʸ»úÎó `%s'"
+msgstr "内部エラー: 無効㪠--jobserver-fds 文字列 '%s'"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr "jobserver ¥¯¥é¥¤¥¢¥ó¥È (fds %d,%d)\n"
+msgstr "jobserver クライアント (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-"·Ù¹ð: Éû¼¡ make ¤Ç -jN ¤ò¶¯À©»ØÄꤷ¤Þ¤·¤¿: jobserver ¥â¡¼¥É¤ò̵¸ú¤Ë¤·¤Þ¤¹."
+"警告: 副次 make 㧠-jN を強制指定ã—ã¾ã—ãŸ: jobserver モードを無効ã«ã—ã¾ã™."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1586
-#, fuzzy
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"·Ù¹ð: jobserver ¤¬ÍøÍÑÉÔ²Ä: º£²ó¤Ï -j1 ¤ò»È¤¤¤Þ¤¹. ¿Æ make ¥ë¡¼¥ë¤Ë `+' ¤òÄÉ"
-"²Ã¤·¤Þ¤·¤ç¤¦."
+"警告: jobserver ãŒåˆ©ç”¨ä¸å¯: 今回㯠-j1 を使ã„ã¾ã™. 親 make ルール㫠`+' を追"
+"加ã—ã¾ã—ょã†."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
-msgstr "ɸ½àÆþÎϤ«¤é¤Î makefile ¤¬Æó²ó»ØÄꤵ¤ì¤Þ¤·¤¿."
+msgstr "標準入力ã‹ã‚‰ã® makefile ãŒäºŒå›žæŒ‡å®šã•ã‚Œã¾ã—ãŸ."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
-msgstr "fopen (°ì»þ¥Õ¥¡¥¤¥ë)"
+msgstr "fopen (一時ファイル)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
-msgstr "fwrite (°ì»þ¥Õ¥¡¥¤¥ë)"
+msgstr "fwrite (一時ファイル)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "ÊÂÎ󥸥ç¥Ö (-j) ¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó."
+msgstr "並列ジョブ (-j) ã¯ã“ã®ãƒ—ラットフォームã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
-msgstr "ñ°ì¥¸¥ç¥Ö (-j1) ¥â¡¼¥É¤Ë¥ê¥»¥Ã¥È¤·¤Þ¤¹."
+msgstr "å˜ä¸€ã‚¸ãƒ§ãƒ– (-j1) モードã«ãƒªã‚»ãƒƒãƒˆã—ã¾ã™."
-#: main.c:2006
-#, fuzzy, c-format
+#: main.c:1994
+#, c-format
msgid "Jobserver slots limited to %d\n"
-msgstr "jobserver ¥¯¥é¥¤¥¢¥ó¥È (fds %d,%d)\n"
+msgstr "jobserver ã®ã‚¹ãƒ­ãƒƒãƒˆã¯ %d ã¾ã§ã§ã™\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "ジョブサームセマフォを作æˆã—ã¦ã„ã¾ã™: (エラー %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
-msgstr "¥¸¥ç¥Ö¥Ñ¥¤¥×ºîÀ®Ãæ"
+msgstr "ジョブパイプ作æˆä¸­"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "jobserver ¥Ñ¥¤¥×¤Î½é´ü²½"
+msgstr "jobserver パイプã®åˆæœŸåŒ–"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: -L ¤Ï̵¸ú¤Ç¤¹."
+msgstr "シンボリックリンクã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“: -L ã¯ç„¡åŠ¹ã§ã™."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "makefile ¤Î¹¹¿·Ãæ....\n"
+msgstr "makefile ã®æ›´æ–°ä¸­....\n"
-#: main.c:2174
-#, fuzzy, c-format
+#: main.c:2158
+#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
-msgstr "makefile `%s' ¼«¸ÊºÆµ¢¤Î¤ª¤½¤ì ¡½ ºÆ make ¤·¤Þ¤»¤ó.\n"
+msgstr "makefile '%s' 自己å†å¸°ã®ãŠãã‚Œã‚ã‚Š ― å†make ã—ã¾ã›ã‚“.\n"
-#: main.c:2253
-#, fuzzy, c-format
+#: main.c:2237
+#, c-format
msgid "Failed to remake makefile '%s'."
-msgstr "makefile `%s' ¤ÎºÆ make ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿."
+msgstr "makefile '%s' ã®å†makeã«å¤±æ•—ã—ã¾ã—ãŸ."
-#: main.c:2270
-#, fuzzy, c-format
+#: main.c:2257
+#, c-format
msgid "Included makefile '%s' was not found."
-msgstr "¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤ë makefile `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿."
+msgstr "インクルードã•ã‚Œã‚‹ makefile '%s' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ."
-#: main.c:2275
-#, fuzzy, c-format
+#: main.c:2262
+#, c-format
msgid "Makefile '%s' was not found"
-msgstr "makefile `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿"
+msgstr "makefile '%s' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ì¤Þ¤»¤ó¤Ç¤·¤¿."
+msgstr "å…ƒã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚Œã¾ã›ã‚“ã§ã—ãŸ."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
-msgstr "ºÆ¼Â¹Ô¤·¤Þ¤¹[%u]:"
+msgstr "å†å®Ÿè¡Œã—ã¾ã™[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (°ì»þ¥Õ¥¡¥¤¥ë): "
+msgstr "unlink (一時ファイル): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ".DEFAULT_GOAL ¤¬Æó¤Ä°Ê¾å¤Î¥¿¡¼¥²¥Ã¥È¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+msgstr ".DEFAULT_GOAL ãŒäºŒã¤ä»¥ä¸Šã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’å«ã‚“ã§ã„ã¾ã™"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "¥¿¡¼¥²¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤ª¤é¤º, makefile ¤â¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+msgstr "ターゲットãŒæŒ‡å®šã•ã‚Œã¦ãŠã‚‰ãš, makefile も見ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
-msgstr "¥¿¡¼¥²¥Ã¥È¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "ターゲットãŒã‚ã‚Šã¾ã›ã‚“"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "ºÇ½ª¥¿¡¼¥²¥Ã¥È¤ò¹¹¿·Ãæ....\n"
+msgstr "最終ターゲットを更新中....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
-msgstr "·Ù¹ð: »þ¹ï¤Î¤º¤ì¤ò¸¡½Ð. ÉÔ´°Á´¤Ê¥Ó¥ë¥É·ë²Ì¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó."
+msgstr "警告: 時刻ã®ãšã‚Œã‚’検出. ä¸å®Œå…¨ãªãƒ“ルドçµæžœã«ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó] [¥¿¡¼¥²¥Ã¥È] ...\n"
+msgstr "使ã„æ–¹: %s [オプション] [ターゲット] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
"\n"
-"¤³¤Î¥×¥í¥°¥é¥à¤Ï %s ÍѤ˥ӥë¥É¤µ¤ì¤Þ¤·¤¿\n"
+"ã“ã®ãƒ—ログラム㯠%s 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
"\n"
-"¤³¤Î¥×¥í¥°¥é¥à¤Ï %s (%s) ÍѤ˥ӥë¥É¤µ¤ì¤Þ¤·¤¿\n"
+"ã“ã®ãƒ—ログラム㯠%s (%s) 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï <bug-make@gnu.org> ¤Þ¤Ç.\n"
+msgstr "ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ <bug-make@gnu.org> ã¾ã§.\n"
-#: main.c:2810
-#, fuzzy, c-format
+#: main.c:2807
+#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
-msgstr "`%s%s' ¥ª¥×¥·¥ç¥ó¤Ï¶õ¤Ç¤Ê¤¤Ê¸»úÎó°ú¿ô¤òÍ׵ᤷ¤Þ¤¹"
+msgstr "'%s%s' オプションã¯ç©ºã§ãªã„文字列引数をè¦æ±‚ã—ã¾ã™"
-#: main.c:2864
-#, fuzzy, c-format
+#: main.c:2871
+#, c-format
msgid "the '-%c' option requires a positive integer argument"
-msgstr "`-%c' ¥ª¥×¥·¥ç¥ó¤ÏÀµ¤ÎÀ°¿ô°ú¿ô¤òÍ׵ᤷ¤Þ¤¹"
+msgstr "'-%c' オプションã¯æ­£ã®æ•´æ•°å¼•æ•°ã‚’è¦æ±‚ã—ã¾ã™"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
-msgstr "%s¤³¤Î¥×¥í¥°¥é¥à¤Ï %s ÍѤ˥ӥë¥É¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%sã“ã®ãƒ—ログラム㯠%s 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr "%s¤³¤Î¥×¥í¥°¥é¥à¤Ï %s (%s) ÍѤ˥ӥë¥É¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%sã“ã®ãƒ—ログラム㯠%s (%s) 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1331,653 +1310,646 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-"%s¥é¥¤¥»¥ó¥¹ GPLv3+: GNU GPL ¥Ð¡¼¥¸¥ç¥ó 3 °Ê¹ß <http://gnu.org/licenses/gpl."
+"%sライセンス GPLv3+: GNU GPL ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 ä»¥é™ <http://gnu.org/licenses/gpl."
"html>\n"
-"%s¤³¤ì¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹: ¼«Í³¤ËÊѹ¹¤ª¤è¤ÓÇÛÉۤǤ­¤Þ¤¹.\n"
-"%sˡΧ¤Îµö¤¹¸Â¤ê¡¢¡¡ÌµÊݾڡ¡¤Ç¤¹.\n"
+"%sã“ã‚Œã¯ãƒ•ãƒªãƒ¼ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã§ã™: 自由ã«å¤‰æ›´ãŠã‚ˆã³é…布ã§ãã¾ã™.\n"
+"%s法律ã®è¨±ã™é™ã‚Šã€ã€€ç„¡ä¿è¨¼ã€€ã§ã™.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# Make ¥Ç¡¼¥¿¥Ù¡¼¥¹½ÐÎÏ %s"
+"# Make データベース出力 %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# Make ¥Ç¡¼¥¿¥Ù¡¼¥¹½ªÎ» %s\n"
+"# Make データベース終了 %s\n"
#: misc.c:201
#, c-format
msgid "Unknown error %d"
-msgstr "̤ÃΤΥ¨¥é¡¼ %d"
-
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "²¾ÁÛ¥á¥â¥ê¤ò»È¤¤²Ì¤¿¤·¤Þ¤·¤¿"
+msgstr "未知ã®ã‚¨ãƒ©ãƒ¼ %d"
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: ¥æ¡¼¥¶ %lu (¼Â¸ú %lu), ¥°¥ë¡¼¥× %lu (¼Â¸ú %lu)\n"
+msgstr "%s: ユーザ %lu (実効 %lu), グループ %lu (実効 %lu)\n"
#: misc.c:543
msgid "Initialized access"
-msgstr "¥¢¥¯¥»¥¹¸¢¸Â¤ò½é´ü²½"
+msgstr "アクセス権é™ã‚’åˆæœŸåŒ–"
#: misc.c:622
msgid "User access"
-msgstr "¥æ¡¼¥¶¥¢¥¯¥»¥¹"
+msgstr "ユーザアクセス"
#: misc.c:670
msgid "Make access"
-msgstr "make ¥¢¥¯¥»¥¹"
+msgstr "make アクセス"
#: misc.c:704
msgid "Child access"
-msgstr "»Ò¥×¥í¥»¥¹¥¢¥¯¥»¥¹"
+msgstr "å­ãƒ—ロセスアクセス"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê(¥Ç¥£¥ì¥¯¥È¥ê̾ÉÔÌÀ)¤ËÆþ¤ê¤Þ¤¹\n"
+msgstr "%s: ディレクトリ(ディレクトリåä¸æ˜Ž)ã«å…¥ã‚Šã¾ã™\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê(¥Ç¥£¥ì¥¯¥È¥ê̾ÉÔÌÀ)¤«¤é½Ð¤Þ¤¹\n"
+msgstr "%s: ディレクトリ(ディレクトリåä¸æ˜Ž)ã‹ã‚‰å‡ºã¾ã™\n"
-#: output.c:133
-#, fuzzy, c-format
+#: output.c:109
+#, c-format
msgid "%s: Entering directory '%s'\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤ËÆþ¤ê¤Þ¤¹\n"
+msgstr "%s: ディレクトリ '%s' ã«å…¥ã‚Šã¾ã™\n"
-#: output.c:135
-#, fuzzy, c-format
+#: output.c:111
+#, c-format
msgid "%s: Leaving directory '%s'\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤«¤é½Ð¤Þ¤¹\n"
+msgstr "%s: ディレクトリ '%s' ã‹ã‚‰å‡ºã¾ã™\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: ¥Ç¥£¥ì¥¯¥È¥ê(¥Ç¥£¥ì¥¯¥È¥ê̾ÉÔÌÀ)¤ËÆþ¤ê¤Þ¤¹\n"
+msgstr "%s[%u]: ディレクトリ(ディレクトリåä¸æ˜Ž)ã«å…¥ã‚Šã¾ã™\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: ¥Ç¥£¥ì¥¯¥È¥ê(¥Ç¥£¥ì¥¯¥È¥ê̾ÉÔÌÀ)¤«¤é½Ð¤Þ¤¹\n"
+msgstr "%s[%u]: ディレクトリ(ディレクトリåä¸æ˜Ž)ã‹ã‚‰å‡ºã¾ã™\n"
-#: output.c:144
-#, fuzzy, c-format
+#: output.c:120
+#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
-msgstr "%s[%u]: ¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤ËÆþ¤ê¤Þ¤¹\n"
+msgstr "%s[%u]: ディレクトリ '%s' ã«å…¥ã‚Šã¾ã™\n"
-#: output.c:146
-#, fuzzy, c-format
-msgid "%s[%u]: Leaving directory '%s'\n"
-msgstr "%s[%u]: ¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤«¤é½Ð¤Þ¤¹\n"
-
-#: output.c:515
+#: output.c:122
#, c-format
-msgid "write error: %s"
-msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼: %s"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: ディレクトリ '%s' ã‹ã‚‰å‡ºã¾ã™\n"
-#: output.c:517
-msgid "write error"
-msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼: %s"
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
-msgstr ". ̾ȧ.\n"
+msgstr ". 中止.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "makefile ¤òÆɤ߹þ¤ß¤Þ¤¹...\n"
+msgstr "makefile を読ã¿è¾¼ã¿ã¾ã™...\n"
-#: read.c:333
-#, fuzzy, c-format
+#: read.c:335
+#, c-format
msgid "Reading makefile '%s'"
-msgstr "makefile `%s' ¤ÎÆɤ߹þ¤ßÃæ"
+msgstr "makefile '%s' ã®èª­ã¿è¾¼ã¿ä¸­"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (¥Ç¥Õ¥©¥ë¥È¤ÎºÇ½ª¥¿¡¼¥²¥Ã¥È¤¬¤¢¤ê¤Þ¤»¤ó)"
+msgstr " (デフォルトã®æœ€çµ‚ターゲットãŒã‚ã‚Šã¾ã›ã‚“)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (õº÷¥Ñ¥¹)"
+msgstr " (探索パス)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (µ¤¤Ë¤·¤Ê¤¯¤Æ¤è¤¤)"
+msgstr " (æ°—ã«ã—ãªãã¦ã‚ˆã„)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (~ ¤ÎŸ³«¤Ê¤·)"
+msgstr " (~ ã®å±•é–‹ãªã—)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
-msgstr ""
+msgstr "makefile '%s' ã®ä¸­ã® UTF-8 BOM をスキップã—ã¾ã™\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
-msgstr ""
+msgstr "makefile ãƒãƒƒãƒ•ã‚¡ã®ä¸­ã® UTF-8 BOM をスキップã—ã¾ã™\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "¾ò·ïÉô¤Îʸˡ¤¬Ìµ¸ú¤Ç¤¹"
+msgstr "æ¡ä»¶éƒ¨ã®æ–‡æ³•ãŒç„¡åŠ¹ã§ã™"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
-msgstr ""
+msgstr "%s: 読ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "ºÇ½é¤Î¥¿¡¼¥²¥Ã¥È¤è¤êÁ°¤Ë¥ì¥·¥Ô¤¬¤¢¤ê¤Þ¤¹"
+msgstr "最åˆã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚ˆã‚Šå‰ã«ãƒ¬ã‚·ãƒ”ãŒã‚ã‚Šã¾ã™"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "¥ì¥·¥Ô¤ÎÁ°¤Î¥ë¡¼¥ë¤¬ÉÔ­¤·¤Æ¤¤¤Þ¤¹"
+msgstr "レシピã®å‰ã®ãƒ«ãƒ¼ãƒ«ãŒä¸è¶³ã—ã¦ã„ã¾ã™"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "ʬΥµ­¹æ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (8 個ã®ç©ºç™½ã§ã—ãŸãŒ, TAB ã®ã¤ã‚‚ã‚Šã§ã—ãŸã‹?)"
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (8 ¸Ä¤Î¶õÇò¤Ç¤·¤¿¤¬, TAB ¤Î¤Ä¤â¤ê¤Ç¤·¤¿¤«?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "分離記å·ã‚’欠ã„ã¦ã„ã¾ã™%s"
-#: read.c:1263
+#: read.c:1270
msgid "missing target pattern"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Ñ¥¿¡¼¥ó¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+msgstr "ターゲットパターンを欠ã„ã¦ã„ã¾ã™"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "Ê£¿ô¤Î¥¿¡¼¥²¥Ã¥È¥Ñ¥¿¡¼¥ó¤Ç¤¹"
+msgstr "複数ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ‘ターンã§ã™"
-#: read.c:1269
-#, fuzzy, c-format
+#: read.c:1276
+#, c-format
msgid "target pattern contains no '%%'"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Ñ¥¿¡¼¥ó¤¬ `%%' ¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó"
+msgstr "ターゲットパターン㌠'%%' ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“"
-#: read.c:1391
-#, fuzzy
+#: read.c:1398
msgid "missing 'endif'"
-msgstr "`endif' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+msgstr "'endif' ãŒæ¬ è½ã—ã¦ã„ã¾ã™"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "¶õ¤ÎÊÑ¿ô̾"
+msgstr "空ã®å¤‰æ•°å"
-#: read.c:1465
-#, fuzzy
+#: read.c:1471
msgid "extraneous text after 'define' directive"
-msgstr "`define' µ¿»÷Ì¿Îá¤Î¸å¤í¤Ë̵´Ø·¸¤Êʸ»úÎ󤬤¢¤ê¤Þ¤¹"
+msgstr "'define' 疑似命令ã®å¾Œã‚ã«ç„¡é–¢ä¿‚ãªæ–‡å­—列ãŒã‚ã‚Šã¾ã™"
-#: read.c:1490
-#, fuzzy
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
-msgstr "`endef' ¤ò·ç¤¤¤Æ¤ª¤ê, `define' ¤¬½ªÎ»¤µ¤ì¤Þ¤»¤ó"
+msgstr "'endef' を欠ã„ã¦ãŠã‚Š, 'define' ãŒçµ‚了ã—ã¦ã„ã¾ã›ã‚“"
-#: read.c:1518
-#, fuzzy
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
-msgstr "`endef' µ¿»÷Ì¿Îá¤Î¸å¤í¤Ë̵´Ø·¸¤Êʸ»úÎ󤬤¢¤ê¤Þ¤¹"
+msgstr "'endef' 疑似命令ã®å¾Œã‚ã«ç„¡é–¢ä¿‚ãªæ–‡å­—列ãŒã‚ã‚Šã¾ã™"
-#: read.c:1589
-#, fuzzy, c-format
+#: read.c:1595
+#, c-format
msgid "extraneous text after '%s' directive"
-msgstr "`%s' µ¿»÷Ì¿Îá¤Î¸å¤í¤Ë̵´Ø·¸¤Êʸ»úÎ󤬤¢¤ê¤Þ¤¹"
+msgstr "'%s' 疑似命令ã®å¾Œã‚ã«ç„¡é–¢ä¿‚ãªæ–‡å­—列ãŒã‚ã‚Šã¾ã™"
-#: read.c:1598 read.c:1612
-#, fuzzy, c-format
+#: read.c:1596
+#, c-format
msgid "extraneous '%s'"
-msgstr "̵´Ø·¸¤Ê `%s'"
+msgstr "無関係㪠'%s'"
-#: read.c:1617
-#, fuzzy
+#: read.c:1624
msgid "only one 'else' per conditional"
-msgstr "°ì¤Ä¤Î¾ò·ïÉô¤Ë¤Ä¤­°ì¤Ä¤·¤« `else' ¤ò»È¤¨¤Þ¤»¤ó"
+msgstr "一ã¤ã®æ¡ä»¶éƒ¨ã«ã¤ã一ã¤ã—ã‹ 'else' を使ãˆã¾ã›ã‚“"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "¥¿¡¼¥²¥Ã¥ÈÆÃÍ­¤ÎÊÑ¿ôÄêµÁ¤¬°Û¾ï¤Ç¤¹"
+msgstr "ターゲット特有ã®å¤‰æ•°å®šç¾©ãŒç•°å¸¸ã§ã™"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr "ɬÍ×¾ò·ï¤ò¥ì¥·¥ÔÆâ¤ÇÄêµÁ¤Ç¤­¤Þ¤»¤ó"
+msgstr "å¿…è¦æ¡ä»¶ã‚’レシピ内ã§å®šç¾©ã§ãã¾ã›ã‚“"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "°ÅÌۥ롼¥ë¤ÈÀÅŪ¥Ñ¥¿¡¼¥ó¥ë¡¼¥ë¤¬º®¤¶¤ê¤Þ¤·¤¿"
+msgstr "暗黙ルールã¨é™çš„パターンルールãŒæ··ã–ã‚Šã¾ã—ãŸ"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "°ÅÌۥ롼¥ë¤ÈÄ̾ï¥ë¡¼¥ë¤¬º®¤¶¤ê¤Þ¤·¤¿"
+msgstr "暗黙ルールã¨é€šå¸¸ãƒ«ãƒ¼ãƒ«ãŒæ··ã–ã‚Šã¾ã—ãŸ"
-#: read.c:2084
-#, fuzzy, c-format
+#: read.c:2091
+#, c-format
msgid "target '%s' doesn't match the target pattern"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤Ï¥¿¡¼¥²¥Ã¥È¥Ñ¥¿¡¼¥ó¤È°ìÃפ·¤Þ¤»¤ó"
+msgstr "ターゲット '%s' ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ‘ターンã¨ä¸€è‡´ã—ã¾ã›ã‚“"
-#: read.c:2099 read.c:2144
-#, fuzzy, c-format
+#: read.c:2106 read.c:2152
+#, c-format
msgid "target file '%s' has both : and :: entries"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤¬ : ¤È :: ¹àÌܤÎξÊý¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+msgstr "ターゲットファイル '%s' ㌠: 㨠:: é …ç›®ã®ä¸¡æ–¹ã‚’æŒã£ã¦ã„ã¾ã™"
-#: read.c:2105
-#, fuzzy, c-format
+#: read.c:2112
+#, c-format
msgid "target '%s' given more than once in the same rule"
-msgstr "Ʊ°ì¥ë¡¼¥ëÆâ¤Ç¥¿¡¼¥²¥Ã¥È `%s' ¤¬Ê£¿ô²óÍ¿¤¨¤é¤ì¤Þ¤·¤¿."
+msgstr "ターゲット '%s' ãŒåŒä¸€ãƒ«ãƒ¼ãƒ«å†…ã§è¤‡æ•°å›žä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
-#: read.c:2114
-#, fuzzy, c-format
+#: read.c:2122
+#, c-format
msgid "warning: overriding recipe for target '%s'"
-msgstr "·Ù¹ð: ¥¿¡¼¥²¥Ã¥È `%s' ¤Î¤¿¤á¤Î¥ì¥·¥Ô¤òÃÖ¤­´¹¤¨¤Þ¤¹"
+msgstr "警告: ターゲット '%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ã‚’ç½®ãæ›ãˆã¾ã™"
-#: read.c:2117
-#, fuzzy, c-format
+#: read.c:2125
+#, c-format
msgid "warning: ignoring old recipe for target '%s'"
-msgstr "·Ù¹ð: ¥¿¡¼¥²¥Ã¥È `%s' ¤Î¤¿¤á¤Î¸Å¤¤¥ì¥·¥Ô¤Ï̵»ë¤µ¤ì¤Þ¤¹"
+msgstr "警告: ターゲット '%s' ã®ãŸã‚ã®å¤ã„レシピã¯ç„¡è¦–ã•ã‚Œã¾ã™"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "暗黙ルールã¨é€šå¸¸ãƒ«ãƒ¼ãƒ«ãŒæ··ã–ã‚Šã¾ã—ãŸ"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "·Ù¹ð: NUL ʸ»ú¤¬¤¢¤ê¤Þ¤¹; ¹Ô¤Î»Ä¤ê¤Ï̵»ë¤µ¤ì¤Þ¤¹"
+msgstr "警告: NUL 文字ãŒã‚ã‚Šã¾ã™; è¡Œã®æ®‹ã‚Šã¯ç„¡è¦–ã•ã‚Œã¾ã™"
-#: remake.c:232
-#, fuzzy, c-format
+#: remake.c:230
+#, c-format
msgid "Nothing to be done for '%s'."
-msgstr "`%s' ¤ËÂФ·¤Æ¹Ô¤¦¤Ù¤­»ö¤Ï¤¢¤ê¤Þ¤»¤ó."
+msgstr "'%s' ã«å¯¾ã—ã¦è¡Œã†ã¹ã事ã¯ã‚ã‚Šã¾ã›ã‚“."
-#: remake.c:233
-#, fuzzy, c-format
+#: remake.c:231
+#, c-format
msgid "'%s' is up to date."
-msgstr "`%s' ¤Ï¹¹¿·ºÑ¤ß¤Ç¤¹."
+msgstr "'%s' ã¯æ›´æ–°æ¸ˆã¿ã§ã™."
-#: remake.c:305
-#, fuzzy, c-format
+#: remake.c:303
+#, c-format
msgid "Pruning file '%s'.\n"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤òÀ°Íý¤·¤Þ¤¹.\n"
-
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%s¥¿¡¼¥²¥Ã¥È `%s' ¤ò make ¤¹¤ë¥ë¡¼¥ë¤¬¤¢¤ê¤Þ¤»¤ó%s"
+msgstr "ファイル '%s' ã®ä¾å­˜é–¢ä¿‚ã‚’æ•´ç†ã—ã¦ã„ã¾ã™.\n"
-#: remake.c:379
-#, fuzzy, c-format
+#: remake.c:390 remake.c:393
+#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
-"%1$s`%3$s' ¤ËɬÍפʥ¿¡¼¥²¥Ã¥È `%2$s' ¤ò make ¤¹¤ë¥ë¡¼¥ë¤¬¤¢¤ê¤Þ¤»¤ó%4$s"
+"%1$s'%3$s' ã«å¿…è¦ãªã‚¿ãƒ¼ã‚²ãƒƒãƒˆ '%2$s' ã‚’ make ã™ã‚‹ãƒ«ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã›ã‚“%4$s"
-#: remake.c:413
-#, fuzzy, c-format
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sターゲット '%s' ã‚’ make ã™ã‚‹ãƒ«ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã›ã‚“%s"
+
+#: remake.c:426
+#, c-format
msgid "Considering target file '%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤Î¸¡Æ¤¤ò¹Ô¤¤¤Þ¤¹.\n"
+msgstr "ファイル '%s' を検討ã—ã¦ã„ã¾ã™.\n"
-#: remake.c:420
-#, fuzzy, c-format
+#: remake.c:433
+#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
-msgstr "ºÇ¶á»î¤·¤Æ¹¹¿·¤Ë¼ºÇÔ¤·¤¿¥Õ¥¡¥¤¥ë `%s'.\n"
+msgstr "最近ファイル '%s' ã®æ›´æ–°ã‚’試ã—ã¦å¤±æ•—ã—ã¦ã„ã¾ã™.\n"
-#: remake.c:432
-#, fuzzy, c-format
+#: remake.c:445
+#, c-format
msgid "File '%s' was considered already.\n"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Ï¸¡Æ¤ºÑ¤ß¤Ç¤¹.\n"
+msgstr "ファイル '%s' ã¯æ¤œè¨Žæ¸ˆã¿ã§ã™.\n"
-#: remake.c:442
-#, fuzzy, c-format
+#: remake.c:455
+#, c-format
msgid "Still updating file '%s'.\n"
-msgstr "¤Þ¤À¥Õ¥¡¥¤¥ë `%s' ¤Î¹¹¿·Ãæ¤Ç¤¹.\n"
+msgstr "ファイル '%s' ã®æ›´æ–°ã‚’ã—ã¦ã„ã¾ã™.\n"
-#: remake.c:445
-#, fuzzy, c-format
+#: remake.c:458
+#, c-format
msgid "Finished updating file '%s'.\n"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Î¹¹¿·¤¬½ªÎ»¤·¤Þ¤·¤¿.\n"
+msgstr "ファイル '%s' ã®æ›´æ–°ãŒçµ‚了ã—ã¾ã—ãŸ.\n"
-#: remake.c:474
-#, fuzzy, c-format
+#: remake.c:487
+#, c-format
msgid "File '%s' does not exist.\n"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤¬Â¸ºß¤·¤Þ¤»¤ó.\n"
+msgstr "ファイル '%s' ãŒå­˜åœ¨ã—ã¾ã›ã‚“.\n"
-#: remake.c:481
-#, fuzzy, c-format
+#: remake.c:495
+#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** ·Ù¹ð: .LOW_RESOLUTION_TIME ¥Õ¥¡¥¤¥ë `%s' ¤¬¹â²òÁüÅÙ¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò»ý¤Ã¤Æ"
-"¤¤¤Þ¤¹"
+"*** 警告: .LOW_RESOLUTION_TIME ファイル '%s' ãŒé«˜è§£åƒåº¦ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã‚’æŒã£ã¦"
+"ã„ã¾ã™"
-#: remake.c:494 remake.c:1019
-#, fuzzy, c-format
+#: remake.c:508 remake.c:1040
+#, c-format
msgid "Found an implicit rule for '%s'.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î°ÅÌۥ롼¥ë¤ò¸«¤Ä¤±¤Þ¤·¤¿.\n"
+msgstr "'%s' ã®ãŸã‚ã®æš—黙ルールを見ã¤ã‘ã¾ã—ãŸ.\n"
-#: remake.c:496 remake.c:1021
-#, fuzzy, c-format
+#: remake.c:510 remake.c:1042
+#, c-format
msgid "No implicit rule found for '%s'.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î°ÅÌۥ롼¥ë¤¬¤¢¤ê¤Þ¤»¤ó.\n"
+msgstr "'%s' ã®ãŸã‚ã®æš—黙ルールãŒã‚ã‚Šã¾ã›ã‚“.\n"
-#: remake.c:502
-#, fuzzy, c-format
+#: remake.c:516
+#, c-format
msgid "Using default recipe for '%s'.\n"
-msgstr "`%s' ÍѤΥǥե©¥ë¥È¥ì¥·¥Ô¤ò»ÈÍѤ·¤Þ¤¹.\n"
+msgstr "'%s' 用ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ¬ã‚·ãƒ”を使用ã—ã¾ã™.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "½Û´Ä %s <- %s °Í¸´Ø·¸¤¬ÇË´þ¤µ¤ì¤Þ¤·¤¿."
+msgstr "循環 %s <- %s ä¾å­˜é–¢ä¿‚ãŒç ´æ£„ã•ã‚Œã¾ã—ãŸ."
-#: remake.c:655
-#, fuzzy, c-format
+#: remake.c:675
+#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤ÎɬÍ×¾ò·ï¤òËþ¤¿¤·¤Þ¤·¤¿.\n"
+msgstr "ターゲットファイル '%s' ã®å¿…è¦æ¡ä»¶ã‚’満ãŸã—ã¾ã—ãŸ.\n"
-#: remake.c:661
-#, fuzzy, c-format
+#: remake.c:681
+#, c-format
msgid "The prerequisites of '%s' are being made.\n"
-msgstr "`%s' ¤ÎɬÍ×¾ò·ï¤ò make ¤·¤Þ¤¹.\n"
+msgstr "'%s' ã®å¿…è¦æ¡ä»¶ã‚’ make ã—ã¾ã™.\n"
-#: remake.c:674
-#, fuzzy, c-format
+#: remake.c:695
+#, c-format
msgid "Giving up on target file '%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤òÄü¤á¤Þ¤¹.\n"
+msgstr "ターゲットファイル '%s' を諦ã‚ã¾ã™.\n"
-#: remake.c:679
-#, fuzzy, c-format
+#: remake.c:700
+#, c-format
msgid "Target '%s' not remade because of errors."
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤Ï¥¨¥é¡¼¤Ë¤è¤êºÆ make ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿."
+msgstr "ターゲット '%s' ã¯ã‚¨ãƒ©ãƒ¼ã«ã‚ˆã‚Š å†make ã§ãã¾ã›ã‚“ã§ã—ãŸ."
-#: remake.c:731
-#, fuzzy, c-format
+#: remake.c:752
+#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
-msgstr "ɬÍ×¾ò·ï `%s' ¤Ï¥¿¡¼¥²¥Ã¥È `%s' ¤Ë¤Ä¤¤¤Æ½çÈÖÄ̤ê¤Î¤ß¹Ô¤¤¤Þ¤¹.\n"
+msgstr "å¿…è¦æ¡ä»¶ '%s' ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ '%s' ã® order-only(é †åºæ±ºå®šæ¡ä»¶)ã§ã™.\n"
-#: remake.c:736
-#, fuzzy, c-format
+#: remake.c:757
+#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È `%2$s' ¤ÎɬÍ×¾ò·ï `%1$s' ¤¬Â¸ºß¤·¤Þ¤»¤ó.\n"
+msgstr "ターゲット '%2$s' ã®å¿…è¦æ¡ä»¶ '%1$s' ãŒå­˜åœ¨ã—ã¾ã›ã‚“.\n"
-#: remake.c:741
-#, fuzzy, c-format
+#: remake.c:762
+#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
-msgstr "ɬÍ×¾ò·ï `%s' ¤Ï¥¿¡¼¥²¥Ã¥È `%s' ¤è¤ê¤â¿·¤·¤¤.\n"
+msgstr "å¿…è¦æ¡ä»¶ '%s' ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ '%s' よりも新ã—ã„.\n"
-#: remake.c:744
-#, fuzzy, c-format
+#: remake.c:765
+#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
-msgstr "ɬÍ×¾ò·ï `%s' ¤Ï¥¿¡¼¥²¥Ã¥È `%s' ¤è¤ê¤â¸Å¤¤.\n"
+msgstr "å¿…è¦æ¡ä»¶ '%s' ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ '%s' よりもå¤ã„.\n"
-#: remake.c:762
-#, fuzzy, c-format
+#: remake.c:783
+#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤Ï¥À¥Ö¥ë¥³¥í¥ó¤Ç, ¤«¤ÄɬÍ×¾ò·ï¤ò»ý¤¿¤Ê¤¤.\n"
+msgstr "ターゲット '%s' ã¯ãƒ€ãƒ–ルコロンã§, ã‹ã¤å¿…è¦æ¡ä»¶ã‚’æŒãŸãªã„.\n"
-#: remake.c:769
-#, fuzzy, c-format
+#: remake.c:790
+#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î¥ì¥·¥Ô¤¬Ìµ¤¯, ɬÍ×¾ò·ï¤Ï¼ÂºÝ¤Ë¤ÏÊѹ¹¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgstr "'%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ãŒç„¡ã, å¿…è¦æ¡ä»¶ã¯å®Ÿéš›ã«ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ.\n"
-#: remake.c:774
-#, fuzzy, c-format
+#: remake.c:795
+#, c-format
msgid "Making '%s' due to always-make flag.\n"
-msgstr "always-make ¥Õ¥é¥°¤¬¤¿¤Ã¤Æ¤¤¤ë¤Î¤Ç `%s' ¤ò make ¤·¤Þ¤¹.\n"
+msgstr "always-make フラグãŒç«‹ã£ã¦ã„ã‚‹ã®ã§ '%s' ã‚’ make ã—ã¾ã™.\n"
-#: remake.c:782
-#, fuzzy, c-format
+#: remake.c:803
+#, c-format
msgid "No need to remake target '%s'"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤òºÆ make ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó"
+msgstr "ターゲット '%s' ã‚’å†make ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: remake.c:784
-#, fuzzy, c-format
+#: remake.c:805
+#, c-format
msgid "; using VPATH name '%s'"
-msgstr "; VPATH ̾ `%s' ¤ò»ÈÍѤ·¤Þ¤¹"
+msgstr "; VPATH å '%s' を使用ã—ã¾ã™"
-#: remake.c:804
-#, fuzzy, c-format
+#: remake.c:825
+#, c-format
msgid "Must remake target '%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤ÎºÆ make ¤¬É¬ÍפǤ¹.\n"
+msgstr "ターゲット '%s' ã‚’å†make ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™.\n"
-#: remake.c:810
-#, fuzzy, c-format
+#: remake.c:831
+#, c-format
msgid " Ignoring VPATH name '%s'.\n"
-msgstr " VPATH ̾ `%s' ¤ò̵»ë¤·¤Þ¤¹.\n"
+msgstr " VPATH å '%s' を無視ã—ã¾ã™.\n"
-#: remake.c:819
-#, fuzzy, c-format
+#: remake.c:840
+#, c-format
msgid "Recipe of '%s' is being run.\n"
-msgstr "`%s' ¤Î¥ì¥·¥Ô¤ò¼Â¹ÔÃæ¤Ç¤¹.\n"
+msgstr "'%s' ã®ãƒ¬ã‚·ãƒ”を実行中ã§ã™.\n"
-#: remake.c:826
-#, fuzzy, c-format
+#: remake.c:847
+#, c-format
msgid "Failed to remake target file '%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤ÎºÆ make ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿.\n"
+msgstr "ターゲットファイル '%s' ã®å†make ã«å¤±æ•—ã—ã¾ã—ãŸ.\n"
-#: remake.c:829
-#, fuzzy, c-format
+#: remake.c:850
+#, c-format
msgid "Successfully remade target file '%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤ÎºÆ make ¤ËÀ®¸ù¤·¤Þ¤·¤¿.\n"
+msgstr "ターゲットファイル '%s' ã®å† make ã«æˆåŠŸã—ã¾ã—ãŸ.\n"
-#: remake.c:832
-#, fuzzy, c-format
+#: remake.c:853
+#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤Ï -q ¥ª¥×¥·¥ç¥óÉÕ¤Ç¤ÎºÆ make ¤¬É¬ÍפǤ¹.\n"
+msgstr "ターゲットファイル '%s' 㯠-q オプションを付ã‘ã¦ã®å†make ãŒå¿…è¦ã§ã™.\n"
-#: remake.c:1027
-#, fuzzy, c-format
+#: remake.c:1048
+#, c-format
msgid "Using default commands for '%s'.\n"
-msgstr "`%s' ÍѤΥǥե©¥ë¥È¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹.\n"
+msgstr "'%s' ã®ãŸã‚ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚³ãƒžãƒ³ãƒ‰ã‚’使ã„ã¾ã™.\n"
-#: remake.c:1372
-#, fuzzy, c-format
+#: remake.c:1397
+#, c-format
msgid "Warning: File '%s' has modification time in the future"
-msgstr "·Ù¹ð: ¥Õ¥¡¥¤¥ë `%s' ¤Î½¤Àµ»þ¹ï¤¬Ì¤Íè¤Î»þ¹ï¤Ç¤¹"
+msgstr "警告: ファイル '%s' ã®ä¿®æ­£æ™‚刻ã¯æœªæ¥ã®ã‚‚ã®ã§ã™"
-#: remake.c:1385
-#, fuzzy, c-format
+#: remake.c:1411
+#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
-msgstr "·Ù¹ð: ¥Õ¥¡¥¤¥ë `%s' ¤Î½¤Àµ»þ¹ï %s ¤Ï̤Íè¤Î¤â¤Î¤Ç¤¹"
+msgstr "警告: ファイル '%s' ã®ä¿®æ­£æ™‚刻 %s ã¯æœªæ¥ã®æ™‚刻ã§ã™"
-#: remake.c:1583
-#, fuzzy, c-format
+#: remake.c:1610
+#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
-msgstr ".LIBPATTERNS Í×ÁÇ `%s' ¤¬¥Ñ¥¿¡¼¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgstr ".LIBPATTERNS è¦ç´  '%s' ãŒãƒ‘ターンã§ã¯ã‚ã‚Šã¾ã›ã‚“"
#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "Customs ¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¤¯¤ì¤Þ¤»¤ó: %s\n"
+msgstr "Customs ãŒã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã—ã¦ãã‚Œã¾ã›ã‚“: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# °ÅÌۥ롼¥ë"
+"# 暗黙ルール"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# °ÅÌۥ롼¥ë¤Ê¤·."
+"# 暗黙ルールãªã—."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# %u ¸Ä¤Î°ÅÌۥ롼¥ë, %u"
+"# %u 個ã®æš—黙ルール, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
-msgstr " °Ê¾å."
+msgstr " 以上."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "¥Ð¥°: num_pattern_rules ¤¬´Ö°ã¤Ã¤Æ¤¤¤ë! %u != %u"
+msgstr "ãƒã‚°: num_pattern_rules ãŒé–“é•ã£ã¦ã„ã‚‹! %u != %u"
#: signame.c:84
msgid "unknown signal"
-msgstr "̤ÃΤΥ·¥°¥Ê¥ë"
+msgstr "未知ã®ã‚·ã‚°ãƒŠãƒ«"
#: signame.c:92
msgid "Hangup"
-msgstr "¥Ï¥ó¥°¥¢¥Ã¥×"
+msgstr "ãƒãƒ³ã‚°ã‚¢ãƒƒãƒ—"
#: signame.c:95
msgid "Interrupt"
-msgstr "³ä¤ê¹þ¤ß"
+msgstr "割り込ã¿"
#: signame.c:98
msgid "Quit"
-msgstr "½ªÎ»"
+msgstr "終了"
#: signame.c:101
msgid "Illegal Instruction"
-msgstr "ÉÔÀµ¤Ê¥Ï¡¼¥É¥¦¥§¥¢Ì¿Îá"
+msgstr "ä¸æ­£ãªãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢å‘½ä»¤"
#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "¥È¥ì¡¼¥¹/¥Ö¥ì¥¤¥¯¥Ý¥¤¥ó¥È¥È¥é¥Ã¥×"
+msgstr "トレース/ブレイクãƒã‚¤ãƒ³ãƒˆãƒˆãƒ©ãƒƒãƒ—"
#: signame.c:109
msgid "Aborted"
-msgstr "Abort ¤·¤Þ¤·¤¿"
+msgstr "Abort ã—ã¾ã—ãŸ"
#: signame.c:112
msgid "IOT trap"
-msgstr "IOT ¥È¥é¥Ã¥×"
+msgstr "IOT トラップ"
#: signame.c:115
msgid "EMT trap"
-msgstr "EMT ¥È¥é¥Ã¥×"
+msgstr "EMT トラップ"
#: signame.c:118
msgid "Floating point exception"
-msgstr "ÉâÆ°¾®¿ôÅÀÎã³°"
+msgstr "浮動å°æ•°ç‚¹ä¾‹å¤–"
#: signame.c:121
msgid "Killed"
-msgstr "Kill ¤µ¤ì¤Þ¤·¤¿"
+msgstr "Kill ã•ã‚Œã¾ã—ãŸ"
#: signame.c:124
msgid "Bus error"
-msgstr "¥Ð¥¹¥¨¥é¡¼"
+msgstr "ãƒã‚¹ã‚¨ãƒ©ãƒ¼"
#: signame.c:127
msgid "Segmentation fault"
-msgstr "¥á¥â¥ê°ãÈ¿"
+msgstr "メモリé•å"
#: signame.c:130
msgid "Bad system call"
-msgstr "ÉÔÀµ¤Ê¥·¥¹¥Æ¥à¥³¡¼¥ë"
+msgstr "ä¸æ­£ãªã‚·ã‚¹ãƒ†ãƒ ã‚³ãƒ¼ãƒ«"
#: signame.c:133
msgid "Broken pipe"
-msgstr "Æɤ߼ê¤Î¤Ê¤¤¥Ñ¥¤¥×¤Ø¤Î½ñ¤­¹þ¤ß"
+msgstr "読ã¿æ‰‹ã®ãªã„パイプã¸ã®æ›¸ãè¾¼ã¿"
#: signame.c:136
msgid "Alarm clock"
-msgstr "¥¢¥é¡¼¥à¥¯¥í¥Ã¥¯"
+msgstr "アラームクロック"
#: signame.c:139
msgid "Terminated"
-msgstr "¶¯À©½ªÎ»"
+msgstr "強制終了"
#: signame.c:142
msgid "User defined signal 1"
-msgstr "¥æ¡¼¥¶ÄêµÁ¥·¥°¥Ê¥ë 1"
+msgstr "ユーザ定義シグナル 1"
#: signame.c:145
msgid "User defined signal 2"
-msgstr "¥æ¡¼¥¶ÄêµÁ¥·¥°¥Ê¥ë 2"
+msgstr "ユーザ定義シグナル 2"
#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "»Ò¥×¥í¥»¥¹½ªÎ»"
+msgstr "å­ãƒ—ロセス終了"
#: signame.c:156
msgid "Power failure"
-msgstr "ÅŸ»¾ã³²"
+msgstr "é›»æºéšœå®³"
#: signame.c:159
msgid "Stopped"
-msgstr "°ì»þÄä»ß"
+msgstr "一時åœæ­¢"
#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "°ì»þÄä»ß (tty ÆþÎÏ)"
+msgstr "一時åœæ­¢ (tty 入力)"
#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "°ì»þÄä»ß (tty ½ÐÎÏ)"
+msgstr "一時åœæ­¢ (tty 出力)"
#: signame.c:168
msgid "Stopped (signal)"
-msgstr "°ì»þÄä»ß (¥·¥°¥Ê¥ë)"
+msgstr "一時åœæ­¢ (シグナル)"
#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "CPU »þ´Ö¤¬À©¸Â¤ò±Û¤¨¤Þ¤·¤¿"
+msgstr "CPU 時間ãŒåˆ¶é™ã‚’越ãˆã¾ã—ãŸ"
#: signame.c:174
msgid "File size limit exceeded"
-msgstr "¥Õ¥¡¥¤¥ë¥µ¥¤¥ºÀ©¸Â¤ò±Û¤¨¤Þ¤·¤¿"
+msgstr "ファイルサイズ制é™ã‚’越ãˆã¾ã—ãŸ"
#: signame.c:177
msgid "Virtual timer expired"
-msgstr "²¾ÁÛ¥¿¥¤¥ÞËþλ"
+msgstr "仮想タイマ満了"
#: signame.c:180
msgid "Profiling timer expired"
-msgstr "¥×¥í¥Õ¥¡¥¤¥ë¥¿¥¤¥ÞËþλ"
+msgstr "プロファイルタイマ満了"
#: signame.c:186
msgid "Window changed"
-msgstr "¥¦¥£¥ó¥É¥¦¥µ¥¤¥ºÊѹ¹"
+msgstr "ウィンドウサイズ変更"
#: signame.c:189
msgid "Continued"
-msgstr "ºÆ³«¤µ¤ì¤Þ¤·¤¿"
+msgstr "å†é–‹ã•ã‚Œã¾ã—ãŸ"
#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "¶ÛµÞ I/O ¾ò·ï"
+msgstr "緊急 I/O æ¡ä»¶"
#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "Æþ½ÐÎϲÄǽ"
+msgstr "入出力å¯èƒ½"
#: signame.c:202
msgid "SIGWIND"
@@ -1989,19 +1961,19 @@ msgstr "SIGPHONE"
#: signame.c:211
msgid "Resource lost"
-msgstr "¥ê¥½¡¼¥¹¤¬¼º¤ï¤ì¤Þ¤·¤¿"
+msgstr "リソースãŒå¤±ã‚ã‚Œã¾ã—ãŸ"
#: signame.c:214
msgid "Danger signal"
-msgstr "´í¸±¥·¥°¥Ê¥ë"
+msgstr "å±é™ºã‚·ã‚°ãƒŠãƒ«"
#: signame.c:217
msgid "Information request"
-msgstr "¾ðÊóÍ×µá"
+msgstr "情報è¦æ±‚"
#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "ÉâÆ°¾®¿ôÅÀ¥³¥×¥í¥»¥Ã¥µ¤¬ÍøÍÑÉÔǽ"
+msgstr "浮動å°æ•°ç‚¹ã‚³ãƒ—ロセッサãŒåˆ©ç”¨ä¸èƒ½"
#: strcache.c:236
#, c-format
@@ -2009,210 +1981,217 @@ msgid ""
"\n"
"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s strcache ãƒãƒƒãƒ•ã‚¡ã¯ã‚ã‚Šã¾ã›ã‚“\n"
#: strcache.c:266
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
"B\n"
msgstr ""
-"%s »ÈÍѤµ¤ì¤¿ strcache : ¹ç·× = %d (%d) / ºÇÂç = %d / ºÇ¾® = %d / Ê¿¶Ñ = %d\n"
+"\n"
+"%s strcache ãƒãƒƒãƒ•ã‚¡: %lu (%lu) / 文字列 = %lu / æ ¼ç´ = %lu B / å¹³å‡ = %lu "
+"B\n"
#: strcache.c:270
#, c-format
msgid ""
"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"%s ç¾åœ¨ã®ãƒãƒƒãƒ•ã‚¡: サイズ = %hu B / 使用中 = %hu B / 個数 = %hu / å¹³å‡ = %hu "
+"B\n"
#: strcache.c:280
-#, fuzzy, c-format
+#, c-format
msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
-msgstr ""
-"%s »ÈÍѤµ¤ì¤¿ strcache : ¹ç·× = %d (%d) / ºÇÂç = %d / ºÇ¾® = %d / Ê¿¶Ñ = %d\n"
+msgstr "%s ãã®ä»– 使用中: åˆè¨ˆ = %lu B / 個数 = %lu / å¹³å‡ = %lu B\n"
#: strcache.c:283
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-"%s ̤»ÈÍѤΡ¡ strcache: ¹ç·× = %d (%d) / ºÇÂç = %d / ºÇ¾® = %d / Ê¿¶Ñ = %d\n"
+"%s ãã®ä»– 未使用: åˆè¨ˆ = %lu B / 最大 = %lu B / æœ€å° = %lu B / å¹³å‡ = %hu B\n"
#: strcache.c:287
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"%s # strcache Æâ¤Î %d ¸Ä¤Îʸ»úÎó¤Î¤¦¤Á: õº÷ = %lu / ¥Ò¥Ã¥È = %lu\n"
+"%s strcache ã®ç¨¼åƒ: 探索 = %lu / ヒット率 = %lu%%\n"
#: strcache.c:289
-#, fuzzy
msgid ""
"# hash-table stats:\n"
"# "
msgstr ""
-"\n"
-"# ¥Õ¥¡¥¤¥ë¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¾õÂÖ:\n"
+"# ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çŠ¶æ…‹:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
-msgstr "¼«Æ°ÊÑ¿ô"
+msgstr "自動変数"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
-msgstr "¥Ç¥Õ¥©¥ë¥È"
+msgstr "デフォルト"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
-msgstr "´Ä¶­ÊÑ¿ô"
+msgstr "環境変数"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
-msgstr "makefile ÊÑ¿ô"
+msgstr "makefile 変数"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
-msgstr "-e ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿´Ä¶­ÊÑ¿ô"
+msgstr "-e オプションã§æŒ‡å®šã—ãŸç’°å¢ƒå¤‰æ•°"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
-msgstr "¥³¥Þ¥ó¥É¥é¥¤¥óÊÑ¿ô"
+msgstr "コマンドライン変数"
-#: variable.c:1625
-#, fuzzy
+#: variable.c:1617
msgid "'override' directive"
-msgstr "`override' µ¿»÷Ì¿Îá"
+msgstr "'override' 疑似命令"
-#: variable.c:1636
-#, fuzzy, c-format
+#: variable.c:1628
+#, c-format
msgid " (from '%s', line %lu)"
-msgstr " (`%s', %lu ¹ÔÌÜ)"
+msgstr " (ファイル '%s', %lu 行目)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# ÊÑ¿ô¥»¥Ã¥È¤Î¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¾õÂÖ:\n"
+msgstr "# 変数セットã®ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çŠ¶æ…‹:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
"\n"
-"# ÊÑ¿ô\n"
+"# 変数\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# ¥Ñ¥¿¡¼¥ó»ØÄê ÊÑ¿ô ÃÍ"
+"# パターン指定 変数 値"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# ¥Ñ¥¿¡¼¥ó»ØÄêÊÑ¿ô¤ÎÃͤʤ·."
+"# パターン指定変数ã®å€¤ãªã—."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u ¸Ä¤Î¥Ñ¥¿¡¼¥ó»ØÄêÊÑ¿ô¤ÎÃÍ"
+"# %u 個ã®ãƒ‘ターン指定変数ã®å€¤"
#: variable.h:224
-#, fuzzy, c-format
+#, c-format
msgid "warning: undefined variable '%.*s'"
-msgstr "·Ù¹ð: ̤ÄêµÁ¤ÎÊÑ¿ô `%.*s'"
+msgstr "警告: 未定義ã®å¤‰æ•° '%.*s'"
#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search() ¤¬ %d ¤Ç¼ºÇÔ¤·¤Þ¤·¤¿\n"
+msgstr "sys$search() ㌠%d ã§å¤±æ•—ã—ã¾ã—ãŸ\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "·Ù¹ð: ¶õ¤Î¥ê¥À¥¤¥ì¥¯¥È\n"
+msgstr "警告: 空ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ\n"
-#: vmsjobs.c:178
-#, fuzzy, c-format
+#: vmsjobs.c:183
+#, c-format
msgid "internal error: '%s' command_state"
-msgstr "ÆâÉô¥¨¥é¡¼: `%s' command_state"
+msgstr "内部エラー: '%s' command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-"-·Ù¹ð, DCL ¤«¤é¤Î CTRL-Y Áàºî¤òºÆ¤ÓÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¤«¤âÃΤì¤Þ¤»¤ó.\n"
+"-警告, DCL ã‹ã‚‰ã® CTRL-Y æ“作をå†ã³æœ‰åŠ¹ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚知れã¾ã›ã‚“.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
-msgstr "¥Ó¥ë¥È¥¤¥ó [%s][%s]\n"
+msgstr "ビルトイン [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
-msgstr "¥Ó¥ë¥È¥¤¥ó CD %s\n"
+msgstr "ビルトイン CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "¥Ó¥ë¥È¥¤¥ó RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "ビルトイン CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "ÉÔÌÀ¤Ê¥Ó¥ë¥È¥¤¥ó¥³¥Þ¥ó¥É '%s'\n"
+msgstr "ä¸æ˜Žãªãƒ“ルトインコマンド '%s'\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
-msgstr "¥¨¥é¡¼, ¶õ¤Î¥³¥Þ¥ó¥É\n"
+msgstr "エラー, 空ã®ã‚³ãƒžãƒ³ãƒ‰\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr "%s ¤«¤éÆþÎÏ¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%s ã‹ã‚‰å…¥åŠ›ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
-msgstr "%s ¤Ø¥¨¥é¡¼¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%s ã¸ã‚¨ãƒ©ãƒ¼ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
-msgstr "½ÐÎϤò %s ¤ØÄɲÃ\n"
+msgstr "出力を %s ã¸è¿½åŠ \n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "%s ¤Ø½ÐÎÏ¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%s ã¸å‡ºåŠ›ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr "Äɲà %.*s ¤È¸åÊÒÉÕ¤±\n"
+msgstr "追加 %.*s ã¨å¾Œç‰‡ä»˜ã‘\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "Âå¤ï¤ê¤Ë %s ¤ò¼Â¹Ô¤·¤Þ¤¹\n"
+msgstr "代ã‚ã‚Šã« %s を実行ã—ã¾ã™\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "spawn ¤Î¥¨¥é¡¼, %d\n"
+msgstr "spawn ã®ã‚¨ãƒ©ãƒ¼, %d\n"
#: vpath.c:583
msgid ""
@@ -2220,59 +2199,71 @@ msgid ""
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# VPATH õº÷¥Ñ¥¹\n"
+"# VPATH 探索パス\n"
#: vpath.c:600
-#, fuzzy
msgid "# No 'vpath' search paths."
-msgstr "# `vpath' õº÷¥Ñ¥¹¤Ï¤¢¤ê¤Þ¤»¤ó."
+msgstr "# 'vpath' 探索パスã¯ã‚ã‚Šã¾ã›ã‚“."
#: vpath.c:602
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u ¸Ä¤Î `vpath' õº÷¥Ñ¥¹¤¬¤¢¤ê¤Þ¤¹.\n"
+"# %u ã¤ã® 'vpath' 探索パス.\n"
#: vpath.c:605
-#, fuzzy
msgid ""
"\n"
"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# °ìÈ̤Π(`VPATH' ÊÑ¿ô) õº÷¥Ñ¥¹¤Ê¤·."
+"# 一般㮠('VPATH' 変数) 探索パスãªã—."
#: vpath.c:611
-#, fuzzy
msgid ""
"\n"
"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# °ìÈ̤Π(`VPATH' ÊÑ¿ô) õº÷¥Ñ¥¹:\n"
+"# 一般㮠('VPATH' 変数) 探索パス:\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "内部エラー: 複数㮠--sync-mutex オプション"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "内部エラー: 複数㮠--jobserver-fds オプション"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "仮想メモリを使ã„æžœãŸã—ã¾ã—ãŸ"
+
+#~ msgid "write error"
+#~ msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "ビルトイン RM %s\n"
+
#~ msgid "# Invalid value in `update_status' member!"
-#~ msgstr "# `update_status' ¥á¥ó¥Ð¤Ë̵¸ú¤ÊÃÍ!"
+#~ msgstr "# `update_status' メンãƒã«ç„¡åŠ¹ãªå€¤!"
#~ msgid "*** [%s] Error 0x%x (ignored)"
-#~ msgstr "*** [%s] ¥¨¥é¡¼ 0x%x (̵»ë¤µ¤ì¤Þ¤·¤¿)"
+#~ msgstr "*** [%s] エラー 0x%x (無視ã•ã‚Œã¾ã—ãŸ)"
#~ msgid "[%s] Error %d (ignored)"
-#~ msgstr "[%s] ¥¨¥é¡¼ %d (̵»ë¤µ¤ì¤Þ¤·¤¿)"
+#~ msgstr "[%s] エラー %d (無視ã•ã‚Œã¾ã—ãŸ)"
#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-#~ msgstr "¥ì¥·¥Ô¤ò %s:%lu ¤«¤é¸Æ¤Ó½Ð¤·¤Æ¥¿¡¼¥²¥Ã¥È `%s' ¤ò¹¹¿·¤·¤Þ¤¹.\n"
+#~ msgstr "レシピを %s:%lu ã‹ã‚‰å‘¼ã³å‡ºã—ã¦ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ `%s' ã‚’æ›´æ–°ã—ã¾ã™.\n"
#~ msgid "Invoking builtin recipe to update target `%s'.\n"
-#~ msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤ò¹¹¿·¤¹¤ë¤¿¤áÆ⢥쥷¥Ô¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤Þ¤¹.\n"
+#~ msgstr "ターゲット `%s' ã‚’æ›´æ–°ã™ã‚‹ãŸã‚内蔵レシピを呼ã³å‡ºã—ã¦ã„ã¾ã™.\n"
#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-#~ msgstr "%s # strcache ¥Ð¥Ã¥Õ¥¡ %d ¤Î¤¦¤Á: (* %d B/¥Ð¥Ã¥Õ¥¡ = %d B)\n"
+#~ msgstr "%s # strcache ãƒãƒƒãƒ•ã‚¡ %d ã®ã†ã¡: (* %d B/ãƒãƒƒãƒ•ã‚¡ = %d B)\n"
#~ msgid ""
#~ "\n"
@@ -2280,60 +2271,60 @@ msgstr ""
#~ "# "
#~ msgstr ""
#~ "\n"
-#~ "# strcache ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ÎÅý·×:\n"
+#~ "# strcache ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çµ±è¨ˆ:\n"
#~ "# "
#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "ʸˡ¥¨¥é¡¼, '\"' Æâ¤Î¤Þ¤Þ¤Ç¤¹\n"
+#~ msgstr "文法エラー, '\"' 内ã®ã¾ã¾ã§ã™\n"
#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "SIGCHLD ¤¬È¯À¸; %u ¸Ä¤Î̤²ó¼ý»Ò¥×¥í¥»¥¹.\n"
+#~ msgstr "SIGCHLD ãŒç™ºç”Ÿ; %u 個ã®æœªå›žåŽå­ãƒ—ロセス.\n"
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-·Ù¹ð, CTRL-Y ¤Ï»Ò¥×¥í¥»¥¹¤ò»¶¤é¤«¤·¤¿¤Þ¤Þ¤Ë¤¹¤ë¤Ç¤·¤ç¤¦.\n"
+#~ msgstr "-警告, CTRL-Y ã¯å­ãƒ—ロセスを散らã‹ã—ãŸã¾ã¾ã«ã™ã‚‹ã§ã—ょã†.\n"
#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "sh.exe ¤¬»È¤¨¤Ê¤¤¾õÂÖ¤Ç -j ¤ä --jobs ¤ò»ØÄꤷ¤Æ¤Ï¤¤¤±¤Þ¤»¤ó."
+#~ msgstr "sh.exe ãŒä½¿ãˆãªã„状態㧠-j ã‚„ --jobs を指定ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“."
#~ msgid "Resetting make for single job mode."
-#~ msgstr "ñ°ì¥¸¥ç¥Ö¥â¡¼¥É¤Î make ¤Ë¥ê¥»¥Ã¥È¤·¤Þ¤¹."
+#~ msgstr "å˜ä¸€ã‚¸ãƒ§ãƒ–モード㮠make ã«ãƒªã‚»ãƒƒãƒˆã—ã¾ã™."
#~ msgid ""
#~ "%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"
#~ msgstr ""
-#~ "%s¤³¤ì¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹. ÍøÍѵöÂú¤Ë¤Ä¤¤¤Æ¤Ï¥½¡¼¥¹¤ò\n"
-#~ "%s¤´Í÷¤¯¤À¤µ¤¤.\n"
-#~ "%s¾¦¶ÈÀ­¤äÆÃÄê¤ÎÌÜŪ¤Ø¤ÎŬ¹çÀ­¤ÎÇ¡²¿¤Ë´Ø¤ï¤é¤º, ̵ÊݾڤǤ¹.\n"
+#~ "%sã“ã‚Œã¯ãƒ•ãƒªãƒ¼ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã§ã™. 利用許諾ã«ã¤ã„ã¦ã¯ã‚½ãƒ¼ã‚¹ã‚’\n"
+#~ "%sã”覧ãã ã•ã„.\n"
+#~ "%s商業性や特定ã®ç›®çš„ã¸ã®é©åˆæ€§ã®å¦‚何ã«é–¢ã‚らãš, ç„¡ä¿è¨¼ã§ã™.\n"
#~ msgid "extraneous `endef'"
-#~ msgstr "´Ø·¸¤Î¤Ê¤¤ `endef'"
+#~ msgstr "関係ã®ãªã„ `endef'"
#~ msgid "empty `override' directive"
-#~ msgstr "¶õ¤Î `override' µ¿»÷Ì¿Îá"
+#~ msgstr "空㮠`override' 疑似命令"
#~ msgid "invalid `override' directive"
-#~ msgstr "̵¸ú¤Ê `override' µ¿»÷Ì¿Îá"
+#~ msgstr "無効㪠`override' 疑似命令"
#~ msgid "no file name for `%sinclude'"
-#~ msgstr "`%sinclude' ¤Ë¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤»¤ó"
+#~ msgstr "`%sinclude' ã«ãƒ•ã‚¡ã‚¤ãƒ«åãŒã‚ã‚Šã¾ã›ã‚“"
#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤ÎɬÍ×¾ò·ï¥Ñ¥¿¡¼¥ó¤¬¶õ¤Î¤Þ¤Þ¤Ç¤¹"
+#~ msgstr "ターゲット `%s' ã®å¿…è¦æ¡ä»¶ãƒ‘ターンãŒç©ºã®ã¾ã¾ã§ã™"
#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
#~ msgstr ""
-#~ "# ¥Ï¥Ã¥·¥åÍ×ÁǤ¢¤¿¤ê¡¢Ê¿¶Ñ %.3f ¸Ä¡¢ºÇÂç %u ¸Ä¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£\n"
+#~ "# ãƒãƒƒã‚·ãƒ¥è¦ç´ ã‚ãŸã‚Šã€å¹³å‡ %.3f 個ã€æœ€å¤§ %u 個ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚ã‚Šã¾ã™ã€‚\n"
#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "¥Ç¥Ð¥Ã¥¬¤Ë attach ¤¹¤ë¤¿¤á¥×¥í¥»¥¹¤Î°ì»þÄä»ß¤òµö²Ä¤¹¤ë"
+#~ msgstr "デãƒãƒƒã‚¬ã« attach ã™ã‚‹ãŸã‚プロセスã®ä¸€æ™‚åœæ­¢ã‚’許å¯ã™ã‚‹"
#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# ¥Ï¥Ã¥·¥åÍ×ÁǤ¢¤¿¤ê¡¢Ê¿¶Ñ %.1f ¸Ä¡¢ºÇÂç %u ¸Ä¤ÎÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£\n"
+#~ msgstr "# ãƒãƒƒã‚·ãƒ¥è¦ç´ ã‚ãŸã‚Šã€å¹³å‡ %.1f 個ã€æœ€å¤§ %u 個ã®å¤‰æ•°ãŒã‚ã‚Šã¾ã™ã€‚\n"
#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# ¥Ï¥Ã¥·¥åÍ×ÁǤ¢¤¿¤êÊ¿¶Ñ %d.%d ¸Ä¡¢ºÇÂç %u ¸Ä¤ÎÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£\n"
+#~ msgstr "# ãƒãƒƒã‚·ãƒ¥è¦ç´ ã‚ãŸã‚Šå¹³å‡ %d.%d 個ã€æœ€å¤§ %u 個ã®å¤‰æ•°ãŒã‚ã‚Šã¾ã™ã€‚\n"
#~ msgid "the `word' function takes a positive index argument"
-#~ msgstr "`word' ´Ø¿ô¤ÏÈóÉé¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹°ú¿ô¤ò¤È¤ê¤Þ¤¹"
+#~ msgstr "`word' 関数ã¯éžè² ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹å¼•æ•°ã‚’ã¨ã‚Šã¾ã™"
diff --git a/po/ko.gmo b/po/ko.gmo
index bf0cf9c..420b249 100644
--- a/po/ko.gmo
+++ b/po/ko.gmo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
index 256ffb1..709bcb1 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -1,126 +1,136 @@
# Korean messages for GNU make.
-# Copyright (C) 1996, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2001, 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the make package.
+#
# Bang Jun-Young <bangjy@nownuri.net>, 1996.
+# Changwoo Ryu <cwryu@debian.org>, 2001, 2006, 2013.
+#
+# ìš©ì–´
+# - recipe - 명령 (makeì˜ action으로 실행할 명령어를 ë§í•¨)
+# - prerequisite - ì„ í–‰ ì¡°ê±´
+#
+# 참고
+# - order-only란 ì˜ì¡´í•˜ëŠ” 타겟 중ì—ì„œ 명령어 순서만 지정하고 íŒŒì¼ ìˆ˜ì •
+# ì‹œê°ì€ 무시하는 종류를 ë§í•œë‹¤. "Types of Prerequisites" 참고.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 3.79.1\n"
+"Project-Id-Version: GNU make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2001-06-08 01:30+0900\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-12-01 18:10+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
-"Language-Team: Korean <ko@li.org>\n"
+"Language-Team: Korean <translation-team-ko@lists.sourceforge.net>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-KR\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
#: ar.c:46
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use unsupported feature: '%s'"
-msgstr "Áö¿øµÇÁö ¾Ê´Â ±â´ÉÀ» »ç¿ëÇÏ·Á°í ÇÔ: `%s'"
+msgstr "지ì›ë˜ì§€ 않는 ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë ¤ê³  함: '%s'"
#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "¾ÆÄ«ÀÌºê ¸â¹ö touch´Â VMS¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù"
+msgstr "ì•„ì¹´ì´ë¸Œ 멤버 touch는 VMSì—ì„œ 사용할 수 없습니다"
#: ar.c:147
-#, fuzzy, c-format
+#, c-format
msgid "touch: Archive '%s' does not exist"
-msgstr "touch: ¹®¼­ `%s'°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù"
+msgstr "touch: '%s' ì•„ì¹´ì´ë¸Œê°€ 없습니다"
#: ar.c:150
-#, fuzzy, c-format
+#, c-format
msgid "touch: '%s' is not a valid archive"
-msgstr "touch: `%s'´Â Àû¹ýÇÑ ¹®¼­°¡ ¾Æ´Õ´Ï´Ù"
+msgstr "touch: '%s'ì€(는) 올바른 ì•„ì¹´ì´ë¸Œê°€ 아닙니다"
#: ar.c:157
-#, fuzzy, c-format
+#, c-format
msgid "touch: Member '%s' does not exist in '%s'"
-msgstr "touch: ¸â¹ö `%s'°¡ `%s'¿¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù"
+msgstr "touch: '%s' 멤버가 '%s' ì•ˆì— ì—†ìŠµë‹ˆë‹¤"
#: ar.c:164
-#, fuzzy, c-format
+#, c-format
msgid "touch: Bad return code from ar_member_touch on '%s'"
-msgstr "touch: `%s'¿¡ ´ëÇÏ¿© ar_member_touch¿¡¼­ ½ÇÆÐ ¸®ÅÏ ÄÚµå"
+msgstr "touch: '%s'ì— ëŒ€í•˜ì—¬ ar_member_touchì—ì„œ 실패 리턴 코드"
-#: arscan.c:67
-#, fuzzy, c-format
+#: arscan.c:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "lbr$set_moduleÀÌ ¸ðµâÁ¤º¸¸¦ ÃßÃâÇÏ´Â µ¥ ½ÇÆÐ, »óÅ = %d"
+msgstr "lbr$set_module()ì´ ëª¨ë“ˆì •ë³´ë¥¼ 추출하는 ë° ì‹¤íŒ¨, ìƒíƒœ = %d"
-#: arscan.c:173
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_controlÀÌ »óÅ = %d·Î(À¸·Î) ½ÇÆÐ "
+msgstr "lbr$ini_control()ì´ ì‹¤íŒ¨, ìƒíƒœ = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
-msgstr "¸â¹ö `%2$s'¸¦ ÂüÁ¶Çϱâ À§ÇØ ¶óÀ̺귯¸® `%1$s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "'%2$s' 멤버를 참조하려고 '%1$s' ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ì—´ 수 없습니다"
-#: arscan.c:847
-#, fuzzy, c-format
+#: arscan.c:944
+#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "¸â¹ö `%s'%s: %ld¹ÙÀÌÆ®, %ld (%ld) ¿¡¼­.\n"
+msgstr "멤버 '%s'%s: %ldë°”ì´íŠ¸, 위치 %ld (%ld).\n"
-# ÀÌ¹Ì Àß·ÁÁø À̸§À» Ç¥½ÃÇϸ鼭 À̸§ÀÌ Àß·ÁÁ³À» ¼öµµ ÀÖÀ¸´Ï À¯ÀÇÇ϶ó´Â ¶æ
-#: arscan.c:848
+# ì´ë¯¸ 잘려진 ì´ë¦„ì„ í‘œì‹œí•˜ë©´ì„œ ì´ë¦„ì´ ìž˜ë ¤ì¡Œì„ ìˆ˜ë„ ìžˆìœ¼ë‹ˆ 유ì˜í•˜ë¼ëŠ” 뜻
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (À̸§ÀÌ Àß·Á³ª°¬À» ¼öµµ ÀÖ½À´Ï´Ù)"
+msgstr " (ì´ë¦„ì´ ìž˜ë ¤ë‚˜ê°”ì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
-msgstr " ³¯Â¥ %s"
+msgstr " 날짜 %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
-msgstr " uid = %d, gid = %d, ¸ðµå = 0%o.\n"
+msgstr " uid = %d, gid = %d, 모드 = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
-msgstr ""
+msgstr "ëª…ë ¹ì–´ì— ì¤„ì´ ë„ˆë¬´ 많습니다(%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
-msgstr "*** ÁßÁö.\n"
+msgstr "*** 중지.\n"
-#: commands.c:630
-#, fuzzy, c-format
+#: commands.c:629
+#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
-msgstr "*** [%s] ¾ÆÄ«ÀÌºê ¸â¹ö `%s'´Â °¡Â¥ÀÏ ¼ö ÀÖ½À´Ï´Ù; Áö¿ìÁö ¾Ê½À´Ï´Ù"
+msgstr "*** [%s] ì•„ì¹´ì´ë¸Œ '%s' 멤버는 ê°€ì§œì¼ ìˆ˜ 있으므로 삭제하지 않습니다"
#: commands.c:633
-#, fuzzy, c-format
+#, c-format
msgid "*** Archive member '%s' may be bogus; not deleted"
-msgstr "*** ¾ÆÄ«ÀÌºê ¸â¹ö `%s'´Â °¡Â¥ÀÏ ¼ö ÀÖ½À´Ï´Ù; Áö¿ìÁö ¾Ê½À´Ï´Ù"
+msgstr "*** ì•„ì¹´ì´ë¸Œ '%s' 멤버는 ê°€ì§œì¼ ìˆ˜ 있으므로 삭제하지 않습니다"
-#: commands.c:646
-#, fuzzy, c-format
+#: commands.c:647
+#, c-format
msgid "*** [%s] Deleting file '%s'"
-msgstr "*** [%s] ÆÄÀÏ `%s'À»(¸¦) ÁÖÀÔ´Ï´Ù"
+msgstr "*** [%s] '%s' 파ì¼ì„ 삭제합니다"
-#: commands.c:648
-#, fuzzy, c-format
+#: commands.c:649
+#, c-format
msgid "*** Deleting file '%s'"
-msgstr "*** ÆÄÀÏ `%s'À»(¸¦) Áö¿ó´Ï´Ù"
+msgstr "*** '%s' 파ì¼ì„ 삭제합니다"
-#: commands.c:684
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# ½ÇÇàÇÒ ¸í·É¾î"
+msgstr "# 실행할 명령어"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
-msgstr " (³»Àå):"
+msgstr " (내장):"
-#: commands.c:689
-#, fuzzy, c-format
+#: commands.c:690
+#, c-format
msgid " (from '%s', line %lu):\n"
-msgstr " (`%s'¿¡¼­, %lu¹ø° ÁÙ):\n"
+msgstr " ('%s'ì—ì„œ, %lu번째 줄):\n"
#: dir.c:989
msgid ""
@@ -128,946 +138,955 @@ msgid ""
"# Directories\n"
msgstr ""
"\n"
-"# µð·ºÅ丮\n"
+"# 디렉터리\n"
#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: statÀ» ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù.\n"
+msgstr "# %s: statì„ í•  수 없었습니다.\n"
#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (Å° %s, º¯°æ½Ã°¢ %d): ¿­ ¼ö ¾ø½À´Ï´Ù.\n"
+msgstr "# %s (키 %s, ë³€ê²½ì‹œê° %d): ì—´ 수 없습니다.\n"
#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
-msgstr "# %s (ÀåÄ¡ %d, ¾ÆÀ̳ëµå [%d,%d,%d]): ¿­ ¼ö ¾ø½À´Ï´Ù.\n"
+msgstr "# %s (장치 %d, ì•„ì´ë…¸ë“œ [%d,%d,%d]): ì—´ 수 없습니다.\n"
#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
-msgstr "# %s (ÀåÄ¡ %ld, ¾ÆÀ̳ëµå %ld): ¿­ ¼ö ¾ø½À´Ï´Ù.\n"
+msgstr "# %s (장치 %ld, ì•„ì´ë…¸ë“œ %ld): ì—´ 수 없습니다.\n"
#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (Å° %s, º¯°æ½Ã°¢ %d): "
+msgstr "# %s (키 %s, ë³€ê²½ì‹œê° %d): "
#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (ÀåÄ¡ %d, ¾ÆÀ̳ëµå [%d,%d,%d]): "
+msgstr "# %s (장치 %d, ì•„ì´ë…¸ë“œ [%d,%d,%d]): "
#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (ÀåÄ¡ %ld, ¾ÆÀ̳ëµå %ld): "
+msgstr "# %s (장치 %ld, ì•„ì´ë…¸ë“œ %ld): "
-# ¿©±â¼­ No´Â "No files"¶ó°í ¾²ÀδÙ. ±Ã±ØÀûÀ¸·Î msgid°¡ °íÃÄÁ®¾ß ÇÔ
+# 여기서 No는 "No files"ë¼ê³  ì“°ì¸ë‹¤. ê¶ê·¹ì ìœ¼ë¡œ msgidê°€ ê³ ì³ì ¸ì•¼ 함
#: dir.c:1056 dir.c:1077
msgid "No"
-msgstr "0°³"
+msgstr "0개"
#: dir.c:1059 dir.c:1080
msgid " files, "
-msgstr " ÆÄÀÏ, "
+msgstr " 파ì¼, "
-# ¿©±â¼­ no´Â "no impossibilities"¶ó°í ¾²ÀδÙ. ±Ã±ØÀûÀ¸·Î msgid°¡ °íÃÄÁ®¾ß ÇÔ
+# 여기서 no는 "no impossibilities"ë¼ê³  ì“°ì¸ë‹¤. ê¶ê·¹ì ìœ¼ë¡œ msgidê°€ ê³ ì³ì ¸ì•¼ 함
#: dir.c:1061 dir.c:1082
msgid "no"
-msgstr "0°³"
+msgstr "0개"
#: dir.c:1064
msgid " impossibilities"
-msgstr " ºÒ°¡´É"
+msgstr " 불가능"
#: dir.c:1068
msgid " so far."
-msgstr " Áö±Ý±îÁö."
+msgstr " 지금까지."
#: dir.c:1085
-#, fuzzy, c-format
+#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " %u°³ÀÇ µð·ºÅ丮¿¡¼­ ºÒ°¡´É.\n"
+msgstr " 디렉토리 %luê°œì—ì„œ 불가능.\n"
#: expand.c:125
-#, fuzzy, c-format
+#, c-format
msgid "Recursive variable '%s' references itself (eventually)"
-msgstr "Àç±Í º¯¼ö `%s'´Â ÀÚ±â ÀÚ½ÅÀ» ÂüÁ¶ÇÏ°í ÀÖ½À´Ï´Ù (°á±¹)"
+msgstr "재귀하는 '%s' 변수는 (ê²°êµ­) ìžê¸° ìžì‹ ì„ 참조하고 있습니다"
#: expand.c:269
msgid "unterminated variable reference"
-msgstr "Á¾°áµÇÁö ¾ÊÀº º¯¼ö ÂüÁ¶"
+msgstr "변수 ì°¸ì¡°ì— ëë§ˆì¹¨ì´ ì—†ìŠµë‹ˆë‹¤"
-#: file.c:269
-#, fuzzy, c-format
+#: file.c:271
+#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
-msgstr "ÆÄÀÏ `%s'ÀÇ %s:%lu¿¡¼­ ¸í·É¾î°¡ ÁöÁ¤µÇ¾ú½À´Ï´Ù,"
+msgstr "íŒŒì¼ '%s'ì˜ %s:%luì—ì„œ ëª…ë ¹ì„ ì§€ì •í–ˆìŠµë‹ˆë‹¤."
-#: file.c:274
-#, fuzzy, c-format
+#: file.c:276
+#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
-msgstr "ÆÄÀÏ `%s'¸¦ À§ÇÑ ¸í·ÉÀ» ¹¬½ÃÀû ±ÔÄ¢ Ž»öÀ¸·Î ã¾Ò½À´Ï´Ù."
+msgstr "íŒŒì¼ '%s'ì— ëŒ€í•œ ëª…ë ¹ì„ ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ìœ¼ë¡œ 찾았습니다."
-#: file.c:277
-#, fuzzy, c-format
+#: file.c:280
+#, c-format
msgid "but '%s' is now considered the same file as '%s'."
-msgstr "ÇÏÁö¸¸ `%s'´Â ÀÌÁ¦ `%s'¿Í °°Àº ÆÄÀÏ·Î °£Áֵ˴ϴÙ."
+msgstr "하지만 '%s' 파ì¼ì€ ì´ì œ '%s'ê³¼(와) ê°™ì€ íŒŒì¼ë¡œ 간주합니다."
-#: file.c:280
-#, fuzzy, c-format
+#: file.c:283
+#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
-msgstr "`%s'¿¡ ´ëÇÑ ¸í·É¾î´Â `%s'¿¡ ´ëÇÑ ¸í·É¾î°¡ ¿ì¼±ÇϹǷΠ¹«½ÃµË´Ï´Ù.."
+msgstr "'%s'ì— ëŒ€í•œ ëª…ë ¹ì€ '%s'ì— ëŒ€í•œ ëª…ë ¹ì´ ìš°ì„ í•˜ë¯€ë¡œ 무시합니다."
-#: file.c:300
-#, fuzzy, c-format
+#: file.c:303
+#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
-msgstr "´ÜÀÏ ÄÝ·Ð `%s'¸¦ ÀÌÁß ÄÝ·Ð `%s'·Î À̸§¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
+msgstr "ë‹¨ì¼ ì½œë¡  '%s'ì„(를) ì´ì¤‘ 콜론 '%s'(으)ë¡œ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다"
-#: file.c:305
-#, fuzzy, c-format
+#: file.c:309
+#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
-msgstr "ÀÌÁß ÄÝ·Ð `%s'¸¦ ´ÜÀÏ ÄÝ·Ð `%s'·Î À̸§¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
+msgstr "ì´ì¤‘ 콜론 '%s'ì„(를) ë‹¨ì¼ ì½œë¡  '%s'(으)ë¡œ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다"
-#: file.c:396
-#, fuzzy, c-format
+#: file.c:401
+#, c-format
msgid "*** Deleting intermediate file '%s'"
-msgstr "*** Áß°£ ÆÄÀÏ `%s'À»(¸¦) ÁÖÀÔ´Ï´Ù"
+msgstr "*** 중간 íŒŒì¼ '%s'ì„(를) 삭제합니다"
-#: file.c:400
-#, fuzzy
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "*** Áß°£ ÆÄÀÏ `%s'À»(¸¦) ÁÖÀÔ´Ï´Ù"
+msgstr "중간 파ì¼ì„ 제거합니다...\n"
+
+#: file.c:811
+msgid "Current time"
+msgstr "현재 ì‹œê°"
-#: file.c:808
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: ŸÀÓ½ºÅÆÇÁ°¡ ¹üÀ§¸¦ ¹þ¾î³³´Ï´Ù; %sÀ»(¸¦) ´ëüÇÕ´Ï´Ù"
-
-#: file.c:809
-msgid "Current time"
-msgstr "ÇöÀç ½Ã°¢"
+msgstr "%s: 타임스탬프가 범위를 벗어나므로, %sì„(를) 대체합니다"
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
-msgstr "# Ÿ°ÙÀÌ ¾Æ´Ô:"
+msgstr "# íƒ€ê²Ÿì´ ì•„ë‹˜:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# ÇÁ·¹½Ã¾î½º ÆÄÀÏ (.PRECIOUSÀÇ ¼±ÇàÁ¶°Ç)."
+msgstr "# 프레시어스 íŒŒì¼ (.PRECIOUSì˜ ì„ í–‰ì¡°ê±´)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Æ÷´Ï Ÿ°Ù (.PHONYÀÇ ¼±ÇàÁ¶°Ç)."
+msgstr "# í¬ë‹ˆ 타겟 (.PHONYì˜ ì„ í–‰ì¡°ê±´)."
-#: file.c:958
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# ¸í·ÉÇà Ÿ°Ù."
+msgstr "# 명령행 타겟."
-#: file.c:960
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# ±âº» ¸ÞÀÌÅ©ÆÄÀÏ È¤Àº MAKEFILES ¸ÞÀÌÅ©ÆÄÀÏ."
+msgstr ""
+"# 기본 ë©”ì´í¬íŒŒì¼, MAKEFILES ë©”ì´í¬íŒŒì¼, ë˜ëŠ” -include/sinclude ë©”ì´í¬íŒŒì¼."
-#: file.c:962
-#, fuzzy
+#: file.c:968
msgid "# Builtin rule"
-msgstr ""
-"\n"
-"# ¹¬½ÃÀû ±ÔÄ¢ ¾øÀ½."
+msgstr "# 내장 규칙"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# ¹¬½ÃÀû ±ÔÄ¢ Ž»öÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù."
+msgstr "# ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ì´ 완료ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# ¹¬½ÃÀû ±ÔÄ¢ Ž»öÀÌ ¿Ï·áµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+msgstr "# ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ì´ 완료ë˜ì§€ 않았습니다."
-#: file.c:967
-#, fuzzy, c-format
+#: file.c:973
+#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
-msgstr "# ¹¬½ÃÀû/°íÁ¤ ÆÐÅÏ ½ºÅÛ: `%s'\n"
+msgstr "# 묵시ì /ê³ ì • 패턴 스템: '%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# ÆÄÀÏÀÌ Áß°£´Ü°èÀÇ ¼±ÇàÁ¶°ÇÀÔ´Ï´Ù."
+msgstr "# 파ì¼ì´ ì¤‘ê°„ë‹¨ê³„ì˜ ì„ í–‰ì¡°ê±´ìž…ë‹ˆë‹¤."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
-msgstr "# ´ÙÀ½µµ ¸¸µì´Ï´Ù:"
+msgstr "# 다ìŒë„ 만듭니다:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# º¯°æ ½Ã°¢ÀÌ °áÄÚ °Ë»çµÇÁö ¾Ê¾ÒÀ½."
+msgstr "# 변경 ì‹œê°ì´ ê²°ì½” 검사ë˜ì§€ 않았ìŒ."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
-msgstr "# ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù."
+msgstr "# 파ì¼ì´ 없습니다."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
-msgstr "# ÆÄÀÏÀÌ ¸Å¿ì ¿À·¡µÇ¾ú½À´Ï´Ù."
+msgstr "# 파ì¼ì´ 매우 오래ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# ¸¶Áö¸· º¯°æ %s\n"
+msgstr "# 마지막 변경 %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
-msgstr "# ÆÄÀÏÀÌ °»½ÅµÇ¾ú½À´Ï´Ù."
+msgstr "# 파ì¼ì„ ì—…ë°ì´íŠ¸í–ˆìŠµë‹ˆë‹¤."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
-msgstr "# ÆÄÀÏÀÌ °»½ÅµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+msgstr "# 파ì¼ì„ ì—…ë°ì´íŠ¸í•˜ì§€ 않았습니다."
-#: file.c:995
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# ÇöÀç ½ÇÇàÁßÀÎ ¸í·É (ÀÌ°ÍÀº ¹ö±×ÀÔ´Ï´Ù)."
+msgstr "# 현재 ì‹¤í–‰ì¤‘ì¸ ëª…ë ¹(ì´ê²ƒì€ 버그입니다)."
-#: file.c:998
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# ÇöÀç ½ÇÇàÁßÀÎ ÀÇÁ¸¼º (ÀÌ°ÍÀº ¹ö±×ÀÔ´Ï´Ù)."
+msgstr "# 현재 ì‹¤í–‰ì¤‘ì¸ ì˜ì¡´ì„±(ì´ê²ƒì€ 버그입니다)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# ¼º°øÀûÀ¸·Î °»½ÅµÊ."
+msgstr "# 성공ì ìœ¼ë¡œ ì—…ë°ì´íŠ¸."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# °»½ÅµÉ ÇÊ¿ä°¡ ÀÖÀ½ (-q ¼³Á¤µÊ)."
+msgstr "# ì—…ë°ì´íŠ¸ í•„ìš”(-q 설정ë¨)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# °»½Å¿¡ ½ÇÆÐÇÔ."
+msgstr "# ì—…ë°ì´íŠ¸ 실패."
-#: file.c:1019
-#, fuzzy
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
-msgstr "# `command_status' ¸â¹ö¿¡ °ªÀÌ À߸øµÇ¾ú½À´Ï´Ù!"
+msgstr "# 'command_status' ë©¤ë²„ì— ê°’ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
msgstr ""
"\n"
-"# ÆÄÀÏ"
+"# 파ì¼"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
+"\n"
+"# íŒŒì¼ í•´ì‹œ í…Œì´ë¸” 통계:\n"
+"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
-msgstr ""
+msgstr "%s: '%s' 필드가 ìºì‹œì— ì—†ìŒ: %s"
-#: function.c:742
-#, fuzzy
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
-msgstr "`word' ÇÔ¼öÀÇ Ã¹¹ø° ÀÎÀÚ°¡ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù"
+msgstr "'word' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžê°€ 숫ìžê°€ 아닙니다"
-#: function.c:747
-#, fuzzy
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
-msgstr "`word' ÇÔ¼öÀÇ Ã¹¹ø° ÀÎÀÚ´Â 0º¸´Ù Ä¿¾ß ÇÕ´Ï´Ù"
+msgstr "'word' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžëŠ” 0보다 커야 합니다"
-#: function.c:767
-#, fuzzy
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
-msgstr "`wordlist' ÇÔ¼öÀÇ Ã¹¹ø° ÀÎÀÚ°¡ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù"
+msgstr "'wordlist' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžê°€ 숫ìžê°€ 아닙니다"
-#: function.c:769
-#, fuzzy
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
-msgstr "`wordlist' ÇÔ¼öÀÇ µÎ¹ø° ÀÎÀÚ°¡ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù"
+msgstr "'wordlist' í•¨ìˆ˜ì˜ ë‘번째 ì¸ìžê°€ 숫ìžê°€ 아닙니다"
-#: function.c:1460
-#, fuzzy, c-format
+#: function.c:1499
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) ½ÇÆÐ (e=%d)\n"
+msgstr "windows32_openpipe: DuplicateHandle(In) 실패(e=%ld)\n"
-#: function.c:1483
-#, fuzzy, c-format
+#: function.c:1523
+#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) ½ÇÆÐ (e=%d)\n"
+msgstr "windows32_openpipe: DuplicateHandle(Err) 실패(e=%ld)\n"
-#: function.c:1490
-#, fuzzy, c-format
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() ½ÇÆÐ (e=%d)\n"
+msgstr "CreatePipe() 실패(e=%ld)\n"
-#: function.c:1498
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() ½ÇÆÐ\n"
+msgstr "windows32_openpipe(): process_init_fd() 실패\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "Àӽà ¹èÄ¡ ÆÄÀÏ %sÀ»(¸¦) Áö¿ó´Ï´Ù\n"
+msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 지ì›ë‹ˆë‹¤\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
-msgstr ""
+msgstr "open: %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
-msgstr ""
+msgstr "write: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
-msgstr ""
+msgstr "올바르지 ì•Šì€ íŒŒì¼ ë™ìž‘: %s"
-#: function.c:2279
-#, fuzzy, c-format
+#: function.c:2324
+#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
-msgstr "ÇÔ¼ö `%2$s'¿¡ ÀÎÀÚ °¹¼ö(%1$d)°¡ ºÎÁ·ÇÕ´Ï´Ù "
+msgstr "함수 '%2$s'ì— ì¸ìž 갯수(%1$d)ê°€ 부족합니다 "
-#: function.c:2291
-#, fuzzy, c-format
+#: function.c:2336
+#, c-format
msgid "unimplemented on this platform: function '%s'"
-msgstr "ÀÌ Ç÷§Æû¿¡¼­´Â ±¸ÇöµÇÁö ¾Ê¾Ò½À´Ï´Ù: `%s' ÇÔ¼ö"
+msgstr "ì´ í”Œëž«í¼ì—서는 구현ë˜ì§€ 않았습니다: '%s' 함수"
-#: function.c:2354
-#, fuzzy, c-format
+#: function.c:2399
+#, c-format
msgid "unterminated call to function '%s': missing '%c'"
-msgstr "ÇÔ¼ö `%s'¿¡ ´ëÇØ Á¾·áµÇÁö ¾ÊÀº È£Ãâ: `%c'°¡ ºüÁ³À½"
+msgstr "함수 '%s'ì— ëŒ€í•´ 종료ë˜ì§€ ì•Šì€ í˜¸ì¶œ: '%c' 문ìžê°€ ë¹ ì¡ŒìŒ"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "빈 함수 ì´ë¦„: %s\n"
-#: function.c:2548
-#, c-format
-msgid "Invalid function name: %s\n"
-msgstr ""
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "ìž˜ëª»ëœ í•¨ìˆ˜ ì´ë¦„: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
-msgstr ""
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "함수 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤: %s\n"
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
-msgstr "ÇÔ¼ö `%2$s'¿¡ ÀÎÀÚ °¹¼ö(%1$d)°¡ ºÎÁ·ÇÕ´Ï´Ù "
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "함수 `%2$s'ì— ìµœì†Œ ì¸ìž 갯수(%1$d)ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤\n"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
-msgstr "ÇÔ¼ö `%2$s'¿¡ ÀÎÀÚ °¹¼ö(%1$d)°¡ ºÎÁ·ÇÕ´Ï´Ù "
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "함수 `%2$s'ì— ìµœëŒ€ ì¸ìž 갯수(%1$d)ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤\n"
#: getopt.c:659
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: `%s'´Â ¾Ö¸ÅÇÑ ¿É¼ÇÀÔ´Ï´Ù\n"
+msgstr "%s: '%s' ì˜µì…˜ì€ ì• ë§¤í•œ 옵션입니다\n"
#: getopt.c:683
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: `--%s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+msgstr "%s: '--%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
#: getopt.c:688
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: `%c%s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+msgstr "%s: '%c%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
#: getopt.c:705 getopt.c:878
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: `%s' ¿É¼ÇÀº Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù\n"
+msgstr "%s: '%s' ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다\n"
#: getopt.c:734
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `--%s'\n"
+msgstr "%s: ì¸ì‹í•  수 없는 옵션 '--%s'\n"
#: getopt.c:738
-#, fuzzy, c-format
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `%c%s'\n"
+msgstr "%s: ì¸ì‹í•  수 없는 옵션 '%c%s'\n"
#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: À߸øµÈ ¿É¼Ç -- %c\n"
+msgstr "%s: ìž˜ëª»ëœ ì˜µì…˜ -- %c\n"
#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: ºÎÀûÀýÇÑ ¿É¼Ç -- %c\n"
+msgstr "%s: 부ì ì ˆí•œ 옵션 -- %c\n"
#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ÀÌ ¿É¼ÇÀº Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù -- %c\n"
+msgstr "%s: ì´ ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다 -- %c\n"
#: getopt.c:844
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: `-W %s' ¿É¼ÇÀº ¾Ö¸ÅÇÑ ¿É¼ÇÀÔ´Ï´Ù\n"
+msgstr "%s: '-W %s' ì˜µì…˜ì€ ì• ë§¤í•œ 옵션입니다\n"
#: getopt.c:862
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: `-W %s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+msgstr "%s: '-W %s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
-msgstr ""
+msgstr "guile: '%s' 확장\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
-msgstr ""
+msgstr "guile: '%s' í•´ì„\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr ""
+msgstr "í•´ì‹œ í…Œì´ë¸”ì— %lu ë°”ì´íŠ¸ë¥¼ 할당할 수 없습니다: 메모리 바닥남"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr ""
+msgstr "로드=%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
msgid "Rehash=%d, "
-msgstr ""
+msgstr "다시 해시=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr ""
+msgstr "충ëŒ=%ld/%ld=%.0f%%"
#: implicit.c:38
-#, fuzzy, c-format
+#, c-format
msgid "Looking for an implicit rule for '%s'.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢À» ã°í ÀÖ½À´Ï´Ù.\n"
+msgstr "'%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ê³  있습니다.\n"
#: implicit.c:54
-#, fuzzy, c-format
+#, c-format
msgid "Looking for archive-member implicit rule for '%s'.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¾ÆÄ«À̺ê¸â¹ö ¹¬½ÃÀû ±ÔÄ¢À» ã°í ÀÖ½À´Ï´Ù.\n"
+msgstr "'%s'ì— ëŒ€í•œ ì•„ì¹´ì´ë¸Œë©¤ë²„ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ê³  있습니다.\n"
#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "¹¬½ÃÀû ±ÔÄ¢ÀÇ Àç±Í¸¦ ÇÇÇÔ.\n"
+msgstr "ë¬µì‹œì  ê·œì¹™ì˜ ìž¬ê·€ë¥¼ 피함.\n"
+# 스템(stem)ì´ëž€ 패턴 룰ì—ì„œ prefix/suffix를 제외한 나머지를 ë§í•œë‹¤.
+# 예를 들어 `%.c'ë¼ëŠ” íŒ¨í„´ì— `hello.c'ê°€ 들어 ë§žì•˜ì„ ê²½ìš° stemì€ `hello'ì´ë‹¤.
#: implicit.c:486
#, c-format
msgid "Stem too long: '%.*s'.\n"
-msgstr ""
+msgstr "ìŠ¤í…œì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤: '%.*s'.\n"
-# ½ºÅÛstemÀ̶õ ÆÐÅÏ ·ê¿¡¼­ prefix/suffix¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö¸¦ ¸»ÇÑ´Ù.
-# ¿¹¸¦ µé¾î `%.c'¶ó´Â ÆÐÅÏ¿¡ `hello.c'°¡ µé¾î ¸Â¾ÒÀ» °æ¿ì stemÀº `hello'ÀÌ´Ù.
+# 스템(stem)ì´ëž€ 패턴 룰ì—ì„œ prefix/suffix를 제외한 나머지를 ë§í•œë‹¤.
+# 예를 들어 `%.c'ë¼ëŠ” íŒ¨í„´ì— `hello.c'ê°€ 들어 ë§žì•˜ì„ ê²½ìš° stemì€ `hello'ì´ë‹¤.
#: implicit.c:491
-#, fuzzy, c-format
+#, c-format
msgid "Trying pattern rule with stem '%.*s'.\n"
-msgstr "½ºÅÛ `%.*s'¿¡¼­ºÎÅÍ ÆÐÅÏ ±ÔÄ¢ ½Ãµµ.\n"
+msgstr "'%.*s' 스템ì—ì„œ 패턴 규칙 ì‹œë„.\n"
#: implicit.c:697
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible rule prerequisite '%s'.\n"
-msgstr "ºÒ°¡´ÉÇÑ ±ÔÄ¢ ¼±ÇàÁ¶°Ç `%s'Àº(´Â) °ÅºÎµË´Ï´Ù.\n"
+msgstr "불가능한 규칙 선행조건 '%s'ì€(는) 거부ë©ë‹ˆë‹¤.\n"
#: implicit.c:698
-#, fuzzy, c-format
+#, c-format
msgid "Rejecting impossible implicit prerequisite '%s'.\n"
-msgstr "ºÒ°¡´ÉÇÑ ¹¬½ÃÀû ¼±ÇàÁ¶°Ç `%s'Àº(´Â) °ÅºÎµË´Ï´Ù.\n"
+msgstr "불가능한 ë¬µì‹œì  ì„ í–‰ì¡°ê±´ '%s'ì€(는) 거부ë©ë‹ˆë‹¤.\n"
#: implicit.c:711
-#, fuzzy, c-format
+#, c-format
msgid "Trying rule prerequisite '%s'.\n"
-msgstr "±ÔÄ¢ ¼±ÇàÁ¶°Ç `%s'À»(¸¦) ½ÃµµÇÕ´Ï´Ù.\n"
+msgstr "규칙 선행조건 '%s'ì„(를) ì‹œë„합니다.\n"
#: implicit.c:712
-#, fuzzy, c-format
+#, c-format
msgid "Trying implicit prerequisite '%s'.\n"
-msgstr "¹¬½ÃÀû ¼±ÇàÁ¶°Ç `%s'À»(¸¦) ½ÃµµÇÕ´Ï´Ù\n"
+msgstr "ë¬µì‹œì  ì„ í–‰ì¡°ê±´ '%s'ì„(를) ì‹œë„합니다.\n"
#: implicit.c:751
-#, fuzzy, c-format
+#, c-format
msgid "Found prerequisite '%s' as VPATH '%s'\n"
-msgstr "VPATH `%2$s'¿¡¼­ ¼±ÇàÁ¶°Ç `%1$s'À»(¸¦) ã¾Ò½À´Ï´Ù\n"
+msgstr "VPATH '%2$s'ì—ì„œ 선행조건 '%1$s'ì„(를) 찾았습니다\n"
#: implicit.c:765
-#, fuzzy, c-format
+#, c-format
msgid "Looking for a rule with intermediate file '%s'.\n"
-msgstr "Áß°£ ÆÄÀÏ `%s'¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢À» ã°í ÀÖ½À´Ï´Ù.\n"
+msgstr "중간 íŒŒì¼ '%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ê³  있습니다.\n"
#: job.c:361
-#, fuzzy
msgid "Cannot create a temporary file\n"
-msgstr "fwrite (Àӽà ÆÄÀÏ)"
+msgstr "ìž„ì‹œ 파ì¼ì„ 만들 수 없습니다\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
-msgstr " (¸Þ¸ð¸® ´ýÇÁµÊ)"
+msgstr " (메모리 ë¤í”„ë¨)"
-#: job.c:487
-#, fuzzy
+#: job.c:488
msgid " (ignored)"
-msgstr "[%s] ¿À·ù %d (¹«½ÃµÊ)"
+msgstr " (무시ë¨)"
-#: job.c:491 job.c:1994
-#, fuzzy
+#: job.c:492 job.c:2046
msgid "<builtin>"
-msgstr " (³»Àå):"
+msgstr "<내장>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
-msgstr ""
-
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] ¿À·ù 0x%x"
+msgstr "%s: '%s' íƒ€ê²Ÿì— ëŒ€í•œ ëª…ë ¹ì´ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: job.c:513
-#, fuzzy, c-format
+#: job.c:516 job.c:524
+#, c-format
msgid "%s[%s] Error %d%s"
-msgstr "*** [%s] ¿À·ù %d"
+msgstr "%s[%s] 오류 %d%s"
-#: job.c:517
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] 오류 0x%x%s"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
-msgstr ""
+msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** ³¡³ªÁö ¾ÊÀº ÀÛ¾÷À» ±â´Ù¸®°í ÀÖ½À´Ï´Ù...."
+msgstr "*** ë나지 ì•Šì€ ìž‘ì—…ì„ ê¸°ë‹¤ë¦¬ê³  있습니다...."
-#: job.c:639
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "»ì¾ÆÀÖ´Â ÀÚ½Ä ÇÁ·Î¼¼½º 0x%08lx (%s) PID %ld %s\n"
+msgstr "살아있는 하위 프로세스 %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
-msgstr " (¿ø°Ý)"
+msgstr " (ì›ê²©)"
-#: job.c:829
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "½ÇÆÐÇÑ ÀÚ½Ä ÇÁ·Î¼¼½º 0x%08lx PID %ld %sÀ»(¸¦) °ÅµÖµéÀÔ´Ï´Ù\n"
+msgstr "실패한 하위 프로세스 %p PID %s %sì„(를) 거둬들입니다\n"
-#: job.c:830
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "¼º°øÇÑ ÀÚ½Ä ÇÁ·Î¼¼½º 0x%08lx PID %ld %sÀ»(¸¦) °ÅµÖµéÀÔ´Ï´Ù\n"
+msgstr "성공한 하위 프로세스 %p PID %s %sì„(를) 거둬들입니다\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "Àӽà ¹èÄ¡ ÆÄÀÏ %sÀ»(¸¦) Áö¿ó´Ï´Ù\n"
+msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 지ì›ë‹ˆë‹¤\n"
-#: job.c:843
-#, fuzzy, c-format
+#: job.c:855
+#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
-msgstr "Àӽà ¹èÄ¡ ÆÄÀÏ %sÀ»(¸¦) Áö¿ó´Ï´Ù\n"
+msgstr "ìž„ì‹œ 배치 íŒŒì¼ %s 지우기가 실패했습니다(%d)\n"
-#: job.c:949
-#, fuzzy, c-format
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "üÀο¡¼­ ÀÚ½ÄÇÁ·Î¼¼½º 0x%08lx PID %ld %sÀ»(¸¦) Áö¿ó´Ï´Ù.\n"
+msgstr "하위 프로세스 %p PID %s%sì„(를) ì²´ì¸ì—ì„œ 지ì›ë‹ˆë‹¤.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "ìž‘ì—… 서버 세마í¬ì–´ í•´ì œ: (오류 %ld: %s)"
-#: job.c:1011 job.c:1025
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "ÀÚ½ÄÇÁ·Î¼¼½º child 0x%08lx (%s) ¿¡ ÅäÅ«À» ³»¾î ÁÝ´Ï´Ù.\n"
+msgstr "하위 프로세스 %p(%s)ì— í† í°ì„ ë‚´ì–´ ì¤ë‹ˆë‹¤.\n"
-# ??? µð¹ö±ë ¸Þ¼¼Áö
-#: job.c:1023
+# ??? 디버깅 메세지
+#: job.c:1036
msgid "write jobserver"
-msgstr "ÀÛ¾÷¼­¹ö ¾²±â"
+msgstr "작업서버 쓰기"
-#: job.c:1612 job.c:2332
-#, fuzzy, c-format
+#: job.c:1662 job.c:2387
+#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
-msgstr "process_easy()°¡ ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÏ´Â µ¥ ½ÇÆÐÇß½À´Ï´Ù (e=%d)\n"
+msgstr "process_easy()ê°€ 프로세스를 시작하는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤(e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"½ÇÇà ½ÇÆп¡¼­ %d°³ÀÇ Àμö\n"
+"실행 실패ì—ì„œ ì¸ìˆ˜ %dê°œ\n"
-#: job.c:1685
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "ÀÚ½ÄÇÁ·Î¼¼½º 0x%08lx (%s) PID %ld%sÀ»(¸¦) üÀο¡ ³Ö½À´Ï´Ù.\n"
+msgstr "하위 프로세스 %p(%s) PID %s%sì„(를) ì²´ì¸ì— 넣습니다.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
-msgstr ""
+msgstr "세마í¬ì–´ ë˜ëŠ” 하위 프로세스 대기: (오류 %ld: %s)"
-#: job.c:1967
-#, fuzzy, c-format
+#: job.c:2019
+#, c-format
msgid "Obtained token for child %p (%s).\n"
-msgstr "ÀÚ½Ä ÇÁ·Î¼¼½º 0x%08lx (%s)¿¡¼­ ÅäÅ«À» ¹Þ¾Ò½À´Ï´Ù.\n"
+msgstr "하위 프로세스 %p(%s)ì—ì„œ 토í°ì„ 받았습니다.\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "ÀÛ¾÷ ÆÄÀÌÇÁ Àбâ"
+msgstr "ìž‘ì—… 파ì´í”„ ì½ê¸°"
-#: job.c:2003
-#, fuzzy, c-format
+#: job.c:2056
+#, c-format
msgid "%s: target '%s' does not exist"
-msgstr "touch: ¹®¼­ `%s'°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù"
+msgstr "%s: '%s' íƒ€ê²Ÿì´ ì—†ìŠµë‹ˆë‹¤"
-#: job.c:2005
-#, fuzzy, c-format
+#: job.c:2059
+#, c-format
msgid "%s: update target '%s' due to: %s"
-msgstr "%1$s`%3$s'¿¡¼­ ÇÊ¿ä·Î Çϴ Ÿ°Ù `%2$s'¸¦ ¸¸µé ±ÔÄ¢ÀÌ ¾ø½À´Ï´Ù%4$s"
+msgstr "%s: '%s' 타겟 ì—…ë°ì´íŠ¸, ì´ìœ : %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "ÀÌ ¿î¿µ üÁ¦¿¡¼­´Â ºÎÇÏ Á¦ÇÑÀ» °­Á¦ÇÒ ¼ö ¾ø½À´Ï´Ù"
+msgstr "ì´ ìš´ì˜ ì²´ì œì—서는 부하 ì œí•œì„ ê°•ì œí•  수 없습니다"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "ºÎÇÏ Á¦ÇÑÀ» °­Á¦ÇÒ ¼ö ¾ø½À´Ï´Ù: "
+msgstr "부하 ì œí•œì„ ê°•ì œí•  수 없습니다: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr ""
+msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 ìž…ë ¥ì„ ë³µì‚¬í•  수 없습니다\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr ""
+msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 ì¶œë ¥ì„ ë³µì‚¬í•  수 없습니다\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
-msgstr ""
+msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 오류를 복사할 수 없습니다\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr ""
+msgstr "표준 ìž…ë ¥ì„ ë³µêµ¬í•  수 없습니다\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "표준 ì¶œë ¥ì„ ë³µêµ¬í•  수 없습니다\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
-msgstr ""
+msgstr "표준 오류를 복구할 수 없습니다\n"
-#: job.c:2365
-#, fuzzy, c-format
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-"ÀÚ½ÄÇÁ·Î¼¼½º pid %d¸¦ °ÅµÖµéÀÌ°í, ¾ÆÁ÷ pid %dÀ»(¸¦) ±â´Ù¸®°í ÀÖ½À´Ï´Ù\n"
+"하위 프로세스 PID %sì„(를) 거둬들ì´ê³ , ì•„ì§ PID %sì„(를) 기다리고 있습니다\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: ¸í·ÉÀ» ãÁö ¸øÇßÀ½"
+msgstr "%s: ëª…ë ¹ì„ ì°¾ì§€ 못했ìŒ"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: ¼Ð ÇÁ·Î±×·¥À» ãÁö ¸øÇßÀ½"
+msgstr "%s: ì…¸ í”„ë¡œê·¸ëž¨ì„ ì°¾ì§€ 못했ìŒ"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe: 환경 변수 ê³µê°„ì´ ë°”ë‹¥ë‚¬ì„ ìˆ˜ 있습니다"
-#: job.c:2709
-#, fuzzy, c-format
+#: job.c:2765
+#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
-msgstr "$SHELLÀÌ ¹Ù²î¾ú½À´Ï´Ù (°ú°Å `%s', ÇöÀç `%s')"
+msgstr "$SHELLì´ ë°”ë€Œì—ˆìŠµë‹ˆë‹¤(과거 '%s', 현재 '%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "Àӽà ¹èÄ¡ ÆÄÀÏ %sÀ»(¸¦) ¸¸µì´Ï´Ù\n"
+msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 만듭니다\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
+"배치 íŒŒì¼ ë‚´ìš©:\n"
+"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"배치 íŒŒì¼ ë‚´ìš©:%s\n"
+"\t%s\n"
-# ??? µð¹ö±ë ¸Þ¼¼Áö
-#: job.c:3444
+# ??? 디버깅 메세지
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
-msgstr "%s (%d¹ø° ÁÙ) À߸øµÈ ½© ÄÁÅؽºÆ® (!unixy && !batch_mode_shell)\n"
+msgstr "%s (%d번째 줄) ìž˜ëª»ëœ ì‰˜ 컨í…스트 (!unixy && !batch_mode_shell)\n"
#: job.h:43
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
-msgstr ""
+msgstr "-O[ë°©ì‹] (--output-sync[=ë°©ì‹]) ì˜µì…˜ì€ ì´ ë¹Œë“œì—ì„œ 사용하지 않습니다."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
-msgstr ""
+msgstr "ì „ì—­ 심볼 í…Œì´ë¸”ì„ ì—¬ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
-msgstr ""
+msgstr "ì½ì–´ë“¤ì¸ %s 오브ì íŠ¸ëŠ” GPL 호환ì´ë¼ê³  선언하지 않았습니다"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
-msgstr ""
+msgstr "%s ì‹¬ë³¼ì„ %sì—ì„œ ì½ì–´ë“¤ì´ëŠ”ë° ì‹¤íŒ¨: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
-msgstr ""
+msgstr "ì½ì–´ë“¤ì¼ 심볼 ì´ë¦„ì´ ë¹„ì—ˆìŒ: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
-msgstr ""
+msgstr "%s ì‹¬ë³¼ì„ %sì—ì„œ ì½ì–´ë“¤ìž„\n"
-#: load.c:229
-#, fuzzy
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
-msgstr "ÀÌ Ç÷§Æû¿¡¼­´Â º´·Ä ÀÛ¾÷(-j)ÀÌ Áö¿øµÇÁö ¾Ê½À´Ï´Ù."
+msgstr "'load' ìž‘ì—…ì€ ì´ í”Œëž«í¼ì—ì„œ 지ì›ë˜ì§€ 않습니다."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
-msgstr "¿É¼Ç:\n"
+msgstr "옵션:\n"
-#: main.c:313
-#, fuzzy
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr "ȣȯ¼ºÀ» À§ÇØ ¹«½ÃµÊ"
+msgstr " -b, -m 무시ë©ë‹ˆë‹¤, í˜¸í™˜ì„ ìœ„í•´ 유지.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
-msgstr ""
+msgstr " -B, --always-make ì¡°ê±´ì— ê´€ê³„ ì—†ì´ ëª¨ë“  íƒ€ê²Ÿì„ ë§Œë“­ë‹ˆë‹¤.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
+" -C <디렉터리>, --directory=<디렉터리>\n"
+" 뭔가 하기 ì „ì— <디렉터리>ë¡œ ì´ë™í•©ë‹ˆë‹¤.\n"
-#: main.c:320
-#, fuzzy
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr "¿©·¯ °¡Áö µð¹ö±ë Á¤º¸¸¦ Ãâ·ÂÇÕ´Ï´Ù"
+msgstr " -d 여러 가지 디버깅 정보를 출력합니다.\n"
-#: main.c:322
-#, fuzzy
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
-msgstr "¿©·¯ °¡Áö Á¾·ùÀÇ µð¹ö±ë Á¤º¸¸¦ Ãâ·ÂÇÕ´Ï´Ù"
+msgstr ""
+" --debug[=플래그] 여러 가지 ì¢…ë¥˜ì˜ ë””ë²„ê¹… 정보를 출력합니다.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
+" -e, --environment-overrides\n"
+" 환경변수가 ë©”ì´í¬íŒŒì¼ ë‚´ìš©ì— ìš°ì„ í•©ë‹ˆë‹¤.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
+" --eval=<문ìžì—´> <문ìžì—´>ì„ ë©”ì´í¬íŒŒì¼ 내용으로 í•´ì„합니다.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
+" -f <파ì¼>, --file=<파ì¼>, --makefile=<파ì¼>\n"
+" <파ì¼>ì„ ë©”ì´í¬íŒŒì¼ë¡œ ì½ìŠµë‹ˆë‹¤.\n"
-#: main.c:332
-#, fuzzy
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
-msgstr "ÀÌ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í ³¡³À´Ï´Ù"
+msgstr " -h, --help ì´ ë©”ì‹œì§€ë¥¼ 출력하고 ë냅니다.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr ""
+msgstr " -i, --ignore-errors 명령ì—ì„œ ë°œìƒí•˜ëŠ” 오류를 무시합니다.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
+" -I <디렉터리>, --include-dir=<디렉터리>\n"
+" í¬í•¨í•  ë©”ì´í¬íŒŒì¼ì„ <디렉터리>ì—ì„œ 찾습니다.\n"
-#: main.c:339
-#, fuzzy
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
-msgstr "µ¿½Ã¿¡ N°³ÀÇ ÀÛ¾÷À» Çã¿ëÇÕ´Ï´Ù; ÀÎÀÚ°¡ ¾øÀ¸¸é ¹«ÇÑ´ë·Î Çã¿ëÇÕ´Ï´Ù"
+msgstr ""
+" -j [N], --jobs[=N] ë™ì‹œì— Nê°œì˜ ìž‘ì—… 허용, ì¸ìž 없으면 무한대로 í—ˆ"
+"ìš©.\n"
-#: main.c:341
-#, fuzzy
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
-msgstr "¸î¸î Ÿ°ÙÀ» ¸¸µé ¼ö ¾ø´õ¶óµµ °è¼Ó ÁøÇàÇÕ´Ï´Ù"
+msgstr ""
+" -k, --keep-going ì¼ë¶€ íƒ€ê²Ÿì„ ë§Œë“¤ 수 ì—†ë”ë¼ë„ ê³„ì† ì§„í–‰í•©ë‹ˆë‹¤.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""
+" -l [N], --load-average[=N], --max-load[=N]\n"
+" 로드가 N 아래로 내려가야 ë™ì‹œ ìž‘ì—… 시작합니"
+"다.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
+" -L, --check-symlink-times 심볼릭 ë§í¬ì™€ 실제 중 ë” ìµœê·¼ 수정 ì‹œê°ì„\n"
+" 사용합니다.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
+" -n, --just-print, --dry-run, --recon\n"
+" 실제로는 아무 ëª…ë ¹ë„ ì‹¤í–‰í•˜ì§€ ì•Šê³  표시만 합니"
+"다.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
"it.\n"
msgstr ""
+" -o <파ì¼>, --old-file=<파ì¼>, --assume-old=<파ì¼>\n"
+" <파ì¼>ì´ ì•„ì£¼ 오래 ë˜ì—ˆë‹¤ê³  ìƒê°í•˜ê³  다시 만들"
+"지\n"
+" 않습니다.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
+" -O[ë°©ì‹], --output-sync[=ë°©ì‹]\n"
+" 병렬 ìž‘ì—…ì˜ ì¶œë ¥ì„ <ë°©ì‹>ì— ë”°ë¼ ë§žì¶¥ë‹ˆë‹¤.\n"
-#: main.c:357
-#, fuzzy
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
-msgstr "makeÀÇ ³»ºÎ µ¥ÀÌŸº£À̽º¸¦ Ãâ·ÂÇÕ´Ï´Ù"
+msgstr " -p, --print-data-base makeì˜ ë‚´ë¶€ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 출력합니다.\n"
-#: main.c:359
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
-msgstr "¸í·ÉÀ» ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù; Á¾·á »óȲÀÌ °»½Å ¿©ºÎ¸¦ ¸»ÇØ ÁÝ´Ï´Ù"
+msgstr ""
+" -q, --question ëª…ë ¹ì„ ì‹¤í–‰í•˜ì§€ ì•ŠìŒ. 종료 ìƒíƒœë¡œ ì—…ë°ì´íŠ¸\n"
+" 여부를 알 수 있습니다.\n"
-#: main.c:361
-#, fuzzy
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr "³»Àå ¹¬½ÃÀû ±ÔÄ¢À» »ç¿ë ºÒ°¡´ÉÇÏ°Ô ÇÕ´Ï´Ù"
+msgstr " -r, --no-builtin-rules 내장 ë¬µì‹œì  ê·œì¹™ì„ ì‚¬ìš©í•˜ì§€ 않습니다.\n"
-#: main.c:363
-#, fuzzy
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
-msgstr "³»Àå º¯¼ö¸¦ ÁöÁ¤ÇÏÁö ¸øÇÏ°Ô ÇÕ´Ï´Ù"
+msgstr " -R, --no-builtin-variables 내장 변수를 지정하지 못하게 합니다.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr ""
+msgstr " -s, --silent, --quiet 명령어를 출력하지 않습니다.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
+" -S, --no-keep-going, --stop\n"
+" -k ì˜µì…˜ì„ ë•ë‹ˆë‹¤.\n"
-#: main.c:370
-#, fuzzy
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
-msgstr "Ÿ°ÙÀ» ´Ù½Ã ¸¸µéÁö ¾Ê°í touch¸¸ ÇÕ´Ï´Ù"
+msgstr ""
+" -t, --touch íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들지 ì•Šê³  touch만 합니다.\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
-msgstr ""
+msgstr " --trace ì¶”ì  ì •ë³´ë¥¼ 표시합니다.\n"
-#: main.c:374
-#, fuzzy
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr "makeÀÇ ¹öÀü ¹øÈ£¸¦ Ãâ·ÂÇÏ°í ³¡³À´Ï´Ù"
+msgstr " -v, --version makeì˜ ë²„ì „ 번호를 출력하고 ë냅니다.\n"
-#: main.c:376
-#, fuzzy
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr "ÇöÀç µð·ºÅ丮¸¦ Ãâ·ÂÇÕ´Ï´Ù"
+msgstr " -w, --print-directory 현재 디렉터리를 출력합니다.\n"
-#: main.c:378
-#, fuzzy
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
-msgstr "¹¬½ÃÀûÀ¸·Î ÄÑÁ® ÀÖ´õ¶óµµ -w¸¦ ²ü´Ï´Ù"
+msgstr " --no-print-directory 묵시ì ìœ¼ë¡œ 켜져 있ë”ë¼ë„ -w를 ë•ë‹ˆë‹¤.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
msgstr ""
+" -W <파ì¼>, --what-if=<파ì¼>, --new-file=<파ì¼>, --assume-new=<파ì¼>\n"
+" <파ì¼>ì„ ë¬´í•œížˆ ê³„ì† ìƒˆë¡œìš´ 것으로 취급합니"
+"다.\n"
-#: main.c:383
-#, fuzzy
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
-msgstr "Á¤ÀǵÇÁö ¾ÊÀº º¯¼ö¸¦ ÂüÁ¶ÇÒ ¶§ °æ°í¸¦ ³À´Ï´Ù"
+msgstr ""
+" --warn-undefined-variables ì •ì˜ë˜ì§€ ì•Šì€ ë³€ìˆ˜ë¥¼ 참조할 ë•Œ 경고를 냅니다.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "ºó ¹®ÀÚ¿­Àº ÆÄÀÏ À̸§À¸·Î ºÎÀûÀýÇÕ´Ï´Ù"
+msgstr "빈 문ìžì—´ì€ íŒŒì¼ ì´ë¦„으로 부ì ì ˆí•©ë‹ˆë‹¤"
-#: main.c:734
-#, fuzzy, c-format
+#: main.c:737
+#, c-format
msgid "unknown debug level specification '%s'"
-msgstr "µð¹ö±ë ´Ü°è ÁöÁ¤ `%s'ÀÌ(°¡) À߸øµÇ¾ú½À´Ï´Ù"
+msgstr "디버깅 단계 지정 '%s'ì´(ê°€) 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
-msgstr ""
+msgstr "ì•Œ 수 없는 output-sync ë°©ì‹ '%s'"
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "³»ºÎ ¿À·ù: ¿©·¯ °³ÀÇ -jobserver-fds ¿É¼Ç"
-
-#: main.c:848
-#, fuzzy, c-format
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr "%s: ÀÎÅÍ·´Æ®/¿¹¿Ü°¡ ¹ß°ßµÇ¾ú½À´Ï´Ù (ÄÚ¤§ = 0x%x, ÁÖ¼Ò = 0x%x)\n"
+msgstr "%s: ì¸í„°ëŸ½íŠ¸/예외가 발견ë˜ì—ˆìŠµë‹ˆë‹¤(코드 = 0x%lx, 주소 = 0x%p)\n"
-#: main.c:855
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -1076,231 +1095,227 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"ÇÁ·Î±×·¥ %s¿¡¼­ 󸮵ÇÁö ¾ÊÀº ¿¹¿Ü°¡ ¹ß»ýÇß½À´Ï´Ù\n"
-"¿¹¿ÜÄÚµå = %x\n"
-"¿¹¿ÜÇ÷¡±× = %x\n"
-"¿¹¿ÜÁÖ¼Ò = %x\n"
+"프로그램 %sì—ì„œ 처리ë˜ì§€ ì•Šì€ ì˜ˆì™¸ê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤\n"
+"예외코드 = %lx\n"
+"예외플래그 = %lx\n"
+"예외주소 = 0x%p\n"
-#: main.c:863
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Á¢±Ù±ÇÇÑ À§¹Ý: ÁÖ¼Ò %x¿¡ ¾²±â\n"
+msgstr "ì ‘ê·¼ 권한 위반: 주소 0x%pì— ì“°ê¸°\n"
-#: main.c:864
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Á¢±Ù±ÇÇÑ À§¹Ý: ÁÖ¼Ò %x¿¡¼­ Àбâ\n"
+msgstr "ì ‘ê·¼ 권한 위반: 주소 0x%pì—ì„œ ì½ê¸°\n"
-#: main.c:940 main.c:955
-#, fuzzy, c-format
+#: main.c:920 main.c:935
+#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr "find_and_set_shellÀÌ default_shell = %s À¸·Î(·Î) ¼¼ÆÃÇÕ´Ï´Ù.\n"
+msgstr "find_and_set_shell() 설정 default_shell = %s\n"
-#: main.c:1008
-#, fuzzy, c-format
+#: main.c:988
+#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
-msgstr ""
-"find_and_set_shell °æ·Î Ž»öÀÌ default_shell = %s À¸·Î(·Î) ¼¼ÆÃÇÕ´Ï´Ù.\n"
+msgstr "find_and_set_shell() 경로 íƒìƒ‰ 설정 default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%sÀÌ(°¡) 30Ãʵ¿¾È ÀϽà ÁßÁöµË´Ï´Ù..."
+msgstr "%sì´(ê°€) 30ì´ˆë™ì•ˆ ì¼ì‹œ 중지ë©ë‹ˆë‹¤..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "¿Ï·á sleep(30). °è¼Ó.\n"
+msgstr "완료 sleep(30). 계ì†.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "³»ºÎ ¿À·ù: ¿©·¯ °³ÀÇ -jobserver-fds ¿É¼Ç"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
-msgstr ""
+msgstr "내부 오류: ìž‘ì—… 서버 세마í¬ì–´('%s')를 ì—´ 수 없습니다: (오류 %ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
-msgstr ""
+msgstr "ìž‘ì—… 서버 í´ë¼ì´ì–¸íŠ¸(세마í¬ì–´ %s)\n"
-#: main.c:1551
-#, fuzzy, c-format
+#: main.c:1534
+#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
-msgstr "³»ºÎ ¿À·ù: À߸øµÈ -jobserver-fds ¹®ÀÚ¿­ `%s'"
+msgstr "내부 오류: ìž˜ëª»ëœ --jobserver-fds 문ìžì—´ '%s'"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "ìž‘ì—… 서버 í´ë¼ì´ì–¸íŠ¸(íŒŒì¼ ë””ìŠ¤í¬ë¦½í„° %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "°æ°í: ÆÄ»ýµÈ ¸ÞÀÌÅ©¿¡¼­ -jNÀÌ °­Á¦µÇ¾ú½À´Ï´Ù: ÀÛ¾÷¼­¹ö ¸ðµå¸¦ ²ü´Ï´Ù."
+msgstr "경고: 파ìƒëœ ë©”ì´í¬ì—ì„œ -jNì´ ê°•ì œë˜ì—ˆìŠµë‹ˆë‹¤: 작업서버 모드를 ë•ë‹ˆë‹¤."
-# ??? µð¹ö±ë ¸Þ¼¼Áö
-#: main.c:1583
+# ??? 디버깅 메세지
+#: main.c:1567
msgid "dup jobserver"
-msgstr "dup ÀÛ¾÷¼­¹ö"
+msgstr "dup 작업서버"
-#: main.c:1586
-#, fuzzy
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"°æ°í: ÀÛ¾÷¼­¹ö¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù: -j1À» »ç¿ëÇÕ´Ï´Ù. ºÎ¸ð ¸ÞÀÌÅ© ±ÔÄ¢¿¡ `"
-"+'¸¦ Ãß°¡ÇÕ´Ï´Ù."
+"경고: 작업서버를 사용할 수 없습니다: -j1ì„ ì‚¬ìš©í•©ë‹ˆë‹¤. ìƒìœ„ ë©”ì´í¬ ê·œì¹™ì— "
+"'+'를 추가합니다."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
-msgstr "Ç¥ÁØÀԷ¿¡¼­ ¹Þ¾ÆµéÀÌ´Â ¸ÞÀÌÅ©ÆÄÀÏÀÌ µÎ ¹ø ÀÌ»ó ÁöÁ¤µÇ¾ú½À´Ï´Ù."
+msgstr "표준입력ì—ì„œ 받아들ì´ëŠ” ë©”ì´í¬íŒŒì¼ì´ ë‘ ë²ˆ ì´ìƒ 지정ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
-msgstr "fopen (Àӽà ÆÄÀÏ)"
+msgstr "fopen(ìž„ì‹œ 파ì¼)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
-msgstr "fwrite (Àӽà ÆÄÀÏ)"
+msgstr "fwrite(ìž„ì‹œ 파ì¼)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "ÀÌ Ç÷§Æû¿¡¼­´Â º´·Ä ÀÛ¾÷(-j)ÀÌ Áö¿øµÇÁö ¾Ê½À´Ï´Ù."
+msgstr "병렬 ìž‘ì—…(-j)ì€ ì´ í”Œëž«í¼ì—ì„œ 지ì›í•˜ì§€ 않습니다."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
-msgstr "´ÜÀÏ ÀÛ¾÷ (-j1) ¸ðµå·Î µ¹¾Æ°©´Ï´Ù."
+msgstr "ë‹¨ì¼ ìž‘ì—… (-j1) 모드로 ëŒì•„갑니다."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
-msgstr ""
+msgstr "작업서버 ìŠ¬ë¡¯ì€ %d개로 제한ë©ë‹ˆë‹¤\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
-msgstr ""
+msgstr "작업서버 세마í¬ì–´ 만들기: (오류 %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
-msgstr "ÀÛ¾÷ ÆÄÀÌÇÁ »ý¼º"
+msgstr "ìž‘ì—… 파ì´í”„ ìƒì„±"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "ÀÛ¾÷¼­¹ö ÆÄÀÌÇÁ ÃʱâÈ­"
+msgstr "작업서버 파ì´í”„ 초기화"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr ""
+msgstr "심볼릭 ë§í¬ë¥¼ 지ì›í•˜ì§€ 않습니다: -L ì˜µì…˜ì„ ë•ë‹ˆë‹¤."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ®ÇÏ°í ÀÖ½À´Ï´Ù....\n"
+msgstr "ë©”ì´í¬íŒŒì¼ì„ ì—…ë°ì´íŠ¸í•˜ê³  있습니다....\n"
-#: main.c:2174
-#, fuzzy, c-format
+#: main.c:2158
+#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ `%s'Àº(´Â) ¹Ýº¹ÇÒ ¼ö ÀÖ½À´Ï´Ù; ´Ù½Ã ¸¸µéÁö ¾Ê½À´Ï´Ù.\n"
+msgstr "ë©”ì´í¬íŒŒì¼ '%s'ì€(는) 반복할 수 있으므로, 다시 만들지 않습니다.\n"
-#: main.c:2253
-#, fuzzy, c-format
+#: main.c:2237
+#, c-format
msgid "Failed to remake makefile '%s'."
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ `%s'À» ´Ù½Ã ¸¸µå´Âµ¥ ½ÇÆÐÇÔ."
+msgstr "'%s' ë©”ì´í¬íŒŒì¼ì„ 다시 ë§Œë“œëŠ”ë° ì‹¤íŒ¨."
-#: main.c:2270
-#, fuzzy, c-format
+#: main.c:2257
+#, c-format
msgid "Included makefile '%s' was not found."
-msgstr "Æ÷ÇÔµÈ ¸ÞÀÌÅ©ÆÄÀÏ `%s'¸¦ ãÁö ¸øÇß½À´Ï´Ù."
+msgstr "í¬í•¨ëœ ë©”ì´í¬íŒŒì¼ '%s'ì„(를) 찾지 못했습니다."
-#: main.c:2275
-#, fuzzy, c-format
+#: main.c:2262
+#, c-format
msgid "Makefile '%s' was not found"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ `%s'À» ãÁö ¸øÇß½À´Ï´Ù"
+msgstr "ë©”ì´í¬íŒŒì¼ '%s'ì„(를) 찾지 못했습니다"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "¿ø·¡ µð·ºÅ丮·Î µ¹¾Æ°¥ ¼ö ¾ø½À´Ï´Ù."
+msgstr "ì›ëž˜ 디렉터리로 ëŒì•„ê°ˆ 수 없습니다."
-#: main.c:2354
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "Àç½ÇÇà:"
+msgstr "재실행[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (Àӽà ÆÄÀÏ): "
+msgstr "unlink (ìž„ì‹œ 파ì¼): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ""
+msgstr ".DEFAULT_GOAL ì•ˆì— íƒ€ê²Ÿì´ ì—¬ëŸ¬ ê°œ 들어 있습니다"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Ÿ°ÙÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò°í ¸ÞÀÌÅ©ÆÄÀÏÀÌ ¾ø½À´Ï´Ù"
+msgstr "íƒ€ê²Ÿì´ ì§€ì •ë˜ì§€ 않았고 ë©”ì´í¬íŒŒì¼ì´ 없습니다"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
-msgstr "Ÿ°Ù ¾øÀ½"
+msgstr "타겟 ì—†ìŒ"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "ÃÖÁ¾ Ÿ°ÙÀ» °»½ÅÇÕ´Ï´Ù....\n"
+msgstr "최종 íƒ€ê²Ÿì„ ê°±ì‹ í•©ë‹ˆë‹¤....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-"°æ°í: ½Ã°è°¡ À߸øµÇ¾úÀ½ÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù. ºôµå°¡ ºÒ¿ÏÀüÇÒ ¼ö ÀÖ½À´Ï´Ù."
+"경고: 시계가 잘못ë˜ì—ˆìŒì´ 발견ë˜ì—ˆìŠµë‹ˆë‹¤. 빌드가 불완전할 수 있습니다."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "»ç¿ë¹ý: %s [¿É¼Ç] [Ÿ°Ù] ...\n"
+msgstr "사용법: %s [옵션] [타겟] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
+"\n"
+"ì´ í”„ë¡œê·¸ëž¨ì€ %sì—ì„œ 사용하ë„ë¡ ë¹Œë“œë˜ì—ˆìŠµë‹ˆë‹¤\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
+"\n"
+"ì´ í”„ë¡œê·¸ëž¨ì€ %s(%s)ì—ì„œ 사용하ë„ë¡ ë¹Œë“œë˜ì—ˆìŠµë‹ˆë‹¤\n"
-#: main.c:2729
-#, fuzzy, c-format
+#: main.c:2721
+#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr ""
-"\n"
-"¹®Á¦Á¡À» <bug-make@gnu.org>·Î ¾Ë·Á ÁֽʽÿÀ.\n"
+msgstr "문제ì ì„ <bug-make@gnu.org>ë¡œ 알려 주십시오.\n"
-#: main.c:2810
-#, fuzzy, c-format
+#: main.c:2807
+#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
-msgstr "`-%c' ¿É¼ÇÀº ¾çÀÇ ÀûºÐ Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù"
+msgstr "'%s%s' ì˜µì…˜ì€ ë¹„ì–´ 있지 ì•Šì€ ë¬¸ìžì—´ ì¸ìˆ˜ê°€ 필요합니다"
-#: main.c:2864
-#, fuzzy, c-format
+#: main.c:2871
+#, c-format
msgid "the '-%c' option requires a positive integer argument"
-msgstr "`-%c' ¿É¼ÇÀº ¾çÀÇ ÀûºÐ Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù"
+msgstr "'-%c' ì˜µì…˜ì€ 0보다 í° ì •ìˆ˜ ì¸ìˆ˜ê°€ 필요합니다"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
+msgstr "%s%s 빌드\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
+msgstr "%s%s(%s) 빌드\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1308,655 +1323,647 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%së¼ì´ì„ ìŠ¤ GPLv3+: GNU GPL 버전 3 ë˜ëŠ” ì´í›„ <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sThis is free software: you are free to change and redistribute it.\n"
+"%sThere is NO WARRANTY, to the extent permitted by law.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# ¸ÞÀÌÅ© µ¥ÀÌŸº£À̽º, %s¿¡ Ç¥½Ã"
+"# ë©”ì´í¬ ë°ì´í„°ë² ì´ìŠ¤, %sì— í‘œì‹œ"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# ¸ÞÀÌÅ© µ¥ÀÌŸ º£À̽º ¸¶Ä§, %s¿¡¼­\n"
+"# ë©”ì´í¬ ë°ì´í„°ë² ì´ìŠ¤ 마침, %sì—ì„œ\n"
#: misc.c:201
#, c-format
msgid "Unknown error %d"
-msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù %d"
-
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "°¡»ó ¸Þ¸ð¸®°¡ °í°¥µÊ"
+msgstr "알 수 없는 오류 %d"
#: misc.c:522
-#, fuzzy, c-format
+#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s Á¢±Ù: »ç¿ëÀÚ %lu (½ÇÁ¦ %lu), ±×·ì %lu (½ÇÁ¦ %lu)\n"
+msgstr "%s: ì‚¬ìš©ìž %lu (실제 %lu), 그룹 %lu (실제 %lu)\n"
#: misc.c:543
-#, fuzzy
msgid "Initialized access"
-msgstr "ÃʱâÈ­µÊ"
+msgstr "접근 권한 초기화"
#: misc.c:622
msgid "User access"
-msgstr ""
+msgstr "ì‚¬ìš©ìž ì ‘ê·¼"
#: misc.c:670
msgid "Make access"
-msgstr ""
+msgstr "ë©”ì´í¬ ì ‘ê·¼"
#: misc.c:704
msgid "Child access"
-msgstr ""
+msgstr "하위 접근"
-#: output.c:128
-#, fuzzy, c-format
+#: output.c:104
+#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "¾Ë ¼ö ¾ø´Â µð·ºÅ丮"
+msgstr "%s: ì•Œ 수 없는 디렉터리 들어ê°\n"
-#: output.c:130
-#, fuzzy, c-format
+#: output.c:106
+#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "¾Ë ¼ö ¾ø´Â µð·ºÅ丮"
+msgstr "%s: ì•Œ 수 없는 디렉터리 나ê°\n"
-#: output.c:133
-#, fuzzy, c-format
+#: output.c:109
+#, c-format
msgid "%s: Entering directory '%s'\n"
-msgstr "`%s' µð·ºÅ丮\n"
+msgstr "%s: 디렉터리 '%s' 들어ê°\n"
-#: output.c:135
-#, fuzzy, c-format
+#: output.c:111
+#, c-format
msgid "%s: Leaving directory '%s'\n"
-msgstr "`%s' µð·ºÅ丮\n"
+msgstr "%s: 디렉터리 '%s' 나ê°\n"
-#: output.c:139
-#, fuzzy, c-format
+#: output.c:115
+#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "¾Ë ¼ö ¾ø´Â µð·ºÅ丮"
+msgstr "%s[%u]: ì•Œ 수 없는 디렉터리 들어ê°\n"
-#: output.c:141
-#, fuzzy, c-format
+#: output.c:117
+#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "¾Ë ¼ö ¾ø´Â µð·ºÅ丮"
+msgstr "%s[%u]: ì•Œ 수 없는 디렉터리 나ê°\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
-msgstr ""
+msgstr "%s[%u]: 디렉터리 '%s' 들어ê°\n"
-#: output.c:146
-#, fuzzy, c-format
+#: output.c:122
+#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
-msgstr "`%s' µð·ºÅ丮\n"
+msgstr "%s[%u]: 디렉터리 '%s' 나ê°\n"
-#: output.c:515
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "¿À·ù¸¦ %sÀ¸·Î(·Î) ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
-
-# ??? µð¹ö±ë ¸Þ¼¼Áö
-#: output.c:517
+#: output.c:495 output.c:497
#, fuzzy
-msgid "write error"
-msgstr "ÀÛ¾÷¼­¹ö ¾²±â"
+msgid "write error: stdout"
+msgstr "쓰기 오류: %s"
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
-msgstr ". ¸ØÃã.\n"
+msgstr ". 멈춤.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
-msgstr ""
+msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏÀ» Àаí ÀÖ½À´Ï´Ù\n"
+msgstr "ë©”ì´í¬íŒŒì¼ì„ ì½ê³  있습니다...\n"
-#: read.c:333
-#, fuzzy, c-format
+#: read.c:335
+#, c-format
msgid "Reading makefile '%s'"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ `%s'¸¦ Àаí ÀÖ½À´Ï´Ù"
+msgstr "'%s' ë©”ì´í¬íŒŒì¼ì„ ì½ê³  있습니다"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (ÃÖÁ¾ Ÿ°ÙÀÌ ¾øÀ½)"
+msgstr " (최종 íƒ€ê²Ÿì´ ì—†ìŒ)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (Ž»ö °æ·Î)"
+msgstr " (íƒìƒ‰ 경로)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (»ó°ü ¾ÈÇÔ)"
+msgstr " (ìƒê´€ 안함)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (~ È®Àå ¾øÀ½)"
+msgstr " (~ 확장 ì—†ìŒ)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
-msgstr ""
+msgstr "ë©”ì´í¬íŒŒì¼ '%s'ì—ì„œ UTF-8 BOM 무시\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
-msgstr ""
+msgstr "ë©”ì´í¬íŒŒì¼ 버í¼ì—ì„œ UTF-8 BOM 무시\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "Á¶°Ç¹®¿¡ ºÎÀûÀýÇÑ ¹®¹ýÀÌ ¾²ÀÓ"
+msgstr "ì¡°ê±´ë¬¸ì— ë¶€ì ì ˆí•œ ë¬¸ë²•ì´ ì“°ìž„"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
-msgstr ""
+msgstr "%s: ì½ì–´ë“¤ì´ëŠ”ë° ì‹¤íŒ¨"
-#: read.c:987
-#, fuzzy
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "ù¹ø° Ÿ°Ùº¸´Ù ¾Õ¿¡¼­ ¸í·É¾î°¡ ½ÃÀ۵Ǿú½À´Ï´Ù"
+msgstr "첫번째 타겟보다 ì•žì—ì„œ 명령어가 시작ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: read.c:1036
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "¸í·É ¾Õ¿¡ ±ÔÄ¢ÀÌ ºüÁ³À½"
+msgstr "명령 ì•žì— ê·œì¹™ì´ ë¹ ì¡ŒìŒ"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "ºÐ¸®±âÈ£ %sÀÌ(°¡) ºüÁ³À½"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (8ê°œì˜ ê³µë°± ë§ê³  íƒ­ì„ ì“°ë ¤ê³  í•œ 것 아니었습니까?)"
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (8°³ÀÇ °ø¹é ¸»°í ÅÇÀ» ¾²·Á°í ÇÑ °Í ¾Æ´Ï¾ú½À´Ï±î?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "분리기호 %sì´(ê°€) ë¹ ì¡ŒìŒ"
-#: read.c:1263
+#: read.c:1270
msgid "missing target pattern"
-msgstr "Ÿ°Ù ÆÐÅÏÀÌ ºüÁ³À½"
+msgstr "타겟 íŒ¨í„´ì´ ë¹ ì¡ŒìŒ"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "´ÙÁß Å¸°Ù ÆÐÅÏ"
+msgstr "다중 타겟 패턴"
-#: read.c:1269
-#, fuzzy, c-format
+#: read.c:1276
+#, c-format
msgid "target pattern contains no '%%'"
-msgstr "Ÿ°Ù ÆÐÅÏ¿¡ `%%'°¡ ¾ø½À´Ï´Ù."
+msgstr "타겟 íŒ¨í„´ì— '%%'ê°€ 없습니다."
-#: read.c:1391
-#, fuzzy
+#: read.c:1398
msgid "missing 'endif'"
-msgstr "`endif'°¡ ºüÁ³À½"
+msgstr "'endif'ê°€ ë¹ ì¡ŒìŒ"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "ºó º¯¼ö À̸§"
+msgstr "빈 변수 ì´ë¦„"
-#: read.c:1465
-#, fuzzy
+#: read.c:1471
msgid "extraneous text after 'define' directive"
-msgstr "`endef' Áö½ÃÀÚ µÚ¿¡ ¿©ºÐÀÇ ±ÛÀÌ ÀÖÀ½"
+msgstr "'define' ì§€ì‹œìž ë’¤ì— í•„ìš” 없는 í…스트 있ìŒ"
-#: read.c:1490
-#, fuzzy
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
-msgstr "`endef'°¡ ºüÁ³À½. Á¾·áµÇÁö ¾ÊÀº `define'"
+msgstr "'endef'ê°€ ë¹ ì¡ŒìŒ. 'define'ì„ ë§ˆì¹˜ì§€ 않았습니다"
-#: read.c:1518
-#, fuzzy
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
-msgstr "`endef' Áö½ÃÀÚ µÚ¿¡ ¿©ºÐÀÇ ±ÛÀÌ ÀÖÀ½"
+msgstr "'endef' ì§€ì‹œìž ë’¤ì— í•„ìš” 없는 í…스트가 있ìŒ"
-#: read.c:1589
-#, fuzzy, c-format
+#: read.c:1595
+#, c-format
msgid "extraneous text after '%s' directive"
-msgstr "`%s' Áö½ÃÀÚ µÚ¿¡ ¿©ºÐÀÇ ¹®ÀåÀÌ ÀÖÀ½"
+msgstr "'%s' ì§€ì‹œìž ë’¤ì— í•„ìš” 없는 í…스트가 있ìŒ"
-#: read.c:1598 read.c:1612
-#, fuzzy, c-format
+#: read.c:1596
+#, c-format
msgid "extraneous '%s'"
-msgstr "¿©ºÐÀÇ `%s'"
+msgstr "필요 없는 '%s'"
-#: read.c:1617
-#, fuzzy
+#: read.c:1624
msgid "only one 'else' per conditional"
-msgstr "ÇÑ °³ÀÇ Á¶°Ç¿¡´Â ÇÑ °³ÀÇ `else'¸¸ ÀÖ¾î¾ß ÇÕ´Ï´Ù"
+msgstr "í•œ ê°œì˜ ì¡°ê±´ì—는 í•œ ê°œì˜ 'else'만 있어야 합니다"
-#: read.c:1892
-#, fuzzy
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Ÿ°Ùº° º¯¼ö Á¤ÀÇ Çü½ÄÀÌ Æ²·È½À´Ï´Ù"
+msgstr "타겟별 변수 ì •ì˜ í˜•ì‹ì´ 틀렸습니다"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "명령어ì—ì„œ ì„ í–‰ì¡°ê±´ì„ ì •ì˜í•  수 없습니다"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "¹¬½ÃÀû ÆÐÅÏ ·ê°ú °íÁ¤µÈ ÆÐÅÏ·êÀÌ ¼¯¿´½À´Ï´Ù"
+msgstr "ë¬µì‹œì  íŒ¨í„´ 룰과 ê³ ì •ëœ íŒ¨í„´ë£°ì´ ì„žì˜€ìŠµë‹ˆë‹¤"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "È¥ÇÕµÈ ¹¬½ÃÀû ±ÔÄ¢°ú ÀϹÝÀû ±ÔÄ¢"
+msgstr "í˜¼í•©ëœ ë¬µì‹œì  ê·œì¹™ê³¼ ì¼ë°˜ì  규칙"
-#: read.c:2084
-#, fuzzy, c-format
+#: read.c:2091
+#, c-format
msgid "target '%s' doesn't match the target pattern"
-msgstr "Ÿ°Ù `%s'Àº(´Â) Ÿ°Ù ÆÐÅÏ¿¡ ¸ÂÁö ¾Ê½À´Ï´Ù"
+msgstr "타겟 '%s'ì€(는) 타겟 íŒ¨í„´ì— ë§žì§€ 않습니다"
-#: read.c:2099 read.c:2144
-#, fuzzy, c-format
+#: read.c:2106 read.c:2152
+#, c-format
msgid "target file '%s' has both : and :: entries"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'Àº(´Â) :¿Í :: Ç׸ñÀ» µ¿½Ã¿¡ °®°í ÀÖ½À´Ï´Ù"
+msgstr "타겟 íŒŒì¼ '%s'ì€(는) :와 :: í•­ëª©ì„ ë™ì‹œì— ê°–ê³  있습니다"
-#: read.c:2105
-#, fuzzy, c-format
+#: read.c:2112
+#, c-format
msgid "target '%s' given more than once in the same rule"
-msgstr "Ÿ°Ù `%s'ÀÌ(°¡) °°Àº ±ÔÄ¢¿¡¼­ ¿©·¯ ¹ø ÁÖ¾îÁ³½À´Ï´Ù"
+msgstr "타겟 '%s'ì´(ê°€) ê°™ì€ ê·œì¹™ì—ì„œ 여러 번 주어졌습니다"
-#: read.c:2114
-#, fuzzy, c-format
+#: read.c:2122
+#, c-format
msgid "warning: overriding recipe for target '%s'"
-msgstr "°æ°í: Ÿ°Ù `%s'¿¡ ´ëÇÑ ¸í·É¾îº¸´Ù ´Ù¸¥ °ÍÀÌ ¿ì¼±ÇÕ´Ï´Ù"
+msgstr "경고: 타겟 '%s'ì— ëŒ€í•œ 명령보다 우선합니다"
-#: read.c:2117
-#, fuzzy, c-format
+#: read.c:2125
+#, c-format
msgid "warning: ignoring old recipe for target '%s'"
-msgstr "°æ°í: Ÿ°Ù `%s'¿¡ ´ëÇÑ °ú°Å ¸í·É¾îµéÀ» ¹«½ÃÇÕ´Ï´Ù"
+msgstr "경고: 타겟 '%s'ì— ëŒ€í•œ 과거 ëª…ë ¹ì„ ë¬´ì‹œí•©ë‹ˆë‹¤"
+
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "í˜¼í•©ëœ ë¬µì‹œì  ê·œì¹™ê³¼ ì¼ë°˜ì  규칙"
-#: read.c:2530
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "°æ°í: NUL ¹®ÀÚ°¡ ¹ß°ßµÇ¾ú½À´Ï´Ù; ÁÙÀÇ ³ª¸ÓÁö´Â ¹«½ÃµË´Ï´Ù"
+msgstr "경고: NUL 문ìžê°€ 발견ë˜ì—ˆìŠµë‹ˆë‹¤; ì¤„ì˜ ë‚˜ë¨¸ì§€ëŠ” 무시ë©ë‹ˆë‹¤"
-#: remake.c:232
-#, fuzzy, c-format
+#: remake.c:230
+#, c-format
msgid "Nothing to be done for '%s'."
-msgstr "`%s'¸¦ À§ÇØ ÇÒ ÀÏÀÌ ¾ø½À´Ï´Ù"
+msgstr "'%s'ì„(를) 위해 í•  ì¼ì´ 없습니다."
-#: remake.c:233
-#, fuzzy, c-format
+#: remake.c:231
+#, c-format
msgid "'%s' is up to date."
-msgstr "`%s'´Â ÀÌ¹Ì °»½ÅµÇ¾ú½À´Ï´Ù."
+msgstr "'%s'ì€(는) ì´ë¯¸ ì—…ë°ì´íŠ¸ë˜ì—ˆìŠµë‹ˆë‹¤."
-# pruneÀÌ truncateÀÇ ÀǹÌÀΰ¡ Áö¿î´Ù´Â ÀǹÌÀΰ¡??
-#: remake.c:305
-#, fuzzy, c-format
+# pruneì´ truncateì˜ ì˜ë¯¸ì¸ê°€ 지운다는 ì˜ë¯¸ì¸ê°€??
+#: remake.c:303
+#, c-format
msgid "Pruning file '%s'.\n"
-msgstr "`%s' ÆÄÀÏÀ» À߶󳻰í ÀÖ½À´Ï´Ù.\n"
-
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sŸ°Ù `%s'¸¦ ¸¸µé ±ÔÄ¢ÀÌ ¾øÀ½%s"
+msgstr "'%s' 파ì¼ì„ 잘ë¼ëƒ…니다.\n"
-#: remake.c:379
-#, fuzzy, c-format
+#: remake.c:390 remake.c:393
+#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
-msgstr "%1$s`%3$s'¿¡¼­ ÇÊ¿ä·Î Çϴ Ÿ°Ù `%2$s'¸¦ ¸¸µé ±ÔÄ¢ÀÌ ¾ø½À´Ï´Ù%4$s"
+msgstr "%1$s'%3$s'ì—ì„œ 필요한 '%2$s' íƒ€ê²Ÿì„ ë§Œë“¤ ê·œì¹™ì´ ì—†ìŠµë‹ˆë‹¤%4$s"
-#: remake.c:413
-#, fuzzy, c-format
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%s타겟 '%s'ì„(를) 만들 ê·œì¹™ì´ ì—†ìŠµë‹ˆë‹¤%s"
+
+#: remake.c:426
+#, c-format
msgid "Considering target file '%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'À»(¸¦) °í·ÁÇÕ´Ï´Ù.\n"
+msgstr "'%s' 타겟 파ì¼ì„ 고려합니다.\n"
-#: remake.c:420
-#, fuzzy, c-format
+#: remake.c:433
+#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
-msgstr "ÃÖ±Ù¿¡ `%s' ÆÄÀÏÀ» °»½ÅÇÏ·Á°í ½ÃµµÇÏ¿´°í ½ÇÆÐÇÏ¿´½À´Ï´Ù.\n"
+msgstr "ìµœê·¼ì— '%s' íŒŒì¼ ì—…ë°ì´íŠ¸ë¥¼ ì‹œë„í•´ 실패했습니다.\n"
-#: remake.c:432
-#, fuzzy, c-format
+#: remake.c:445
+#, c-format
msgid "File '%s' was considered already.\n"
-msgstr "ÆÄÀÏ `%s'´Â ÀÌ¹Ì °ËÅäµÇ¾ú½À´Ï´Ù.\n"
+msgstr "'%s' 파ì¼ì€ ì´ë¯¸ 검토했습니다.\n"
-#: remake.c:442
-#, fuzzy, c-format
+#: remake.c:455
+#, c-format
msgid "Still updating file '%s'.\n"
-msgstr "¾ÆÁ÷ `%s' ÆÄÀÏÀ» °»½ÅÇÏ°í ÀÖ½À´Ï´Ù.\n"
+msgstr "ì•„ì§ '%s' 파ì¼ì„ ì—…ë°ì´íŠ¸í•˜ê³  있습니다.\n"
-#: remake.c:445
-#, fuzzy, c-format
+#: remake.c:458
+#, c-format
msgid "Finished updating file '%s'.\n"
-msgstr "`%s' ÆÄÀÏÀÇ °»½ÅÀ» ¸¶ÃƽÀ´Ï´Ù.\n"
+msgstr "'%s' 파ì¼ì˜ ì—…ë°ì´íŠ¸ë¥¼ 마쳤습니다.\n"
-#: remake.c:474
-#, fuzzy, c-format
+#: remake.c:487
+#, c-format
msgid "File '%s' does not exist.\n"
-msgstr "`%s' ÆÄÀÏÀº Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.\n"
+msgstr "'%s' 파ì¼ì´ 없습니다.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
+"*** Warning: .LOW_RESOLUTION_TIME íŒŒì¼ '%s'ì— ê³ í•´ìƒë„ 타임 스탬프가 들어 있"
+"습니다"
-#: remake.c:494 remake.c:1019
-#, fuzzy, c-format
+#: remake.c:508 remake.c:1040
+#, c-format
msgid "Found an implicit rule for '%s'.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢À» ã¾Ò½À´Ï´Ù.\n"
+msgstr "'%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ì•˜ìŠµë‹ˆë‹¤.\n"
-#: remake.c:496 remake.c:1021
-#, fuzzy, c-format
+#: remake.c:510 remake.c:1042
+#, c-format
msgid "No implicit rule found for '%s'.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢À» ãÁö ¸øÇß½À´Ï´Ù.\n"
+msgstr "'%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì´ ì—†ìŠµë‹ˆë‹¤.\n"
-#: remake.c:502
-#, fuzzy, c-format
+#: remake.c:516
+#, c-format
msgid "Using default recipe for '%s'.\n"
-msgstr "`%s'¿¡ ´ëÇØ ³»Á¤µÈ ¸í·ÉÀ» »ç¿ëÇÔ.\n"
+msgstr "'%s'ì— ëŒ€í•´ 기본 명령 사용.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "%s <- %s »óÈ£ ÀÇÁ¸¼ºÀº ¹«½ÃµË´Ï´Ù."
+msgstr "%s <- %s ìƒí˜¸ ì˜ì¡´ì„±ì€ 무시ë©ë‹ˆë‹¤."
-#: remake.c:655
-#, fuzzy, c-format
+#: remake.c:675
+#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'ÀÇ ¼±ÇàÁ¶°ÇÀ» ¸¶ÃƽÀ´Ï´Ù.\n"
+msgstr "타겟 íŒŒì¼ '%s'ì˜ ì„ í–‰ì¡°ê±´ì„ ë§ˆì³¤ìŠµë‹ˆë‹¤.\n"
-#: remake.c:661
-#, fuzzy, c-format
+#: remake.c:681
+#, c-format
msgid "The prerequisites of '%s' are being made.\n"
-msgstr "`%s'ÀÇ ¼±ÇàÁ¶°ÇÀÌ ¸¸µé¾îÁö°í ÀÖ½À´Ï´Ù.\n"
+msgstr "'%s'ì˜ ì„ í–‰ì¡°ê±´ì´ ë§Œë“¤ì–´ì§€ê³  있습니다.\n"
-#: remake.c:674
-#, fuzzy, c-format
+#: remake.c:695
+#, c-format
msgid "Giving up on target file '%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'À»(¸¦) Æ÷±âÇÕ´Ï´Ù.\n"
+msgstr "타겟 íŒŒì¼ '%s'ì„(를) í¬ê¸°í•©ë‹ˆë‹¤.\n"
-#: remake.c:679
-#, fuzzy, c-format
+#: remake.c:700
+#, c-format
msgid "Target '%s' not remade because of errors."
-msgstr "¿À·ù·Î ÀÎÇØ Å¸°Ù `%s'¸¦ ´Ù½Ã ¸¸µéÁö ¸øÇß½À´Ï´Ù."
+msgstr "오류로 '%s' íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들지 못했습니다."
-#: remake.c:731
-#, fuzzy, c-format
+#: remake.c:752
+#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
-msgstr "¼±ÇàÁ¶°Ç `%s'ÀÌ(°¡) Ÿ°Ù `%s'º¸´Ù ¸ÕÀú ¸¸µé¾îÁ³½À´Ï´Ù.\n"
+msgstr "'%s' ì„ í–‰ ì¡°ê±´ì€ '%s' íƒ€ê²Ÿì— ëŒ€í•´ 순서만 ì„ í–‰ 조건입니다.\n"
-#: remake.c:736
-#, fuzzy, c-format
+#: remake.c:757
+#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
-msgstr "Ÿ°Ù `%2$s'ÀÇ ¼±ÇàÁ¶°Ç %1$sÀº(´Â) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.\n"
+msgstr "타겟 '%2$s'ì˜ ì„ í–‰ì¡°ê±´ %1$sì´(ê°€) 없습니다.\n"
-#: remake.c:741
-#, fuzzy, c-format
+#: remake.c:762
+#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
-msgstr "¼±ÇàÁ¶°Ç `%s'ÀÌ(°¡) Ÿ°Ù `%s'º¸´Ù ÃÖ±Ù¿¡ ¸¸µé¾îÁ³½À´Ï´Ù.\n"
+msgstr "'%s' ì„ í–‰ ì¡°ê±´ì´ '%s' 타겟보다 ë‚˜ì¤‘ì— ë§Œë“¤ì–´ì¡ŒìŠµë‹ˆë‹¤.\n"
-#: remake.c:744
-#, fuzzy, c-format
+#: remake.c:765
+#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
-msgstr "¼±ÇàÁ¶°Ç `%s'ÀÌ(°¡) Ÿ°Ù `%s'º¸´Ù ¸ÕÀú ¸¸µé¾îÁ³½À´Ï´Ù.\n"
+msgstr "'%s' ì„ í–‰ ì¡°ê±´ì´ '%s' 타겟보다 먼저 만들어졌습니다.\n"
-#: remake.c:762
-#, fuzzy, c-format
+#: remake.c:783
+#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
-msgstr "Ÿ°Ù `%s'ÀÌ(°¡) µÎ °³ÀÇ ÄÝ·ÐÀÌ ºÙ¿©Á³Áö¸¸ ¼±ÇàÁ¶°ÇÀÌ ¾ø½À´Ï´Ù.\n"
+msgstr "'%s' íƒ€ê²Ÿì€ ì½œë¡  ë‘ ê°œê°€ 붙었고 ì„ í–‰ì¡°ê±´ì´ ì—†ìŠµë‹ˆë‹¤.\n"
-#: remake.c:769
-#, fuzzy, c-format
+#: remake.c:790
+#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¸í·É¾î°¡ ¾ø°í ¾î¶² ¼±ÇàÁ¶°Çµµ º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù.\n"
+msgstr "'%s'ì— ëŒ€í•œ 명령어가 없고 ì–´ë–¤ ì„ í–‰ì¡°ê±´ë„ ì‹¤ì œë¡œ 바뀌지 않았습니다.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
-msgstr ""
+msgstr "always-make 옵션 ë•Œë¬¸ì— '%s' íƒ€ê²Ÿì„ ë§Œë“­ë‹ˆë‹¤.\n"
-#: remake.c:782
-#, fuzzy, c-format
+#: remake.c:803
+#, c-format
msgid "No need to remake target '%s'"
-msgstr "Ÿ°Ù `%s'À»(¸¦) ´Ù½Ã ¸¸µé ÇÊ¿ä°¡ ¾ø½À´Ï´Ù."
+msgstr "'%s' íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들 필요가 없습니다"
-#: remake.c:784
-#, fuzzy, c-format
+#: remake.c:805
+#, c-format
msgid "; using VPATH name '%s'"
-msgstr "; VPATH À̸§ `%s'À»(¸¦) »ç¿ëÇÕ´Ï´Ù"
+msgstr "; VPATH ì´ë¦„ '%s'ì„(를) 사용합니다"
-#: remake.c:804
-#, fuzzy, c-format
+#: remake.c:825
+#, c-format
msgid "Must remake target '%s'.\n"
-msgstr "Ÿ°Ù `%s'¸¦ ´Ù½Ã ¸¸µé¾î¾ß ÇÕ´Ï´Ù.\n"
+msgstr "'%s' íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들어야 합니다.\n"
-#: remake.c:810
-#, fuzzy, c-format
+#: remake.c:831
+#, c-format
msgid " Ignoring VPATH name '%s'.\n"
-msgstr " VPATH À̸§ `%s'À»(¸¦) ¹«½ÃÇÕ´Ï´Ù.\n"
+msgstr " VPATH ì´ë¦„ '%s'ì„(를) 무시합니다.\n"
-#: remake.c:819
-#, fuzzy, c-format
+#: remake.c:840
+#, c-format
msgid "Recipe of '%s' is being run.\n"
-msgstr "`%s'¶ó´Â ¸í·ÉÀÌ ½ÇÇà ÁßÀÔ´Ï´Ù.\n"
+msgstr "'%s'ì˜ ëª…ë ¹ì´ ì‹¤í–‰ 중입니다.\n"
-#: remake.c:826
-#, fuzzy, c-format
+#: remake.c:847
+#, c-format
msgid "Failed to remake target file '%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'¸¦ ´Ù½Ã ¸¸µå´Â µ¥ ½ÇÆÐÇß½À´Ï´Ù.\n"
+msgstr "'%s' 타겟 파ì¼ì„ 다시 ë§Œë“œëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.\n"
-#: remake.c:829
-#, fuzzy, c-format
+#: remake.c:850
+#, c-format
msgid "Successfully remade target file '%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'¸¦ ¼º°øÀûÀ¸·Î ´Ù½Ã ¸¸µé¾ú½À´Ï´Ù.\n"
+msgstr "'%s' 타겟 파ì¼ì„ 성공ì ìœ¼ë¡œ 다시 만들었습니다.\n"
-#: remake.c:832
-#, fuzzy, c-format
+#: remake.c:853
+#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'ÀÌ(°¡) -q ÇÏ¿¡ ´Ù½Ã ¸¸µé¾îÁ®¾ß ÇÕ´Ï´Ù.\n"
+msgstr "'%s' 타겟 파ì¼ì„ -q 옵션으로 다시 만들어야 합니다.\n"
-#: remake.c:1027
-#, fuzzy, c-format
+#: remake.c:1048
+#, c-format
msgid "Using default commands for '%s'.\n"
-msgstr "`%s'¿¡ ´ëÇØ ³»Á¤µÈ ¸í·ÉÀ» »ç¿ëÇÔ.\n"
+msgstr "'%s'ì— ëŒ€í•´ 기본 ëª…ë ¹ì„ ì‚¬ìš©.\n"
-#: remake.c:1372
-#, fuzzy, c-format
+#: remake.c:1397
+#, c-format
msgid "Warning: File '%s' has modification time in the future"
-msgstr "*** ÆÄÀÏ `%s'°¡ ¹Ì·¡ÀÇ º¯°æ ½Ã°¢À» °¡Áö°í ÀÖ½À´Ï´Ù (%s > %s)"
+msgstr "경고: '%s' 파ì¼ì˜ 변경 ì‹œê°ì´ 미래입니다"
-#: remake.c:1385
-#, fuzzy, c-format
+#: remake.c:1411
+#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
-msgstr "*** ÆÄÀÏ `%s'°¡ ¹Ì·¡ÀÇ º¯°æ ½Ã°¢À» °¡Áö°í ÀÖ½À´Ï´Ù (%s > %s)"
+msgstr "경고: '%s' 파ì¼ì˜ 변경 ì‹œê°(%s)ì´ ë¯¸ëž˜ìž…ë‹ˆë‹¤"
-#: remake.c:1583
-#, fuzzy, c-format
+#: remake.c:1610
+#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
-msgstr ".LIBPATTERNSÀÇ ¿ø¼Ò `%s'ÀÌ(°¡) ÆÐÅÏÀÌ ¾Æ´Õ´Ï´Ù"
+msgstr ".LIBPATTERNSì˜ ì›ì†Œ '%s'ì´(ê°€) íŒ¨í„´ì´ ì•„ë‹™ë‹ˆë‹¤"
-# ??? µð¹ö±ë ¸Þ¼¼Áö -- ¹ºÁö ¾Ë±â ¾î·Á¿ò
+# ??? 디버깅 메세지 -- 뭔지 알기 어려움
#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "CustomsÀº exportµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù: %s\n"
+msgstr "Customsì€ exportë˜ì§€ 않습니다: %s\n"
-#: rule.c:496
-#, fuzzy
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# ¹¬½ÃÀû ±ÔÄ¢ ¾øÀ½."
+"# ë¬µì‹œì  ê·œì¹™"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# ¹¬½ÃÀû ±ÔÄ¢ ¾øÀ½."
+"# ë¬µì‹œì  ê·œì¹™ ì—†ìŒ."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# %u°³ÀÇ ¹¬½ÃÀû ±ÔÄ¢, %u"
+"# ë¬µì‹œì  ê·œì¹™ %uê°œ, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
-msgstr " Å͹̳Î."
+msgstr " 터미ë„."
-#: rule.c:531
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "¹ö±×: num_pattern_rules ¿À·ù! %u != %u"
+msgstr "버그: num_pattern_rules 틀렸습니다! %u != %u"
#: signame.c:84
msgid "unknown signal"
-msgstr "¾Ë ¼ö ¾ø´Â ½ÅÈ£"
+msgstr "알 수 없는 신호"
#: signame.c:92
msgid "Hangup"
-msgstr "²÷¾îÁü"
+msgstr "ëŠì–´ì§"
#: signame.c:95
msgid "Interrupt"
-msgstr "ÀÎÅÍ·´Æ®"
+msgstr "ì¸í„°ëŸ½íŠ¸"
#: signame.c:98
msgid "Quit"
-msgstr "Á¾·á"
+msgstr "ë내기"
#: signame.c:101
msgid "Illegal Instruction"
-msgstr "À߸øµÈ ¸í·É"
+msgstr "ìž˜ëª»ëœ ëª…ë ¹"
#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "ÃßÀû/Áß´ÜÁ¡ Æ®·¦"
+msgstr "추ì /ì¤‘ë‹¨ì  íŠ¸ëž©"
#: signame.c:109
msgid "Aborted"
-msgstr "ÁߴܵÊ"
+msgstr "중단ë¨"
#: signame.c:112
msgid "IOT trap"
-msgstr "IOT Æ®·¦"
+msgstr "IOT 트랩"
#: signame.c:115
msgid "EMT trap"
-msgstr "EMT Æ®·¦"
+msgstr "EMT 트랩"
#: signame.c:118
msgid "Floating point exception"
-msgstr "ºÎµ¿ ¼Ò¼öÁ¡ ¿¹¿Ü"
+msgstr "ë¶€ë™ ì†Œìˆ˜ì  ì˜ˆì™¸"
#: signame.c:121
msgid "Killed"
-msgstr "Á×¾úÀ½"
+msgstr "죽었ìŒ"
#: signame.c:124
msgid "Bus error"
-msgstr "¹ö½º ¿À·ù"
+msgstr "버스 오류"
#: signame.c:127
msgid "Segmentation fault"
-msgstr "¼¼±×¸àÅ×ÀÌ¼Ç ¿À·ù"
+msgstr "세그멘테ì´ì…˜ 오류"
#: signame.c:130
msgid "Bad system call"
-msgstr "À߸øµÈ ½Ã½ºÅÛ È£Ãâ"
+msgstr "ìž˜ëª»ëœ ì‹œìŠ¤í…œ 호출"
#: signame.c:133
msgid "Broken pipe"
-msgstr "±ú¾îÁø ÆÄÀÌÇÁ"
+msgstr "깨어진 파ì´í”„"
#: signame.c:136
msgid "Alarm clock"
-msgstr "ÀÚ¸íÁ¾ ½Ã°è"
+msgstr "ìžëª…종 시계"
#: signame.c:139
msgid "Terminated"
-msgstr "Á¾·áµÊ"
+msgstr "종료ë¨"
#: signame.c:142
msgid "User defined signal 1"
-msgstr "»ç¿ëÀÚ Á¤ÀÇ ½ÅÈ£ 1"
+msgstr "ì‚¬ìš©ìž ì •ì˜ ì‹ í˜¸ 1"
#: signame.c:145
msgid "User defined signal 2"
-msgstr "»ç¿ëÀÚ Á¤ÀÇ ½ÅÈ£ 2"
+msgstr "ì‚¬ìš©ìž ì •ì˜ ì‹ í˜¸ 2"
#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "ÀÚ½ÄÀÌ Á¾·áµÇ¾úÀ½"
+msgstr "하위 프로세스 ë남"
#: signame.c:156
msgid "Power failure"
-msgstr "Àü·Â Áß´Ü"
+msgstr "전력 중단"
#: signame.c:159
msgid "Stopped"
-msgstr "ÁßÁöµÊ"
+msgstr "중지ë¨"
#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "ÁßÁöµÊ (tty ÀÔ·Â)"
+msgstr "중지ë¨(tty ìž…ë ¥)"
#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "ÁßÁöµÊ (tty Ãâ·Â)"
+msgstr "중지ë¨(tty 출력)"
#: signame.c:168
msgid "Stopped (signal)"
-msgstr "ÁßÁöµÊ (½Ã±×³Î)"
+msgstr "중지ë¨(시그ë„)"
#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "CPU ½Ã°£ Á¦ÇÑ ÃÊ°úµÊ"
+msgstr "CPU 시간 제한 초과ë¨"
#: signame.c:174
msgid "File size limit exceeded"
-msgstr "ÆÄÀÏ Å©±â Á¦ÇÑ ÃÊ°úµÊ"
+msgstr "íŒŒì¼ í¬ê¸° 제한 초과ë¨"
#: signame.c:177
msgid "Virtual timer expired"
-msgstr "°¡»ó ŸÀÌ¸Ó ½Ã°£ ÃÊ°úµÊ"
+msgstr "ê°€ìƒ íƒ€ì´ë¨¸ 시간 초과ë¨"
#: signame.c:180
msgid "Profiling timer expired"
-msgstr "ÇÁ·ÎÆÄÀϸµ ŸÀÌ¸Ó ½Ã°£ ÃÊ°úµÊ"
+msgstr "프로파ì¼ë§ 타ì´ë¨¸ 시간 초과ë¨"
#: signame.c:186
msgid "Window changed"
-msgstr "âÀÌ ¹Ù²î¾úÀ½"
+msgstr "ì°½ì´ ë°”ë€Œì—ˆìŒ"
#: signame.c:189
msgid "Continued"
-msgstr "°è¼ÓµÊ"
+msgstr "계ì†ë¨"
#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "±ä±ÞÇÑ ÀÔÃâ·Â »óȲ"
+msgstr "긴급한 입출력 ìƒí™©"
#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "ÀÔÃâ·Â °¡´É"
+msgstr "입출력 가능"
#: signame.c:202
msgid "SIGWIND"
@@ -1968,19 +1975,19 @@ msgstr "SIGPHONE"
#: signame.c:211
msgid "Resource lost"
-msgstr "ÀÚ¿ø ¼Õ½Ç"
+msgstr "ìžì› ì†ì‹¤"
#: signame.c:214
msgid "Danger signal"
-msgstr "À§Çè ½ÅÈ£"
+msgstr "위험 신호"
#: signame.c:217
msgid "Information request"
-msgstr "Á¤º¸ ¿äû"
+msgstr "정보 요청"
#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "ºÎµ¿¼Ò¼öÁ¡ ¿¬»ê º¸Á¶ÇÁ·Î¼¼¼­°¡ ¾ø½À´Ï´Ù"
+msgstr "부ë™ì†Œìˆ˜ì  ì—°ì‚° 보조프로세서가 없습니다"
#: strcache.c:236
#, c-format
@@ -1988,6 +1995,8 @@ msgid ""
"\n"
"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s strcache ë²„í¼ ì—†ìŒ\n"
#: strcache.c:266
#, c-format
@@ -1996,23 +2005,28 @@ msgid ""
"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
"B\n"
msgstr ""
+"\n"
+"%s strcache 버í¼: %lu (%lu) / 문ìžì—´ = %lu / 저장 공간 = %lu B / í‰ê·  = %lu "
+"B\n"
#: strcache.c:270
#, c-format
msgid ""
"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"%s 현재 버í¼: í¬ê¸° = %hu B / 사용 = %hu B / 개수 = %hu / í‰ê·  = %hu B\n"
#: strcache.c:280
#, c-format
msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
-msgstr ""
+msgstr "%s 기타 사용: ì „ì²´ = %lu B / 개수 = %lu / í‰ê·  = %lu B\n"
#: strcache.c:283
#, c-format
msgid ""
"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
+"%s 기타 빈 공간: ì „ì²´ = %lu B / 최대 = %lu B / 최소 = %lu B / í‰ê·  = %hu B\n"
#: strcache.c:287
#, c-format
@@ -2020,171 +2034,177 @@ msgid ""
"\n"
"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
+"\n"
+"%s strcache 효율: 검색 = %lu / 히트 비율 = %lu%%\n"
#: strcache.c:289
msgid ""
"# hash-table stats:\n"
"# "
msgstr ""
+"# í•´ì‹œ í…Œì´ë¸” 통계:\n"
+"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
-msgstr "ÀÚµ¿"
+msgstr "ìžë™"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
-msgstr "±âº»°ª"
+msgstr "기본값"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
-msgstr "ȯ°æ"
+msgstr "환경"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ"
+msgstr "ë©”ì´í¬íŒŒì¼"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
-msgstr "-e ÇÏÀÇ È¯°æ"
+msgstr "-e í•˜ì˜ í™˜ê²½"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
-msgstr "¸í·ÉÇà"
+msgstr "명령행"
-#: variable.c:1625
-#, fuzzy
+#: variable.c:1617
msgid "'override' directive"
-msgstr "`override' Áö½ÃÀÚ"
+msgstr "'override' 지시ìž"
-#: variable.c:1636
-#, fuzzy, c-format
+#: variable.c:1628
+#, c-format
msgid " (from '%s', line %lu)"
-msgstr " (`%s'¿¡¼­, %lu¹ø° ÁÙ):\n"
+msgstr " ('%s'ì—ì„œ, %lu번째 줄)"
-#: variable.c:1699
-#, fuzzy
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# %2$u°³ÀÇ Çؽ¬ ¹öŶ¿¡ %1$u°³ÀÇ º¯¼ö.\n"
+msgstr "# 변수 ëª¨ìŒ í•´ì‹œ í…Œì´ë¸” 통계:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
"\n"
-"# º¯¼ö\n"
+"# 변수\n"
-#: variable.c:1714
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# ÆÐÅÏÀ» À§ÇÑ º¯¼ö °ªµé"
+"# íŒ¨í„´ì„ ìœ„í•œ 변수 ê°’"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# ÆÐÅÏÀ» À§ÇÑ º¯¼ö °ªµéÀÌ ¾ø½À´Ï´Ù."
+"# íŒ¨í„´ì„ ìœ„í•œ 변수 ê°’ì´ ì—†ìŠµë‹ˆë‹¤."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u°³ÀÇ ÆÐÅÏÀ» À§ÇÑ º¯¼ö °ªµé"
+"# 특정 íŒ¨í„´ì„ ìœ„í•œ 변수 ê°’ %uê°œ"
#: variable.h:224
-#, fuzzy, c-format
+#, c-format
msgid "warning: undefined variable '%.*s'"
-msgstr "°æ°í: Á¤ÀǵÇÁö ¾ÊÀº º¯¼ö `%.*s'"
+msgstr "경고: ì •ì˜ë˜ì§€ ì•Šì€ ë³€ìˆ˜ '%.*s'"
#: vmsfunctions.c:91
-#, fuzzy, c-format
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search°¡ %d¸¦ ¸®ÅÏÇÏ¸ç ½ÇÆÐÇß½À´Ï´Ù\n"
+msgstr "sys$search()ê°€ %dë²ˆì„ ë¦¬í„´í•˜ë©° 실패했습니다\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "°æ°í: ºñ¾î ÀÖ´Â ¸®´ÙÀÌ·º¼Ç\n"
+msgstr "경고: 비어 있는 리다ì´ë ‰ì…˜\n"
-#: vmsjobs.c:178
-#, fuzzy, c-format
+#: vmsjobs.c:183
+#, c-format
msgid "internal error: '%s' command_state"
-msgstr "³»ºÎ ¿À·ù: `%s' command_state"
+msgstr "내부 오류: '%s' command_state"
-# DCL - Digital Command Language, VMS¿¡¼­¸¸ Á¸ÀçÇÏ´Â shell languageÀÇ ÀÏÁ¾
-#: vmsjobs.c:286
+# DCL - Digital Command Language, VMSì—서만 존재하는 shell languageì˜ ì¼ì¢…
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-°æ°í, DCL¿¡¼­ CTRL-Y¸¦ ´Ù½Ã »ç¿ë°¡´ÉÇϵµ·Ï ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù.\n"
+msgstr "-경고, DCLì—ì„œ CTRL-Y를 다시 사용가능하ë„ë¡ í•´ì•¼ í•  것입니다.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
-msgstr "³»Àå [%s][%s]\n"
+msgstr "내장 [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
-msgstr "³»Àå CD %s\n"
+msgstr "내장 CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "³»Àå RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "내장 CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "¾Ë ¼ö ¾ø´Â ³»Àå ¸í·É¾î `%s'\n"
+msgstr "알 수 없는 내장 명령어 '%s'\n"
+
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
-#: vmsjobs.c:489
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
-msgstr "¿À·ù, ºó ¸í·É¾î\n"
+msgstr "오류, 빈 명령어\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr "ÀÔ·ÂÀ» %s¿¡¼­ ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+msgstr "ìž…ë ¥ì„ %sì—ì„œ 리다ì´ë ‰íŠ¸í•©ë‹ˆë‹¤\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
-msgstr "¿À·ù¸¦ %sÀ¸·Î(·Î) ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+msgstr "오류를 %s(으)ë¡œ 리다ì´ë ‰íŠ¸í•©ë‹ˆë‹¤\n"
-#: vmsjobs.c:518
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Ãâ·ÂÀ» %s¿¡¼­ ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+msgstr "ì¶œë ¥ì„ %sì— ë¶™ìž…ë‹ˆë‹¤\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "Ãâ·ÂÀ» %s¿¡¼­ ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+msgstr "ì¶œë ¥ì„ %s(으)ë¡œ ëŒë¦½ë‹ˆë‹¤\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "%.*sì„(를) 붙ì´ê³  지ì›ë‹ˆë‹¤\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "´ë½Å %s¸¦ ½ÇÇàÇÔ\n"
+msgstr "대신 %sì„(를) 실행\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "½ÇÇà ¿À·ù, %d\n"
+msgstr "실행 오류, %d\n"
#: vpath.c:583
msgid ""
@@ -2192,175 +2212,50 @@ msgid ""
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# VPATH Ž»ö °æ·Î\n"
+"# VPATH íƒìƒ‰ 경로\n"
#: vpath.c:600
-#, fuzzy
msgid "# No 'vpath' search paths."
-msgstr "# `vpath' Ž»ö °æ·Î°¡ ¾øÀ½."
+msgstr "# 'vpath' íƒìƒ‰ 경로가 ì—†ìŒ."
#: vpath.c:602
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u°³ÀÇ `vpath' Ž»ö °æ·Î.\n"
+"# 'vpath' íƒìƒ‰ 경로 %uê°œ.\n"
#: vpath.c:605
-#, fuzzy
msgid ""
"\n"
"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# ÀϹÝÀûÀÎ (`VPATH' º¯¼ö) Ž»ö °æ·Î°¡ ¾øÀ½."
+"# ì¼ë°˜ì ì¸ ('VPATH' 변수) íƒìƒ‰ 경로가 ì—†ìŒ."
#: vpath.c:611
-#, fuzzy
msgid ""
"\n"
"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# ÀϹÝÀûÀÎ (`VPATH' º¯¼ö) Ž»ö °æ·Î:\n"
+"# ì¼ë°˜ì ì¸ ('VPATH' 변수) íƒìƒ‰ 경로:\n"
"# "
-#~ msgid "# Invalid value in `update_status' member!"
-#~ msgstr "# `update_status' ¸â¹ö¿¡ °ªÀÌ À߸øµÇ¾ú½À´Ï´Ù!"
-
-#~ msgid ""
-#~ "\n"
-#~ "# No files."
-#~ msgstr ""
-#~ "\n"
-#~ "# ÆÄÀÏ ¾øÀ½."
-
-#~ msgid ""
-#~ "\n"
-#~ "# %u files in %u hash buckets.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "# %2$u°³ÀÇ Çؽ¬ ¹öŶ¿¡ %1$u°³ÀÇ ÆÄÀÏ.\n"
-
-#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
-#~ msgstr "# ¹öŶ´ç %.3f°³ÀÇ ÆÄÀÏ, ÇÑ °³ÀÇ ¹öŶ¿¡ ÃÖ´ë %u°³ÀÇ ÆÄÀÏ.\n"
-
-#~ msgid "*** [%s] Error 0x%x (ignored)"
-#~ msgstr "*** [%s] ¿À·ù 0x%x (¹«½ÃµÊ)"
-
-#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "¹®¹ý ¿À·ù, ¾ÆÁ÷ '\"' ¾È¿¡ ÀÖ½À´Ï´Ù\n"
-
-#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr ""
-#~ "SIGCHLD ½Ã±×³ÎÀ» ¹Þ¾Ò½À´Ï´Ù; %u°³ÀÇ ÀÚ½ÄÇÁ·Î¼¼½º°¡ ³¡³ªÁö ¾Ê¾Ò½À´Ï´Ù.\n"
-
-#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-°æ°í, CTRL-Y´Â ÆÄ»ýµÈ ÇÁ·Î¼¼½ºµéÀ» ±×´ë·Î ³²°ÜµÑ °ÍÀÔ´Ï´Ù.\n"
-
-#~ msgid "DIRECTORY"
-#~ msgstr "<µð·ºÅ丮>"
-
-#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr "ÀÏÀ» ó¸®Çϱâ Àü¿¡ ¸ÕÀú <µð·ºÅ丮>·Î À̵¿ÇÕ´Ï´Ù"
-
-#~ msgid "FLAGS"
-#~ msgstr "<Ç÷¡±×>"
-
-#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "µð¹ö°Å¸¦ ºÙÀÏ ¼ö ÀÖµµ·Ï ÇÁ·Î¼¼½º¸¦ ÀϽà ÁߴܽÃŵ´Ï´Ù"
-
-#~ msgid "Environment variables override makefiles"
-#~ msgstr "ȯ°æº¯¼ö°¡ ¸ÞÀÌÅ©ÆÄÀϺ¸´Ù ¿ì¼±ÇÕ´Ï´Ù"
-
-#~ msgid "FILE"
-#~ msgstr "<ÆÄÀÏ>"
-
-#~ msgid "Read FILE as a makefile"
-#~ msgstr "<ÆÄÀÏ>À» ¸ÞÀÌÅ©ÆÄÀÏ·Î ÀнÀ´Ï´Ù"
-
-#~ msgid "Ignore errors from commands"
-#~ msgstr "¸í·É¿¡ ÀÖ´Â ¿À·ù¸¦ ¹«½ÃÇÕ´Ï´Ù"
-
-#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "Æ÷ÇÔ½Ãų ¸ÞÀÌÅ©ÆÄÀÏÀ» <µð·ºÅ丮>¿¡¼­ ã½À´Ï´Ù"
-
-#~ msgid "Don't start multiple jobs unless load is below N"
-#~ msgstr "ºÎÇÏ°¡ N º¸´Ù ÀÛÁö ¾ÊÀ¸¸é ´ÙÁß ÀÛ¾÷À» ½ÃÀÛÇÏÁö ¾Ê½À´Ï´Ù"
-
-#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "½ÇÁ¦·Î ¾î¶² ¸í·Éµµ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù; ±×³É Àμ⸸ ÇÕ´Ï´Ù"
-
-#~ msgid "Consider FILE to be very old and don't remake it"
-#~ msgstr "FILEÀ» ¸Å¿ì ¿À·¡µÈ °ÍÀ¸·Î °£ÁÖÇÏ°í ´Ù½Ã ¸¸µéÁö ¾Ê½À´Ï´Ù"
-
-#~ msgid "Don't echo commands"
-#~ msgstr "¸í·ÉÀ» ¹ÝÇâÇÏÁö ¾Ê½À´Ï´Ù"
-
-#~ msgid "Turns off -k"
-#~ msgstr "-k¸¦ ²ü´Ï´Ù"
-
-#~ msgid "Consider FILE to be infinitely new"
-#~ msgstr "ÆÄÀÏÀ» ¿µ¿øÈ÷ »õ·Î¿î °ÍÀ¸·Î °£ÁÖÇÕ´Ï´Ù"
-
-#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "sh.exe¸¦ »ç¿ëÇÒ ¼ö ¾øÀ¸¸é -j ȤÀº -jobs¸¦ ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù"
-
-#~ msgid "Resetting make for single job mode."
-#~ msgstr "make°¡ ´ÜÀÏ ÀÛ¾÷ ¸ðµå·Î º¹±ÍÇÕ´Ï´Ù"
-
-#~ 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, 2000\n"
-#~ "%s\tFree Software Foundation, Inc.\n"
-#~ "%sThis is free software; see the source for copying conditions.\n"
-#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
-#~ "%sPARTICULAR PURPOSE.\n"
-#~ "\n"
-#~ "%sReport bugs to <bug-make@gnu.org>.\n"
-#~ "\n"
-#~ msgstr ""
-#~ ", Richard Stallman°ú Roland McGrath.\n"
-#~ "%s%s¿¡ ´ëÇÑ ºôµå\n"
-#~ "%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
-#~ "%s\tFree Software Foundation, Inc.\n"
-#~ "%sÀÌ ÇÁ·Î±×·¥Àº ÀÚÀ¯¼ÒÇÁÆ®¿þ¾îÀÔ´Ï´Ù; º¹»çÁ¶°ÇÀº ¼Ò½º¸¦ Âü°íÇϽʽÿÀ.\n"
-#~ "%s»óÇ°¼ºÀ̳ª ƯÁ¤ ¸ñÀû¿¡ ´ëÇÑ ÀûÇÕ¼ºÀ» ºñ·ÔÇÏ¿©, ¾î¶°ÇÑ º¸Áõµµ ÇÏÁö \n"
-#~ "%s¾Ê½À´Ï´Ù.\n"
-#~ "\n"
-#~ "%s¹®Á¦Á¡Àº <bug-make@gnu.org>·Î ¾Ë·ÁÁֽʽÿÀ.\n"
-#~ "\n"
-
-#~ msgid "Entering"
-#~ msgstr "µé¾î°¨"
-
-#~ msgid "Leaving"
-#~ msgstr "³ª°¨"
-
-#~ msgid "extraneous `endef'"
-#~ msgstr "¿©ºÐÀÇ `endef'"
-
-#~ msgid "empty `override' directive"
-#~ msgstr "ºó `override' Áö½ÃÀÚ"
-
-#~ msgid "invalid `override' directive"
-#~ msgstr "À߸øµÈ `override' Áö½ÃÀÚ"
-
-#~ msgid "no file name for `%sinclude'"
-#~ msgstr "`%sinclude'¿¡ ÆÄÀÏÀ̸§ÀÌ ¾ø½À´Ï´Ù"
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "내부 오류: 여러 ê°œì˜ --sync-mutex 옵션"
-#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "Ÿ°Ù `%s'Àº(´Â) ¼±ÇàÁ¶°Ç ÆÐÅÏÀ» ºó °ªÀ¸·Î ³»¹ö·Á µÎ°Ô µË´Ï´Ù"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "내부 오류: 여러 ê°œì˜ -jobserver-fds 옵션"
-#~ msgid "# No variables."
-#~ msgstr "# º¯¼ö ¾øÀ½."
+#~ msgid "virtual memory exhausted"
+#~ msgstr "ê°€ìƒ ë©”ëª¨ë¦¬ê°€ ê³ ê°ˆë¨"
-#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# ¹öŶ´ç Æò±Õ %.1f°³ÀÇ º¯¼ö, ÇÑ °³ÀÇ ¹öŶ¿¡ ÃÖ´ë %u°³.\n"
+#~ msgid "write error"
+#~ msgstr "쓰기 오류"
-#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# ¹öŶ´ç Æò±Õ %d.%d°³ÀÇ º¯¼ö, ÇÑ °³ÀÇ ¹öŶ¿¡ ÃÖ´ë %u°³.\n"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "내장 RM %s\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index aa293e5..5277a0e 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 02e43f3..e9fa7d2 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make-3.81\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2008-05-17 21:42+0300\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -48,50 +48,50 @@ msgstr "touch: Archyvas „%s“ neegzistuoja"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr ""
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "nepavyko atverti bibliotekos „%s“ bandant surasti narį „%s“"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Narys „%s“%s: %ld baitų pozicijoje %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (pavadinimas gali būti sutrumpintas)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mode = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr ""
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
@@ -101,26 +101,26 @@ msgstr ""
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Trinamas failas „%s“"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Trinamas failas „%s“"
-#: commands.c:684
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# vykdytinos komandos"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (integruota)"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (nuo „%s“, %lu eilutė):\n"
@@ -202,159 +202,159 @@ msgstr "Rekursyvus kintamasis „%s“ nukreipia į save (anksÄiau ar vÄ—liau)"
msgid "unterminated variable reference"
msgstr "neterminuota nuoroda į kintamąjį"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Komandos nurodytos failui „%s“ %s:%lu,"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Komandos failui „%s“ rastos pagal neišreikštinę taisyklių paiešką"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "bet „%s“ dabar laikomas tuo paÄiu failu kaip „%s“."
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Komandos „%s“ bus ignoruojamos „%s“ komandų naudai."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Trinamas tarpinis failas „%s“"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Å alinami tarpiniai failai...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Dabartinis laikas"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Laiko žymÄ— už rėžių; keiÄiama į %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Dabartinis laikas"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ne tikslas:"
-#: file.c:954
+#: file.c:960
#, fuzzy
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Brangus failas (reikalingas .PRECIOUS)"
-#: file.c:956
+#: file.c:962
#, fuzzy
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Keistas tikslas (reikalingas .PHONY)."
-#: file.c:958
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# KomandinÄ—s eilutÄ—s tikslas"
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Numatytoji reikšmė, MAKEFILES, arba -include/sinclude „make“ failas"
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# Nėra neišreikštinių taisyklių."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Neišreikštinių taisyklių paieška atlikta."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Neišreikštinių taisyklių paieška neatlikta."
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Išreikštinis/statinis šablono kamienas: „%s“\n"
-#: file.c:969
+#: file.c:975
#, fuzzy
msgid "# File is an intermediate prerequisite."
msgstr "# Failas yra tarpinÄ— sÄ…lyga"
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Taip pat sukuria:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Modifikacijos laikas niekada netikrintas."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Failas neegzistuoja."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Failas labai senas."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Paskutinį kartą pakeista %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Failas atnaujintas."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Failas nebuvo atnaujintas."
-#: file.c:995
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Dabar vykdomos komandos (TAI KLAIDA)."
-#: file.c:998
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Vykdomos priklausomybių komandos (TAI KLAIDA)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# SÄ—kmingai atnaujinta."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Turi būti atnaujinta (-q nustatyta)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Nepavyko atnaujinti."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# Netaisyklinga reikšmė „command_state“ naryje!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -362,7 +362,7 @@ msgstr ""
"\n"
"# Failai"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -372,103 +372,103 @@ msgstr ""
"# failų maišos lentelės statistika:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr ""
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr ""
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr ""
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr ""
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr ""
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr ""
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr ""
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr ""
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr ""
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "rašymo klaida: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr ""
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr ""
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr ""
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr ""
-#: function.c:2555
+#: function.c:2601
#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr ""
#: getopt.c:659
@@ -526,12 +526,12 @@ msgstr "%s: parametras „-W %s“ dviprasmis\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: parametras „-W %s“ neleidžia argumento\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -614,209 +614,209 @@ msgstr "Å alinami tarpiniai failai...\n"
msgid "Cannot create a temporary file\n"
msgstr ""
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr ""
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr ""
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (integruota)"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
+#: job.c:516 job.c:524
#, c-format
-msgid "%s[%s] Error 0x%x%s"
+msgid "%s[%s] Error %d%s"
msgstr ""
-#: job.c:513
+#: job.c:519
#, c-format
-msgid "%s[%s] Error %d%s"
+msgid "%s[%s] Error 0x%x%s"
msgstr ""
-#: job.c:517
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr ""
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr ""
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr ""
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr ""
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr ""
-#: job.c:837
+#: job.c:849
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "%s: nepavyko atverti laikinojo failo: %s"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "%s: nepavyko atverti laikinojo failo: %s"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ""
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr ""
-#: job.c:1023
+#: job.c:1036
#, fuzzy
msgid "write jobserver"
msgstr "rašymo klaida: %s"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr ""
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ""
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr ""
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr ""
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch: Archyvas „%s“ neegzistuoja"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%sNėra taisyklės pasiekti tikslui „%s“, kurio reikia „%s“%s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
-#: job.c:2120
+#: job.c:2173
#, fuzzy
msgid "cannot enforce load limit: "
msgstr "%s: nepayko pakeisti limito: %s"
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr ""
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Komanda nerasta"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Kevalo programa nerasta"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL pakeistas (buvo „%s“, dabar „%s“)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr ""
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -825,224 +825,220 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr ""
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr ""
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr ""
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
"it.\n"
msgstr ""
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr ""
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr ""
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr ""
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
msgstr ""
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "negalimas tuÅ¡Äias failo pavadinimas"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "nežinomas debug lygio specifikacija „%s“"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr ""
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1052,179 +1048,175 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr ""
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr ""
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr ""
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr ""
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr ""
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr ""
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr ""
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr ""
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr ""
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr ""
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr ""
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr ""
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr ""
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr ""
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr ""
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Atnaujinami „make“ failai....\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Nereikia atnaujinti taikinio „%s“"
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "„Make“ failas „%s“ nerastas"
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "„Make“ failas „%s“ nerastas"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Nepavyko grįžti į pirminį aplanką."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr ""
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr ""
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nenurodyta tikslų ir nerasta „make“ failų"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Nėra tikslų"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Atnaujinami tikslai...\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Naudojimas: %s [argumentai] [tikslas] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1233,7 +1225,7 @@ msgstr ""
"\n"
"Å i programa sukompiliuota %s sistemai\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1242,36 +1234,36 @@ msgstr ""
"\n"
"Å i programa sukompiliuota %s (%s) sistemai\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Praneškite apie klaidas adresu <bug-make@gnu.org>\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "parametrui „-%c“ reikia netuÅ¡Äio argumento"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "parametrui „-%c“ reikia teigiamo sveiko argumento"
-#: main.c:3253
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%sÅ i programa sukompiliuota %s sistemai\n"
-#: main.c:3255
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%sÅ i programa sukompiliuota %s (%s) sistemai\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1280,14 +1272,14 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1299,10 +1291,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Nežinoma klaida %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "baigÄ—si virtuali atmintis"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1324,65 +1312,61 @@ msgstr ""
msgid "Child access"
msgstr ""
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Įeinama į nežinomą aplanką\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Išeinama iš nežinomo aplanko\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Įeinama į aplanką „%s“\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Išeinama iš aplanko „%s“\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Įeinama į nežinomą aplanką\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Išeinama iš nežinomo aplanko\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Įeinama į aplanką „%s“\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Išeinama iš aplanko „%s“\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "rašymo klaida: %s"
-#: output.c:517
-msgid "write error"
-msgstr "rašymo klaida"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Pabaiga.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1391,357 +1375,362 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Skaitomi „make“ failai...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "Skaitomas „make“ failas „%s“"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (nÄ—ra numatytojo tikslo)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (paieškos kelias)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (nesvarbu)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (nėra ~ išplėtimo)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "netaisyklinga sÄ…lygos sintaksÄ—"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "komandos prasideda prieš pirmąjį tikslą"
-#: read.c:1036
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "trūksta taisyklės prieš komandas"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "trūksta skirtuko%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (ar norėjote padėti TAB simbolį vietoje 8 tarpų?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "trūksta skirtuko%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "trūksta tikslo šablono"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "keli tikslo Å¡ablonai"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "tikslo šablone nėra „%%“"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "trūksta „endif“"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tuÅ¡Äias kintamojo pavadinimas"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "Perteklinis tekstas po „endef“ direktyvos"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "trūksta „endef“, nebaigtas „define“"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "Perteklinis tekstas po „endef“ direktyvos"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "Perteklinis tekstas po „%s“ direktyvos"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "perteklinis „%s“"
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr ""
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr ""
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr ""
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr ""
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr ""
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr ""
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr ""
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr ""
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr ""
-#: read.c:2530
+#: read.c:2229
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr ""
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "Nėra ką daryti su „%s“."
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "„%s“ atnaujinti nereikia."
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "Vis dar atnaujinamas failas „%s“.\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sNėra taisyklės pasiekti tikslui „%s“%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sNėra taisyklės pasiekti tikslui „%s“, kurio reikia „%s“%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNėra taisyklės pasiekti tikslui „%s“%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "Svarstomas tikslo failas „%s“.\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Neseniai bandyta ir nepavyko atnaujinti failo „%s“.\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "Failas „%s“ jau apsvarstytas.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "Vis dar atnaujinamas failas „%s“.\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Baigtas atnaujinti failas „%s“.\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "Failas „%s“ neegzistuoja.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Rasta neišreikštinė taisyklė tikslui „%s“.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Nerasta neišreikštinių taisyklių tikslui „%s“.\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr ""
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr ""
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Svarstomas tikslo failas „%s“.\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr ""
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Svarstomas tikslo failas „%s“.\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Tikslas „%s“ neatnaujintas dėl klaidų."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ""
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Failas „%s“ neegzistuoja.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr ""
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ""
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr ""
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "Nereikia atnaujinti taikinio „%s“"
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr ""
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "Būtina atnaujinti taikinį „%s“.\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr ""
-#: remake.c:819
+#: remake.c:840
#, fuzzy, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Vykdomos „%s“ komandos.\n"
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Nereikia atnaujinti taikinio „%s“"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Būtina atnaujinti taikinį „%s“.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "paskutinÄ— komanda: %s\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr ""
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ""
@@ -1751,7 +1740,7 @@ msgstr ""
msgid "Customs won't export: %s\n"
msgstr ""
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1759,7 +1748,7 @@ msgstr ""
"\n"
"# Neišreikštinės taisyklės"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1767,7 +1756,7 @@ msgstr ""
"\n"
"# Nėra neišreikštinių taisyklių."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1776,11 +1765,11 @@ msgstr ""
"\n"
"# %u neišreikštinių taisyklių, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr ""
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr ""
@@ -1995,64 +1984,64 @@ msgstr ""
"# failų maišos lentelės statistika:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr ""
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr ""
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr ""
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr ""
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr ""
-#: variable.c:1622
+#: variable.c:1614
#, fuzzy
msgid "command line"
msgstr "%s: komanda nerasta"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "tuÅ¡Äia „override“ direktyva"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (nuo „%s“, %lu eilutė):\n"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr ""
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2069,77 +2058,82 @@ msgstr "%s: neatpažintas argumentas „%c%s“\n"
msgid "sys$search() failed with %d\n"
msgstr ""
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr ""
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr ""
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr ""
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr ""
-#: vmsjobs.c:446
+#: vmsjobs.c:501
#, c-format
-msgid "BUILTIN RM %s\n"
+msgid "BUILTIN ECHO %s->%s\n"
msgstr ""
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, fuzzy, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "paskutinÄ— komanda: %s\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr ""
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr ""
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, fuzzy, c-format
msgid "Redirected error to %s\n"
msgstr "skaitymo klaida: %d: %s"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr ""
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr ""
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr ""
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr ""
@@ -2178,6 +2172,12 @@ msgstr ""
#~ msgid "# Invalid value in `update_status' member!"
#~ msgstr "# Netaisyklinga reikšmė „update_status“ naryje!"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "baigÄ—si virtuali atmintis"
+
+#~ msgid "write error"
+#~ msgstr "rašymo klaida"
+
#~ msgid "extraneous `endef'"
#~ msgstr "perteklinis „endef“"
diff --git a/po/make.pot b/po/make.pot
index d2ff216..0faab64 100644
--- a/po/make.pot
+++ b/po/make.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 4.0\n"
+"Project-Id-Version: GNU make 4.1\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -46,50 +46,50 @@ msgstr ""
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr ""
-#: arscan.c:185
+#: arscan.c:255
#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr ""
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr ""
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr ""
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr ""
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr ""
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr ""
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
@@ -99,25 +99,25 @@ msgstr ""
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr ""
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr ""
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr ""
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr ""
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr ""
@@ -197,258 +197,258 @@ msgstr ""
msgid "unterminated variable reference"
msgstr ""
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr ""
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr ""
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr ""
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr ""
-#: file.c:808
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
+#: file.c:811
+msgid "Current time"
msgstr ""
-#: file.c:809
-msgid "Current time"
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
msgstr ""
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr ""
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr ""
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr ""
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr ""
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr ""
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr ""
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr ""
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr ""
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr ""
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr ""
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr ""
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr ""
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr ""
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr ""
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr ""
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr ""
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr ""
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr ""
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr ""
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr ""
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr ""
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr ""
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
msgstr ""
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr ""
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr ""
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr ""
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr ""
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr ""
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr ""
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr ""
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr ""
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr ""
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr ""
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr ""
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr ""
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr ""
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr ""
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr ""
-#: function.c:2555
+#: function.c:2601
#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr ""
#: getopt.c:659
@@ -506,12 +506,12 @@ msgstr ""
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -594,206 +594,206 @@ msgstr ""
msgid "Cannot create a temporary file\n"
msgstr ""
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr ""
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr ""
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr ""
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
+#: job.c:516 job.c:524
#, c-format
-msgid "%s[%s] Error 0x%x%s"
+msgid "%s[%s] Error %d%s"
msgstr ""
-#: job.c:513
+#: job.c:519
#, c-format
-msgid "%s[%s] Error %d%s"
+msgid "%s[%s] Error 0x%x%s"
msgstr ""
-#: job.c:517
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr ""
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr ""
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr ""
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr ""
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr ""
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr ""
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr ""
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr ""
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ""
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr ""
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr ""
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr ""
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ""
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr ""
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr ""
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr ""
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr ""
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr ""
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr ""
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr ""
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr ""
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr ""
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr ""
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -802,224 +802,220 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr ""
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr ""
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr ""
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
"it.\n"
msgstr ""
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr ""
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr ""
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr ""
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
msgstr ""
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr ""
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr ""
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr ""
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1029,218 +1025,214 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr ""
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr ""
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr ""
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr ""
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr ""
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr ""
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr ""
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr ""
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr ""
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr ""
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr ""
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr ""
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr ""
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr ""
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr ""
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr ""
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr ""
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr ""
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr ""
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr ""
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr ""
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr ""
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr ""
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr ""
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr ""
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr ""
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr ""
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr ""
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr ""
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1249,14 +1241,14 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1268,10 +1260,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr ""
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr ""
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1293,65 +1281,60 @@ msgstr ""
msgid "Child access"
msgstr ""
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr ""
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr ""
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr ""
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr ""
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr ""
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr ""
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr ""
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr ""
-#: output.c:515
-#, c-format
-msgid "write error: %s"
-msgstr ""
-
-#: output.c:517
-msgid "write error"
+#: output.c:495 output.c:497
+msgid "write error: stdout"
msgstr ""
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ""
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr ""
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr ""
@@ -1360,351 +1343,354 @@ msgstr ""
msgid "Reading makefiles...\n"
msgstr ""
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
msgstr ""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr ""
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr ""
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr ""
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr ""
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr ""
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr ""
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr ""
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
+#: read.c:1131
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr ""
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1133
+msgid "missing separator"
msgstr ""
-#: read.c:1263
+#: read.c:1270
msgid "missing target pattern"
msgstr ""
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr ""
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr ""
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
msgstr ""
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr ""
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr ""
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr ""
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr ""
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr ""
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr ""
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr ""
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr ""
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr ""
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr ""
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr ""
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr ""
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr ""
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr ""
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr ""
-#: read.c:2530
+#: read.c:2229
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr ""
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr ""
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr ""
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr ""
-#: remake.c:377
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target '%s'%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
-#: remake.c:379
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgid "%sNo rule to make target '%s'%s"
msgstr ""
-#: remake.c:413
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr ""
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
msgstr ""
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr ""
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr ""
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr ""
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr ""
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr ""
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr ""
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr ""
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr ""
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr ""
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr ""
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr ""
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ""
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr ""
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr ""
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ""
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr ""
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr ""
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr ""
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr ""
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr ""
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr ""
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr ""
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr ""
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr ""
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr ""
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ""
@@ -1714,30 +1700,30 @@ msgstr ""
msgid "Customs won't export: %s\n"
msgstr ""
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr ""
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr ""
@@ -1943,62 +1929,62 @@ msgid ""
"# "
msgstr ""
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr ""
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr ""
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr ""
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr ""
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr ""
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr ""
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr ""
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr ""
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr ""
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2015,77 +2001,82 @@ msgstr ""
msgid "sys$search() failed with %d\n"
msgstr ""
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr ""
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr ""
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr ""
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr ""
-#: vmsjobs.c:446
+#: vmsjobs.c:501
#, c-format
-msgid "BUILTIN RM %s\n"
+msgid "BUILTIN ECHO %s->%s\n"
msgstr ""
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr ""
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr ""
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr ""
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr ""
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr ""
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr ""
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr ""
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr ""
diff --git a/po/nl.gmo b/po/nl.gmo
index 3961e79..74e6381 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 44e81e0..56bcb1c 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -2,16 +2,16 @@
# Copyright (C) 2013 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
#
-# "Eĉ en Arkadio mi estas."
+# « A quoi bon cette forfanterie? »
#
# Taco Witte <tcwitte@cs.uu.nl>, 2004.
# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2010, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: make-3.99.93\n"
+"Project-Id-Version: make-4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2013-10-02 22:07+0200\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-09 21:18+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -50,51 +50,51 @@ msgstr "touch: onderdeel '%s' bestaat niet in '%s'"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: ar_member_touch() van '%s' is mislukt"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
"uitpakken van module-info door lbr$set_module() is mislukt, afsluitwaarde= %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() is mislukt, afsluitwaarde = %d"
-#: arscan.c:185
-#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "kan bibliotheek '%s' niet openen om onderdeel '%s' op te zoeken"
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Onderdeel '%s'%s: %ld bytes bij %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (naam kan afgekapt zijn)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, modus = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr "Recept bevat te veel regels (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Afgebroken.\n"
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Archiefonderdeel '%s' kan onecht zijn; niet verwijderd"
@@ -104,25 +104,25 @@ msgstr "*** [%s] Archiefonderdeel '%s' kan onecht zijn; niet verwijderd"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Archiefonderdeel '%s' kan onecht zijn; niet verwijderd"
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Verwijderen van bestand '%s'"
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Verwijderen van bestand '%s'"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# uit te voeren recept"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (ingebouwd):"
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (uit '%s', regel %lu):\n"
@@ -204,150 +204,150 @@ msgstr "Recursieve variabele '%s' verwijst naar zichzelf (uiteindelijk)"
msgid "unterminated variable reference"
msgstr "onafgemaakte verwijzing naar variabele"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Recept voor bestand '%s' is opgegeven in %s:%lu,"
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Recept voor bestand '%s' werd gevonden via impliciet zoeken,"
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "maar '%s' wordt nu als hetzelfde bestand beschouwd als '%s'."
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Recept voor '%s' zal worden genegeerd ten gunste van die voor '%s'."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "kan enkeldubbelpunts '%s' niet hernoemen tot dubbeldubbelpunts '%s'"
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "kan dubbeldubbelpunts '%s' niet hernoemen tot enkeldubbelpunts '%s'"
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Verwijderen van tussentijds bestand '%s'"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Verwijderen van tussentijdse bestanden...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Huidige tijd"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Tijdsstempel ligt buiten bereik; wordt vervangen door %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Huidige tijd"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Is geen doel:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Waardevol bestand (vereiste van .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Nepdoel (vereiste van .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Doel afkomstig van opdrachtregel."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr ""
"# Een standaard Makefile, of eentje via MAKEFILES of '-include/sinclude'."
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr "# Ingebouwde regel"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Impliciete regel-zoekopdracht is uitgevoerd."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Impliciete regel-zoekopdracht is niet uitgevoerd."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Impliciete/statische patroonstam: '%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Bestand is een tussentijds vereiste."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Maakt ook:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Wijzigingstijd is nooit gecontroleerd."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Bestand bestaat niet."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Bestand is erg oud."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Laatst gewijzigd %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Bestand is bijgewerkt."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Bestand is niet bijgewerkt."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Nog lopend recept (DIT IS EEN PROGRAMMAFOUT)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Nog lopende receptafhankelijkheden (DIT IS EEN PROGRAMMAFOUT)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Met succes bijgewerkt."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Moet worden bijgewerkt ('-q' is ingesteld)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Bijwerken is mislukt."
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr "# Ongeldige waarde in 'command_state'-onderdeel!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -355,7 +355,7 @@ msgstr ""
"\n"
"# Bestanden"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -365,103 +365,104 @@ msgstr ""
"# hashtabel-statistieken van bestanden:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr "%s: Veld '%s' is niet gecached: %s"
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "niet-numeriek eerste argument van 'word'-functie"
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr "eerste argument van 'word'-functie moet groter zijn dan 0"
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "niet-numeriek eerste argument van 'wordlist'-functie"
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "niet-numeriek tweede argument van 'wordlist'-functie"
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe(): DuplicateHandle(In) is mislukt (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe(): DuplicateHandle(Err) is mislukt (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() is mislukt (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() is mislukt\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Opschonen van tijdelijk batch-bestand %s\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr "open(): %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr "write(): %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr "Ongeldige bestandsbewerking: %s"
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "onvoldoende aantal argumenten (%d) voor functie '%s'"
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "niet-geïmplementeerd op dit platform: functie '%s'"
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "onafgemaakte aanroep van functie '%s': '%c' ontbreekt"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Lege functienaam\n"
-#: function.c:2548
+#: function.c:2593
#, fuzzy, c-format
-msgid "Invalid function name: %s\n"
-msgstr "Ongeldige bestandsbewerking: %s"
+msgid "Invalid function name: %s"
+msgstr "Ongeldige functienaam: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
msgstr "Functienaam is te lang: %s\n"
-#: function.c:2552
-#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "Ongeldig minimumaantal argumenten (%d) voor functie '%s'\n"
-#: function.c:2555
-#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "Ongeldig maximumaantal argumenten (%d) voor functie '%s'\n"
#: getopt.c:659
@@ -519,12 +520,12 @@ msgstr "%s: optie '-W %s' is niet eenduidig\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: Expanderen van '%s'\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: Evalueren van '%s'\n"
@@ -609,96 +610,96 @@ msgstr "Zoeken naar een regel met tussentijds bestand '%s'.\n"
msgid "Cannot create a temporary file\n"
msgstr "Kan geen tijdelijk bestand aanmaken\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (geheugendump gemaakt)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (genegeerd)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr "<ingebouwd>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "%s: recept voor doel '%s' is mislukt"
-#: job.c:510
-#, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "%s[%s] Fout 0x%x%s"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, c-format
msgid "%s[%s] Error %d%s"
msgstr "%s[%s] Fout %d%s"
-#: job.c:517
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Fout 0x%x%s"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Wachten op onvoltooide taken..."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Levend dochterproces %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (ginds)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Beëindigen van verliezend dochterproces %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Beëindigen van winnend dochterproces %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Opschonen van tijdelijk batch-bestand %s\n"
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Opschonen van tijdelijk batch-bestand %s is mislukt (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Verwijderen van dochterproces %p PID %s%s uit de ketting.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr "vrijgeven van taakserver-semafoor: (Fout %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Token vrijgegeven voor dochterproces %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "schrijven naar taakserver"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() kan geen proces starten (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -707,104 +708,104 @@ msgstr ""
"\n"
"%d argumenten geteld bij mislukte start\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Opname van dochterproces %p (%s) PID %s%s in de ketting.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "wachten op semafoor of dochterproces: (Fout %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Token verkregen voor dochterproces %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "lezen van taken-pijp"
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr "%s: doel '%s' bestaat niet"
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: bijwerken van doel '%s' vanwege: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "kan belastingsgrenzen niet afdwingen op dit besturingssysteem"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "kan belastingsgrens niet afdwingen: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
"geen bestandshandvatten meer beschikbaar: kan standaardinvoer niet "
"dupliceren\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
"geen bestandshandvatten meer beschikbaar: kan standaarduitvoer niet "
"dupliceren\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
"geen bestandshandvatten meer beschikbaar: kan standaardfoutuitvoer niet "
"dupliceren\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Kan standaardinvoer niet herstellen\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Kan standaarduitvoer niet herstellen\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr "Kan standaardfoutuitvoer niet herstellen\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
"'make' heeft dochterproces met PID %s verwerkt, maar wacht nog op PID %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Opdracht niet gevonden"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Shell-programma niet gevonden"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: mogelijk geen omgevingsruimte meer beschikbaar"
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL is gewijzigd (was '%s', is nu '%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Maken van tijdelijk batch-bestand %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
@@ -812,7 +813,7 @@ msgstr ""
"Inhoud van batch-bestand:\n"
"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -821,7 +822,7 @@ msgstr ""
"Inhoud van batch-bestand:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (regel %d) Onjuiste shell-context (!unixy && !batch_mode_shell)\n"
@@ -832,82 +833,82 @@ msgstr ""
"Optie '-O[TYPE]' (--output-sync[=TYPE]) is niet meegecompileerd in dit "
"programma."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Openen van globale symbolentabel is mislukt: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr "Geladen object %s is niet gedeclareerd als GPL-compatibel"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr "Laden van symbool %s uit %s is mislukt: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "Lege symboolnaam om te laden: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "Laden van symbool %s uit %s\n"
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr "De 'load'-operatie wordt op dit platform niet ondersteund."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Opties:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
" -b, -m (genegeerd, maar herkend wegens "
"compatibiliteit)\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make onvoorwaardelijk alle doelen maken\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C MAP, --directory=MAP naar deze map gaan alvorens iets te doen\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
" -d veel informatie weergeven voor het debuggen\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=VLAGGEN] verschillende soorten debuginformatie "
"weergeven\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides omgevingsvariabelen gaan boven Makefiles\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=TEKST deze TEKST als Makefile-statement evalueren\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -916,15 +917,15 @@ msgstr ""
" het gegeven bestand als Makefile gebruiken\n"
"\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help deze hulptekst tonen en stoppen\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors alle fouten in recepten negeren\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -932,7 +933,7 @@ msgstr ""
" -I MAP, --include-dir=MAP deze map doorzoeken naar ingesloten "
"Makefiles\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -940,14 +941,14 @@ msgstr ""
" -j [N], --jobs[=N] het uitvoeren van N taken tegelijk toestaan;\n"
" zonder N is het aantal onbeperkt\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going doorgaan als een doel niet gemaakt kan "
"worden\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -957,7 +958,7 @@ msgstr ""
" alleen extra taken starten als de\n"
" systeembelasting lager is dan N\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -966,7 +967,7 @@ msgstr ""
" de laatste wijzigingstijd gebruiken\n"
"\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -975,7 +976,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" recepten niet uitvoeren, alleen weergeven\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -985,7 +986,7 @@ msgstr ""
" BESTAND als oud beschouwen, niet opnieuw "
"maken\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
@@ -994,12 +995,12 @@ msgstr ""
" uitvoer van parallelle taken synchroniseren "
"op TYPE\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
" -p, --print-data-base interne gegevensbank van 'make' weergeven\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1007,47 +1008,47 @@ msgstr ""
" -q, --question geen recepten uitvoeren; de afsluitwaarde\n"
" geeft aan of alles bijgewerkt is\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules ingebouwde impliciete regels uitzetten\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables ingebouwde instellingen van variabelen "
"uitzetten\n"
"\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet recepten niet weergeven\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr " -S, --no-keep-going, --stop optie '-k' uitzetten\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch doelen aanraken in plaats van opnieuw maken\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr " --trace tracing-informatie weergeven\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version programmaversie tonen en stoppen\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory de huidige map weergeven\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1055,7 +1056,7 @@ msgstr ""
" --no-print-directory optie '-w' uitzetten, ook als deze impliciet\n"
" was aangezet\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1063,7 +1064,7 @@ msgstr ""
" -W BESTAND, --what-if=BESTAND, --new-file=BESTAND, --assume-new=BESTAND\n"
" BESTAND als oneindig nieuw beschouwen\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1071,30 +1072,26 @@ msgstr ""
" --warn-undefined-variables waarschuwen als naar een ongedefinieerde\n"
" variabele wordt verwezen\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "lege tekenreeks is ongeldig als bestandsnaam"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr "onbekende aanduiding '%s' voor debug-niveau"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "onbekend uitvoersynchronisatie-type: '%s'"
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr "*interne fout*: meerdere opties '--sync-mutex'"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Onderbreking/uitzondering gekregen (code = 0x%lx, adres = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1109,188 +1106,184 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Toegangsrechtenovertreding: schrijfopdracht op adres 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Toegangsrechtenovertreding: leesopdracht op adres 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() stelt default_shell = %s in\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
"find_and_set_shell() stelt na doorzoeken van pad default_shell = %s in\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s slaapt gedurende 30 seconden..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "klaar met 30 seconden slapen. Make gaat verder.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "*interne fout*: meerdere opties '--jobserver-fds'"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
"*interne fout*: kan taakserver-semafoor '%s' niet openen: (Fout %ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Taakservercliënt (semafoor %s)\n"
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "*interne fout*: ongeldige tekenreeks '%s' voor '--jobserver-fds'"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Taakservercliënt (bestandsdescriptor %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"Waarschuwing: '-jN' is afgedwongen in een deelproces: taakserver-modus "
"uitgezet."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dubbele taakserver"
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
"Waarschuwing: taakserver is onbeschikbaar: '-j1' wordt gebruikt. Voeg '+' "
"toe aan de ouderregel."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile op standaardinvoer is dubbel opgegeven."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (tijdelijk bestand)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (tijdelijk bestand)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Parallelle taken (-j) worden op dit platform niet ondersteund."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Opnieuw instellen op enkele-taakmodus (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Taakserver-plaatsen zijn beperkt tot %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr "aanmaken van taakserver-semafoor: (Fout %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "aanmaken van taken-pijp"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "initialiseren van taakserver-pijp"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
"Symbolische koppelingen worden niet ondersteund: '-L' wordt uitgeschakeld."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Bijwerken van Makefiles...\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Makefile '%s' bevat mogelijk een lus; wordt niet opnieuw gemaakt.\n"
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Opnieuw maken van Makefile '%s' is mislukt."
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Ingesloten Makefile '%s' is niet gevonden."
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr "Makefile '%s' is niet gevonden."
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Kan niet terugkeren naar oorspronkelijke map."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Opnieuw uitvoeren[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "verwijderen (van tijdelijk bestand): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL bevat meer dan één doel"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Geen doelen opgegeven en geen Makefile gevonden"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Geen doelen"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Bijwerken van doelen...\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"Waarschuwing: Klokafwijking geconstateerd. Het maken is mogelijk "
"onvolledig gebeurd."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Gebruik: %s [OPTIES] [DOEL]...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1299,7 +1292,7 @@ msgstr ""
"\n"
"Dit programma is gecompileerd voor %s.\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1308,34 +1301,34 @@ msgstr ""
"\n"
"Dit programma is gecompileerd voor %s (%s).\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Rapporteer programmafouten aan <bug-make@gnu.org>,\n"
"meld gebreken in de vertaling aan <vertaling@vrijschrift.org>.\n"
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "de optie '%s%sc' vereist een niet-lege tekenreeks als argument"
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "de optie '-%c' vereist een positief geheel getal als argument"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sDit programma is gecompileerd voor %s.\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sDit programma is gecompileerd voor %s (%s).\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1349,7 +1342,7 @@ msgstr ""
"verspreiden.\n"
"%sEr is GEEN GARANTIE, voor zover de wet dit toestaat.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1358,7 +1351,7 @@ msgstr ""
"\n"
"# Make-gegevensbank, weergegeven op %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1372,10 +1365,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Onbekende fout %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "onvoldoende geheugen beschikbaar"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1397,65 +1386,61 @@ msgstr "Make-toegang"
msgid "Child access"
msgstr "Dochterprocestoegang"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Een onbekende map wordt binnengegaan\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Een onbekende map wordt verlaten\n"
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Map '%s' wordt binnengegaan\n"
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Map '%s' wordt verlaten\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Een onbekende map wordt binnengegaan\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Een onbekende map wordt verlaten\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Map '%s' wordt binnengegaan\n"
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Map '%s' wordt verlaten\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "schrijffout: %s"
-#: output.c:517
-msgid "write error"
-msgstr "schrijffout"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Gestopt.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1464,215 +1449,221 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Lezen van Makefiles...\n"
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
msgstr "Lezen van Makefile '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (geen standaarddoel)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (zoekpad)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (maakt niet uit)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (geen expansie van ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr "UTF-8 BOM in Makefile '%s' wordt overgeslagen\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr "UTF-8 BOM in Makefile-buffer wordt overgeslagen\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "ongeldige syntaxis in voorwaardelijk deel"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr "%s: laden is mislukt"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "recept begint voor eerste doel"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "ontbrekende regel vóór recept"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "ontbrekend scheidingsteken%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (bedoelde u TAB in plaats van 8 spaties?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "ontbrekend scheidingsteken%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "ontbrekend doelpatroon"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "meerdere doelpatronen"
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr "doelpatroon bevat geen '%%'"
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
msgstr "ontbrekende 'endif'"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "lege naam van variabele"
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr "extra tekst na 'define'-opdracht"
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr "ontbrekende 'endef', onafgemaakte 'define'"
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr "extra tekst na 'endef'-opdracht"
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr "extra tekst na '%s'-opdracht"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr "extra '%s'"
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "slechts één 'else' per voorwaardelijk deel"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Onjuiste doelspecifieke variabele-definitie"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "vereisten kunnen niet in recepten gedefinieerd worden"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "gemengde impliciete en statische patroonregels"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "gemengde impliciete en normale regels"
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "doel '%s' komt niet overeen met doelpatroon"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "doelbestand '%s' heeft zowel ':'- als '::'-items"
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "doel '%s' is meerdere keren gegeven in dezelfde regel"
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "Waarschuwing: er wordt voorbijgegaan aan recept voor doel '%s'"
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "Waarschuwing: oud recept voor doel '%s' wordt genegeerd"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "gemengde impliciete en normale regels"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "Waarschuwing: NUL-teken gezien; de rest van de regel wordt genegeerd"
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "Er hoeft niets gedaan te worden voor '%s'."
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr "'%s' is up-to-date."
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Snoeien van bestand '%s'.\n"
-#: remake.c:377
-#, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sEr is geen regel om doel '%s' te maken%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sEr is geen regel om doel '%s' te maken, nodig voor '%s'%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sEr is geen regel om doel '%s' te maken%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Doelbestand '%s' wordt overwogen.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Bijwerken van bestand '%s' is recent geprobeerd en mislukt.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Bestand '%s' was al overwogen.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Bestand '%s' wordt nog bijgewerkt.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Bijwerken van bestand '%s' is voltooid.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Bestand '%s' bestaat niet.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1680,139 +1671,139 @@ msgstr ""
"*** Waarschuwing: .LOW_RESOLUTION_TIME-bestand '%s' heeft een hoge-resolutie "
"tijdsstempel"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Impliciete regel voor '%s' gevonden.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Geen impliciete regel voor '%s' gevonden.\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Standaardrecept wordt gebruikt voor '%s'.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Circulaire afhankelijkheid %s <- %s is verworpen."
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Vereisten van doelbestand '%s' zijn voltooid.\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "De vereisten van '%s' worden nu gemaakt.\n"
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Pogingen voor doelbestand '%s' worden gestaakt.\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Doel '%s' is niet opnieuw gemaakt vanwege fouten."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Vereiste '%s' is alleen-ordenen voor doel '%s'.\n"
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Vereiste '%s' van doel '%s' bestaat niet.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Vereiste '%s' is nieuwer dan doel '%s'.\n"
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Vereiste '%s' is ouder dan doel '%s'.\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Doel '%s' is dubbeldubbelpunts en heeft geen vereisten.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Er is geen recept voor '%s', en geen van de vereisten is veranderd.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Maken van '%s' vanwege 'always-make'-vlag.\n"
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr "Doel '%s' hoeft niet opnieuw gemaakt te worden"
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr "; VPATH-naam '%s' wordt gebruikt"
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "Doel '%s' moet opnieuw gemaakt worden.\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " VPATH-naam '%s' wordt genegeerd.\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Recept van '%s' wordt nu uitgevoerd.\n"
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Opnieuw maken van doelbestand '%s' is mislukt.\n"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Doelbestand '%s' is met succes opnieuw gemaakt.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Doelbestand '%s' moet opnieuw worden gemaakt onder '-q'.\n"
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Standaardopdrachten worden gebruikt voor '%s'.\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Waarschuwing: bestand '%s' heeft een wijzigingstijd in de toekomst"
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
"Waarschuwing: bestand '%s' heeft een wijzigingstijd %s seconden in de "
"toekomst"
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS-element '%s' is geen patroon"
@@ -1822,7 +1813,7 @@ msgstr ".LIBPATTERNS-element '%s' is geen patroon"
msgid "Customs won't export: %s\n"
msgstr "Customs kan niet exporteren: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1830,7 +1821,7 @@ msgstr ""
"\n"
"# Impliciete regels"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1838,7 +1829,7 @@ msgstr ""
"\n"
"# Geen impliciete regels."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1847,11 +1838,11 @@ msgstr ""
"\n"
"# %u impliciete regels, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "PROGRAMMAFOUT: num_pattern_rules() is verkeerd! %u != %u"
@@ -2074,44 +2065,44 @@ msgstr ""
"# hashtabel-statistieken van bestanden:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatisch"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "standaard"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "omgeving"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "Makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "omgeving onder -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "opdrachtregel"
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr "'override'-opdracht"
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (uit '%s', regel %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# Statistieken van hashtabel van variabelenverzameling:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2119,7 +2110,7 @@ msgstr ""
"\n"
"# Variabelen\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2127,7 +2118,7 @@ msgstr ""
"\n"
"# Patroonspecifieke variabelewaarden"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2135,7 +2126,7 @@ msgstr ""
"\n"
"# Geen patroonspecifieke variabelewaarden"
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2154,79 +2145,84 @@ msgstr "Waarschuwing: ongedefinieerde variabele '%.*s'"
msgid "sys$search() failed with %d\n"
msgstr "sys$search() is mislukt met afsluitwaarde %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Waarschuwing: lege omleiding\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr "*interne fout*: '%s' command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-waarschuwing: mogelijk dient u CTRL-Y-afhandeling opnieuw aan te zetten "
"vanuit DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "INGEBOUWD [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "INGEBOUWDE CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "INGEBOUWDE RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "INGEBOUWDE CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Onbekende ingebouwde opdracht '%s'\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Fout: lege opdracht\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Invoer wordt omgeleid van %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Foutuitvoer wordt omgeleid naar %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Uitvoer wordt toegevoegd aan %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Uitvoer wordt omgeleid naar %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Toevoegen van %.*s en opschoning\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "In plaats daarvan wordt %s uitgevoerd\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Fout bij proces-start, %d\n"
@@ -2270,6 +2266,21 @@ msgstr ""
"# Algemeen zoekpad ('VPATH'-variabele):\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "*interne fout*: meerdere opties '--sync-mutex'"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "*interne fout*: meerdere opties '--jobserver-fds'"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "onvoldoende geheugen beschikbaar"
+
+#~ msgid "write error"
+#~ msgstr "schrijffout"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "INGEBOUWDE RM %s\n"
+
#~ msgid "# Invalid value in 'update_status' member!"
#~ msgstr "# Ongeldige waarde in 'update_status'-onderdeel!"
diff --git a/po/pl.gmo b/po/pl.gmo
index b0a83e8..f7eb848 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 785b182..5476e85 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.99.93\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2013-10-02 20:47+0200\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-13 10:48+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -46,52 +46,52 @@ msgstr "touch: Brak elementu '%s' w '%s'"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: Błędny kod powrotu z ar_member_touch w '%s'"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
"Uzyskanie informacji o module przez lnr$set_module() nie udało się, status = "
"%d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() nie powiodło się, status = %d"
-#: arscan.c:185
-#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "błąd otwarcia biblioteki '%s' podczas szukania elementu '%s'"
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Element '%s'%s: %ld bajtów pod %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (nazwa może zostać okrojona)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mode = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr "Polecenia mają za dużo linii (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Przerwano.\n"
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Element archiwum '%s' może być fałszywy; nie usunięty"
@@ -101,25 +101,25 @@ msgstr "*** [%s] Element archiwum '%s' może być fałszywy; nie usunięty"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Element archiwum '%s' może być fałszywy; nie usunięty"
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] KasujÄ™ plik '%s'"
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** KasujÄ™ plik '%s'"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# polecenia do wykonania"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (wbudowane):"
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (z '%s', linia %lu):\n"
@@ -201,152 +201,152 @@ msgstr "Rekurencyjna zmienna '%s' wskazuje na samÄ… siebie"
msgid "unterminated variable reference"
msgstr "niezakończone odwołanie do zmiennej"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Polecenia dla pliku '%s' podano w %s:%lu,"
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
"Polecenia dla pliku '%s' zostały wyznaczone na podstawie reguł standardowych,"
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "ale '%s' jest teraz uznawany za ten sam plik co '%s'."
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Polecenia dla '%s' zostaną zignorowane na rzecz poleceń dla '%s'."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
"nie można przemianować '%s' z pojedynczym dwukropkiem na '%s' z podwójnym"
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
"nie można przemianować '%s' z podwójnym dwukropkiem na '%s' z pojedynczym"
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Kasowanie pliku pośredniego '%s'"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Kasowanie plików pośrednich...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Aktualny czas"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Oznaczenie czasu spoza zakresu; zastÄ…piono %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Aktualny czas"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# To nie jest obiekt:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Cenny plik (zależność .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Obiekt niejawny (zależność .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Obiekt podany w linii poleceń."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Makefile domyślny, wymieniony w MAKEFILES lub -include/sinclude."
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr "# Reguła wbudowana"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Szukanie reguł domyślnych zostało wykonane."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Szukanie reguł domyślnych nie zostało wykonane."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Gałąź wzorców domyślnych/statycznych: '%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Plik jest zależnością przejściową."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Robi również:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Czas modyfikacji nie był sprawdzany."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Plik nie istnieje."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Plik jest bardzo stary."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Ostatnio modyfikowany %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Plik został uaktualniony."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Plik nie został uaktualniony."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Aktualnie uruchamiane polecenia (TO JEST BÅÄ„D)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Aktualnie uruchamiane polecenia zależnoÅ›ci (TO JEST BÅÄ„D)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Uaktualnienie powiodło się."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Powinien być uaktualniony (-q jest włączone)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Uaktualnianie nie powiodło się."
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr "# Błędna wartość w elemencie 'command_state'!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -354,7 +354,7 @@ msgstr ""
"\n"
"# Pliki"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -364,103 +364,104 @@ msgstr ""
"# statystyki tablic haszujących plików:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr "%s: Pole '%s' nie zapamiętane w pamięci podręcznej: %s"
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "pierwszy argument funkcji 'word' nie jest liczbowy"
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr "pierwszy argument funkcji 'word' musi być większy od 0"
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "pierwszy argument funkcji 'wordlist' nie jest liczbowy"
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "drugi argument funkcji 'wordlist' nie jest liczbowy"
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(In) nie powiodło się (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(Err) nie powiodło się (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() nie powiodło się (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() nie powiodło się\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "CzyszczÄ™ tymczasowy plik wsadowy %s\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr "otwarcie: %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr "zapis: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr "Błędna operacja na pliku: %s"
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "niewystarczająca liczba argumentów (%d) dla funkcji '%s'"
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "funkcja '%s' nie jest zaimplementowana na tej platformie"
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "nie dokończone wywołanie funkcji '%s': brak '%c'"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Pusta nazwa funkcji\n"
-#: function.c:2548
+#: function.c:2593
#, fuzzy, c-format
-msgid "Invalid function name: %s\n"
-msgstr "Błędna operacja na pliku: %s"
+msgid "Invalid function name: %s"
+msgstr "Błędna nazwa funkcji: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
msgstr "Zbyt długa nazwa funkcji: %s\n"
-#: function.c:2552
-#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "Błędna minimalna liczba argumentów (%d) dla funkcji %s\n"
-#: function.c:2555
-#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "Błędna maksymalna liczba argumentów (%d) dla funkcji %s\n"
#: getopt.c:659
@@ -518,12 +519,12 @@ msgstr "%s: opcja '-W %s' jest niejednoznaczna\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opcja '-W %s' nie może mieć argumentów\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: Rozwijanie '%s'\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: Wyliczanie '%s'\n"
@@ -607,96 +608,96 @@ msgstr "Szukanie reguły zawierającej plik przejściowy '%s'.\n"
msgid "Cannot create a temporary file\n"
msgstr "Nie można utworzyć pliku tymczasowego\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (zrzut pamięci)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (zignorowano)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr "<wbudowane>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "%s: polecenia dla obiektu '%s' nie powiodły się"
-#: job.c:510
-#, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "%s[%s] BÅ‚Ä…d 0x%x%s"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, c-format
msgid "%s[%s] Error %d%s"
msgstr "%s[%s] BÅ‚Ä…d %d%s"
-#: job.c:517
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] BÅ‚Ä…d 0x%x%s"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s[%s]: %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Oczekiwanie na niezakończone zadania...."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Żyjący potomek %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (zdalne)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Zbieranie przegrywajÄ…cego potomka %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Zbieranie wygrywajÄ…cego potomka %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Czyszczenie tymczasowego pliku wsadowego %s\n"
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Czyszczenie tymczasowego pliku wsadowego %s nie powiodło się (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Usuwanie potomka %p PID %s%s z kolejki.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr "zwalnianie semafora serwera zadań: (Błąd %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Zwolniony token dla potomka %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "piszący serwer zadań"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() nie mógł uruchomić procesu (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -705,97 +706,97 @@ msgstr ""
"\n"
"Naliczono %d parametrów nieudanego uruchomienia\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Wstawianie potomka %p (%s) PID %s%s do kolejki.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "oczekiwanie na semafor lub proces potomny: (BÅ‚Ä…d %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Otrzymano token dla potomka %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "strumień czytający zadania"
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr "%s: obiekt '%s' nie istnieje"
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: uaktualnianie obiektu '%s' z powodu: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "niemożliwe wymuszenie limitów obciążenia w tym systemie"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "niemożliwe wymuszenie limitu obciążenia: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "nie ma więcej uchwytów plików: nie można powielić stdin\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "nie ma więcej uchwytów plików: nie można powielić stdout\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr "nie ma więcej uchwytów plików: nie można powielić stderr\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Nie można odtworzyć stdin\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Nie można odtworzyć stdout\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr "Nie można odtworzyć stderr\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make usunÄ…Å‚ potomka pid %s, nadal czeka na pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Polecenie nie znalezione"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Nie znaleziono programu powłoki"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: mogło zabraknąć miejsca na środowisko"
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL się zmienił (był '%s', jest '%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Tworzenie tymczasowego pliku wsadowego %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
@@ -803,7 +804,7 @@ msgstr ""
"Zawartość pliku wsadowego:\n"
"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -812,7 +813,7 @@ msgstr ""
"Zawartość pliku wsadowego:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (linia %d) Zły kontekst powłoki (!unixy && !batch_mode_shell)\n"
@@ -822,49 +823,49 @@ msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
"-O[TYP] (--output-sync[=TYP]) nie zostało skonfigurowane przy tym budowaniu."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Nie udało się otworzyć tablicy symboli globalnych: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr "Wczytany obiekt %s nie jest zadeklarowany jako kompatybilny z GPL"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr "Nie udało się wczytać symbolu %s z %s: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "Pusta nazwa symbolu do wczytania: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "Wczytywanie symbolu %s z %s\n"
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr "Operacja 'load' nie jest obsługiwana na tej platformie"
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Opcje:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignorowane dla kompatybilności.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Bezwarunkowe utworzenie wszystkich obiektów.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -873,19 +874,19 @@ msgstr ""
" Przejście do KATALOGu przed robieniem\n"
" czegokolwiek.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
" -d Wyświetla dużo informacji diagnostycznych.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAGI] Wyświetla różne rodzaje informacji\n"
" diagnostycznych.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -893,14 +894,14 @@ msgstr ""
" -e, --environment-overrides\n"
" Zmienne środowiska przykrywają makefile.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=ÅAŃCUCH Wyznacza ÅAŃCUCH jako instrukcjÄ™ pliku "
"makefile.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -908,16 +909,16 @@ msgstr ""
" -f PLIK, --file=PLIK, --makefile=PLIK\n"
" Czyta PLIK jako makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr ""
" -h, --help Wyświetla ten komunikat i kończy działanie.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Ignoruje błędy poleceń.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -925,7 +926,7 @@ msgstr ""
" -I KATALOG, --include-dir=KATALOG\n"
" Szuka dołączanych makefile w KATALOGu.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -933,14 +934,14 @@ msgstr ""
" -j [N], --jobs[=N] Dopuszcza N zadań naraz; brak N oznacza brak\n"
" ograniczeń.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Kontynuuj jeśli nie da się zrobić jakichś\n"
" obiektów.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -951,7 +952,7 @@ msgstr ""
"jest\n"
" poniżej N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -959,7 +960,7 @@ msgstr ""
" -L, --check-symlink-times Używanie ostatniego mtime między dowiązaniem a "
"celem.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -968,7 +969,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" Nie wykonuje poleceń; jedynie je wyświetla.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -979,7 +980,7 @@ msgstr ""
"go\n"
" ponownie.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
@@ -988,11 +989,11 @@ msgstr ""
" Sposób synchronizacji wyjścia zadań "
"równoległych.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Wyświetla wewnętrzną bazę danych make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1000,20 +1001,20 @@ msgstr ""
" -q, --question Nie uruchamia żadnych poleceń; status powrotu\n"
" wskazuje aktualność.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr " -r, --no-builtin-rules Wyłącza wbudowane reguły standardowe.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Wyłącza ustawianie wbudowanych zmiennych.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Nie wypisuje poleceń.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1021,25 +1022,25 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Wyłącza -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr " -t, --touch Uaktualnia obiekty zamiast je robić.\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr " --trace Wypisywanie informacji ze śledzenia.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
" -v, --version Wyświetla wersję make i kończy działanie.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Wyświetla aktualny katalog.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1047,7 +1048,7 @@ msgstr ""
" --no-print-directory Wyłącza -w, nawet jeśli było ono włączone\n"
" domyślnie.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1055,7 +1056,7 @@ msgstr ""
" -W PLIK, --what-if=PLIK, --new-file=PLIK, --assume-new=PLIK\n"
" Uznaje PLIK za nieskończenie nowy.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1064,30 +1065,26 @@ msgstr ""
"niezdefiniowanych\n"
" zmiennych.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "pusty łańcuch nie może być nazwą pliku"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr "nieznany poziom diagnostyki '%s'"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "nieznany sposób synchronizacji wyjścia '%s'"
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr "błąd wewnętrzny: wiele opcji --sync-mutex"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: złapano przerwanie/wyjątek (kod = 0x%lx, adres = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1102,41 +1099,37 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Naruszenie praw dostępu: zapis pod adresem 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Naruszenie praw dostępu: odczyt spod adresu 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() ustawia default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell() ustawia ścieżkę wyszukiwania default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s jest zawieszony na 30 sekund..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "zakończono sleep(30). Kontynuacja.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "błąd wewnętrzny: wiele opcji --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
@@ -1144,141 +1137,141 @@ msgstr ""
"błąd wewnętrzny: nie udało się otworzyć semafora serwera zadań '%s': (Błąd "
"%ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Klient serwera zadań (semafor %s)\n"
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "błąd wewnętrzny: błędny łańcuch --jobserver-fds '%s'"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Klient serwera zadań (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "uwaga: -jN wymuszone w podzadaniu: wyłączanie trybu serwera zadań."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "duplikacja serwera zadań"
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
"uwaga: serwer zadań niedostępny: użycie -j1. Należy dodać `+' do nadrzędnej "
"reguły make."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile ze standardowego wejścia podano dwukrotnie."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (plik tymczasowy)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (plik tymczasowy)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Równoległe zadania (-j) nie są obsługiwane na tej platformie"
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Przełączanie w tryb jednozadaniowy (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Pojemność serwera zadań ograniczona do %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr "tworzenie semafora serwera zadań: (Błąd %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "tworzenie potoku zadań"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inicjowanie potoku serwera zadań"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Dowiązania symboliczne nie są obsługiwane: wyłączono -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Uaktualnianie plików makefile....\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Plik makefile '%s' może się zapętlić; bez ponownego przetwarzania.\n"
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Nie udało się ponownie przetworzyć pliku makefile '%s'."
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Nie znaleziono włączanego pliku makefile '%s'."
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr "Nie znaleziono pliku makefile '%s'"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Niemożliwy powrót do katalogu startowego."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Ponowne uruchamianie[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (plik tymczasowy): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL zawiera więcej niż jeden cel"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nie podano obiektów i nie znaleziono makefile"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Brak obiektów"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Uaktualnianie obiektów docelowych....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "uwaga: Wykryto przestawienie zegara. Budowanie może być niekompletne."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Składnia: %s [opcje] [obiekt] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1287,7 +1280,7 @@ msgstr ""
"\n"
"Ten program został zbudowany dla %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1296,32 +1289,32 @@ msgstr ""
"\n"
"Ten program został zbudowany dla %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Błędy proszę zgłaszać na adres <bug-make@gnu.org>\n"
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "opcja '%s%s' wymaga niepustego łańcucha jako argumentu"
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "opcja '-%c' wymaga argumentu będącego liczbą całkowitą dodatnią"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sTen program został zbudowany dla systemu %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sTen program został zbudowany dla systemu %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1335,7 +1328,7 @@ msgstr ""
"rozpowszechniać.\n"
"%sNie ma ŻADNEJ GWARANCJI w zakresie dopuszczalnym przez prawo.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1344,7 +1337,7 @@ msgstr ""
"\n"
"# Baza danych Make, wyświetlana na %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1358,10 +1351,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Nieznany błąd %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "brak pamięci wirtualnej"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1383,65 +1372,61 @@ msgstr "Dostęp make"
msgid "Child access"
msgstr "Dostęp potomka"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Wejście do nieznanego katalogu\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Opuszczenie nieznanego katalogu\n"
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Wejście do katalogu '%s'\n"
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Opuszczenie katalogu '%s'\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Wejście do nieznanego katalogu\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Opuszczenie nieznanego katalogu\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Wejście do katalogu '%s'\n"
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Opuszczenie katalogu '%s'\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "błąd zapisu: %s"
-#: output.c:517
-msgid "write error"
-msgstr "błąd zapisu"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stop.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1450,215 +1435,221 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Czytanie makefile...\n"
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
msgstr "Czytanie pliku makefile '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (brak celu domyślnego)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (przeszukiwana ścieżka)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (nieważne)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (brak rozszerzenia ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr "Pominięto BOM UTF-8 w pliku makefile '%s'\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr "Pominięto BOM UTF-8 w buforze pliku makefile\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "błędna składnia wyrażenia warunkowego"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr "%s: nie udało się załadować"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "polecenia zaczynajÄ… siÄ™ przed pierwszym obiektem"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "brakuje reguły przed poleceniami"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "brakujÄ…cy separator%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (czyżby miał być TAB zamiast 8 spacji?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "brakujÄ…cy separator%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "brakujÄ…cy wzorzec obiektu"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "wielokrotne wzorce obiektu"
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr "wzorzec obiektu nie zawiera '%%'"
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
msgstr "brakujÄ…cy 'endif'"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "pusta nazwa zmiennej"
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr "nadmiarowy tekst po dyrektywie 'define'"
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr "brakujący 'endef', niezakończone 'define'"
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr "nadmiarowy tekst po dyrektywie 'endef'"
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr "niezwiÄ…zany tekst po dyrektywie '%s'"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr "nadmiarowy '%s'"
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "tylko jedno 'else' w wyrażeniu warunkowym"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Źle sformułowana definicja zmiennej dla celu"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "wymagania nie mogą być definiowane w opisach poleceń"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "pomieszane standardowe i statyczne reguły wzorców"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "pomieszane standardowe i normalne reguły"
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "obiekt '%s' nie pasuje do wzorca obiektu"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "plik obiektu '%s' ma pozycje i : i ::"
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "obiekt '%s' podany wielokrotnie w tej samej regule"
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "uwaga: polecenia zakrywajÄ…ce dla obiektu '%s'"
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "uwaga: ignorujÄ™ stare polecenia dla obiektu '%s'"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "pomieszane standardowe i normalne reguły"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "uwaga: napotkałem na znak NUL; reszta linii zignorowana"
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "Nie ma nic do zrobienia w '%s'."
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr "'%s' jest aktualne."
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Czyszczenie pliku '%s'.\n"
-#: remake.c:377
-#, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sBrak reguł do wykonania obiektu '%s'%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sBrak reguł do zrobienia obiektu '%s', wymaganego przez '%s'%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sBrak reguł do wykonania obiektu '%s'%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Przetwarzanie pliku obiektowego '%s'.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Już bez powodzenia próbowałem uaktualnić plik '%s'.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Plik '%s' był już przetwarzany.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Wciąż uaktualniam plik '%s'.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Skończyłem uaktualniać plik '%s'.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Plik '%s' nie istnieje.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1666,138 +1657,138 @@ msgstr ""
"*** Uwaga: plik .LOW_RESOLUTION_TIME '%s' ma dużą rozdzielczość znacznika "
"czasu"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Znaleziono standardową regułę dla '%s'.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Brak standardowych reguł dla '%s'.\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Stosowanie standardowych poleceń dla '%s'.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Okrężna dyrektywa %s <- %s porzucona."
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Zakończono zależności pliku obiektu '%s'.\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Zależności '%s' są wykonywane.\n"
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Zaniechany plik obiektowy '%s'.\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Obiekt '%s' nie został ponownie wykonany z powodu błędów."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Zależność '%s' dotyczy tylko kolejności dla obiektu '%s'.\n"
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Zależność '%s' obiektu '%s' nie istnieje.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Zależność '%s' jest nowsza od obiektu '%s'.\n"
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Zależność '%s' jest starsza od obiektu '%s'.\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
"Obiekt '%s' jest z podwójnym dwukropkiem i nie ma żadnych zależności.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Brak poleceń dla '%s' i brak zmienionych zależności.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Tworzenie '%s' z powodu flagi always-make.\n"
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr "Nie ma potrzeby ponownego robienia obiektu '%s'"
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr "; użyto nazwy VPATH '%s'"
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "Konieczne ponowne wykonanie obiektu '%s'.\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Zignorowano nazwÄ™ VPATH '%s'.\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Uruchomiono polecenia dla '%s'.\n"
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Ponowne tworzenie pliku obiektu '%s' nie powiodło się.\n"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Ponowne tworzenie pliku obiektu '%s' powiodło się.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Plik obiektu '%s' powinien być ponownie tworzony z opcją -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Stosowanie standardowych poleceń dla '%s'.\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Uwaga: Plik '%s' ma czas modyfikacji z przyszłości"
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Uwaga: Plik '%s' ma czas modyfikacji %s s w przyszłości"
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "Element .LIBPATTERNS '%s' nie jest wzorcem"
@@ -1807,7 +1798,7 @@ msgstr "Element .LIBPATTERNS '%s' nie jest wzorcem"
msgid "Customs won't export: %s\n"
msgstr "Zasady nie eksportowane: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1815,7 +1806,7 @@ msgstr ""
"\n"
"# Reguły stadardowe"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1823,7 +1814,7 @@ msgstr ""
"\n"
"# Brak standardowych reguł."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1832,11 +1823,11 @@ msgstr ""
"\n"
"# %u standardowych reguł, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "BÅÄ„D: zÅ‚e num_pattern_rules! %u != %u"
@@ -2053,44 +2044,44 @@ msgstr ""
"# statystyki tablic haszujÄ…cych:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatyczna"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "domyślna"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "środowiskowa"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "środowisko pod -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "z linii poleceń"
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr "dyrektywa 'override'"
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (z '%s', linia %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# statystyki tablic haszujÄ…cych ustawionych zmiennych:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2098,7 +2089,7 @@ msgstr ""
"\n"
"# Zmienne\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2106,7 +2097,7 @@ msgstr ""
"\n"
"# Wartości zmiennych dla wzorca"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2114,7 +2105,7 @@ msgstr ""
"\n"
"# Brak wartości zmiennych dla wzorca."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2133,77 +2124,82 @@ msgstr "uwaga: niezdefiniowana zmienna '%.*s'"
msgid "sys$search() failed with %d\n"
msgstr "sys$search() nie powiodło się - %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Uwaga: Puste przekierowanie\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr "błąd wewnętrzny: command_state '%s'"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-uwaga, będzie trzeba ponownie umożliwić obsługę CTRL-Y z DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "WBUDOWANE [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "WBUDOWANE CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "WBUDOWANE RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "WBUDOWANE CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Nieznane polecenie wbudowane '%s'\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "BÅ‚Ä…d, puste polecenie\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Przekierowane wejście z %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Przekierowane wyjście diagnostyczne do %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Dołączanie wyjścia do %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Przekierowane wyjście do %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Dołączanie %.*s i czyszczenie\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Zamiast tego wykonywanie %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "BÅ‚Ä…d podczas uruchamiania, %d\n"
@@ -2246,3 +2242,18 @@ msgstr ""
"\n"
"# Ogólna (zmienna 'VPATH') ścieżka przeszukiwania:\n"
"# "
+
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "błąd wewnętrzny: wiele opcji --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "błąd wewnętrzny: wiele opcji --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "brak pamięci wirtualnej"
+
+#~ msgid "write error"
+#~ msgstr "błąd zapisu"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "WBUDOWANE RM %s\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index c19c8c5..8dc66ef 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 95f25c9..9013dec 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU make 3.82\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2013-01-09 23:04-0300\n"
"Last-Translator: Fábio Henrique F. Silva <fabiohfs@netscape.net>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -53,50 +53,50 @@ msgstr "touch: O membro `%s' não existe em `%s'"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: O ar_member_touch retornou um código de erro inválido em `%s'"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "o lbr$set_module() falhou ao obter informações do módulo, estado = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() falhou com estado = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "erro na abertura da biblioteca `%s' para localizar o membro `%s'"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Membro `%s'%s: %ld bytes de %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (o nome pode estar truncado)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, modo = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Quebra.\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "** [%s] O arquivo membro `%s' pode ser falso. Não foi apagado."
@@ -106,25 +106,25 @@ msgstr "** [%s] O arquivo membro `%s' pode ser falso. Não foi apagado."
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "** O arquivo membro `%s' pode ser falso. Não foi apagado."
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "** [%s] Apagando arquivo `%s'"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "** Apagando arquivo `%s'"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# comandos a executar"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (embutido):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (de `%s', linha %lu):\n"
@@ -206,154 +206,154 @@ msgstr "Variável recursiva `%s' faz referência a ela mesma (eventualmente)"
msgid "unterminated variable reference"
msgstr "referência a variável não finalizada"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Os comandos especificados para o arquivo `%s' em %s:%lu,"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
"Os comandos para o arquivo `%s' foram encontrados por uma regra implícita,"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "mas `%s' é considerado o mesmo arquivo que `%s'."
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Os comandos para `%s' serão ignorados em favor daqueles para `%s'."
-#: file.c:300
+#: file.c:303
#, fuzzy, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "não pôde renomear de dois-pontos `%s' para dois-pontos duplos `%s'"
-#: file.c:305
+#: file.c:309
#, fuzzy, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "não pôde renomer de dois-pontos duplos `%s' para dois-pontos `%s'"
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "** Apagando arquivo intermediário `%s'"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Apagando arquivo intermediário...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Hora atual"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Data/Hora fora de faixa; substituindo %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Hora atual"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Não é um alvo:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Arquivo importante (prerequisito de .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Alvo Falso (prerequisito de .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Linha de Comando do Alvo."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Um Padrão, arquivo MAKEFILES ou -include/sinclude makefile."
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# Faltam as regras implícitas."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Pesquisa por regra implícita concluida."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Pesquisa por regra implícita não concluida."
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Derivação padrão implícita/estática: `%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# O arquivo é um pré-requisito intermediário."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Também faz:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# O Período da modificação nunca foi verificado."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# O Arquivo não existe."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# O Arquivo está desatualizado."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Última modificação %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# O Arquivo foi atualizado."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# O Arquivo não foi atualizado."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Comandos em execução (ISTO É UMA FALHA)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Comandos de dependências em execução (ISTO É UMA FALHA)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Atualizado com sucesso."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Precisa ser atualizado (-q está definido)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Problemas com a atualização."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# Valor inválido no membro `command_state' !"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -361,7 +361,7 @@ msgstr ""
"\n"
"# Arquivos"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -371,107 +371,107 @@ msgstr ""
"# tabela hash de arquivos:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "primeiro argumento não numérico para a função `word'"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "o primeiro argumento para a função `word' deve ser maior que 0"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "primeiro argumento não numérico para a função `wordlist'"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "segundo argumento não numérico para a função `wordlist'"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe(): DuplicateHandle(In) falhou (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_open_pipe(): DuplicateHandle(Err) falhou (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() falhou (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() falhou\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Apagando o arquivo de lote temporário %s\n"
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "Erro de gravação: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "O número de argumentos é insuficiente (%d) para a função `%s' "
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "A função `%s' não foi implementada nesta plataforma "
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "Chamada não terminada para a função `%s': faltando `%c'"
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "O número de argumentos é insuficiente (%d) para a função `%s' "
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "O número de argumentos é insuficiente (%d) para a função `%s' "
#: getopt.c:659
@@ -529,12 +529,12 @@ msgstr "%s: a opção `-W %s' é ambigua\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: a opção `-W %s' não permite um argumento\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -617,98 +617,98 @@ msgstr "Procurando uma regra com o arquivo intermediário `%s'.\n"
msgid "Cannot create a temporary file\n"
msgstr "Não foi possível criar um arquivos temporário\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (arquivo core criado)"
-#: job.c:487
+#: job.c:488
#, fuzzy
msgid " (ignored)"
msgstr "[%s] Erro %d (ignorado)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (embutido):"
-#: job.c:501
+#: job.c:503
#, fuzzy, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "aviso: sobreescrevendo os comandos para o alvo `%s'"
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Erro 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "** [%s] Erro %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Erro 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "** Esperando que outros processos terminem."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Filho ativo %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remoto)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Descarregando processo filho %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Descarregando processo filho %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Apagando o arquivo de lote temporário: %s\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Apagando o arquivo de lote temporário: %s\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Removendo o processo filho %p PID %s%s da cadeia.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Liberado sinalizador para o processo filho %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "gravar jobserver"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() falhou ao executar o processo (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -717,99 +717,99 @@ msgstr ""
"\n"
"Contados %d args na falha de execução\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Colocando o processo filho %p (%s) PID %s%s na cadeia.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Obtido o sinalizador para o processo filho %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "tarefas canalizadas lidas"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch: Arquivo `%s' não existe"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%sSem regra para processar o alvo `%s', necessário por `%s'%s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "não pôde forçar os limites de carga neste sistema operacional"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "não pôde forçar a carga limite:"
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "sem manipuladores de arquivos: não é possível duplicar stdin\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "sem manipuladores de arquivos: não é possível duplicar stdout\n"
-#: job.c:2223
+#: job.c:2278
#, fuzzy
msgid "no more file handles: could not duplicate stderr\n"
msgstr "sem manipuladores de arquivos: não é possível duplicar stdin\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Não é possível restaurar stdin\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Não é possível restaurar stdout\n"
-#: job.c:2254
+#: job.c:2309
#, fuzzy
msgid "Could not restore stderr\n"
msgstr "Não é possível restaurar stdin\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "processo filho descarregado: pid %s, aguardando pelo pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Comando não encontrado"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Interpretador de comandos não encontrado"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: o espaço de ambiente pode estar cheio"
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL alterado (era `%s' e agora é `%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Criando arquivo de lote temporário %s\n"
-#: job.c:3148
+#: job.c:3206
#, fuzzy
msgid ""
"Batch file contents:\n"
@@ -818,7 +818,7 @@ msgstr ""
"Conteúdo do arquivo de lote:%s\n"
"\t%s\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -827,7 +827,7 @@ msgstr ""
"Conteúdo do arquivo de lote:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (linha %d) contexto inválido (!unixy && !batch_mode_shell)\n"
@@ -836,50 +836,50 @@ msgstr "%s (linha %d) contexto inválido (!unixy && !batch_mode_shell)\n"
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "Tarefas paralelas (-j) não são suportadas nesta plataforma."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Opções:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignorado para compatibilidade.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Processa todos os alvos incondicionalmente.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -887,18 +887,18 @@ msgstr ""
" -C DIRETÓRIO, --directory=DIRETÓRIO\n"
" Muda para o DIRETÓRIO antes de fazer algo.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Imprime muita informação de depuração.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=OPÇÕES] Imprime vários tipos de informações de "
"depuração.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -906,14 +906,14 @@ msgstr ""
" -e, --environment-overrides\n"
" Assume os valores das variáveis de ambiente.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=STRING Avalia a STRING como uma declaração para um "
"makefile.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -921,15 +921,15 @@ msgstr ""
" -f ARQUIVO, --file=ARQUIVO, --makefile=ARQUIVO\n"
" Lê o ARQUIVO como se fosse um arquivo make.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Imprime esta mensagem e sai.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Ignora os erros dos comandos.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -938,7 +938,7 @@ msgstr ""
" Pesquisa o DIRETÒRIO por arquivos make a "
"incluir.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -946,14 +946,14 @@ msgstr ""
" -j [N], --jobs[=N] Permite N tarefas de uma vez; tarefas infinitas "
"sem argumentos.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Continua mesmo que alguns alvos não possam ser "
"processados.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -963,7 +963,7 @@ msgstr ""
" Não inicia múltiplas tarefas a menos que a "
"carga seja menor que N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -971,7 +971,7 @@ msgstr ""
"-L, --check-symlink-times Usa o tempo mais antigo entre o vínculo simbólico "
"e o alvo.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -981,7 +981,7 @@ msgstr ""
" Não executa quaisquer comandos; apenas imprime-"
"os.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -991,18 +991,18 @@ msgstr ""
" Considera o ARQUIVO como muito antigo e não "
"reprocessá-o.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
" -p, --print-data-base Imprime o banco de dados interno do make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1010,21 +1010,21 @@ msgstr ""
" -q, --question Não executa os comandos; O código de saida "
"indica se está atualizado.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr " -r, --no-builtin-rules Desabilita as regras implícitas.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Desabilita a configuração das variáveis "
"embutidas.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Não ecoa os comandos.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1032,28 +1032,28 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Desativa a opção -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Executa um `touch' nos alvos ao invés de "
"reprocessá-los.\n"
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr " -d Imprime muita informação de depuração.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
" -v, --version Imprime o número de versão do make e sai.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Imprime o diretório atual.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1061,7 +1061,7 @@ msgstr ""
" --no-print-directory Desativa a opção -w, mesmo que ela esteja "
"implicitamente ativada.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1069,7 +1069,7 @@ msgstr ""
" -W ARQUIVO, --what-if=ARQUIVO, --new-file=ARQUIVO, --assume-new=ARQUIVO\n"
" Considera o ARQUIVO infinitamente novo.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1077,31 +1077,26 @@ msgstr ""
" --warn-undefined-variables Avisa quando um variável não definida for "
"referenciada.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "Cadeia de caracteres vazia não é válida como nome de arquivo"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "nível de depuração desconhecido: `%s'"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "erro interno: múltiplas opções --jobserver-fds"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Interrupção/Exceção capturada (código = 0x%lx, endereço = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1116,180 +1111,176 @@ msgstr ""
"SinalExceção = %lx\n"
"EndereçoExceção = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Violação de acesso: operação de escrita no endereço 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Violação de acesso: operação de leitura no endereço 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() definiu o default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell(), caminho de pesquisa do default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s está suspenso por 30 segundos..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) concluido. Continuando.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "erro interno: múltiplas opções --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, fuzzy, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Cliente Jobserver (fds %d,%d)\n"
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "erro interno: valor `%s' inválido para --jobserver-fds"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Cliente Jobserver (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "aviso: -jN forçado no submake: desabilitando o modo jobserver."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr "aviso: jobserver indisponível: usando -j1. Inclua `+' na regra pai."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile na entrada padrão especificado duas vezes."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (arquivo temporário)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (arquivo temporário)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Tarefas paralelas (-j) não são suportadas nesta plataforma."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Reiniciando no modo de tarefa única (-j1)."
-#: main.c:2006
+#: main.c:1994
#, fuzzy, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Cliente Jobserver (fds %d,%d)\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "criando canalização de tarefas"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inicializando a canalização do jobserver"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Vínculos simbólicos não são suportados: desabilite -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Atualizando os arquivos makefiles ...\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "O arquivo `%s' pode estar em loop; não reprocessá-lo.\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Problemas ao reprocessar o arquivo `%s'."
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "Arquivo `%s' incluido não foi encontrado."
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "O arquivo `%s' não foi encontrado."
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Não foi possível voltar ao diretório original."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Re-executando[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "desvinculado (arquivos temporário): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ". DEFAULT_GOAL contém mais do que um alvo"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nenhum alvo indicado e nenhum arquivo make encontrado"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Sem alvo"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Atualizando os objetivos finais...\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "aviso: O relógio está errado. Sua compilação pode ficar incompleta."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Uso: %s [opções] [alvo] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1298,7 +1289,7 @@ msgstr ""
"\n"
"Este programa foi compilado para %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1307,32 +1298,32 @@ msgstr ""
"\n"
"Este programa foi compilado para %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Informe os problemas para <bug-make@gnu.org>.\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "a opção `%s%s' requer um argumento não vazio"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "a opção `-%c' requer um argumento inteiro positivo"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sCompilado para %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sCompilado para %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1346,7 +1337,7 @@ msgstr ""
"livremente.\n"
"%sNÃO HÁ GARANTIAS, exceto o que for permitido por lei.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1355,7 +1346,7 @@ msgstr ""
"\n"
"# Banco de dados do Make, impresso em %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1369,10 +1360,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Erro desconhecido %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "A memória virtual encheu"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1394,65 +1381,61 @@ msgstr "Acesso do make"
msgid "Child access"
msgstr "Acesso filho"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Entrando em um diretório desconhecido\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Saindo de um diretório desconhecido\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Entrando no diretório `%s'\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Saindo do diretório `%s'\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Entrando em um diretório desconhecido\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Saindo de um diretório desconhecido\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Entrando no diretório `%s'\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Saindo do diretório `%s'\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "Erro de gravação: %s"
-#: output.c:517
-msgid "write error"
-msgstr "erro de gravação"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Pare.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1461,220 +1444,226 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Lendo arquivos makefile ...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "Lendo arquivos makefile `%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (não há objetivo padrão)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (caminho de pesquisa)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (sem importância)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (sem expansão ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "síntaxe inválida na condicional"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "comandos começam antes do primeiro alvo"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "falta uma regra antes dos comandos"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "faltando o separador%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (você pensou em TAB ao invés de 8 espaços?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "faltando o separador%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "faltando o padrão dos alvos"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "múltiplos padrões para o alvo"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "padrão para o alvo não contém `%%'"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "faltando `endif'"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "nome de variável vazio"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "Texto estranho depois da diretiva `define'"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "faltando `endef', `define' não terminado"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "Texto estranho depois da diretiva `endef"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "Texto estranho depois da diretiva `%s'"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "`%s' estranho"
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "use apenas um `else' por condicional"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Definição de variável para o alvo mau formada"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "os pré-requisitos não podem ser definidos no comando"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "As regras implícitas e de padrão estático misturadas"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "As regras implícitas e normais misturadas"
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "O alvo `%s' não coincide com o padrão"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "O arquivo alvo `%s' tem entradas : e ::"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "O alvo `%s' foi informado mais do que um vez na mesma regra."
-#: read.c:2114
+#: read.c:2122
#, fuzzy, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "aviso: sobreescrevendo os comandos para o alvo `%s'"
-#: read.c:2117
+#: read.c:2125
#, fuzzy, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "aviso: ignorando comandos antigos para o alvo `%s'"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "As regras implícitas e normais misturadas"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "aviso: caracter NUL detetado; o resto da linha foi ignorado"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "Nada a ser feito para `%s'."
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "`%s' está atualizado."
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "Atualizando o arquivo `%s'.\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sSem regra para processar o alvo `%s'%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sSem regra para processar o alvo `%s', necessário por `%s'%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sSem regra para processar o alvo `%s'%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "Considerando o arquivo alvo `%s'.\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Tentativa de atualizar o arquivo `%s' falhou.\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "O arquivo `%s' já foi considerado.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "Ainda está atualizando o arquivo `%s'.\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Atualização do arquivo `%s' concluida.\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "O arquivo `%s' não existe.\n"
-#: remake.c:481
+#: remake.c:495
#, fuzzy, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1682,137 +1671,137 @@ msgstr ""
"*** Aviso: arquivo .LOW_RESOLUTION_TIME `%s' tem uma etiqueta de tempo de "
"alta resolução"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Regra implícita encontrada para `%s'.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Nenhuma regra implícita encontrada para `%s'.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Usando os comandos padrões para `%s'.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Dependência circular %s <- %s abandonada."
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Pré-requisitos do alvo `%s' concluido.\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Pré-requisitos do `%s' estão sendo criados.\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Desistindo do arquivo `%s'.\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "O alvo `%s' não foi reprocessado por causa de erros."
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Pré-requisito `%s' está ordenado para o alvo `%s'.\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Pré-requisitos `%s' do alvo `%s' não existem.\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Pré-requisito `%s' é mais novo do que o alvo `%s'.\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Pré-requisito `%s' é mais antigo do que o alvo `%s'.\n"
-#: remake.c:762
+#: remake.c:783
#, fuzzy, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "O alvo `%s' é dois-pontos duplos e não tem pré-requisitos.\n"
-#: remake.c:769
+#: remake.c:790
#, fuzzy, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Nenhum comando para `%s' e nenhum pré-requisito foi alterado.\n"
-#: remake.c:774
+#: remake.c:795
#, fuzzy, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Processando `%s' devido a opção always-make.\n"
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "Não é necessário reprocessar o alvo `%s'"
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr "; usando o nome VPATH `%s'"
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "O alvo `%s' deve ser reprocessado.\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ignorando o nome VPATH `%s'.\n"
-#: remake.c:819
+#: remake.c:840
#, fuzzy, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Os comandos de `%s' estão rodando.\n"
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Falha ao reprocessar o alvo `%s'.\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Alvo `%s' reprocessado com sucesso.\n"
-#: remake.c:832
+#: remake.c:853
#, fuzzy, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "O alvo `%s' precisa ser reprocessado sob -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Usando os comandos padrões para `%s'.\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "** Aviso: O arquivo `%s' está com a hora adiantada"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "** Aviso: O arquivo `%s' está com a hora %s s adiantada"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "O elemento .LIBPATTERNS `%s' não é um padrão"
@@ -1822,7 +1811,7 @@ msgstr "O elemento .LIBPATTERNS `%s' não é um padrão"
msgid "Customs won't export: %s\n"
msgstr "Customizações não exportadas: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1830,7 +1819,7 @@ msgstr ""
"\n"
"# Regras implícitas."
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1838,7 +1827,7 @@ msgstr ""
"\n"
"# Faltam as regras implícitas."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1847,11 +1836,11 @@ msgstr ""
"\n"
"# %u regras implícitas, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "ERRO: num_pattern_rules errada! %u != %u"
@@ -2063,45 +2052,45 @@ msgstr ""
"# tabela hash de arquivos:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automático"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "padrão"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "ambiente"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "ambiente sob -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "linha de comando"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "diretiva `override'"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (de `%s', linha %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# tabela hash do conjunto de variávies:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2109,7 +2098,7 @@ msgstr ""
"\n"
"# Variáveis\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2117,7 +2106,7 @@ msgstr ""
"\n"
"# Valores da variável de padrões específicos"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2125,7 +2114,7 @@ msgstr ""
"\n"
"# Faltam valores para variável de padrões específicos"
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2144,77 +2133,82 @@ msgstr "aviso: variável indefinida `%.*s'"
msgid "sys$search() failed with %d\n"
msgstr "sys$search() falhou com %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Aviso: Redireção vazia\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "erro interno: `%s' command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-warning, pode ser preciso reativar o CTRL-Y no DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "EMBUTIDO [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "CD EMBUTIDO %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "RM EMBUTIDO %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "CD EMBUTIDO %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Comando embutido desconhecido `%s'.\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Erro, comando vazio\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Entrada de %s redirecionada\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Erro redirecionado para %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Saida redirecionada para %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Saida redirecionada para %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Acrescentado %.*s e limpo\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Executando %s ao invés de\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Erro de execução, %d\n"
@@ -2273,6 +2267,15 @@ msgstr ""
#~ msgid "Invoking builtin recipe to update target `%s'.\n"
#~ msgstr "Chamando comandos internos para atualizar o alvo `%s'.\n"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "erro interno: múltiplas opções --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "A memória virtual encheu"
+
+#~ msgid "write error"
+#~ msgstr "erro de gravação"
+
#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
#~ msgstr "%s # de buffers strcache: %d (* %d B/buffer = %d B)\n"
@@ -2285,6 +2288,9 @@ msgstr ""
#~ "# tabela hash de arquivos:\n"
#~ "#"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "RM EMBUTIDO %s\n"
+
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr "process_easy() falhou ao executar o processo (e=%ld)\n"
diff --git a/po/ru.gmo b/po/ru.gmo
index 6aaf94b..1954613 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 790c4e9..624c68e 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,26 +1,27 @@
-# Translation of make messages to Russian
+# Translation of make messages to Russian.
# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
-# Alexey Mahotkin <alexm@hsys.msk.ru> 2001
#
# Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>, 1998.
+# Alexey Mahotkin <alexm@hsys.msk.ru>, 2001.
# Denis Perchine <dyp@perchine.com>, 2001, 2002.
-# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2013.
# Pavel Maryanov <acid_jack@ukr.net>, 2009.
+# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: make 3.99.93\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2013-10-02 19:25+0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-10 20:44+0400\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.4\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ar.c:46
#, c-format
@@ -53,50 +54,50 @@ msgstr ""
"обновление времени изменениÑ: Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ ar_member_touch вернула\n"
"ошибочное значение Ð´Ð»Ñ Â«%s»"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_module() не Ñмогла извлечь информацию о модуле, ÑÑ‚Ð°Ñ‚ÑƒÑ = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$init_control() вернула код ошибки %d"
-#: arscan.c:185
-#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ «%s» Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка Ñлемента «%s»"
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Элемент «%s»%s: %ld байт по адреÑу %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (Ð¸Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть уÑечено)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Дата %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mode = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr "Ð’ ÑпоÑобе Ñлишком много Ñтрок (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** ОÑтанов.\n"
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Элемент архива «%s», кажетÑÑ, недейÑтвителен; не удалён"
@@ -106,25 +107,25 @@ msgstr "*** [%s] Элемент архива «%s», кажетÑÑ, недейÑ
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Элемент архива «%s», кажетÑÑ, недейÑтвителен; не удалён"
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] УдалÑетÑÑ Ñ„Ð°Ð¹Ð» «%s»"
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** УдалÑетÑÑ Ñ„Ð°Ð¹Ð» «%s»"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# ÑпоÑоб, который Ñледует применить"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (вÑтроенные):"
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (из «%s», Ñтрока %lu):\n"
@@ -206,153 +207,153 @@ msgstr "РекурÑÐ¸Ð²Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«%s» ÑÑылаетÑÑ Ñ
msgid "unterminated variable reference"
msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ ÑÑылка на переменную"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "СпоÑоб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» был задан в %s:%lu,"
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "СпоÑоб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» был найден из неÑвного правила,"
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "но «%s» и «%s» теперь ÑчитаютÑÑ Ð¾Ð´Ð½Ð¸Ð¼ и тем же файлом."
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
"СпоÑоб Ð´Ð»Ñ Â«%s» игнорируетÑÑ, вмеÑто него будет иÑпользован ÑпоÑоб Ð´Ð»Ñ Â«%s»."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
"невозможно переименовать «%s» Ñ Ð¾Ð´Ð½Ð¸Ð¼ двоеточием в «%s» Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми"
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
"невозможно переименовать «%s» Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми в «%s» Ñ Ð¾Ð´Ð½Ð¸Ð¼ двоеточием"
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Удаление промежуточного файла «%s»"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Удаление промежуточных файлов...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Текущее времÑ"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Временной штамп выходит за пределы диапазона; подÑтавлÑем %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Текущее времÑ"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ðе ÑвлÑетÑÑ Ñ†ÐµÐ»ÑŒÑŽ:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Ценный файл (завиÑимоÑÑ‚ÑŒ .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# ПÑевдоцель (завиÑимоÑÑ‚ÑŒ от .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Цель, Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ Ð¸Ð· командной Ñтроки."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# По умолчанию, MAKEFILES, или -include/sinclude makefile."
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr "# Ð’Ñтроенное правило"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# ПроизводилÑÑ Ð¿Ð¾Ð¸Ñк неÑвных правил."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# ПоиÑк неÑвных правил не производилÑÑ."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# ОÑнова неÑвного или ÑтатичеÑкого образца: «%s»\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Файл — Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚ÑŒ."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Собирает также:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ð’Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð¸ разу не проверÑлоÑÑŒ."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Файл не ÑущеÑтвует."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Файл очень Ñтарый."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Файл был обновлён."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Файл не был обновлён."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Ð’ данный момент уже применÑетÑÑ Ð½ÐµÐºÐ¸Ð¹ ÑпоÑоб (ЭТО ОШИБКÐ)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
"# Ð’ данный момент уже применÑетÑÑ Ð½ÐµÐºÐ¸Ð¹ ÑпоÑоб по завиÑимоÑÑ‚Ñм (ЭТО ОШИБКÐ)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# УÑпешно обновлено."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Должно быть обновлено (задан ключ -q)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Попытка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ·ÑƒÑпешна."
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr "# Ðеверное значение члена «command_state»!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -360,7 +361,7 @@ msgstr ""
"\n"
"# Файлы"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -370,103 +371,104 @@ msgstr ""
"# ÑоÑтоÑние файлов хеш-таблицы:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr "%s: Поле «%s» не кешировано: %s"
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "нечиÑловой первый аргумент функции «word»"
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr "первый аргумент функции «word» должен быть больше нулÑ"
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "нечиÑловой первый аргумент функции «wordlist»"
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "нечиÑловой второй аргумент функции «wordlist»"
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(In) вернула код ошибки (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(Err) вернула код ошибки (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() вернула код ошибки (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() завершилаÑÑŒ неудачно\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Очищаю временный пакетный файл %s\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr "открытие: %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr "запиÑÑŒ: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼: %s"
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "недоÑтаточно аргументов (вÑего %d) функции «%s»"
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "не реализовано на Ñтой платформе: Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Â«%s»"
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "незавершённый вызов функции «%s»: пропущено «%c»"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "ПуÑтое Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸\n"
-#: function.c:2548
+#: function.c:2593
#, fuzzy, c-format
-msgid "Invalid function name: %s\n"
-msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼: %s"
+msgid "Invalid function name: %s"
+msgstr "Ðекорректное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %s\n"
-#: function.c:2552
-#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "Ðекорректное минимальное чиÑло аргументов (вÑего %d) функции %s\n"
-#: function.c:2555
-#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "Ðекорректное макÑимальное чиÑло аргументов (вÑего %d) функции %s\n"
# Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ getopt иÑключены, Ñ‚.к. они отноÑÑÑ‚ÑÑ Ðº уже
@@ -526,12 +528,12 @@ msgstr "%s: ключ «-W %s» неоднозначен\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: ключ «-W %s» должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: раÑширÑетÑÑ Â«%s»\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: вычиÑлÑетÑÑ Â«%s»\n"
@@ -614,96 +616,96 @@ msgstr "ПоиÑк правила Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ñ‹Ð¼ файлом «%
msgid "Cannot create a temporary file\n"
msgstr "Ðе удалоÑÑŒ Ñоздать временный файл\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (Ñделан дамп памÑти)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (игнорирование)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr "<вÑтроенное>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "%s: ошибка Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s»"
-#: job.c:510
-#, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "%s[%s] Ошибка 0x%x%s"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, c-format
msgid "%s[%s] Error %d%s"
msgstr "%s[%s] Ошибка %d%s"
-#: job.c:517
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Ошибка 0x%x%s"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹â€¦"
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Ðезавершённый потомок %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (удалённый)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "ПодбираетÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾ завершившийÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "ПодбираетÑÑ ÑƒÐ´Ð°Ñ‡Ð½Ð¾ завершившийÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Подчищаю временный пакетный файл %s\n"
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "ОчиÑтка временного пакетного файла %s завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹ (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "УдалÑетÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s%s из цепочки.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr "оÑвобождение Ñемафора Ñервера заданий: (ошибка %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "ОÑвобождён токен Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "запиÑÑŒ Ñервера заданий"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() не Ñмогла запуÑтить процеÑÑ (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -712,97 +714,97 @@ msgstr ""
"\n"
"При неудачном запуÑке ÑоÑчитано %d аргументов\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Помещение потомка %p (%s) PID %s%s в цепочку потомков.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "ожидание Ñемафора или процеÑÑа-потомка: (ошибка %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Получен токен Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "чтение потока заданий"
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr "%s: цель «%s» не ÑущеÑтвует"
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: обновление цели «%s» из-за: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "Ñта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема не позволÑет уÑтанавливать пределы загрузки"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "невозможно уÑтановить пределы загрузки: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stdin\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stdout\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stderr\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Ðе удалоÑÑŒ воÑÑтановить stdin\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Ðе удалоÑÑŒ воÑÑтановить stdout\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr "Ðе удалоÑÑŒ воÑÑтановить stderr\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make нашла завершившегоÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° pid %s, вÑÑ‘ ещё ожидает pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Команда не найдена"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Командный процеÑÑор не найден"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: вероÑтно, закончилоÑÑŒ меÑто под окружение"
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $SHELL изменилаÑÑŒ (было «%s», теперь «%s»)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "СоздаётÑÑ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¹ пакетный файл %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
@@ -810,7 +812,7 @@ msgstr ""
"Содержимое файла пакетных заданий:\n"
"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -819,7 +821,7 @@ msgstr ""
"Содержимое файла пакетных заданий:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -830,48 +832,48 @@ msgstr ""
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr "-O[ТИП] (--output-sync[=ТИП]) не наÑтроен в данной Ñборке."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Ðе удалоÑÑŒ открыть глобальную таблицу Ñимволов: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr "Загруженный объект %s не объÑвлено как ÑовмеÑтимый Ñ GPL"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr "Ðе удалоÑÑŒ загрузить Ñимвол %s из %s: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "ПуÑтое Ð¸Ð¼Ñ Ñимвола Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "ЗагружаетÑÑ Ñимвол %s из %s\n"
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Â«load» не поддерживаетÑÑ Ð½Ð° Ñтой платформе."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Ключи:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m ИгнорируетÑÑ Ð´Ð»Ñ ÑовмеÑтимоÑти.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Без уÑловий отрабатывать вÑе цели.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -879,18 +881,18 @@ msgstr ""
" -C КÐТÐЛОГ, --directory=КÐТÐЛОГ\n"
" Перейти в КÐТÐЛОГ перед выполнением дейÑтвий.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Выводить маÑÑу отладочных Ñообщений.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=ФЛÐГИ] Выводить различные типы отладочной "
"информации.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -899,13 +901,13 @@ msgstr ""
" Переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÐ½ÑÑŽÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "
"makefile.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=СТРОКРВычиÑлить СТРОКУ как предложение makefile.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -913,15 +915,15 @@ msgstr ""
" -f ФÐЙЛ, --file=ФÐЙЛ, --makefile=ФÐЙЛ\n"
" ИÑпользовать ФÐЙЛ в качеÑтве makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Показать Ñту Ñправку и выйти.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Игнорировать ошибки ÑпоÑобов.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -929,7 +931,7 @@ msgstr ""
" -I КÐТÐЛОГ, --include-dir=КÐТÐЛОГ\n"
" ИÑкать включаемые make-файлы в КÐТÐЛОГЕ.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -938,14 +940,14 @@ msgstr ""
" еÑли N не указано, чиÑло заданий "
"неограничено.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Продолжать работу, даже еÑли некоторые цели\n"
" не могут быть доÑтигнуты.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -954,7 +956,7 @@ msgstr ""
" -l [N], --load-average[=N], --max-load[=N] Ðе запуÑкать\n"
" неÑколько заданий, еÑли загрузка больше N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -962,7 +964,7 @@ msgstr ""
" -L, --check-symlink-times ИÑпользовать поÑледнее mtime при выборе между\n"
" ÑимволичеÑкими ÑÑылками и целью.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -972,7 +974,7 @@ msgstr ""
" Ðе применÑÑ‚ÑŒ ÑпоÑоб на Ñамом деле; проÑто\n"
" напечатать его.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -982,7 +984,7 @@ msgstr ""
" Считать ФÐЙЛ очень Ñтарым и не переделывать "
"его.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
@@ -991,12 +993,12 @@ msgstr ""
" Синхронизировать вывод параллельных\n"
" заданий Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ ТИП.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
" -p, --print-data-base Ðапечатать внутреннюю базу данных make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1005,23 +1007,23 @@ msgstr ""
" код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚, вÑÑ‘ ли уже "
"Ñделано.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Ðе иÑпользовать вÑтроенные неÑвные правила.\n"
# Что такое "variable settings"?
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Выключить уÑтановку вÑтроенных\n"
" значений переменных.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ðе показывать Ñами ÑпоÑобы.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1029,26 +1031,26 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Отменить ключ -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch УÑтановить Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа целей в текущее,\n"
" а не переÑобирать их.\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr " --trace Выводить траÑÑировочную информацию.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version Показать информацию о верÑии и выйти.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Ðапечатать текущий каталог.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1056,7 +1058,7 @@ msgstr ""
" --no-print-directory Отменить ключ -w, даже еÑли он был Ñвно "
"указан.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1064,7 +1066,7 @@ msgstr ""
" -W ФÐЙЛ, --what-if=ФÐЙЛ, --new-file=ФÐЙЛ, --assume-new=ФÐЙЛ\n"
" Считать ФÐЙЛ вÑегда новым.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1072,30 +1074,26 @@ msgstr ""
" --warn-undefined-variables Выдавать предупреждение при ÑÑылке\n"
" на неопределённую переменную.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "пуÑÑ‚Ð°Ñ Ñтрока недопуÑтима в качеÑтве имени файла"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr "задан неизвеÑтный уровень отладки «%s»"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "неизвеÑтный тип output-sync «%s»"
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неÑколько ключей --sync-mutex"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: поймано прерывание или иÑключение (код = 0x%lx, Ð°Ð´Ñ€ÐµÑ = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1110,41 +1108,37 @@ msgstr ""
"Флаги иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ = %lx\n"
"ÐÐ´Ñ€ÐµÑ Ð¸ÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Ðарушение доÑтупа: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи по адреÑу 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Ðарушение доÑтупа: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð°Ð´Ñ€ÐµÑа 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() уÑтанавливает default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell(): поиÑк в путÑÑ… уÑтанавливает default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s приоÑтанавливаетÑÑ Ð½Ð° 30 Ñекунд..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) завершён. Продолжаем.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неÑколько ключей --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
@@ -1152,143 +1146,143 @@ msgstr ""
"внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: не удалоÑÑŒ открыть Ñемафор Ñервера заданий «%s»: (ошибка "
"%ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Клиент Ñервера заданий (Ñемафор %s)\n"
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока --jobserver-fds «%s»"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Клиент Ñервера заданий (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"предупреждение: в Ñуб-Makefile принудительно задан -jN; режим Ñервера "
"заданий запрещён"
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "Ñоздаю копию Ñервера заданий"
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
"предупреждение: Ñервер заданий недоÑтупен: иÑпользуетÑÑ -j1. Добавьте «+» к "
"правилу в родительÑком make."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile из Ñтандартного ввода указан дважды."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (временный файл)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (временный файл)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Параллельные Ð·Ð°Ð´Ð°Ð½Ð¸Ñ (-j) не поддерживаютÑÑ Ð½Ð° Ñтой платформе."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "ВозвращаетÑÑ Ñ€ÐµÐ¶Ð¸Ð¼ одиночного Ð·Ð°Ð´Ð°Ð½Ð¸Ñ (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "КоличеÑтво Ñлотов Ñервера заданий ограничено %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr "Ñоздание Ñемафора Ñервера заданий: (ошибка %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "ÑоздаётÑÑ ÐºÐ°Ð½Ð°Ð» заданий"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð½Ð°Ñтройка Ñервера заданий"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "СимволичеÑкие ÑÑылки не поддерживаютÑÑ: отменÑетÑÑ ÐºÐ»ÑŽÑ‡ -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Обновление make-файлов....\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Make-файл «%s», возможно, зациклен, он не будет переÑобиратьÑÑ.\n"
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Попытка переÑобрать make-файл «%s» завершилаÑÑŒ неудачно."
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Включаемый make-файл «%s» не найден."
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr "Make-файл «%s» не найден"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Ðевозможно перейти в первоначальный каталог."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Повторное выполнение[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (временный файл)"
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL Ñодержит более одной цели"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Ðе заданы цели и не найден make-файл"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Ðет целей"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Обновление целей результата...\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "предупреждение: Ðеправильный ход чаÑов. Сборка может быть неполной."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "ИÑпользование: %s [КЛЮЧ]... [ЦЕЛЬ]...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1297,7 +1291,7 @@ msgstr ""
"\n"
"Эта программа Ñобрана Ð´Ð»Ñ %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1306,32 +1300,32 @@ msgstr ""
"\n"
"Эта программа Ñобрана Ð´Ð»Ñ %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Сообщайте об ошибках по адреÑу <bug-make@gnu.org>\n"
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "длÑ ключа «%s%s» нужно указать аргументом непуÑтую Ñтроку"
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "ключ «-%c» должен иÑпользоватьÑÑ Ñ Ñ†ÐµÐ»Ñ‹Ð¼ положительным аргументом"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sЭта программа Ñобрана Ð´Ð»Ñ %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sЭта программа Ñобрана Ð´Ð»Ñ %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1344,7 +1338,7 @@ msgstr ""
"%sЭто Ñвободное программное обеÑпечение: вы можете Ñвободно изменÑÑ‚ÑŒ его и\n"
"%sраÑпроÑтранÑÑ‚ÑŒ. ÐЕТ ÐИКÐКИХ ГÐРÐÐТИЙ вне пределов, допуÑтимых законом.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1353,7 +1347,7 @@ msgstr ""
"\n"
"# База данных Make, напечатана %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1367,10 +1361,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "закончилаÑÑŒ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼ÑÑ‚ÑŒ"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1394,65 +1384,61 @@ msgstr "ДоÑтуп make"
msgid "Child access"
msgstr "ДоÑтуп потомка"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Вход в неизвеÑтный каталог\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Выход из неизвеÑтного каталога\n"
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: вход в каталог «%s»\n"
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: выход из каталога «%s»\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: вход в неизвеÑтный каталог\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: выход из неизвеÑтного каталога\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: вход в каталог «%s»\n"
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: выход из каталога «%s»\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "ошибка запиÑи: %s"
-#: output.c:517
-msgid "write error"
-msgstr "ошибка запиÑи"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". ОÑтанов.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1461,215 +1447,221 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Чтение make-файлов...\n"
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
msgstr "Чтение make-файла «%s»"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (нет цели по умолчанию)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (путь поиÑка)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (игнорировать ошибки)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (не раÑкрывать Ñимвол `~') "
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr "ПропуÑк UTF-8 BOM в make-файле «%s»\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr "ПропуÑк UTF-8 BOM в буфере make-файла\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "неверный ÑинтакÑÐ¸Ñ Ð² уÑловном выражении"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr "%s: не удалоÑÑŒ загрузить"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "обнаружен ÑпоÑоб до первого Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "перед ÑпоÑобом отÑутÑтвует правило"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "пропущен разделитель%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr "(не имели ли вы в виду TAB вмеÑто воÑьми пробелов?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "пропущен разделитель%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "пропущен образец цели"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "неÑколько образцов цели"
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr "образец цели не Ñодержит «%%»"
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
msgstr "отÑутÑтвует «endif»"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "пуÑтое Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹"
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr "излишний текÑÑ‚ поÑле директивы «define»"
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr "отÑутÑтвует «endif», Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Â«define»"
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr "излишний текÑÑ‚ поÑле директивы «endef»"
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr "Излишний текÑÑ‚ поÑле директивы «%s»"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr "излишнÑÑ Â«%s»"
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "в уÑловном выражении возможна только одна «else»"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Ðеправильный формат Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ цели"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "в ÑпоÑобах не могут задаватьÑÑ Ð·Ð°Ð²Ð¸ÑимоÑти"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "Ñмешаны неÑвные правила и правила Ñо ÑтатичеÑкими образцами"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "Ñмешаны неÑвные и обычные правила"
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "цель «%s» не ÑоответÑтвует образцу целей"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "целевой файл «%s» имеет Ð²Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¸ Ñ :, и Ñ ::"
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "цель «%s» указана неÑколько раз в одном правиле"
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "предупреждение: переопределение ÑпоÑоба Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s»"
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "предупреждение: Ñтарый ÑпоÑоб Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s» игнорируютÑÑ"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "Ñмешаны неÑвные и обычные правила"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "предупреждение: вÑтречен Ñимвол NUL; игнорируетÑÑ Ð´Ð¾ конца Ñтроки"
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "Цель «%s» не требует Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´."
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr "«%s» не требует обновлениÑ."
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "ОбрезаетÑÑ Ñ„Ð°Ð¹Ð» «%s».\n"
-#: remake.c:377
-#, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sÐет правила Ð´Ð»Ñ Ñборки цели «%s»%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sÐет правила Ð´Ð»Ñ Ñборки цели «%s», требуемой Ð´Ð»Ñ Â«%s»%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sÐет правила Ð´Ð»Ñ Ñборки цели «%s»%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Обработка целевого файла «%s».\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° обновить файл «%s» завершилаÑÑŒ неудачно.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Файл «%s» уже был обработан.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Файл «%s» обновлÑетÑÑ Ð² данный момент.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Обновление файла «%s» завершено.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Файл «%s» не ÑущеÑтвует.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1677,137 +1669,137 @@ msgstr ""
"*** Предупреждение: у файла «%s» параметр LOW_RESOLUTION_TIME Ñодержит метку "
"времени Ñ Ð²Ñ‹Ñокой точноÑтью"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Ðайдено неÑвное правило Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Ðе найдено неÑвного правила Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "ИÑпользование ÑпоÑоба по умолчанию Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "ЦикличеÑÐºÐ°Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚ÑŒ %s <- %s пропущена."
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Обновление целей, от которых завиÑит целевой файл «%s», завершено.\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Цели, от которых завиÑит «%s», в наÑтоÑщий момент ÑобираютÑÑ.\n"
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Ðварийный оÑтанов на целевом файле «%s».\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Цель «%s» не была переÑобрана из-за ошибок."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "ЗавиÑимоÑÑ‚ÑŒ «%s» Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s» завиÑит от порÑдка.\n"
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "ЗавиÑимоÑÑ‚ÑŒ «%s» цели «%s» не ÑущеÑтвует.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "ЗавиÑимоÑÑ‚ÑŒ «%s» новее, чем цель «%s».\n"
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "ЗавиÑимоÑÑ‚ÑŒ «%s» Ñтарее, чем цель «%s».\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Цель «%s» объÑвлена Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми и не имеет завиÑимоÑтей.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "СпоÑоб Ð´Ð»Ñ Â«%s» не задан, и начальные уÑÐ»Ð¾Ð²Ð¸Ñ Ð½Ðµ изменены.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "ПереÑборка «%s» из-за уÑтановленного флага always-make.\n"
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr "Ðет необходимоÑти переÑобирать цель «%s»"
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr "; иÑпользуетÑÑ VPATH-Ð¸Ð¼Ñ Â«%s»"
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "Ðеобходимо переÑобрать цель «%s».\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " ИгнорируетÑÑ VPATH-Ð¸Ð¼Ñ Â«%s».\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑетÑÑ ÑпоÑоб «%s».\n"
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Ðе удалоÑÑŒ переÑоздать файл цели «%s».\n"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Целевой файл «%s» уÑпешно переÑоздан.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Целевой файл «%s» требует переÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "ИÑпользование команд по умолчанию Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Предупреждение: Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» находитÑÑ Ð² будущем"
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Предупреждение: Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» находитÑÑ Ð² будущем (%s)"
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "Элемент .LIBPATTERNS «%s» не ÑвлÑетÑÑ Ð¾Ð±Ñ€Ð°Ð·Ñ†Ð¾Ð¼"
@@ -1817,7 +1809,7 @@ msgstr "Элемент .LIBPATTERNS «%s» не ÑвлÑетÑÑ Ð¾Ð±Ñ€Ð°Ð·Ñ†Ð¾Ð
msgid "Customs won't export: %s\n"
msgstr "Ðе ÑкÑпортируемые наÑтройки: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1825,7 +1817,7 @@ msgstr ""
"\n"
"# ÐеÑвные правила"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1833,7 +1825,7 @@ msgstr ""
"\n"
"# ÐеÑвных правил нет."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1842,11 +1834,11 @@ msgstr ""
"\n"
"# ÐеÑвных правил: %u, терминальных: %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " терминал."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "ОШИБКÐ: неверное значение num_pattern_rules! %u != %u"
@@ -2066,44 +2058,44 @@ msgstr ""
"# ÑоÑтоÑние хеш-таблицы:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "автоматичеÑкаÑ"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "по умолчанию"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "определена в Ñреде"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "make-файл"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "окружение Ñ -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "определена в командной Ñтроке"
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr "Директива «override»"
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (из «%s», Ñтрока %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# ÑоÑтоÑние переменных в хеш-таблице:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2111,7 +2103,7 @@ msgstr ""
"\n"
"# Переменные\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2119,7 +2111,7 @@ msgstr ""
"\n"
"# Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… оÑобенные Ð´Ð»Ñ Ð¼Ð°Ñки"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2127,7 +2119,7 @@ msgstr ""
"\n"
"# Ðет значений переменных оÑобенных Ð´Ð»Ñ Ð¼Ð°Ñки."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2146,79 +2138,84 @@ msgstr "предупреждение: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ
msgid "sys$search() failed with %d\n"
msgstr "sys$search() вернула код ошибки %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Предупреждение: ПуÑтое перенаправление\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: «%s» command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-предупреждение, возможно вам потребуетÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ разрешить\n"
"обработку CTRL-Y из DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "ВСТРОЕÐÐЫЙ [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "ВСТРОЕÐÐЫЙ CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "ВСТРОЕÐÐЫЙ RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "ВСТРОЕÐÐЫЙ CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° '%s'\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Ошибка, пуÑÑ‚Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Стандартный ввод перенаправлен из %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Поток ошибок перенаправлен в %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Стандартный вывод добавлен в %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Стандартный вывод перенаправлен в %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Добавить %.*s и очиÑтить\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "ВмеÑто заданного выполнÑетÑÑ %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Ошибка Ð¿Ð¾Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа, %d\n"
@@ -2262,6 +2259,21 @@ msgstr ""
"# Общий (Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«VPATH») путь поиÑка:\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неÑколько ключей --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неÑколько ключей --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "закончилаÑÑŒ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼ÑÑ‚ÑŒ"
+
+#~ msgid "write error"
+#~ msgstr "ошибка запиÑи"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "ВСТРОЕÐÐЫЙ RM %s\n"
+
#~ msgid "# Invalid value in 'update_status' member!"
#~ msgstr "# Ðеверное значение члена «update_status»!"
diff --git a/po/sv.gmo b/po/sv.gmo
index 5dccff3..4f9b305 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 8386679..4545ab3 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -5,13 +5,13 @@
# Christer Andersson <klamm@comhem.se>, 2007.
# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2013.
#
-# $Id: make.po,v 1.11 2013-10-01 22:03:56+02 göran Exp $
+# $Id: make.po,v 1.14 2013-10-09 21:33:42+02 göran Exp $
msgid ""
msgstr ""
-"Project-Id-Version: make 3.99.93\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2013-10-01 22:03+0200\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-09 21:33+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -48,51 +48,51 @@ msgstr "nudda: medlemmen â€%s†finns inte i â€%sâ€"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "nudda: Felaktig returkod frÃ¥n ar_member_touch pÃ¥ â€%sâ€"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
"lbr$set_module() misslyckades med att extrahera modulinformation, status = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() misslyckades och gav status = %d"
-#: arscan.c:185
-#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "kan inte öppna biblioteket â€%s†för att slÃ¥ upp medlemmen â€%sâ€"
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Medlem â€%sâ€%s: %ld byte vid %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (namnet kan vara avkortat)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, flaggor = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr "Receptet har för många rader (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Avbrott.\n"
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Arkivmedlemmen â€%s†kan vara felaktig; ej borttagen"
@@ -102,25 +102,25 @@ msgstr "*** [%s] Arkivmedlemmen â€%s†kan vara felaktig; ej borttagen"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Arkivmedlemmen â€%s†kan vara felaktig; ej borttagen"
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Tar bort filen â€%sâ€"
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Tar bort filen â€%sâ€"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# recept att utföra"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (inbyggd):"
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (frÃ¥n â€%sâ€, rad %lu):\n"
@@ -202,152 +202,152 @@ msgstr "Den rekursiva variabeln â€%s†hänvisar till sig själv (sÃ¥ smÃ¥ning
msgid "unterminated variable reference"
msgstr "oavslutad variabelreferens"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Recept angavs för filen â€%s†pÃ¥ %s:%lu,"
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Recept för filen â€%s†hittades genom sökning efter implicit regel,"
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "men â€%s†anses nu vara samma fil som â€%sâ€."
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
"Kommer att bortse frÃ¥n recept för â€%s†till förmÃ¥n för det som gäller â€%sâ€."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "kan inte ändra namn frÃ¥n enkelkolon â€%s†till dubbelkolon â€%sâ€"
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "kan inte ändra namn frÃ¥n dubbelkolon â€%s†till enkelkolon â€%sâ€"
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Tar bort mellanfilen â€%sâ€"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Tar bort mellanfiler …\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Nuvarande tid"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Tidsvärde utanför gränser; ersätter med %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Nuvarande tid"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Inte ett mål:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Värdefull fil (nödvändig för .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Låtsasmål (nödvändig för .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Kommandoradsmål."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr ""
"# En standardmakefil, eller enligt MAKEFILES, eller en -include/sinclude-"
"makefil."
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr "# Inbyggd regel"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Implicit regelsökning har genomförts."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Implicit regelsökning har inte genomförts."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Implicit/statisk mönsterstam: â€%sâ€\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Filen är ett övergående beroende."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Skapar också:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ändringstiden har inte kontrollerats."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Filen finns inte."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Filen är mycket gammal."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Senast ändrad %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Filen har uppdaterats."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Filen har inte uppdaterats."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Recept körs just nu (DETTA ÄR ETT FEL)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Beroenderecept körs (DETTA ÄR ETT FEL)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Uppdateringen lyckades."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Behöver uppdateras (-q har angivits)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Uppdateringen misslyckades."
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr "# Ogiltigt värde i medlemmen â€command_stateâ€!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -355,7 +355,7 @@ msgstr ""
"\n"
"# Filer"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -365,103 +365,104 @@ msgstr ""
"# statistik för filhashtabell:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr "%s: Fältet â€%s†cachas inte: %s"
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "icke-numeriskt första argument till funktionen â€wordâ€"
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr "det första argumentet till funktionen â€word†mÃ¥ste vara större än 0"
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "icke-numeriskt första argument till funktionen â€wordlistâ€"
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "icke-numeriskt andra argument till funktionen â€wordlistâ€"
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(In) misslyckades (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(Fel) misslyckades (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() misslyckades (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() misslyckades\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Städar bort tillfällig satsfil %s\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr "öppna: %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr "skriv: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr "Felaktig filåtgärd: %s"
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "otillräckligt antal argument (%d) till funktionen â€%sâ€"
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "ej implementerat pÃ¥ denna plattform: funktionen â€%sâ€"
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "oavslutat funktionsanrop â€%sâ€: â€%c†saknas"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Tomt funktionsnamn\n"
-#: function.c:2548
+#: function.c:2593
#, fuzzy, c-format
-msgid "Invalid function name: %s\n"
-msgstr "Felaktig filåtgärd: %s"
+msgid "Invalid function name: %s"
+msgstr "Felaktigt funktionsnamn: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
msgstr "Funktionsnamnet är för långt: %s\n"
-#: function.c:2552
-#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "Felaktigt minsta antal argument (%d) till funktionen â€%sâ€\n"
-#: function.c:2555
-#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "Felaktigt största antal argument (%d) till funktionen â€%sâ€\n"
#: getopt.c:659
@@ -519,12 +520,12 @@ msgstr "%s: flaggan â€-W %s†är tvetydig\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flaggan â€-W %s†tar inget argument\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: Expanderar â€%sâ€\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: Evaluerar â€%sâ€\n"
@@ -607,96 +608,96 @@ msgstr "Letar efter en regel med mellanfilen â€%sâ€.\n"
msgid "Cannot create a temporary file\n"
msgstr "Kan inte skapa en temporärfil\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (minnesdump)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (ignoreras)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr "<inbyggd>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "%s: receptet för mÃ¥let â€%s†misslyckades"
-#: job.c:510
-#, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "%s[%s] Fel 0x%x%s"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, c-format
msgid "%s[%s] Error %d%s"
msgstr "%s[%s] Fel %d%s"
-#: job.c:517
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Fel 0x%x%s"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s[%s]: %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Inväntar oavslutade jobb..."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Levande barnprocess %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (fjärr)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Inhöstar misslyckad barnprocess: %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Inhöstar lyckad barnprocess: %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Städar bort tillfällig satsfil %s\n"
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Bortstädning av tillfällig satsfil %s misslyckades (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Tar bort barnprocessen %p PID %s%s från kedjan.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr "släpp jobbserversemafor: (Fel %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Frigjorde symbol för barnprocessen %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "skriver till jobbserver"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() misslyckades med processtart (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -705,97 +706,97 @@ msgstr ""
"\n"
"Räknade till %d argument vid misslyckad start\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "För upp barnprocessen %p (%s) PID %s%s på kedjan.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "väntan på semafor eller barnprocess: (Fel %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Erhöll symbol för barnprocessen %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "läser från jobbledning"
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr "%s: mÃ¥let â€%s†finns inte"
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: uppdatera mÃ¥let â€%s†pÃ¥ grund av: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "kan inte upprätthålla lastbegränsningar i detta operativsystem"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "kan inte upprätthålla lastbegränsning: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "inga fler filhandtag: kunde inte duplicera standard in\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "inga fler filhandtag: kunde inte duplicera standard ut\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr "inga fler filhandtag: kunde inte duplicera standard fel\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Kunde inte återställa standard in\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Kunde inte återställa standard ut\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr "Kunde inte återställa standard fel\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make inhöstade barn-pid %s, inväntar fortfarande pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Kommandot hittades inte"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Skalprogrammet hittades inte"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: miljöutrymmet kanske är slut"
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL ändrades (var â€%sâ€, är nu â€%sâ€)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Skapar tillfällig satsfil %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
@@ -803,7 +804,7 @@ msgstr ""
"Satsfilinnehåll:\n"
"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -812,7 +813,7 @@ msgstr ""
"Satsfilinnehåll:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (rad %d) Felaktigt skalsammanhang (!unixy && !batch_mode_shell)\n"
@@ -821,48 +822,48 @@ msgstr "%s (rad %d) Felaktigt skalsammanhang (!unixy && !batch_mode_shell)\n"
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr "-O[TYP] (--output-sync[=TYP]) är inte konfigurerat för detta bygge."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Misslyckades att öppna den globala symboltabellen: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr "Laddat objekt %s är inte deklarerat att vara GPL-kompatibelt"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr "Misslyckades att ladda symbolen %s från %s: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "Tomt symbolnamn för laddning: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "Laddar symbol %s från %s\n"
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr "Operationen â€load†stödjs inte pÃ¥ denna plattform."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Flaggor:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignoreras av kompatibilitetsskäl.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Bygg ovillkorligen alla mål.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -870,19 +871,19 @@ msgstr ""
" -C KATALOG, --directory=KATALOG\n"
" Byt katalog till KATALOG innan något görs.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
" -d Skriv ut massor av felsökningsinformation.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAGGOR] Skriv ut olika sorters "
"felsökningsinformation.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -890,12 +891,12 @@ msgstr ""
" -e, --environment-overrides\n"
" Miljövariabler åsidosätter makefiler.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr " --eval=STRÄNG Evaluera STRÄNG som en makefile-sats.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -903,15 +904,15 @@ msgstr ""
" -f FIL, --file=FIL, --makefile=FIL\n"
" Använd FIL som makefil.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Skriv ut detta meddelande och avsluta.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Ignorera fel från recept.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -919,7 +920,7 @@ msgstr ""
" -I KATALOG, --include-dir=KATALOG\n"
" Genomsök KATALOG efter inkluderade makefiler.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -927,13 +928,13 @@ msgstr ""
" -j [N], --jobs[=N] Tillåt N samtidiga jobb; oändligt många om "
"inget antal anges.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Fortsätt även om vissa mål inte kan skapas.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -943,7 +944,7 @@ msgstr ""
" Påbörja fler jobb endast om lasten understiger "
"N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -951,7 +952,7 @@ msgstr ""
" -L, --check-symlink-times Använd den senaste av mtiderna för symboliska "
"länkar eller mål.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -960,7 +961,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" Kör inte något recept, skriv bara ut dem.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -970,7 +971,7 @@ msgstr ""
" Betrakta FIL som mycket gammal och återskapa "
"den inte.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
@@ -979,11 +980,11 @@ msgstr ""
" Synkronisera utmatningen av parallella jobb\n"
" enligt TYP.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Skriv ut makes interna databas.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -991,22 +992,22 @@ msgstr ""
" -q, --question Kör inga recept; slutstatus visar om det är "
"aktuellt.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Inaktivera de inbyggda implicita reglerna.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Inaktivera de inbyggda "
"variabelinställningarna.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ã…terge inte recept.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1014,26 +1015,26 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Stäng av -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Nydatera mål i stället för att återskapa dem.\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr " --trace Skriv spårningsinformation.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
" -v, --version Skriv ut makes versionsnummer och avsluta.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Skriv ut aktuell katalog.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1041,7 +1042,7 @@ msgstr ""
" --no-print-directory Stäng av -w, även om det är implicit "
"påslaget.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1049,7 +1050,7 @@ msgstr ""
" -W FIL, --what-if=FIL, --new-file=FIL, --assume-new=FIL\n"
" Betrakta FIL som hur ny som helst.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1057,30 +1058,26 @@ msgstr ""
" --warn-undefined-variables Varna vid användning av en odefinierad "
"variabel.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "en tom sträng är ett ogiltigt filnamn"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr "okänd felsökningsnivÃ¥ â€%s†angiven"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "okänd typ av utmatningssynkronisering â€%sâ€"
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr "internt fel: flera flaggor â€--sync-mutexâ€"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Avbrott/Undantag fångat (kod = 0x%lx, adress = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1095,182 +1092,178 @@ msgstr ""
"Undantagsflaggor = %lx\n"
"Undantagsadress = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Åtkomstförseelse: skrivinstruktion på adressen 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Åtkomstförseelse: läsinstruktion på adressen 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() ger default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "sökvägen för find_and_set_shell() gav default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s suspenderas i 30 sekunder..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "färdig med sleep(30). Fortsätter.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "internt fel: flera \"--jobserver-fds\"-flaggor"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr "Internt fel: kan inte öppna jobbserversemaforen â€%sâ€: (Fel %ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Jobbserverklient (semafor %s)\n"
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "internt fel: ogiltig sträng â€--jobserver-fds†â€%sâ€"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Jobbserverklient (fb %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "varning: -jN framtvingat i del-make: inaktiverar jobbserverläge."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "duplicerar jobbserver"
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
"varning: jobbserver otillgänglig: använder -j1. Lägg till â€+†i "
"föräldraregeln."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefil från standard in angavs dubbelt."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (temporärfil)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (temporärfil)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Parallella jobb (-j) stöds inte på denna plattform."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Återställer till enkeljobbsläge (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Jobbserfacj begränsat till %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr "skapar jobbserversemafor: (Fel %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "skapar jobbledning"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "iordningställer ledning till jobbserver"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Symboliska länkar stöds inte: inaktiverar -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Uppdaterar makefiler...\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Makefilen â€%s†kan loopa; Ã¥terskapas inte.\n"
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Misslyckades med att Ã¥terskapa makefilen â€%sâ€."
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Den inkluderade makefilen â€%s†fanns inte."
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr "Makefilen â€%s†fanns inte"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Kunde inte återgå till ursprungskatalogen."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Utför på nytt[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "avlänka (temporärfil): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL innehåller fler än ett mål"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Inga mål angavs och ingen makefil hittades"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Inga mål"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Uppdaterar slutmål...\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"varning: Klockförskjutning upptäckt. Bygget kan ha blivit ofullständigt."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Användning: %s [flaggor] [mål] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1279,7 +1272,7 @@ msgstr ""
"\n"
"Detta program byggdes för %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1288,34 +1281,34 @@ msgstr ""
"\n"
"Detta program byggdes för %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Anmäl fel till <bug-make@gnu.org>.\n"
"Skicka synpunkter på översättningen till <sv@li.org>.\n"
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "flaggan â€%s%s†kräver ett strängargument som inte är tomt"
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "flaggan â€-%c†kräver ett positivt heltal som argument"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sByggt för %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sByggt för %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1328,7 +1321,7 @@ msgstr ""
"%sDetta är fri programvara. du får lov att ändra och vidaredistribuera den.\n"
"%sDet finns INGEN GARANTI, så långt lagen tillåter.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1337,7 +1330,7 @@ msgstr ""
"\n"
"# Make-databas, utskriven %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1351,10 +1344,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Okänt fel %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "virtuellt minne uttömt"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1376,65 +1365,61 @@ msgstr "Make-Ã¥tkomst"
msgid "Child access"
msgstr "Barnåtkomst"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Går till en okänd katalog\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Lämnar en okänd katalog\n"
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: GÃ¥r till katalogen â€%sâ€\n"
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Lämnar katalogen â€%sâ€\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Går till en okänd katalog\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Lämnar en okänd katalog\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: GÃ¥r till katalogen â€%sâ€\n"
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Lämnar katalogen â€%sâ€\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "skrivfel: %s"
-#: output.c:517
-msgid "write error"
-msgstr "skrivfel"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stannar.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1443,352 +1428,358 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Läser makefiler...\n"
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
msgstr "Läser makefilen â€%sâ€"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (inget standardmål)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (sökväg)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (oviktigt)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (ingen ~-expansion)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr "Hoppar över UTF-8-BOM i makefilen â€%sâ€\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr "Hoppar över UTF-8-BOM i makefile-buffert\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "ogiltig syntax i villkorssats"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr "%s: misslyckades att ladda"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "recept inleds före första målet"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "regel saknas före recept"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "separator saknas%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (var avsikten TAB i stället för 8 mellanslag?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "separator saknas%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "målmönster saknas"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "flera målmönster"
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr "mÃ¥lmönstret innehÃ¥ller inget â€%%â€"
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
msgstr "â€endif†saknas"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tomt variabelnamn"
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr "överflödig text efter direktivet â€defineâ€"
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr "â€endef†saknas, oavslutad â€defineâ€"
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr "överflödig text efter direktivet â€endefâ€"
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr "överflödig text efter direktivet â€%sâ€"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr "överflödigt â€%sâ€"
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "endast ett â€else†per villkor"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Felformad målberoende variabeldefinition"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "beroenden kan inte definieras i recept"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "blandade implicita regler och statiska mönsterregler"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "blandade implicita regler och normala regler"
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "mÃ¥let â€%s†motsvarar inte mÃ¥lmönstret"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "mÃ¥lfilen â€%s†har bÃ¥de poster med : och ::"
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "mÃ¥let â€%s†anges flera gÃ¥nger i samma regel"
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "varning: Ã¥sidosätter recept för mÃ¥let â€%sâ€"
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "varning: ignorerar gammalt recept för mÃ¥let â€%sâ€"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "blandade implicita regler och normala regler"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "varning: NUL-tecken upptäckt, bortser från resten av raden"
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "Inget behöver göras för â€%sâ€."
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr "â€%s†är aktuell."
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Beskär filen â€%sâ€.\n"
-#: remake.c:377
-#, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sIngen regel för att skapa mÃ¥let â€%sâ€%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sIngen regel för att skapa mÃ¥let â€%sâ€, som behövs av â€%sâ€%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sIngen regel för att skapa mÃ¥let â€%sâ€%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Överväger mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Misslyckades nyligen med att uppdatera filen â€%sâ€.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Filen â€%s†har redan övervägts.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Uppdaterar fortfarande filen â€%sâ€.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Slutförde uppdaterandet av filen â€%sâ€.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Filen â€%s†finns inte.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
"*** Varning: .LOW_RESOLUTION_TIME-filen â€%s†har en högupplöst tidsstämpel"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Hittade en implicit regel för â€%sâ€.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Hittade ingen implicit regel för â€%sâ€.\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Använder standardrecept för â€%sâ€.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Det cirkulära beroendet %s <- %s släpptes."
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Avslutade förutsättningarna för mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Förutsättningarna för â€%s†skapas.\n"
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Ger upp med mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "MÃ¥let â€%s†återskapades inte pÃ¥ grund av fel."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Förutsättningen â€%s†för mÃ¥let â€%s†är endast ordning.\n"
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Förutsättningen â€%s†för mÃ¥let â€%s†finns inte.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Förutsättningen â€%s†är nyare än mÃ¥let â€%sâ€.\n"
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Förutsättningen â€%s†är äldre än mÃ¥let â€%sâ€.\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "MÃ¥let â€%s†är dubbelkolon och har inga förutsättningar.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Inget recept för â€%s†och inga förutsättningar har förändrats.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Skapar â€%s†pÃ¥ grund av flaggan always-make.\n"
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr "Inget behov att Ã¥terskapa mÃ¥let â€%sâ€"
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr "; använder VPATH-namnet â€%sâ€"
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "MÃ¥ste Ã¥terskapa mÃ¥let â€%sâ€.\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Bortser frÃ¥n VPATH-namnet â€%sâ€.\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Receptet för â€%s†körs.\n"
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Misslyckades med att Ã¥terskapa mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Ã…terskapade mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "MÃ¥lfilen â€%s†behöver Ã¥terskapas med -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Använder standardkommandon för â€%sâ€.\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Varning: Filen â€%s†har ett ändringstid i framtiden"
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Varning: Filen â€%s†har en ändringstid %s s i framtiden"
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS-elementet â€%s†är inte ett mönster"
@@ -1798,7 +1789,7 @@ msgstr ".LIBPATTERNS-elementet â€%s†är inte ett mönster"
msgid "Customs won't export: %s\n"
msgstr "Customs kommer inte att exportera %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1806,7 +1797,7 @@ msgstr ""
"\n"
"# Implicita regler"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1814,7 +1805,7 @@ msgstr ""
"\n"
"# Inga implicita regler."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1823,11 +1814,11 @@ msgstr ""
"\n"
"# %u implicita regler, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " slutregler."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "FEL: num_pattern_rules är felaktigt! %u != %u"
@@ -2045,44 +2036,44 @@ msgstr ""
"# statistik för hashtabell:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "automatisk"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "normal"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "miljö"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefil"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "miljö enligt -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "kommandorad"
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr "â€overrideâ€-direktiv"
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (frÃ¥n â€%sâ€, rad %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# statistik för variabelmängd-hashtabell:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2090,7 +2081,7 @@ msgstr ""
"\n"
"# Variabler\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2098,7 +2089,7 @@ msgstr ""
"\n"
"# Mönsterspecifika variabelvärden"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2106,7 +2097,7 @@ msgstr ""
"\n"
"# Inga mönsterspecifika variabelvärden."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2125,77 +2116,82 @@ msgstr "varning: odefinierad variabel â€%.*sâ€"
msgid "sys$search() failed with %d\n"
msgstr "sys$search() misslyckades med %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Varning: Tom omdirigering\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr "internt fel: â€%s†command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-varning, CTRL-Y-hantering kanske behöver återställas från DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "INBYGGT [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "INBYGGT CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "INBYGGT RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "INBYGGT CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Okänt inbyggt kommando \"%s\"\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Fel, tomt kommando\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Inkanal omdirigerad till %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Felkanal omdirigerad till %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Lägg till utdata till %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Utkanal omdirigerad till %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Lägg till %.*s och rensa upp\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Utför %s i stället\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Fel vid avknoppning, %d\n"
@@ -2238,3 +2234,18 @@ msgstr ""
"\n"
"# Allmän sökväg (enligt â€VPATHâ€-variabeln):\n"
"# "
+
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "internt fel: flera flaggor â€--sync-mutexâ€"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "internt fel: flera \"--jobserver-fds\"-flaggor"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtuellt minne uttömt"
+
+#~ msgid "write error"
+#~ msgstr "skrivfel"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "INBYGGT RM %s\n"
diff --git a/po/tr.gmo b/po/tr.gmo
index 1646492..6a3ede8 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 6f7f32a..79aa807 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.81\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2006-04-23 08:45+0300\n"
"Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -46,50 +46,50 @@ msgstr "Dokunulup geçildi: Üye `%s', `%s' içinde yok"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "Dokunulup geçildi: `%s' deki ar_member_touch'dan dönen kod hatalı"
-#: arscan.c:67
+#: arscan.c:124
#, fuzzy, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_module modül bilgisini çıkarırken başarısız oldu, durum = %d"
-#: arscan.c:173
+#: arscan.c:230
#, fuzzy, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control durum =%d ile başarısız oldu"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "`%s' kaynakçası `%s' üyesine bakmak için açılamadı"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Ãœye `%s'%s: %ld bayt %ld 'de (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr "(isim kırpılmış olmalı)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Tarih %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " Kull-kim = %d, Grup-kim = %d, kip = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Bırakıldı.\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Arşiv üyesi `%s' sahte olabilir; silinmedi"
@@ -99,26 +99,26 @@ msgstr "*** [%s] Arşiv üyesi `%s' sahte olabilir; silinmedi"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Arşiv üyesi `%s' sahte olabilir; silinmedi"
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] `%s' dosyası siliniyor"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** `%s' dosyası siliniyor"
-#: commands.c:684
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# çalıştırma komutları"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (paket içinde):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (`%s'den, satır %lu):\n"
@@ -200,159 +200,159 @@ msgstr "Çevrimsel değişken `%s' tekrar kendine bağıntılı (sonuçta)"
msgid "unterminated variable reference"
msgstr "sonlandırılmamış değişken bağıntısı"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "`%s' dosyası için komutlar %s:%lu de belirtildi,"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "`%s' dosyası için komutlar örtük kural aramasında bulundu,"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "fakat `%s' şimdi `%s' dosyası ile aynı dosya olarak düşünülmeli."
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "`%s' dosyası için komutlar `%s' lehine yoksayılmış olacak."
-#: file.c:300
+#: file.c:303
#, fuzzy, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "tek-sütun `%s', çift-sütun `%s' olarak yeniden adlandırılamaz"
-#: file.c:305
+#: file.c:309
#, fuzzy, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "çift-sütun `%s', tek-sütun `%s' olarak yeniden adlandırılamaz"
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Aracı dosya `%s' siliniyor"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Aracı dosyalar siliniyor...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Åžu an"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Tarih damgası kapsamdışı; yerine %s kullanılıyor"
-#: file.c:809
-msgid "Current time"
-msgstr "Åžu an"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Bir hedef deÄŸil:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Kıymetli dosya (.PRECIOUS önceden gerekliliği)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Sahte hedef (.PHONY önceden gerekliliği)."
-#: file.c:958
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# Komut-satırı hedefi."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Bir öntanımlı,MAKEFILES veya -include/sinclude makefile."
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# Örtük kural yok."
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Örtük kural araştırması yapılmıştı."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Örtük kural araştırması yapılmamıştı."
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Örtük/değişmeyen kalıp kökü: `%s'\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr ""
"# Orta seviyede önceden gerekli bir dosya (öncelikle gerekli dosyalara "
"aracılık eden dosya)"
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# OluÅŸtursa da:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Değişiklik zamanı hiç kontrol edilmedi."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Dosya yok."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Dosya çok eski."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Son deÄŸiÅŸiklik tarihi %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Dosya güncelleştirilmişti."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Dosya güncelleştirilmemişti."
-#: file.c:995
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Komutlar şu an işlemlerini sürdürüyor (BU BİR YAZILIM HATASI)."
-#: file.c:998
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
"# Bağımlılıkların komutları işlemlerini sürdürüyor (BU BİR YAZILIM HATASI)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Tamamen güncellendi."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Güncellenmiş olması gerekir (-q verildi)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Güncellenmiş olamadı."
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# `command_state' üyesinde geçersiz değer!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -360,7 +360,7 @@ msgstr ""
"\n"
"# Dosyalar"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -370,108 +370,108 @@ msgstr ""
"# dosyaların hash tablosu durumları:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "`word' işlevinde sayısal olmayan ilk argüman"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "`word' işlevinin ilk argümanı sıfırdan büyük olmalı"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "`wordlist' işlevinde sayısal olmayan ilk argüman"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "`wordlist' işlevinde sayısal olmayan ikinci argüman"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(In) başarısız (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(Err) başarısız (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() başarısız (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): process_init_fd() başarısız\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Geçici komut-listesi (batch) dosyası %s temizleniyor\n"
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "yazma hatası: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "argüman sayısı (%d) `%s' işlevinde yetersiz"
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "bu platformda gerçekleştirilmemiş: işlev `%s'"
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "`%s' işlemine çağrı sonlandırılmamış: `%c' kayıp"
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "argüman sayısı (%d) `%s' işlevinde yetersiz"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "argüman sayısı (%d) `%s' işlevinde yetersiz"
#: getopt.c:659
@@ -529,12 +529,12 @@ msgstr "%s: `-W %s' seçeneği belirsiz\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -617,98 +617,98 @@ msgstr "Aracı dosya `%s' ile bir kural arıyor.\n"
msgid "Cannot create a temporary file\n"
msgstr "Bir geçici dosya oluşturulamıyor\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (bellek kopyası - core dosyası - diske yazıldı)"
-#: job.c:487
+#: job.c:488
#, fuzzy
msgid " (ignored)"
msgstr "[%s] Hata %d (yoksayıldı)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (paket içinde):"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] Hata 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] Hata %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Hata 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Bitmemiş işler için bekliyor...."
-#: job.c:639
+#: job.c:651
#, fuzzy, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Ast dosya işini sürdürüyor: 0x%08lx (%s) PID %ld %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (karşıdan)"
-#: job.c:829
+#: job.c:841
#, fuzzy, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Kaybeden ast dosya sağlanıyor: 0x%08lx PID %ld %s\n"
-#: job.c:830
+#: job.c:842
#, fuzzy, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Kazanan ast dosya sağlanıyor: 0x%08lx PID %ld %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Geçici komut-listesi dosyası %s temizleniyor\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Geçici komut-listesi dosyası %s temizleniyor\n"
-#: job.c:949
+#: job.c:961
#, fuzzy, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Ast 0x%08lx PID %ld%s zincirden kaldırılıyor\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, fuzzy, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Ast 0x%08lx (%s) için simge (token) kullanıma sunuldu.\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "iş-sunucusu yazıyor"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "Süreci başlatacak process_easy() başarısız oldu (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -717,114 +717,114 @@ msgstr ""
"\n"
"Sayılan %d argüman ile başarısız oldu\n"
-#: job.c:1685
+#: job.c:1735
#, fuzzy, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Ast 0x%08lx (%s) PID %ld%s zincire konuluyor.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, fuzzy, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Ast 0x%08lx (%s) için simge (token) sağlandı.\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "görev listesi okunuyor"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "Dokunulup geçildi: Arşiv `%s' yok"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr ""
"%sHedef `%s' i derlemek için hiçbir kural yok, `%s' tarafından gereksinim "
"duyuluyor%s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "işletim sisteminde yük sınırlarına ulaşılamadı "
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "ulaşılamayan yük sınırı: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "başka dosya tutucu yok: standart girdi kopyalanamadı\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "başka dosya tutucu yok: standart çıktı kopyalanamadı\n"
-#: job.c:2223
+#: job.c:2278
#, fuzzy
msgid "no more file handles: could not duplicate stderr\n"
msgstr "başka dosya tutucu yok: standart girdi kopyalanamadı\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Standart girdi eski haline getirilemedi\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Standart çıktı eski haline getirilemedi\n"
-#: job.c:2254
+#: job.c:2309
#, fuzzy
msgid "Could not restore stderr\n"
msgstr "Standart girdi eski haline getirilemedi\n"
-#: job.c:2365
+#: job.c:2420
#, fuzzy, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make %ld pid'li ast süreci kaldırdı ama hala pid %ld için bekliyor\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Komut bulunamadı"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Kabuk uygulaması bulunamadı"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: ortam alanı tükenmiş olabilir"
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL deÄŸiÅŸti (`%s' idi, ÅŸimdi `%s')\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "%s geçici komut-liste dosyasını oluşturuyor\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (satır %d) kabuk bağlamı hatalı (!unixy && !batch_mode_shell)\n"
@@ -833,78 +833,78 @@ msgstr "%s (satır %d) kabuk bağlamı hatalı (!unixy && !batch_mode_shell)\n"
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "Bu platformda paralel iÅŸler (-j) desteklenmiyor."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Seçenekler:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Uyumluluk için yoksayıldı.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Tüm hedefler koşulsuz olarak oluşturulur.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr " -C DİZİN, --directory=DIZIN Birşey yapmadan önce DİZİNe geçilir.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -b, -m Bir sürü hata ayıklama bilgisi basar.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=SEÇENEKLER] Çeşitli türde hata ayıklama bilgileri basar.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides Ortam değişkenleri makefile'ları değiştirir.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -912,16 +912,16 @@ msgstr ""
" -f DOSYA, --file=DOSYA, --makefile=DOSYA\n"
" DOSYAyı bir makefile olarak okur.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Bu iletiyi basar ve çıkar.\n"
-#: main.c:334
+#: main.c:335
#, fuzzy
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Komutların ürettiği hataları yoksayar.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -929,7 +929,7 @@ msgstr ""
" -I DÄ°ZÄ°N, --include-dir=DÄ°ZÄ°N\n"
" Eklenecek makefile'ları DİZİNde arar.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -937,13 +937,13 @@ msgstr ""
" -j [N], --jobs[=N] Bir defada N işe izin verir; argumansız iş\n"
" sayısı sınırsızdır.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Bazı hedefler yapılmadığında devam eder.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -953,7 +953,7 @@ msgstr ""
" Yük N'den az olmadıkça çoklu işler "
"başlatılmaz.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -961,7 +961,7 @@ msgstr ""
" -L, --check-symlink-times sembolik bağlarla hedef arasında en son mtime\n"
" kullanılır\n"
-#: main.c:348
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -971,7 +971,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" Gerçekte komutlar çalıştırılmaz, gösterilir.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -981,17 +981,17 @@ msgstr ""
" DOSYAnın çok eski olduğu varsayılır ve\n"
" yeniden işlem yapılmaz.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base make'in içsel veritabanını basar.\n"
-#: main.c:359
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
@@ -999,49 +999,49 @@ msgid ""
msgstr ""
" -q, --question Komut çalıştırmaz; güncelse çıkışta belirtir\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
" -r, --no-builtin-rules Oluşumiçi örtük kuralları etkisizleştirir.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Oluşumiçi değişken ayarlarını etkisizleştirir\n"
-#: main.c:365
+#: main.c:366
#, fuzzy
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Komutlar işlenirken gösterilmez.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop Bazı hedefler yapılmadığında devam etmez.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Yeniden derlemek yerine hedeflere bakıp "
"geçer.\n"
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr " -b, -m Bir sürü hata ayıklama bilgisi basar.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version make sürüm numarasını basar ve çıkar.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Kullanılan dizini basar.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1049,7 +1049,7 @@ msgstr ""
" --no-print-directory Dolaylı olarak açılmış olsa bile -w 'yi "
"kapatır\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1057,7 +1057,7 @@ msgstr ""
" -W DOSYA, --what-if=DOSYA, --new-file=DOSYA, --assume-new=DOSYA\n"
" DOSYA sonsuz yeni varsayılır.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1065,31 +1065,26 @@ msgstr ""
" --warn-undefined-variables Atanmamış bir değişkene bağıntı yapıldığında\n"
" uyarır.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "dosyaismi olarak boş dizge geçersiz"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "Hata ayıklama düzeyi özelliği `%s' bilinmiyor"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "içsel hata: çok sayıda --jobserver-fds seçeneği"
-
-#: main.c:848
+#: main.c:828
#, fuzzy, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Kesinti/Olağandışı durum saptandı (kod = 0x%lx, adres = 0x%lx)\n"
-#: main.c:855
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -1104,71 +1099,67 @@ msgstr ""
"OlağandışılıkBayrakları = %lx\n"
"OlağandışılıkAdresi = %lx\n"
-#: main.c:863
+#: main.c:843
#, fuzzy, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "EriÅŸim uyumsuzluÄŸu: %lx adresinde yazma iÅŸlemi\n"
-#: main.c:864
+#: main.c:844
#, fuzzy, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "EriÅŸim uyumsuzluÄŸu: %lx adresinde okuma iÅŸlemi\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, fuzzy, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell default_shell = %s olarak belirliyor\n"
-#: main.c:1008
+#: main.c:988
#, fuzzy, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
"find_and_set_shell yol aramasını default_shell = %s olarak belirliyor\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s 30 saniyeliğine askıya alınıyor..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) bitti. Devam ediliyor.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "içsel hata: çok sayıda --jobserver-fds seçeneği"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "içsel hata: --jobserver-fds dizgesi `%s' geçersiz"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "uyarı: alt derlemede -jN zorlandı: iş sunucusu kipi kapatılıyor."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "çift iş sunucusu"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
@@ -1176,111 +1167,111 @@ msgstr ""
"uyarı: iş sunucusu kullanımdışı: -j1 kullanılıyor. Üst make kuralına `+' "
"ekle."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile standart girdiden iki kez belirtildi."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (geçici dosya)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (geçici dosya)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Bu platformda paralel iÅŸler (-j) desteklenmiyor."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Tek iş kipi (-j1) için make'i başlatma konumuna alıyor"
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "işleri yaratıyor"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "işleri hazırlıyor"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Sembolik baÄŸlar desteklenmiyor: -L iptal ediliyor"
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "makefile'ları güncelliyor...\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "`%s' make dosyası çevrime girdi; yeniden derlenemez.\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "`%s' make dosyası yeniden derlenemiyor."
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "İçerilen make dosyası `%s' bulunamadı."
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "`%s' make dosyası bulunamadı"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Geriye, özgün dizine geçilemiyor."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Yeniden çalıştırılıyor[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (geçici dosya): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL bir hedeften fazlasını içeriyor"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Hedefler belirtilmediğinden make dosyası yok"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Hedef yok"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Amaçlanan hedefler güncelleniyor...\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "uyarı: Clock skew saptandı. Derleme tamamlanamayabilir."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Kullanım: %s [seçenekler] [hedef] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1289,7 +1280,7 @@ msgstr ""
"\n"
"Bu program %s için kurgulanmış\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1298,38 +1289,38 @@ msgstr ""
"\n"
"Bu program %s için kurgulanmış (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Yazılım hatalarını <bug-make@gnu.org> adresine,\n"
"çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "`-%c' seçeneği bir boş olmayan dizge argüman gerektirir"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "`-%c' seçeneği bir pozitif tümleyici bağımsız değişkenle kullanılır"
-#: main.c:3253
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%sBu program %s için derlenmiş\n"
-#: main.c:3255
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%sBu program %s için derlenmiş (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1338,7 +1329,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1347,7 +1338,7 @@ msgstr ""
"\n"
"# Make veri tabanı, %s üzerine basıldı"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1361,10 +1352,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Bilinmeyen hata %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "sanal bellek tükendi"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1386,65 +1373,61 @@ msgstr "Make eriÅŸimi"
msgid "Child access"
msgstr "Asta eriÅŸim"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: bilinmeyen bir dizine giriliyor\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: bilinmeyen dizinden çıkılıyor\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: `%s' dizine giriliyor\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: `%s' dizininden çıkılıyor\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Bilinmeyen bir dizine giriliyor\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Bilinmeyen dizinden çıkılıyor\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]:`%s' dizinine giriliyor\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: `%s' dizininden çıkılıyor\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "yazma hatası: %s"
-#: output.c:517
-msgid "write error"
-msgstr "yazma hatası"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Durdu.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1453,225 +1436,231 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Makefile'lar okunuyor...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "`%s' make dosyası okunuyor"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (öntanımlı amaç yok)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (arama yolu)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (umurunda deÄŸil)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr "( ~ uzantısı yok)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "şartlı ifade de yazılış hatası"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "komutlar ilk hedeften önce başlıyor"
-#: read.c:1036
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "komutlardan önceki kural kayıp"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "kayıp ayraç%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr "(8 boşluğu TAB'mı zannettiniz?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "kayıp ayraç%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "hedef kalıp kayıp"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "çok sayıda hedef kalıp"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "hedef kalıp `%%' içermiyor"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "`endif' kayıp"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "boÅŸ deÄŸiÅŸken ismi"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "`endef' yönergesinden sonraki metin yersiz"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "`endef' kayıp, `define' sonlandırılmamış"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "`endef' yönergesinden sonraki metin yersiz"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "`%s' yönergesinden sonraki metin yersiz"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "`%s' yersiz"
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "her şartlı ifade de sadece bir `else'"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Hedefe özgü değişken tanımı bozuk"
-#: read.c:1951
+#: read.c:1957
#, fuzzy
msgid "prerequisites cannot be defined in recipes"
msgstr "öngereksinimler komut betiklerinde tanımlanamaz"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "örtük ve durağan kalıp kuralları karışmış"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "örtük ve normal kurallar karışmış"
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "hedef `%s' hedef kalıpla eşleşmiyor"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "hedef dosya `%s'hem : hem de :: girdilerine sahip"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "hedef `%s' aynı kuralda birden fazla belirtilmiş."
-#: read.c:2114
+#: read.c:2122
#, fuzzy, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "uyarı: hedef `%s' için komutlar geçersiz kılınıyor"
-#: read.c:2117
+#: read.c:2125
#, fuzzy, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "uyarı: hedef `%s' için eski komutlar yoksayılıyor"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "örtük ve normal kurallar karışmış"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "uyarı: NUL karakteri görüldü; satırın geri kalanı yoksayılıyor"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "`%s' için hiçbir şey yapılmadı."
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "`%s' güncel"
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "Budanmış dosya `%s'.\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sHedef `%s' i derlemek için hiçbir kural yok%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
"%sHedef `%s' i derlemek için hiçbir kural yok, `%s' tarafından gereksinim "
"duyuluyor%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sHedef `%s' i derlemek için hiçbir kural yok%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "hedef dosya `%s' hesaba katılıyor.\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "En son `%s'dosyasının güncellenmesi denendi ve başarısız oldu.\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "`%s' dosyası zaten hesaba katıldı.\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "`%s' dosyası hala güncelleniyor.\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "`%s' dosyasının güncellenmesi tamamlandı.\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "`%s' dosyası yok.\n"
-#: remake.c:481
+#: remake.c:495
#, fuzzy, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1679,137 +1668,137 @@ msgstr ""
"*** Uyarı: .LOW_RESOLUTION_TIME dosyası `%s' yüksek çözünürlüklü bir zaman "
"damgası içeriyor"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "`%s' için bir örtük kural bulundu.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "`%s' için bir örtük kural yok.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "`%s' için öntanımlı komutlar kullanılıyor.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Çevrimsel %s <- %s bağımlılığı iptal edildi."
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "`%s' hedef dosyasının önceden gereklilikleri tamamlandı.\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "`%s' için önceden gereklilikler derlenmeye devam ediyor.\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "`%s' hedef dosyasında umut kesiliyor.\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Hedef `%s' hatalardan dolayı yeniden derlenemez."
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Önceden gerekli `%s' hedef `%s' için şart.\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Hedef `%s' in önceden gereklisi `%s' mevcut değil.\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Önceden gerekli `%s' hedef `%s' den daha yeni.\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Önceden gerekli `%s' hedef `%s' den daha eski.\n"
-#: remake.c:762
+#: remake.c:783
#, fuzzy, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Hedef `%s' çift-sütunlu ve önceden gereklilikler gerektirmiyor.\n"
-#: remake.c:769
+#: remake.c:790
#, fuzzy, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "`%s' için komutlar ve önceden gerekliliklerde bir değişiklik yok.\n"
-#: remake.c:774
+#: remake.c:795
#, fuzzy, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Daima derle seçeneğinden dolayı `%s' derleniyor.\n"
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "Hedef `%s' nin yeniden derlenmesine gerek yok"
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr "; VPATH ismi `%s' kullanılıyor"
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "Hedef `%s' yeniden derlenmeli.\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " VPATH ismi `%s' yoksayılıyor.\n"
-#: remake.c:819
+#: remake.c:840
#, fuzzy, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "`%s' nin komutları çalışmaya devam ediyor.\n"
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Hedef dosya `%s' yeniden derlenirken hata oluÅŸtu.\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Hedef dosya `%s' yeniden derlenmesi başarıyla tamamlandı.\n"
-#: remake.c:832
+#: remake.c:853
#, fuzzy, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "`%s' hedef dosyasının -q ile yeniden derlenmesi gerekir.\n"
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "`%s' için öntanımlı komutlar kullanılıyor.\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Uyarı: `%s' dosyası gelecekteki bir değişiklik tarihini içeriyor"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Uyarı: `%s' dosyasının değişiklik tarihi %.2g s kadar gelecekte"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS elemanı `%s' bir kalıp değil"
@@ -1819,7 +1808,7 @@ msgstr ".LIBPATTERNS elemanı `%s' bir kalıp değil"
msgid "Customs won't export: %s\n"
msgstr "Özelleştirilmiş olanlar dışarı aktarılmayacak: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1827,7 +1816,7 @@ msgstr ""
"\n"
"# Örtük Kurallar"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1835,7 +1824,7 @@ msgstr ""
"\n"
"# Örtük kural yok."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1844,11 +1833,11 @@ msgstr ""
"\n"
"# %u örtük kural, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:531
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "YAZILIM HATASI: num_pattern_rules yanlış! %u != %u"
@@ -2058,45 +2047,45 @@ msgstr ""
"# dosyaların hash tablosu durumları:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "otomatik"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "öntanımlı"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "çevre"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "derleme dosyası"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "çevre -e altında"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "komut satırı"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "`override' yönergesi"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (`%s'den, satır %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# değişken kümesi hash tablosunun durumu:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2104,7 +2093,7 @@ msgstr ""
"\n"
"# DeÄŸiÅŸkenler\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2112,7 +2101,7 @@ msgstr ""
"\n"
"# Kalıba özgü Değişken Değerleri"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2120,7 +2109,7 @@ msgstr ""
"\n"
"# Örneğe duyarlı değişken değeri yok."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2139,79 +2128,84 @@ msgstr "uyarı: `%.*s' değişkeni atanmamış"
msgid "sys$search() failed with %d\n"
msgstr "sys$search %d ile başarısız\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Uyarı: Boş yönlendirme\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "içsel hata: `%s' command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-uyarı, DCL den yönetimi almak için CTRL-Y'yi yeniden "
"etkinleÅŸtirebilirsiniz.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "OLUŞUMİÇİ [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "OLUŞUMİÇİ CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "OLUŞUMİÇİ RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "OLUŞUMİÇİ CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Oluşumiçi komut '%s' bilinmiyor\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Hata, boÅŸ komut\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "%s den yönlendirilmiş girdi\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "%s e yönlendirilmiş hata\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "%s e yönlendirilmiş çıktı\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "%s e yönlendirilmiş çıktı\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "%s yerine çalıştırılıyor\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "doğum hatası, %d\n"
@@ -2267,6 +2261,9 @@ msgstr ""
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr "Süreci başlatmada process_easy() başarısız oldu (e=%ld)\n"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "içsel hata: çok sayıda --jobserver-fds seçeneği"
+
#~ msgid ""
#~ "%sThis is free software; see the source for copying conditions.\n"
#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
@@ -2278,6 +2275,12 @@ msgstr ""
#~ "KULLANIMINIZA\n"
#~ "%sUYGUNLUĞU için bile garanti verilmez.\n"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "sanal bellek tükendi"
+
+#~ msgid "write error"
+#~ msgstr "yazma hatası"
+
#~ msgid "extraneous `endef'"
#~ msgstr "yersiz `endef'"
@@ -2297,6 +2300,9 @@ msgstr ""
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr "-uyarı, CTRL-Y etraftaki alt-süreç(ler)i bıraktıracak.\n"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "OLUŞUMİÇİ RM %s\n"
+
#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "Dosyada hala yazılış hatası var: '\"'\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index 212214b..bfdbf8b 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 7bb31f0..4eefbe0 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,10 +6,10 @@
# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: make 3.99.93\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2013-10-02 07:20+0300\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-09 22:15+0300\n"
"Last-Translator: Volodymyr M. Lisivka <lvm@mystery.lviv.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
@@ -50,50 +50,50 @@ msgstr ""
"Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни: Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ ar_member_touch повернула\n"
"поганий код відповіді Ð´Ð»Ñ \"%s\""
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_module() не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ дані модулÑ, Ñтан = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "Помилка lbr$ini_control() з повідомленнÑм Ñтану = %d"
-#: arscan.c:185
-#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ бібліотеку «%s» Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ елемента «%s»"
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Елемент «%s»%s: %ld байтів з %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (ім'Ñ Ð¼Ð¾Ð¶Ðµ бути обрізано)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Дата %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, режим = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr "У рецепті забагато Ñ€Ñдків (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Зупинка.\n"
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Елемент архіву, «%s», можливо є фіктивним; не вилучено"
@@ -103,25 +103,25 @@ msgstr "*** [%s] Елемент архіву, «%s», можливо є фікт
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Елемент архіву, «%s», можливо є фіктивним; не вилучено"
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Вилучаємо файл \"%s\""
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Вилучаємо файл \"%s\""
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# ÑпоÑіб, Ñкий Ñлід заÑтоÑувати"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (вбудоване):"
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (з \"%s\", Ñ€Ñдок %lu):\n"
@@ -203,154 +203,154 @@ msgstr "РекурÑивна змінна \"%s\" поÑилаєтьÑÑ Ñама
msgid "unterminated variable reference"
msgstr "незавершена поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° змінну"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "СпоÑіб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» було задано %s:%lu,"
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
"СпоÑіб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» було знайдено за допомогою пошуку неÑвних правил,"
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "але \"%s\" Ñ– \"%s\" тепер вважаютьÑÑ Ð¾Ð´Ð½Ð¸Ð¼ Ñ– тим же ж файлом. "
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "СпоÑіб Ð´Ð»Ñ Â«%s» буде проігноровано на кориÑÑ‚ÑŒ ÑпоÑобу Ð´Ð»Ñ Â«%s»."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
"неможливо перейменувати \"%s\" з однією двокрапкою у \"%s\" з двома "
"двокрапками"
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
"неможливо перейменувати \"%s\" з двома двокрапками у \"%s\" з однією "
"двокрапкою"
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Вилучаємо проміжний файл «%s»"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "ВидалÑÑŽ проміжні файли...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "Поточний чаÑ"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: чаÑова позначка поза допуÑтимим діапазоном; замінюємо на %s"
-#: file.c:809
-msgid "Current time"
-msgstr "Поточний чаÑ"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ðе Ñ” метою:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# ВартіÑний файл (залежніÑÑ‚ÑŒ .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# ПÑевдоціль (залежніÑÑ‚ÑŒ .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Мета, що викликаєтьÑÑ Ð· командного Ñ€Ñдка."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Типово, MAKEFILES, або -include/sinclude makefile."
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr "# Вбудоване правило"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Пошук неÑвних правил виконано."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Пошук неÑвних правил не було виконано."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# ОÑнова неÑвного або Ñтатичного шаблону: \"%s\"\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Файл Ñ” проміжною залежніÑÑ‚ÑŽ."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Збирає також:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ð§Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ ніколи не перевірÑвÑÑ."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Файл не Ñ–Ñнує."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Файл дуже Ñтарий."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# ВоÑтаннє оновлено %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Файл був оновлений."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Файл не було оновлено."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# ВиконуєтьÑÑ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° (ЦЕ ПОМИЛКÐ)"
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Ці залежноÑÑ‚Ñ– вже оброблÑÑŽÑ‚ÑŒÑÑ (ЦЕ ПОМИЛКÐ)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# УÑпішно оновлено."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Повинно бути оновлено (вÑтановлений ключ -q)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Спроба Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð±ÐµÐ·ÑƒÑпішна."
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
msgstr "# Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð»ÐµÐ½Ð° \"command_state\"!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -358,7 +358,7 @@ msgstr ""
"\n"
"# Файли"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -368,103 +368,104 @@ msgstr ""
"# ÑтатиÑтика щодо таблиці хешів файлів:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr "%s: поле «%s» не кешовано: %s"
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "не чиÑловий перший аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"word\""
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr "першим аргументом функції «word» має бути чиÑло, більше за 0"
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "не чиÑловий перший аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"wordlist\""
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "не чиÑловий другий аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"wordlist\""
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe: помилка DuplicateHandle(In) (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe: помилка DuplicateHandle(Err) (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "Помилка CreatePipe() (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): помилка process_init_fd()\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Спорожнюємо тимчаÑовий пакетний файл %s\n"
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr "open: %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr "write: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr "Ðекоректна Ð´Ñ–Ñ Ð½Ð°Ð´ файлом: %s"
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "недоÑÑ‚Ð°Ñ‚Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ аргументів (%d) функції «%s»"
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "не реалізовано на цій платформі: Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Â«%s»"
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "незавершений виклик функції \"%s\"; пропущено \"%c\""
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "ÐŸÐ¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° функції\n"
-#: function.c:2548
+#: function.c:2593
#, fuzzy, c-format
-msgid "Invalid function name: %s\n"
-msgstr "Ðекоректна Ð´Ñ–Ñ Ð½Ð°Ð´ файлом: %s"
+msgid "Invalid function name: %s"
+msgstr "Ðекоректна назва функції: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
msgstr "Ðазва функції Ñ” задовгою: %s\n"
-#: function.c:2552
-#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "Ðекоректна мінімальна кількіÑÑ‚ÑŒ аргументів (%d) функції %s\n"
-#: function.c:2555
-#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "Ðекоректна макÑимальна кількіÑÑ‚ÑŒ аргументів (%d) функції %s\n"
#: getopt.c:659
@@ -522,12 +523,12 @@ msgstr "%s: параметр «-W %s» не є однозначним\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «-W %s» не передбачено\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: розгортаємо «%s»\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: обчиÑлюємо «%s»\n"
@@ -610,97 +611,97 @@ msgstr "Пошук правила з проміжним файлом \"%s\".\n"
msgid "Cannot create a temporary file\n"
msgstr "Ðе вдалоÑÑ Ñтворити тимчаÑовий файл\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (зроблений дамп пам'ÑÑ‚Ñ–)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (ігноруєтьÑÑ)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr "<вбудований>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "%s: Ñпроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s» зазнала невдачі"
-#: job.c:510
-#, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "%s[%s] Помилка 0x%x%s"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, c-format
msgid "%s[%s] Error %d%s"
msgstr "%s[%s] Помилка %d%s"
-#: job.c:517
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Помилка 0x%x%s"
+
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** ÐžÑ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ..."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Ðезавершений дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (віддалений)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Підбираємо невдалий дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Підбираємо вдалий дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Ð—Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñового командного файла %s\n"
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr ""
"Спроба Ð²Ð¸Ñ‚Ð¸ÐºÐ°Ð½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñового файла пакетної обробки %s зазнала невдачі (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Вилучаємо PID дочірнього процеÑу %p %s%s з ланцюжка.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr "ÑпуÑкаємо Ñемафор Ñервера завдань: (Помилка %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Звільнено Ñимвол Ð´Ð»Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾ процеÑу %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ Ñервера завдань"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() не вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити Ð¿Ñ€Ð¾Ñ†ÐµÑ (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -709,100 +710,100 @@ msgstr ""
"\n"
"Під Ñ‡Ð°Ñ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾Ð³Ð¾ запуÑку кількіÑÑ‚ÑŒ аргументів дорівнювала %d\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Додаємо дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p (%s) %s%s до ланцюжка.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "Ð¾Ñ‡Ñ–ÐºÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñемафора або дочірнього процеÑу: (помилка %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Отримано Ñимвол Ð´Ð»Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾ процеÑу %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "читаємо запиÑи з потоку завдань"
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr "%s: мети «%s» не Ñ–Ñнує"
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼ÐµÑ‚Ð¸ «%s» з такої причини: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
"Ñ†Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð° ÑиÑтема не дозволÑÑ” вÑтановлювати Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° завантаженнÑ"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "неможливо вÑтановити Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° завантаженнÑ: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stdin\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stdout\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stderr\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stdin\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stdout\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stderr\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
"make підібрано дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· pid %s, Ñкий вÑе ще чекає на Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ "
"процеÑу з pid %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Команда не знайдена"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Командний процеÑор не знайдений"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: ймовірно, завершилоÑÑ Ð¼Ñ–Ñце у Ñередовищі"
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL змінено (було «%s», тепер «%s»)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Створюємо тимчаÑовий пакетний файл %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
@@ -810,7 +811,7 @@ msgstr ""
"ВміÑÑ‚ файла пакетної обробки:\n"
"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -819,7 +820,7 @@ msgstr ""
"ВміÑÑ‚ пакетного файла:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
@@ -830,48 +831,48 @@ msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
"-O[ТИП] (--output-sync[=ТИП]) Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ ÑеанÑу Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð½Ðµ налаштовано."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ таблицю загальних Ñимволів: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr "Завантажений об’єкт %s не оголошено Ñк ÑуміÑний з GPL"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñимвол %s з %s: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "ÐŸÐ¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° Ñимволу Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "Завантажуємо Ñимвол %s з %s\n"
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr "Ðа цій платформі Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð´Ñ–Ñ— «load» не передбачено."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Ключі:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m ІгноруєтьÑÑ, Ð´Ð»Ñ ÑуміÑноÑÑ‚Ñ–.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make безумовно оброблÑти вÑÑ– запиÑи мети.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -880,18 +881,18 @@ msgstr ""
" Перейти до каталогу до Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð±ÑƒÐ´ÑŒ-Ñких "
"дій.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d ВивеÑти діагноÑтичні повідомленнÑ.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=ПРÐПОРЦІ] ВивеÑти діагноÑтичні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ñ… "
"типів.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -900,12 +901,12 @@ msgstr ""
" Змінні Ñередовища мають вищий пріоритет за "
"змінні makefile.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr " --eval=РЯДОК Обробити РЯДОК Ñк інÑтрукцію makefile.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -913,16 +914,16 @@ msgstr ""
" -f ФÐЙЛ, --file=ФÐЙЛ, --makefile=ФÐЙЛ\n"
" ВикориÑтати ФÐЙЛ Ñк makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help ВивеÑти це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ– вийти.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
" -i, --ignore-errors Ігнорувати помилки від ÑпоÑобів збираннÑ.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -930,7 +931,7 @@ msgstr ""
" -I КÐТÐЛОГ, --include-dir=КÐТÐЛОГ\n"
" Виконати пошук включених makefile у каталозі.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -938,14 +939,14 @@ msgstr ""
" -j [N], --jobs[=N] Виконувати одночаÑно N завдань; Ñкщо не "
"вказано — необмежену кількіÑÑ‚ÑŒ.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Продовжувати роботу, Ñкщо Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ ÑкоїÑÑŒ мети "
"неможливе.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -955,7 +956,7 @@ msgstr ""
" Ðе запуÑкати декількох завдань, Ñкщо "
"Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -963,7 +964,7 @@ msgstr ""
" -L, --check-symlink-times ВикориÑтовувати новіший Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ з чаÑів "
"зміни поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñ– мети.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -973,7 +974,7 @@ msgstr ""
" Ðе заÑтоÑовувати ÑпоÑобів збираннÑ, проÑто "
"вивеÑти назви ÑпоÑобів.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -983,7 +984,7 @@ msgstr ""
" Вважати ФÐЙЛ дуже Ñтарим Ñ– не виконувати його "
"повторного збираннÑ.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
@@ -992,11 +993,11 @@ msgstr ""
" Ñинхронізувати виведені дані паралельних "
"завдань за ТИПом.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base ВивеÑти внутрішню базу даних make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -1005,19 +1006,19 @@ msgstr ""
"ÑпоÑобів; код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·ÑƒÑ”, чи вÑе вже "
"зроблено.\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr " -r, --no-builtin-rules Вимкнути вбудовані неÑвні правила.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr " -R, --no-builtin-variables Вимкнути вбудовані параметри змінних.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ðе виводити ÑпоÑоби збираннÑ.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1025,26 +1026,26 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Вимкнути -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Змінювати Ñ‡Ð°Ñ Ð´Ð¾Ñтупу до мети заміÑÑ‚ÑŒ Ñ—Ñ— "
"повторного збираннÑ.\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr " --trace ВивеÑти дані щодо траÑуваннÑ.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version ВивеÑти дані щодо верÑÑ–Ñ— make Ñ– вийти.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Виводити дані щодо поточного каталогу.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -1052,7 +1053,7 @@ msgstr ""
" --no-print-directory Вимкнути -w, навіть Ñкщо Ð²Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð±ÑƒÐ»Ð¾ "
"виконано неÑвним чином.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1060,7 +1061,7 @@ msgstr ""
" -W ФÐЙЛ, --what-if=ФÐЙЛ, --new-file=ФÐЙЛ, --assume-new=ФÐЙЛ\n"
" Вважати ФÐЙЛ завжди новим.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1068,30 +1069,26 @@ msgstr ""
" --warn-undefined-variables Попереджати про поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° невизначену "
"змінну.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "порожній Ñ€Ñдок не може бути назвою файла"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
msgstr "невідома ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ€Ñ–Ð²Ð½Ñ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтики, «%s»"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "невідомий тип Ñинхронізації виведених даних, «%s»"
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вказано декілька параметрів --sync-mutex"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: ÑталоÑÑ Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ (код = 0x%lx, адреÑа = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1106,42 +1103,38 @@ msgstr ""
"Прапорці Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ = %lx\n"
"ÐдреÑа Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "ÐŸÐ¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» доÑтупу: Ð´Ñ–Ñ Ð· запиÑу за адреÑою 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "ÐŸÐ¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» доÑтупу: Ð´Ñ–Ñ Ð· Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð·Ð° адреÑою 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() вÑтановлює default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
"Пошуком шлÑхів find_and_set_shell() вÑтановлено Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s призупинÑєтьÑÑ Ð½Ð° 30 Ñекунд..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "виконано sleep(30). Продовжуємо.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вказано декілька ключів --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
@@ -1149,145 +1142,145 @@ msgstr ""
"Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ Ñемафор Ñервера завдань «%s»: "
"(помилка %ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Клієнт Ñервера завдань (Ñемафор %s)\n"
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: некоректний Ñ€Ñдок --jobserver-fds, «%s»"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Клієнт Ñервера завдань (fd %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"попередженнÑ: у вкладеному файлів Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ -jN: вимикаємо режим "
"Ñервера завдань."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "дублюємо Ñервер завдань"
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
"попередженнÑ: Ñервер завдань недоÑтупний: викориÑтовуємо -j1. Додайте «+» до "
"батьківÑького правила збираннÑ."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile зі Ñтандартного джерела вхідних даних вказано двічі."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (тимчаÑовий файл)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (тимчаÑовий файл)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Ðа цій платформі паралельної обробки завдань (-j) не передбачено."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "ПовертаємоÑÑ Ð´Ð¾ режиму єдиного Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Слоти Ñервера завдань обмежено значеннÑм %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr "Ñтворюємо Ñемафор Ñервера завдань: (помилка %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "Ñтворюємо канал завдань"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "ініціалізуємо канал Ñервера завдань"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Підтримки Ñимволічних поÑилань не передбачено: вимикаємо -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ make-файлів...\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Make-файл \"%s\", можливо, зациклений, він не перезбиратиметьÑÑ.\n"
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Спроба перезібрати make-файл \"%s\" безуÑпішна."
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Make-файл \"%s\", Ñкий включаєтьÑÑ, не було знайдено."
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr "Make-файл \"%s\" не було знайдено"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Ðеможливо перейти у первіÑний каталог."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Повторне виконаннÑ[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (тимчаÑовий файл): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL міÑтить декілька запиÑів мети"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Ðе задані цілі Ñ– не знайдений make-файл"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Ðема цілей"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»ÐµÐ¹ мети...\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"попередженнÑ: виÑвлено Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ñ–Ð² годинника. Ð—Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ðµ бути "
"неповним."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "ВикориÑтаннÑ: %s [КЛЮЧІ]... [ЦІЛЬ]...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1296,7 +1289,7 @@ msgstr ""
"\n"
"Цю програму зібрано Ð´Ð»Ñ %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1305,32 +1298,32 @@ msgstr ""
"\n"
"Цю програму зібрано Ð´Ð»Ñ %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Повідомлюйте про помилки до <bug-make@gnu.org>\n"
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "разом з «%s%s» мало бути вказано непорожній Ñ€Ñдковий аргумент"
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "ключ \"-%c\" повинен викориÑтовуватиÑÑ Ð· цілим додатним аргументом"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sЗібрано Ð´Ð»Ñ %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sЗібрано Ð´Ð»Ñ %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1345,7 +1338,7 @@ msgstr ""
"%sВам не надаєтьÑÑ Ð–ÐžÐ”ÐИХ ГÐРÐÐТІЙ, окрім гарантій передбачених "
"законодавÑтвом.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1354,7 +1347,7 @@ msgstr ""
"\n"
"# База даних Make, надрукована %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1368,10 +1361,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Ðевідома помилка %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "віртуальна пам'ÑÑ‚ÑŒ вичерпана"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1393,65 +1382,61 @@ msgstr "ДоÑтуп make"
msgid "Child access"
msgstr "ДоÑтуп дочірнього процеÑу"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: входимо до невідомого каталогу\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: виходимо з невідомого каталогу\n"
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: входимо до каталогу «%s»\n"
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Залишаю каталог \"%s\"\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: входимо до невідомого каталогу\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: залишаємо невідомий каталог\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: входимо до каталогу «%s»\n"
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Залишаю каталог \"%s\"\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "помилка запиÑу: %s"
-#: output.c:517
-msgid "write error"
-msgstr "помилка запиÑу"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Зупинка.\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1460,215 +1445,221 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ make-файлів...\n"
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ make-файла \"%s\""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (немає типової мети)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (шлÑÑ… пошуку)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (не зважати)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (не розширювати ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr "ПропуÑкаємо мітку UTF-8 у файлі makefile «%s»\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr "ПропуÑкаємо мітку UTF-8 у буфері файла makefile\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "невірний ÑинтакÑÐ¸Ñ Ñƒ умовному вираженні"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr "%s: не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÑпоÑобу Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑÑ Ð´Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÑˆÐ¾Ñ— мети"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "пропущено правило до ÑпоÑобу"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "пропущений розділювач%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (ви хотіли ввеÑти TAB заміÑÑ‚ÑŒ 8 пробілів?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "пропущений розділювач%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "пропущений шаблон цілі"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "не один шаблон цілі"
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr "шаблон цілі не міÑтить \"%%\""
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
msgstr "пропущена \"endif\""
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "порожнє ім'Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—"
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr "зайвий текÑÑ‚ піÑÐ»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¸ «define»"
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
msgstr "пропущена \"endif\", незавершена \"define\""
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr "зайвий текÑÑ‚ піÑÐ»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¸ «endef»"
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr "зайвий текÑÑ‚ піÑÐ»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¸ \"%s\""
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr "зайва \"%s\""
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "в умовному виразі можлива лише одна директива `else'"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Помилкове Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñпецифічного Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "у ÑпоÑобах Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð½Ðµ можна вказувати залежноÑтей"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "змішані неÑвні правила Ñ– правила зі Ñтатичними зразками"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "змішані неÑвні Ñ– звичайні правила"
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "ціль \"%s\" не відповідає зразку цілей"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "цільовий файл \"%s\" має Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ– з \":\", Ñ– з \"::\" "
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "ціль \"%s\" зазначено декілька разів у одному правилі"
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "попередженнÑ: замінюємо ÑпоÑіб Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s»"
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "попередженнÑ: ігноруємо заÑтарілий ÑпоÑіб Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s»"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "змішані неÑвні Ñ– звичайні правила"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "попередженнÑ: зуÑтрінутий Ñимвол NUL; ігноруєтьÑÑ Ð´Ð¾ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдки"
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "Ціль \"%s\" не вимагає Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´."
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr "\"%s\" не вимагає оновленнÑ."
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Обрізаємо файл «%s».\n"
-#: remake.c:377
-#, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sÐема правила Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»Ñ– \"%s\"%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sÐема правила Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»Ñ– \"%s\", необхідної Ð´Ð»Ñ \"%s\"%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sÐема правила Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»Ñ– \"%s\"%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Обробка цільового файла \"%s\".\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñпроба оновити файл \"%s\" завершилаÑÑ Ð±ÐµÐ·ÑƒÑпішно.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Файл \"%s\" вже було оброблено.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Ð’Ñе ще оновлюєтьÑÑ Ñ„Ð°Ð¹Ð» \"%s\".\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\" завершено.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Ðе виÑвлено файла з назвою «%s».\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1676,137 +1667,137 @@ msgstr ""
"*** ПопередженнÑ: файл .LOW_RESOLUTION_TIME «%s» має чаÑову позначку виÑокої "
"точноÑÑ‚Ñ–"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Знайдено неÑвне правило Ð´Ð»Ñ \"%s\".\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Ðе знайдено неÑвних правил Ð´Ð»Ñ \"%s\".\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "ВикориÑтовуємо типовий ÑпоÑіб Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Циклічна залежніÑÑ‚ÑŒ %s <- %s пропущена."
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Завершено обробку попередніх залежноÑтей файла мети «%s».\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Цілі, від Ñких залежить \"%s\", збираютьÑÑ.\n"
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Ðварійний зупинка на цільовому файлі \"%s\".\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Ціль \"%s\" не була перезібрана через помилки."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "ЗалежніÑÑ‚ÑŒ «%s» визначено Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s» лише порÑдком збираннÑ.\n"
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "ЗалежноÑÑ‚Ñ– «%s» мети «%s» не Ñ–Ñнує.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "ЗалежніÑÑ‚ÑŒ «%s» Ñ” новішою за мету «%s».\n"
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "ЗалежніÑÑ‚ÑŒ «%s» Ñ” Ñтарішою за мету «%s».\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Ціль \"%s\" оголошена з двома двокрапками Ñ– не має залежноÑтей.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Ðемає ÑпоÑобу Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Â«%s», вÑÑ– попередні залежноÑÑ‚Ñ– не змінено.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "Збираємо «%s» через вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ»ÑŽÑ‡Ð° always-make.\n"
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr "Потреби у повторному збиранні мети «%s» немає"
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr "; викориÑтовуємо назву VPATH «%s»"
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "Ðеобхідно перезібрати ціль \"%s\".\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ігноруємо назву VPATH «%s».\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "ЗаÑтоÑовуємо ÑпоÑіб «%s».\n"
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Спроба перезібрати цільовий файл \"%s\" безуÑпішна.\n"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Цільовий файл \"%s\" уÑпішно перезібраний.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Цільовий файл \"%s\" вимагає Ð¿ÐµÑ€ÐµÐ·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· ключем -q.\n"
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… команд Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Увага: Файл \"%s\" має майбутній Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸"
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Увага: Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ файла «%s» перебуває на %s Ñ Ñƒ майбутньому"
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "Елемент .LIBPATTERNS «%s» не є зразком"
@@ -1816,7 +1807,7 @@ msgstr "Елемент .LIBPATTERNS «%s» не є зразком"
msgid "Customs won't export: %s\n"
msgstr "ÐеекÑпортовні налаштуваннÑ: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1824,7 +1815,7 @@ msgstr ""
"\n"
"# ÐеÑвні правила"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1832,7 +1823,7 @@ msgstr ""
"\n"
"# ÐеÑвних правил нема."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1841,11 +1832,11 @@ msgstr ""
"\n"
"# ÐеÑвних правил: %u, термінальних: %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr "."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "ПОМИЛКÐ: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ num_pattern_rules Ñ” помилковим! %u != %u"
@@ -2063,44 +2054,44 @@ msgstr ""
"# ÑтатиÑтика щодо таблиці хешів:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "автоматична"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "типовий"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "визначена у Ñередовищі"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "файл make"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "заданий ключ -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "визначена у командному Ñ€Ñдку"
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr "Директива «override»"
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (з \"%s\", Ñ€Ñдок %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# Ñтан змінних у хеш-таблиці:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2108,7 +2099,7 @@ msgstr ""
"\n"
"# Змінні\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2116,7 +2107,7 @@ msgstr ""
"\n"
"# Специфічні Ð´Ð»Ñ Ð·Ñ€Ð°Ð·ÐºÐ° Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ…"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2124,7 +2115,7 @@ msgstr ""
"\n"
"# Ðемає Ñпецифічних Ð´Ð»Ñ Ð·Ñ€Ð°Ð·ÐºÐ° значень змінних."
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2143,78 +2134,83 @@ msgstr "попередженнÑ: невизначена змінна \"%.*s\""
msgid "sys$search() failed with %d\n"
msgstr "sys$search() повернуто код помилки %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "ПопередженнÑ: порожнє переÑпрÑмуваннÑ\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: «%s» command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-попередженнÑ, ймовірно, вам варто повторно увімкнути обробку CTRL-Y з DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "ВБУДОВÐÐИЙ [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "ВБУДОВÐÐИЙ CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "ВБУДОВÐÐИЙ RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "ВБУДОВÐÐИЙ CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Ðевідома вбудована команда \"%s\".\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Помилка, Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "ПереÑпрÑмоване Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð· %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку переÑпрÑмовано до %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "ДопиÑати виведенні дані до %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "ПереÑпрÑмовуємо Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð¾ %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "ДопиÑати %.*s Ñ– Ñпорожнити\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "ЗаміÑÑ‚ÑŒ заданого виконуєтьÑÑ %s\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Помилка Ð¿Ð¾Ñ€Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу, %d\n"
@@ -2258,6 +2254,21 @@ msgstr ""
"# Загальний шлÑÑ… пошуку (змінна \"VPATH\"):\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вказано декілька параметрів --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вказано декілька ключів --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "віртуальна пам'ÑÑ‚ÑŒ вичерпана"
+
+#~ msgid "write error"
+#~ msgstr "помилка запиÑу"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "ВБУДОВÐÐИЙ RM %s\n"
+
#~ msgid "# Invalid value in 'update_status' member!"
#~ msgstr "# Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð»ÐµÐ½Ð° \"update_status\"!"
diff --git a/po/vi.gmo b/po/vi.gmo
index ad334ae..ee98bb2 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index ee0fea5..6e64cf0 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.99.93\n"
+"Project-Id-Version: make-4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
-"PO-Revision-Date: 2013-10-02 07:35+0700\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
+"PO-Revision-Date: 2013-10-10 07:36+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -53,51 +53,51 @@ msgstr "touch: Thành viên “%s†không tồn tại trong “%sâ€"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: Gặp mã trả lại sai từ ar_member_touch trên “%sâ€"
-#: arscan.c:67
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
"lbr$set_module() đã không giải nén thông tin vỠmô-đun, trạng thái = %d"
-#: arscan.c:173
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() bị lỗi với trạng thái = %d"
-#: arscan.c:185
-#, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "không thể mở thÆ° viện “%s†để tra tìm thành viên “%sâ€"
-#: arscan.c:847
+#: arscan.c:944
#, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Thành viên “%sâ€%s: %ld byte tại %ld (%ld).\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (có lẽ tên bị cắt ngắn)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Ngày %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, chế độ = 0%o.\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr "Công thức có quá nhiá»u dòng (%ud)"
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Ngắt.\n"
-#: commands.c:630
+#: commands.c:629
#, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] Thành phần kho “%s†có thể là giả; chÆ°a bị xóa bá»"
@@ -105,27 +105,27 @@ msgstr "*** [%s] Thành phần kho “%s†có thể là giả; chưa bị xóa
#: commands.c:633
#, c-format
msgid "*** Archive member '%s' may be bogus; not deleted"
-msgstr "*** Thành phần kho “%s†có thể là giả; chÆ°a bị xóa bá»"
+msgstr "*** Thành viên kho “%s†có thể là giả; chÆ°a bị xóa bá»"
-#: commands.c:646
+#: commands.c:647
#, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Äang xoá tập tin “%sâ€"
-#: commands.c:648
+#: commands.c:649
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Äang xoá tập tin “%sâ€"
-#: commands.c:684
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# công thức cần thực hiện"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (dựng-sẵn):"
-#: commands.c:689
+#: commands.c:690
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (từ “%sâ€, dòng %lu):\n"
@@ -187,7 +187,7 @@ msgstr "không"
#: dir.c:1064
msgid " impossibilities"
-msgstr " không thể"
+msgstr " việc không thể làm được"
#: dir.c:1068
msgid " so far."
@@ -207,150 +207,150 @@ msgstr "Biến đệ quy “%s†(cuối cùng) lại tham chiếu đến chín
msgid "unterminated variable reference"
msgstr "tham chiếu biến chưa chấm dứt"
-#: file.c:269
+#: file.c:271
#, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Công thức được chỉ định cho tập tin “%s†tại %s:%lu,"
-#: file.c:274
+#: file.c:276
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Tìm thấy công thức cho tập tin “%s†nhỠquy tắc tìm kiếm ngầm,"
-#: file.c:277
+#: file.c:280
#, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "nhÆ°ng “%s†bây giỠđược cÅ©ng được xem là cùng tập tin “%sâ€."
-#: file.c:280
+#: file.c:283
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
"Công thức cho “%s†sẽ bị bá» qua trong sá»± chấp thuận của má»™t cái cho “%sâ€."
-#: file.c:300
+#: file.c:303
#, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "không thể đổi tên “%s†hai chấm đơn thành “%s†hai chấm đôi"
-#: file.c:305
+#: file.c:309
#, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "không thể đổi tên “%s†hai chấm đôi thành “%s†hai chấm đơn"
-#: file.c:396
+#: file.c:401
#, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** Äang xoá tập tin trung gian “%sâ€"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Xoá các tập tin trung gian...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "GiỠhiện tại"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Thá»i gian của tập tin ở ngoài phạm vi nên thay thế bằng %s"
-#: file.c:809
-msgid "Current time"
-msgstr "GiỠhiện tại"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# Không phải là đích:"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Tập tin giá trị (Ä‘iá»u kiện tiên quyết của .PRECIOUS)."
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Äích giả (Ä‘iá»u kiện tiên quyết của .PHONY)."
-#: file.c:958
+#: file.c:964
msgid "# Command line target."
msgstr "# Äích dòng lệnh."
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Mặc định, MAKEFILES, hoặc makefile kiểu -include/sinclude."
-#: file.c:962
+#: file.c:968
msgid "# Builtin rule"
msgstr "# Quy tắc dựng sẵn"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Hoàn tất tìm quy tắc ngầm."
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Chưa hoàn tất tìm quy tắc ngầm."
-#: file.c:967
+#: file.c:973
#, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Cuống mẫu ngầm/tÄ©nh: “%sâ€\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Tập tin là má»™t Ä‘iá»u kiện tiên quyết trung gian."
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# Cũng tạo:"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Chưa kiểm tra giỠsửa đổi."
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# Tập tin không tồn tại."
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# Tập tin rất cũ."
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Lần sửa cuối cùng %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# Tập tin đã được cập nhật."
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Tập tin chưa được cập nhật."
-#: file.c:995
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Công thức Ä‘ang chạy (ÄÂY LÀ MỘT Lá»–I)."
-#: file.c:998
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Công thức phụ thuá»™c Ä‘ang chạy (ÄÂY LÀ MỘT Lá»–I)."
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Cập nhật thành công."
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Cần được cập nhật (-q được đặt)."
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Gặp lỗi khi cập nhật."
-#: file.c:1019
+#: file.c:1025
msgid "# Invalid value in 'command_state' member!"
-msgstr "# Gặp giá trị sai trong thành phần “command_stateâ€!"
+msgstr "# Gặp giá trị sai trong thành viên “command_stateâ€!"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -358,7 +358,7 @@ msgstr ""
"\n"
"# Tập tin"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -368,104 +368,105 @@ msgstr ""
"# thống kê bảng băm tập tin:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr "%s: TrÆ°á»ng “%s†chÆ°a được nhá»› đệm: %s"
-#: function.c:742
+#: function.c:780
msgid "non-numeric first argument to 'word' function"
msgstr "đối số thứ nhất không phải dạng số cho hàm “wordâ€"
-#: function.c:747
+#: function.c:785
msgid "first argument to 'word' function must be greater than 0"
msgstr "đối số thứ nhất cho hàm “word†phải lớn hơn 0"
-#: function.c:767
+#: function.c:805
msgid "non-numeric first argument to 'wordlist' function"
msgstr "đối số thứ nhất không phải số cho hàm “wordlistâ€"
-#: function.c:769
+#: function.c:807
msgid "non-numeric second argument to 'wordlist' function"
msgstr "đối số thứ hai không phải số cho hàm “wordlistâ€"
-#: function.c:1460
+#: function.c:1499
#, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(In) gặp lỗi (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe: DuplicateHandle(Err) gặp lỗi (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() bị lỗi (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() gặp lỗi\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Dá»n dẹp tập tin bó tạm %s\n"
# Variable: do not translate/ biến: đừng dịch
-#: function.c:2151
+#: function.c:2193
#, c-format
msgid "open: %s: %s"
msgstr "mở: %s: %s"
-#: function.c:2158
+#: function.c:2203
#, c-format
msgid "write: %s: %s"
msgstr "ghi: %s: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr "Thao tác tập tin không hợp lệ: %s"
-#: function.c:2279
+#: function.c:2324
#, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "không đủ số đối số (%d) cho hàm “%sâ€"
-#: function.c:2291
+#: function.c:2336
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "chÆ°a được viết mã thi hành trên hệ thống này: hàm “%sâ€"
-#: function.c:2354
+#: function.c:2399
#, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "cuá»™c gá»i chÆ°a được chấm dứt cho hàm “%sâ€: thiếu “%câ€"
-#: function.c:2546
-msgid "Empty function name\n"
-msgstr ""
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Tên hàm trống rỗng\n"
-#: function.c:2548
+#: function.c:2593
#, fuzzy, c-format
-msgid "Invalid function name: %s\n"
-msgstr "Thao tác tập tin không hợp lệ: %s"
+msgid "Invalid function name: %s"
+msgstr "Tên hàm không hợp lệ: %s\n"
-#: function.c:2550
-#, c-format
-msgid "Function name too long: %s\n"
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
msgstr "Tên hàm quá dài: %s\n"
-#: function.c:2552
-#, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "số lượng đối số tối thiểu (%d) là không hợp lệ cho hàm “%sâ€\n"
-#: function.c:2555
-#, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "số lượng đối số tối Ä‘a (%d) là không hợp lệ cho hàm “%sâ€\n"
#: getopt.c:659
@@ -476,12 +477,12 @@ msgstr "%s: tùy chá»n “%s†chÆ°a rõ ràng\n"
#: getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: tùy chá»n “--%s†không nhận má»™t đối số\n"
+msgstr "%s: tùy chá»n “--%s†không nhận đối số\n"
#: getopt.c:688
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: tùy chá»n “%c%s†không nhận má»™t đối số\n"
+msgstr "%s: tùy chá»n “%c%s†không nhận đối số\n"
#: getopt.c:705 getopt.c:878
#, c-format
@@ -523,12 +524,12 @@ msgstr "%s: tùy chá»n “-W %s†chÆ°a rõ ràng\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: tùy chá»n “-W %s†không nhận má»™t đối số\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: Äang khai triển “%sâ€\n"
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: Äang định giá “%sâ€\n"
@@ -611,97 +612,97 @@ msgstr "Tìm quy tắc có tập tin trung gian “%sâ€.\n"
msgid "Cannot create a temporary file\n"
msgstr "Không thể tạo tập tin tạm\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (đổ lõi)"
-#: job.c:487
+#: job.c:488
msgid " (ignored)"
msgstr " (bá» qua)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
msgid "<builtin>"
msgstr "<dựng-sẵn>"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr "%s: công thức cho đích “%s†gặp lỗi"
-#: job.c:510
-#, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "%s[%s] Lá»—i 0x%x%s"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, c-format
msgid "%s[%s] Error %d%s"
msgstr "%s[%s] Lá»—i %d%s"
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Lá»—i 0x%x%s"
+
# Variable: don't translate / Biến: đừng dịch
-#: job.c:517
+#: job.c:529
#, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s[%s] %s%s%s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Äang đợi những công việc chÆ°a hoàn tất..."
-#: job.c:639
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Tiến trình con còn sống %p (%s) PID %s %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (máy chủ)"
-#: job.c:829
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "Äang mất tiến trình con %p PID %s %s\n"
-#: job.c:830
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "Äang thắng lại tiến trình con %p PID %s %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Dá»n dẹp tập tin bó tạm %s\n"
-#: job.c:843
+#: job.c:855
#, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "Dá»n dẹp tập tin bó tạm %s gặp lá»—i (%d)\n"
-#: job.c:949
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "Bá» tiến trình con %p PID %s%s khá»i xâu.\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr "giải phóng tín hiệu jobserver: (Lỗi %ld: %s)"
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr "Äã giải phóng thẻ bài cho tiến trình con %p (%s).\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "ghi lại trình phục vụ công việc"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() gặp lỗi khi chạy tiến trình (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -710,100 +711,100 @@ msgstr ""
"\n"
"Äếm được %d đối số trong lần khởi chạy bị lá»—i\n"
-#: job.c:1685
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "Äặt tiến trình con %p (%s) PID %s%s vào xâu.\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "chỠtín hiệu hay tiến trình con: (Lỗi %ld: %s)"
-#: job.c:1967
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "Äã lấy thẻ bài cho Ä‘iá»u con %p (%s).\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "Ä‘á»c ống dẫn công việc"
-#: job.c:2003
+#: job.c:2056
#, c-format
msgid "%s: target '%s' does not exist"
msgstr "%s: đích “%s†không tồn tại"
-#: job.c:2005
+#: job.c:2059
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: cập nhật đích “%sâ€, cần bởi: %s"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "không thể buá»™c giá»›i hạn tải trên hệ Ä‘iá»u hành này"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "không thể buộc giới hạn tải: "
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
"không thể xử lý thêm tập tin nào nữa: không thể nhân đôi đầu vào chuẩn\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
"không thể xử lý thêm tập tin nào nữa: không thể nhân đôi đầu ra chuẩn\n"
-#: job.c:2223
+#: job.c:2278
msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
"không thể xử lý thêm tập tin nào nữa: không thể nhân đôi đầu ra lỗi chuẩn\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Không thể phục hồi đầu vào chuẩn\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Không thể phục hồi đầu ra chuẩn\n"
-#: job.c:2254
+#: job.c:2309
msgid "Could not restore stderr\n"
msgstr "Không thể phục hồi đầu ra lỗi tiêu chuẩn\n"
-#: job.c:2365
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "đặt Ä‘iá»u con đã bắt là PID %s, vẫn còn đợi PID %s\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Không tìm thấy lệnh"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Không tìm thấy chÆ°Æ¡ng trình hệ vá»"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: cạn không gian dành cho biến môi trÆ°á»ng"
-#: job.c:2709
+#: job.c:2765
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL thay đổi (trÆ°á»›c là “%sâ€, giá» là “%sâ€)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Tạo tập tin bó lệnh tạm: %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
@@ -811,7 +812,7 @@ msgstr ""
"Nội dung tập tin bó lệnh:\n"
"\t@echo off\n"
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -820,7 +821,7 @@ msgstr ""
"Nội dung tập tin bó lệnh:%s\n"
"\t%s\n"
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (dòng %d) Ngữ cảnh shell sai (!unixy && !batch_mode_shell)\n"
@@ -829,48 +830,48 @@ msgstr "%s (dòng %d) Ngữ cảnh shell sai (!unixy && !batch_mode_shell)\n"
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr "-O[KIỂU] (--output-sync[=KIỂU]) chưa được cấu hình cho lần dịch này."
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Gặp lỗi khi mở bảng ký hiệu toàn cục: %s"
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr "Äối tượng %s đã được tải không được công bố là tÆ°Æ¡ng thích GPL"
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr "Gặp lỗi khi tải ký hiệu %s từ %s: %s"
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "Tên ký hiệu là trống rỗng cho việc tải: %s"
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "Äang tải ký hiệu %s từ %s\n"
-#: load.c:229
+#: load.c:244
msgid "The 'load' operation is not supported on this platform."
msgstr "không hỗ trợ thao tác “load†trên hệ thống này."
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "Tùy chá»n:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m BỠqua để tương thích.\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Tạo má»i đích vô Ä‘iá»u kiện.\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -878,17 +879,17 @@ msgstr ""
" -C THƯ_MỤC, --directory=THƯ_MỤC\n"
" Chuyển sang THƯ MỤC này trước khi làm.\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d In rất nhiá»u thông tin gỡ rối.\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=CỜ...] In nhiá»u loại thông tin gỡ rối khác nhau.\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -896,13 +897,13 @@ msgstr ""
" -e, --environment-overrides\n"
" Biến môi trÆ°á»ng đè tập tin makefile.\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=CHUá»–I Äịnh lượng CHUá»–I nhÆ° má»™t lệnh makefile.\n"
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -910,15 +911,15 @@ msgstr ""
" -f TẬP-TIN, --file=TẬP-TIN, --makefile=TẬP-TIN\n"
" Äá»c TẬP-TIN dạng makefile.\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Hiển thị trợ giúp này và thoát.\n"
-#: main.c:334
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors BỠqua lỗi từ công thức.\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -926,7 +927,7 @@ msgstr ""
" -I THƯ_MỤC, --include-dir=THƯ_MỤC\n"
" Quét THƯ-MỤC này tìm makefile con.\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -934,12 +935,12 @@ msgstr ""
" -j [N], --jobs[=N] Cho phép N công việc đồng thá»i; không có đối "
"số thì vô hạn.\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr " -k, --keep-going Cứ tiếp tục khi không thể tạo đích.\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -948,14 +949,14 @@ msgstr ""
" -l [Sá»], --load-average[=N], --max-load[=N]\n"
" Chỉ chạy nhiá»u công việc nếu tải dÆ°á»›i N.\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
" -L, --check-symlink-times Dùng mtime mới nhất giữa liên kết và đích.\n"
-#: main.c:348
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -964,7 +965,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" Không chạy công thức; chỉ in chúng ra.\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -973,7 +974,7 @@ msgstr ""
" -o TẬP-TIN, --old-file=TẬP-TIN, --assume-old=TẬP-TIN\n"
" Coi TẬP-TIN là rất cũ và không tạo lại.\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
@@ -982,30 +983,30 @@ msgstr ""
" Äồng bá»™ hóa kết xuất công việc song song theo "
"KIỂU.\n"
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base In cơ sở dữ liệu nội bộ của make.\n"
-#: main.c:359
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
" -q, --question Không chạy; mã thoát là \"đã cập nhật\".\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr " -r, --no-builtin-rules Tắt quy tắc ngầm dựng sẵn.\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr " -R, --no-builtin-variables Tắt đặt biến dựng sẵn.\n"
-#: main.c:365
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Không in lại công thức.\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1013,30 +1014,30 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Tắt -k.\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
-msgstr " -t, --touch SỠđích thay vì tạo lại.\n"
+msgstr " -t, --touch Chạm đích thay vì tạo lại.\n"
-#: main.c:372
+#: main.c:373
msgid " --trace Print tracing information.\n"
msgstr " --trace Hiển thị thông tin dấu vết.\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr " -v, --version Hiển thị phiên bản make và thoát.\n"
+msgstr " -v, --version Hiển thị phiên bản make rồi thoát.\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Hiển thị thÆ° mục hiện thá»i.\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr " --no-print-directory Tắt -w, thậm chí nếu được bật ngầm.\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1044,37 +1045,33 @@ msgstr ""
" -W TẬP-TIN, --what-if=TẬP-TIN, --new-file=TẬP-TIN, --assume-new=TẬP-TIN\n"
" Giả định TẬP-TIN là mới vô hạn.\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
" --warn-undefined-variables Cảnh báo tham chiếu đến biến chưa xác định.\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "chuỗi rỗng không hợp lệ làm tên tập tin"
-#: main.c:734
+#: main.c:737
#, c-format
msgid "unknown debug level specification '%s'"
-msgstr "không rõ đặc tả cấp gỡ rối “%sâ€"
+msgstr "không hiểu đặc tả cấp gỡ rối “%sâ€"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "không hiểu kiểu output-sync “%sâ€"
-#: main.c:787
-msgid "internal error: multiple --sync-mutex options"
-msgstr "lá»—i ná»™i bá»™: có nhiá»u tùy chá»n --sync-mutex"
-
-#: main.c:848
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s: Bắt được ngắt/ngoại lệ (mã = 0x%lx, địa chỉ = 0x%p)\n"
-#: main.c:855
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -1089,183 +1086,179 @@ msgstr ""
"ExceptionFlags (các cỠngoại lệ) = %lx\n"
"ExceptionAddress (địa chỉ ngoại lệ) = 0x%p\n"
-#: main.c:863
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Vi phạm truy cập: thao tác ghi tại địa chỉ 0x%p\n"
-#: main.c:864
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Vi phạm truy cập: thao tác Ä‘á»c tại địa chỉ 0x%p\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell() đang đặt default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell() đã quét Ä‘Æ°á»ng dẫn thì đặt default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s đang ngưng trong 30 giây..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "đã ngủ(30). Tiếp tục.\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "lá»—i ná»™i bá»™: có nhiá»u tùy chá»n --jobserver-fds"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
"lá»—i ná»™i tại: không thể mở cá» hiệu máy phục vụ công việc “%sâ€: (Lá»—i %ld: %s)"
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Ứng dụng khách jobserver (cỠhiệu %s)\n"
-#: main.c:1551
+#: main.c:1534
#, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "lỗi nội bộ: gặp chuỗi --jobserver-fds “%s†không hợp lệ"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Ứng dụng khách jobserver (fds %d,%d)\n"
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "cảnh báo: -jN bị ép buộc trong make con: tắt chế độ jobserver."
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1586
+#: main.c:1570
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
"cảnh báo: trình jobserver không sẵn sàng: dùng -j1. Thêm “+†vào quy tắc "
"make cha."
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Tập tin makefile từ đầu vào chuẩn được ghi hai lần."
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (tập tin tạm)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (tập tin tạm)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Không hỗ trợ công việc song song (-j) trên hệ thống này."
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Äặt lại thành chế Ä‘á»™ công việc Ä‘Æ¡n (-j1)."
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Khe jobserver bị giới hạn thành %d\n"
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr "đang tạo tín hiệu jobserver: (Lỗi %ld: %s)"
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "tạo ống dẫn công việc"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "init jobserver pipe"
+msgstr "khởi tạo Ä‘Æ°á»ng ống “jobserverâ€"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Không há»— trợ liên kết má»m: tắt -L."
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Cập nhật makefile...\n"
-#: main.c:2174
+#: main.c:2158
#, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Makefile “%s†bị lặp; không tạo lại nó.\n"
-#: main.c:2253
+#: main.c:2237
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Gặp lá»—i khi làm lại makefile “%sâ€."
-#: main.c:2270
+#: main.c:2257
#, c-format
msgid "Included makefile '%s' was not found."
msgstr "Không tìm thấy makefile bao gồm “%sâ€."
-#: main.c:2275
+#: main.c:2262
#, c-format
msgid "Makefile '%s' was not found"
msgstr "Không tìm thấy makefile “%sâ€."
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Không thể chuyển vỠthư mục gốc."
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Thực hiện lại[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (bỠliên kết tập tin tạm): "
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL chứa nhiá»u đích"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Chưa xác định đích, và không tìm thấy makefile"
+msgstr "Chưa chỉ định đích, và không tìm thấy makefile"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "Không có đích"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "Cập nhật đích mục tiêu...\n"
+msgstr "Äang cập nhật đích mong muốn...\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"cảnh báo: Phát hiện lệch giá». Bản dịch của bạn có thể không hoàn thiện."
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Cách dùng: %s [các_tùy_chá»n] [đích] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1274,7 +1267,7 @@ msgstr ""
"\n"
"Chương trình này đã được dịch cho %s\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1283,34 +1276,34 @@ msgstr ""
"\n"
"Chương trình này đã được dịch cho %s (%s)\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Hãy thông báo lỗi cho <bug-make@gnu.org>\n"
"Hãy thông báo lỗi dịch cho <http://translationproject.org/team/vi.html>.\n"
-#: main.c:2810
+#: main.c:2807
#, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "tùy chá»n “%s%s†cần má»™t đối số là chuá»—i khác rá»—ng"
-#: main.c:2864
+#: main.c:2871
#, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "tùy chá»n “-%c†cần má»™t đối số số nguyên dÆ°Æ¡ng"
-#: main.c:3253
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sÄược dịch cho %s\n"
-#: main.c:3255
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sÄược dịch cho %s (%s)\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1321,9 +1314,9 @@ msgstr ""
"%sGiấy phép GPL pb3+: Giấy phép Công cộng GNU phiên bản 3 hay sau <http://"
"gnu.org/licenses/gpl.html>\n"
"%sÄây là phần má»m tá»± do: bạn có quyá»n sá»­a đổi và phát hành lại nó.\n"
-"%sKHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u khiển được pháp luật cho phép.\n"
+"%sKHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u kiện được pháp luật cho phép.\n"
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1332,7 +1325,7 @@ msgstr ""
"\n"
"# Cơ sở dữ liệu Make, in lúc %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1346,10 +1339,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "Lỗi lạ %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "hết bộ nhớ ảo"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1371,284 +1360,286 @@ msgstr "Truy cập Make"
msgid "Child access"
msgstr "Truy cập con"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Vào thư mục lạ\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Rá»i khá»i thÆ° mục lạ\n"
-#: output.c:133
+#: output.c:109
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: Vào thÆ° mục “%sâ€\n"
-#: output.c:135
+#: output.c:111
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Rá»i thÆ° mục “%sâ€\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Vào thư mục lạ\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Rá»i thÆ° mục lạ\n"
-#: output.c:144
+#: output.c:120
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Vào thÆ° mục “%sâ€\n"
-#: output.c:146
+#: output.c:122
#, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Rá»i thÆ° mục “%sâ€\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "lá»—i ghi: %s"
-#: output.c:517
-msgid "write error"
-msgstr "lá»—i ghi"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Dừng.\n"
# Variable: don't translate / Biến: đừng dịch
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
# Variable: do not translate/ biến: đừng dịch
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "Äá»c makefile...\n"
+msgstr "Äang Ä‘á»c makefile...\n"
-#: read.c:333
+#: read.c:335
#, c-format
msgid "Reading makefile '%s'"
-msgstr "Äá»c makefile “%sâ€"
+msgstr "Äang Ä‘á»c makefile “%sâ€"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (không có mục tiêu mặc định)"
+msgstr " (không có mục đích mặc định)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (Ä‘Æ°á»ng dẫn tìm kiếm)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (không quan tâm)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (không nối thêm ~)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
-msgstr "Bá» qua UTF-8 BOM trong makefile “%sâ€\n"
+msgstr "Bá» qua “UTF-8 BOM†trong makefile “%sâ€\n"
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
-msgstr "BỠqua UTF-8 BOM trong bộ đệm makefile\n"
+msgstr "BỠqua “UTF-8 BOM†trong bộ đệm makefile\n"
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "cú pháp không hợp lệ trong biểu thức Ä‘iá»u kiện"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr "%s: gặp lỗi khi tải"
-#: read.c:987
+#: read.c:992
msgid "recipe commences before first target"
msgstr "công thức bắt đầu trước đích thứ nhất"
-#: read.c:1036
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "thiếu quy tắc trước công thức"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "thiếu dấu cách%s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (bạn đã định dùng TAB thay vì 8 khoảng trắng phải không?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "thiếu dấu phân cách%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "thiếu mẫu đích"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "nhiá»u mẫu đích"
-#: read.c:1269
+#: read.c:1276
#, c-format
msgid "target pattern contains no '%%'"
msgstr "mẫu đích không chứa “%%â€"
-#: read.c:1391
+#: read.c:1398
msgid "missing 'endif'"
-msgstr "thiếu “endifâ€"
+msgstr "thiếu chỉ thị “endifâ€"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tên biến rỗng"
-#: read.c:1465
+#: read.c:1471
msgid "extraneous text after 'define' directive"
msgstr "gặp các ký tá»± thừa đằng sau chỉ thị “defineâ€"
-#: read.c:1490
+#: read.c:1496
msgid "missing 'endef', unterminated 'define'"
-msgstr "thiếu “endefâ€, chỉ thị “define†chÆ°a hoàn tất"
+msgstr "thiếu “endefâ€, chỉ thị “define†chÆ°a hoàn thiện"
-#: read.c:1518
+#: read.c:1524
msgid "extraneous text after 'endef' directive"
msgstr "gặp các ký tá»± thừa đằng sau chỉ thị “endefâ€"
-#: read.c:1589
+#: read.c:1595
#, c-format
msgid "extraneous text after '%s' directive"
msgstr "gặp các ký tá»± thừa đằng sau chỉ thị “%sâ€"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, c-format
msgid "extraneous '%s'"
msgstr "gặp “%s†thừa"
-#: read.c:1617
+#: read.c:1624
msgid "only one 'else' per conditional"
msgstr "chỉ cho phép má»™t “else†cho má»—i biểu thức Ä‘iá»u kiện"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Äịnh nghÄ©a biến đích riêng biệt bị há»ng"
-#: read.c:1951
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "không thể định nghÄ©a Ä‘iá»u kiện tiên quyết cho công thức"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "trộn lẫn quy tắc ngầm và mẫu tĩnh"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "trá»™n quy tắc ngầm và thÆ°á»ng"
-#: read.c:2084
+#: read.c:2091
#, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "đích “%s†không tương ứng với mẫu đích"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "tập tin đích “%s†có cả hai mục nhập : và ::"
-#: read.c:2105
+#: read.c:2112
#, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "đích “%s†có nhiá»u hÆ¡n má»™t trong cùng má»™t quy tắc"
-#: read.c:2114
+#: read.c:2122
#, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "cảnh báo: đè công thức cho đích “%sâ€"
-#: read.c:2117
+#: read.c:2125
#, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "cảnh báo: bá» qua công thức cÅ© cho đích “%sâ€"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "trá»™n quy tắc ngầm và thÆ°á»ng"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "cảnh báo: thấy ký tự NUL; bỠqua phần còn lại của dòng"
-#: remake.c:232
+#: remake.c:230
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "Không cần làm gì cho “%sâ€."
-#: remake.c:233
+#: remake.c:231
#, c-format
msgid "'%s' is up to date."
msgstr "Äã cập nhật “%sâ€."
-#: remake.c:305
+#: remake.c:303
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Xén bá»›t tập tin “%sâ€.\n"
-#: remake.c:377
-#, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%sKhông có quy tắc để tạo đích “%sâ€%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sKhông có quy tắc để tạo đích “%sâ€, cần bởi “%sâ€%s"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sKhông có quy tắc để tạo đích “%sâ€%s"
+
+#: remake.c:426
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Coi tập tin đích “%sâ€.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Vừa thá»­ và thất bại khi cập nhật “%sâ€.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
msgid "File '%s' was considered already.\n"
-msgstr "Coi tập tin “%s†là đã sẵn sàng rồi.\n"
+msgstr "Coi tập tin “%s†là đã sẵn có rồi.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Vẫn Ä‘ang cập nhật tập tin “%sâ€.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Hoàn tất cập nhật tập tin “%sâ€.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "Tập tin “%s†không tồn tại.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -1656,138 +1647,138 @@ msgstr ""
"*** Cảnh báo: tập tin .LOW_RESOLUTION_TIME “%s†có nhãn thá»i gian Ä‘á»™ phân "
"giải cao"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "Tìm thấy quy tắc ngầm cho “%sâ€.\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "Không tìm thấy quy tắc ngầm cho “%sâ€.\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "Dùng công thức mặc định cho “%sâ€.\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "BỠphụ thuộc vòng tròn %s <- %s."
-#: remake.c:655
+#: remake.c:675
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Hoàn tất Ä‘iá»u kiện tiên quyết của tập tin đích “%sâ€.\n"
-#: remake.c:661
+#: remake.c:681
#, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "Äang tạo Ä‘iá»u kiện tiên quyết của “%sâ€.\n"
-#: remake.c:674
+#: remake.c:695
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Chịu thua tập tin đích “%sâ€.\n"
-#: remake.c:679
+#: remake.c:700
#, c-format
msgid "Target '%s' not remade because of errors."
msgstr "Äích “%s†không được tạo lại do lá»—i."
-#: remake.c:731
+#: remake.c:752
#, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Äiá»u kiện tiên quyết “%s†là order-only (chỉ thứ tá»±) cho đích “%sâ€.\n"
-#: remake.c:736
+#: remake.c:757
#, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Äiá»u kiện tiên quyết “%s†của đích “%s†không tồn tại.\n"
-#: remake.c:741
+#: remake.c:762
#, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Äiá»u kiện tiên quyết “%s†là má»›i hÆ¡n đích “%s†.\n"
-#: remake.c:744
+#: remake.c:765
#, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Äiá»u kiện tiên quyết “%s†cÅ© hÆ¡n đích “%s†.\n"
-#: remake.c:762
+#: remake.c:783
#, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Äích “%s†là hai chấm đôi và không có Ä‘iá»u kiện tiên quyết.\n"
-#: remake.c:769
+#: remake.c:790
#, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
"Không có công thức cho “%s†và chÆ°a thay đổi Ä‘iá»u kiện tiên quyết nào.\n"
-#: remake.c:774
+#: remake.c:795
#, c-format
msgid "Making '%s' due to always-make flag.\n"
-msgstr "Tạo “%s†do cỠalways-make.\n"
+msgstr "Tạo “%s†do cỠ“always-makeâ€.\n"
-#: remake.c:782
+#: remake.c:803
#, c-format
msgid "No need to remake target '%s'"
msgstr "Không cần tạo lại đích “%sâ€."
-#: remake.c:784
+#: remake.c:805
#, c-format
msgid "; using VPATH name '%s'"
msgstr "; dùng tên VPATH “%sâ€"
-#: remake.c:804
+#: remake.c:825
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "Phải tạo lại đích “%sâ€.\n"
-#: remake.c:810
+#: remake.c:831
#, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " Bá» qua tên VPATH “%sâ€.\n"
-#: remake.c:819
+#: remake.c:840
#, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "Äang chạy công thức của “%sâ€.\n"
-#: remake.c:826
+#: remake.c:847
#, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "Gặp lá»—i khi tạo lại được tập tin đích “%sâ€.\n"
-#: remake.c:829
+#: remake.c:850
#, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "Tạo lại thành công tập tin đích “%sâ€.\n"
-#: remake.c:832
+#: remake.c:853
#, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Tập tin đích “%s†cần được tạo lại dÆ°á»›i tùy chá»n “-qâ€.\n"
-#: remake.c:1027
+#: remake.c:1048
#, c-format
msgid "Using default commands for '%s'.\n"
msgstr "Dùng lệnh mặc định cho “%sâ€.\n"
-#: remake.c:1372
+#: remake.c:1397
#, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "Cảnh báo: Tập tin “%s†có giỠsửa đổi ở thì tương lai."
-#: remake.c:1385
+#: remake.c:1411
#, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Cảnh báo: Tập tin “%s†có giỠsửa đổi %s giây trong thì tương lai."
-#: remake.c:1583
+#: remake.c:1610
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "Phần tử .LIBPATTERNS “%s†không phải là một mẫu"
@@ -1795,9 +1786,9 @@ msgstr "Phần tử .LIBPATTERNS “%s†không phải là một mẫu"
#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "Customs không xuất được: %s\n"
+msgstr "Phần tùy chỉnh không xuất được: %s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1805,7 +1796,7 @@ msgstr ""
"\n"
"# Quy tắc ngầm"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1813,7 +1804,7 @@ msgstr ""
"\n"
"# Không có quy tắc ngầm."
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1822,11 +1813,11 @@ msgstr ""
"\n"
"# %u quy tắc ngầm, %u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " thiết bị cuối."
-#: rule.c:531
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "LỖI: num_pattern_rules không đúng! %u != %u"
@@ -2047,44 +2038,44 @@ msgstr ""
"# thống kê bảng băm tập tin:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "tá»± Ä‘á»™ng"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "mặc định"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "môi trÆ°á»ng"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "môi trÆ°á»ng vá»›i -e"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "dòng lệnh"
-#: variable.c:1625
+#: variable.c:1617
msgid "'override' directive"
msgstr "chỉ thị “overrideâ€"
-#: variable.c:1636
+#: variable.c:1628
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (từ “%sâ€, dòng %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# thống kê bảng băm biến được đặt:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2092,7 +2083,7 @@ msgstr ""
"\n"
"# Biến\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2100,7 +2091,7 @@ msgstr ""
"\n"
"# Giá trị biến đặc tả cho mẫu"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2108,7 +2099,7 @@ msgstr ""
"\n"
"# Không có giá trị biến đặc tả cho mẫu"
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2127,77 +2118,82 @@ msgstr "cảnh báo: biến “%.*s†chưa được định nghĩa"
msgid "sys$search() failed with %d\n"
msgstr "sys$search() gặp lỗi với %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Cảnh báo: Chuyển hướng trống rỗng\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, c-format
msgid "internal error: '%s' command_state"
msgstr "lá»—i ná»™i bá»™: command_state “%sâ€"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-warning, có lẽ bạn cần phải bật lại xử lý CTRL-Y từ DCL.\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Không hiểu lệnh dá»±ng sẵn “%sâ€\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Lỗi, lệnh trống rỗng\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Äã chuyển hÆ°á»›ng đầu vào từ %s\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Äã chuyển hÆ°á»›ng lá»—i tá»›i %s\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Nối thêm đầu ra vào %s\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Äã chuyển hÆ°á»›ng đầu ra tá»›i %s\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Nối thêm %.*s và dá»n dẹp\n"
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Thực hiện %s để thay thế\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Gặp lỗi sản sinh tiến trình, %d\n"
@@ -2241,6 +2237,21 @@ msgstr ""
"# ÄÆ°á»ng dẫn tìm kiếm chung (biến “VPATHâ€):\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "lá»—i ná»™i bá»™: có nhiá»u tùy chá»n --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "lá»—i ná»™i bá»™: có nhiá»u tùy chá»n --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "hết bộ nhớ ảo"
+
+#~ msgid "write error"
+#~ msgstr "lá»—i ghi"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "# Invalid value in 'update_status' member!"
#~ msgstr "# Gặp giá trị sai trong thành phần “update_statusâ€!"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 2046413..54b7430 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 35a1dba..2282094 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.99.90\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2013-10-09 02:12-0400\n"
+"POT-Creation-Date: 2014-10-05 12:25-0400\n"
"PO-Revision-Date: 2013-06-12 15:54+0800\n"
"Last-Translator: LI Daobing <lidaobing@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -46,50 +46,50 @@ msgstr "touch:在“%2$sâ€ä¸­ä¸å­˜åœ¨æˆå‘˜â€œ%1$sâ€"
msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch:æ¥è‡ªâ€œ%sâ€ä¸Šçš„ ar_member_touch 的错误返回ç "
-#: arscan.c:67
+#: arscan.c:124
#, fuzzy, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_modules 获å–模å—ä¿¡æ¯å¤±è´¥ï¼Œè¿”å›žçŠ¶æ€ = %d"
-#: arscan.c:173
+#: arscan.c:230
#, fuzzy, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control å¤±è´¥ï¼Œè¿”å›žçŠ¶æ€ = %d"
-#: arscan.c:185
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library '%s' to lookup member '%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "无法打开库“%sâ€ä»¥å¯»æ‰¾æˆå‘˜â€œ%sâ€"
-#: arscan.c:847
+#: arscan.c:944
#, fuzzy, c-format
msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "æˆå‘˜â€œ%sâ€%s: %ld 字节在 %ld (%ld)。\n"
-#: arscan.c:848
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (å称å¯èƒ½è¢«æˆªçŸ­)"
-#: arscan.c:850
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " 日期 %s"
-#: arscan.c:851
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d,gid = %d,mode = 0%o。\n"
-#: commands.c:406
+#: commands.c:404
#, c-format
msgid "Recipe has too many lines (%ud)"
msgstr ""
-#: commands.c:507
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** 中断。\n"
-#: commands.c:630
+#: commands.c:629
#, fuzzy, c-format
msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] å½’æ¡£æˆå‘˜â€œ%sâ€å¯èƒ½æ˜¯å‡çš„;未删除"
@@ -99,26 +99,26 @@ msgstr "*** [%s] å½’æ¡£æˆå‘˜â€œ%sâ€å¯èƒ½æ˜¯å‡çš„;未删除"
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** å½’æ¡£æˆå‘˜â€œ%sâ€å¯èƒ½æ˜¯å‡çš„;未删除"
-#: commands.c:646
+#: commands.c:647
#, fuzzy, c-format
msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] 正在删除文件“%sâ€"
-#: commands.c:648
+#: commands.c:649
#, fuzzy, c-format
msgid "*** Deleting file '%s'"
msgstr "*** 正在删除文件“%sâ€"
-#: commands.c:684
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# è¦æ‰§è¡Œçš„命令"
-#: commands.c:687
+#: commands.c:688
msgid " (built-in):"
msgstr " (内置):"
-#: commands.c:689
+#: commands.c:690
#, fuzzy, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (从“%sâ€ï¼Œè¡Œ %lu):\n"
@@ -200,156 +200,156 @@ msgstr "递归å˜é‡â€œ%sâ€åº”用自身 (最终)"
msgid "unterminated variable reference"
msgstr "未终止的å˜é‡å¼•ç”¨"
-#: file.c:269
+#: file.c:271
#, fuzzy, c-format
msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "关于文件“%sâ€çš„命令在 %s:%lu 处指定,"
-#: file.c:274
+#: file.c:276
#, fuzzy, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "关于文件“%sâ€çš„命令通过éšå«è§„则æœç´¢è€Œæ‰¾åˆ°ï¼Œ"
-#: file.c:277
+#: file.c:280
#, fuzzy, c-format
msgid "but '%s' is now considered the same file as '%s'."
msgstr "但“%sâ€çŽ°åœ¨è¢«çœ‹åšâ€œ%sâ€çš„åŒä¸€ä¸ªæ–‡ä»¶ã€‚"
-#: file.c:280
+#: file.c:283
#, fuzzy, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "“%2$sâ€æ›´ä¼˜å…ˆï¼Œâ€œ%1$sâ€çš„命令被忽略。"
-#: file.c:300
+#: file.c:303
#, fuzzy, c-format
msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "无法将å•å†’å·â€œ%sâ€é‡å‘½å为åŒå†’å·â€œ%sâ€"
-#: file.c:305
+#: file.c:309
#, fuzzy, c-format
msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "无法将åŒå†’å·â€œ%sâ€é‡å‘½å为å•å†’å·â€œ%sâ€"
-#: file.c:396
+#: file.c:401
#, fuzzy, c-format
msgid "*** Deleting intermediate file '%s'"
msgstr "*** 正在删除中间文件“%sâ€"
-#: file.c:400
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "正在删除中间文件...\n"
-#: file.c:808
+#: file.c:811
+msgid "Current time"
+msgstr "当å‰æ—¶é—´"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%sï¼šæ—¶é—´æ ‡è®°è¶…å‡ºèŒƒå›´ï¼›æ­£åœ¨æ›¿æ¢ %s"
-#: file.c:809
-msgid "Current time"
-msgstr "当å‰æ—¶é—´"
-
-#: file.c:949
+#: file.c:955
msgid "# Not a target:"
msgstr "# ä¸æ˜¯ä¸€ä¸ªç›®æ ‡ï¼š"
-#: file.c:954
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# é‡è¦æ–‡ä»¶ (.PRECIOUSçš„å‰æ)。"
-#: file.c:956
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# å‡ç›®æ ‡ (.PHONYçš„å‰æ)。"
-#: file.c:958
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# 命令行目标。"
-#: file.c:960
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# 缺çœçš„ã€MAKEFILES 指定的ã€-include/sinclude 包å«çš„ makefile。"
-#: file.c:962
+#: file.c:968
#, fuzzy
msgid "# Builtin rule"
msgstr ""
"\n"
"# 没有éšå«è§„则。"
-#: file.c:964
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# 对éšå«è§„则的æœç´¢å·²å®Œæˆã€‚"
-#: file.c:965
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# 对éšå«è§„则的æœç´¢å°šæœªå®Œæˆã€‚"
-#: file.c:967
+#: file.c:973
#, fuzzy, c-format
msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# éšå«/é™æ€æ¨¡å¼ä¸»å¹²ï¼šâ€œ%sâ€\n"
-#: file.c:969
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# 文件是一个中间å‰æ。"
-#: file.c:973
+#: file.c:979
msgid "# Also makes:"
msgstr "# 还è¦åˆ›å»ºï¼š"
-#: file.c:979
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# 从ä¸æ£€æŸ¥ä¿®æ”¹æ—¶é—´ã€‚"
-#: file.c:981
+#: file.c:987
msgid "# File does not exist."
msgstr "# 文件ä¸å­˜åœ¨ã€‚"
-#: file.c:983
+#: file.c:989
msgid "# File is very old."
msgstr "# 文件éžå¸¸é™ˆæ—§ã€‚"
-#: file.c:988
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# 最近更新 %s\n"
-#: file.c:991
+#: file.c:997
msgid "# File has been updated."
msgstr "# 文件已ç»è¢«æ›´æ–°ã€‚"
-#: file.c:991
+#: file.c:997
msgid "# File has not been updated."
msgstr "# 文件尚未被更新。"
-#: file.c:995
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# 正在è¿è¡Œçš„命令 (这是个错误)。"
-#: file.c:998
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# 正在è¿è¡Œçš„ä¾èµ–性命令 (这是个错误)。"
-#: file.c:1007
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# æ›´æ–°æˆåŠŸã€‚"
-#: file.c:1011
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# 需è¦æ›´æ–° (用 -q 设定)。"
-#: file.c:1014
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# 更新失败。"
-#: file.c:1019
+#: file.c:1025
#, fuzzy
msgid "# Invalid value in 'command_state' member!"
msgstr "# “command_stateâ€æˆå‘˜ä¸­æ— æ•ˆçš„值ï¼"
-#: file.c:1038
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -357,7 +357,7 @@ msgstr ""
"\n"
"# 文件"
-#: file.c:1042
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -367,108 +367,108 @@ msgstr ""
"# 文件æ‚凑表状æ€:\n"
"# "
-#: file.c:1051
+#: file.c:1058
#, c-format
msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:742
+#: function.c:780
#, fuzzy
msgid "non-numeric first argument to 'word' function"
msgstr "“wordâ€å‡½æ•°çš„第一个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°"
-#: function.c:747
+#: function.c:785
#, fuzzy
msgid "first argument to 'word' function must be greater than 0"
msgstr "“wordâ€å‡½æ•°çš„第一个å‚数必须大于 0"
-#: function.c:767
+#: function.c:805
#, fuzzy
msgid "non-numeric first argument to 'wordlist' function"
msgstr "“wordlistâ€å‡½æ•°çš„第一个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°"
-#: function.c:769
+#: function.c:807
#, fuzzy
msgid "non-numeric second argument to 'wordlist' function"
msgstr "“wordlistâ€å‡½æ•°çš„第二个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°"
-#: function.c:1460
+#: function.c:1499
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "创建å­è¿›ç¨‹ï¼šå¤åˆ¶å¥æŸ„(In)失败 (e=%ld)\n"
-#: function.c:1483
+#: function.c:1523
#, fuzzy, c-format
msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "创建å­è¿›ç¨‹ï¼šå¤åˆ¶å¥æŸ„(Err)失败 (e=%ld)\n"
-#: function.c:1490
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() 失败 (e=%ld)\n"
-#: function.c:1498
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe ():process_init_fd() 失败\n"
-#: function.c:1792
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "正在清除临时批处ç†æ–‡ä»¶ %s\n"
-#: function.c:2151
+#: function.c:2193
#, fuzzy, c-format
msgid "open: %s: %s"
msgstr "%s: %s"
-#: function.c:2158
+#: function.c:2203
#, fuzzy, c-format
msgid "write: %s: %s"
msgstr "写错误: %s"
-#: function.c:2164
+#: function.c:2209
#, c-format
msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2279
+#: function.c:2324
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ"
-#: function.c:2291
+#: function.c:2336
#, fuzzy, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "在本平å°ä¸Šæœªå®žçŽ°ï¼šå‡½æ•°â€œ%sâ€"
-#: function.c:2354
+#: function.c:2399
#, fuzzy, c-format
msgid "unterminated call to function '%s': missing '%c'"
msgstr "对函数“%sâ€çš„未终止的调用:é—æ¼â€œ%câ€"
-#: function.c:2546
-msgid "Empty function name\n"
+#: function.c:2591
+msgid "Empty function name"
msgstr ""
-#: function.c:2548
+#: function.c:2593
#, c-format
-msgid "Invalid function name: %s\n"
+msgid "Invalid function name: %s"
msgstr ""
-#: function.c:2550
+#: function.c:2595
#, c-format
-msgid "Function name too long: %s\n"
+msgid "Function name too long: %s"
msgstr ""
-#: function.c:2552
+#: function.c:2598
#, fuzzy, c-format
-msgid "Invalid minimum argument count (%d) for function %s\n"
+msgid "Invalid minimum argument count (%d) for function %s"
msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ"
-#: function.c:2555
+#: function.c:2601
#, fuzzy, c-format
-msgid "Invalid maximum argument count (%d) for function %s\n"
+msgid "Invalid maximum argument count (%d) for function %s"
msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ"
#: getopt.c:659
@@ -526,12 +526,12 @@ msgstr "%s:选项“-W %sâ€å«ä¹‰ä¸æ¸…\n"
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s:选项“-W %sâ€ä¸å…许给出å‚æ•°\n"
-#: guile.c:55
+#: guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr ""
-#: guile.c:71
+#: guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr ""
@@ -614,98 +614,98 @@ msgstr "正在寻找使用中间文件“%sâ€çš„规则。\n"
msgid "Cannot create a temporary file\n"
msgstr "无法创建临时文件\n"
-#: job.c:482
+#: job.c:483
msgid " (core dumped)"
msgstr " (core dumped)"
-#: job.c:487
+#: job.c:488
#, fuzzy
msgid " (ignored)"
msgstr "[%s] 错误 %d (忽略)"
-#: job.c:491 job.c:1994
+#: job.c:492 job.c:2046
#, fuzzy
msgid "<builtin>"
msgstr " (内置):"
-#: job.c:501
+#: job.c:503
#, c-format
msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:510
-#, fuzzy, c-format
-msgid "%s[%s] Error 0x%x%s"
-msgstr "*** [%s] 错误 0x%x"
-
-#: job.c:513
+#: job.c:516 job.c:524
#, fuzzy, c-format
msgid "%s[%s] Error %d%s"
msgstr "*** [%s] 错误 %d"
-#: job.c:517
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] 错误 0x%x"
+
+#: job.c:529
#, fuzzy, c-format
msgid "%s[%s] %s%s%s"
msgstr "%s%s: %s"
-#: job.c:609
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** 正在等待未完æˆçš„任务...."
-#: job.c:639
+#: job.c:651
#, fuzzy, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "活跃å­è¿›ç¨‹ 0x%08lx (%s) PID %ld %s\n"
-#: job.c:641 job.c:831 job.c:950 job.c:1687
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (远程)"
-#: job.c:829
+#: job.c:841
#, fuzzy, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "正在中止失败的å­è¿›ç¨‹ 0x%08lx PID %ld %s\n"
-#: job.c:830
+#: job.c:842
#, fuzzy, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "正在中止获胜的å­è¿›ç¨‹ 0x%08lx PID %ld %s\n"
-#: job.c:837
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "正在清除临时批文件 %s\n"
-#: job.c:843
+#: job.c:855
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s failed (%d)\n"
msgstr "正在清除临时批文件 %s\n"
-#: job.c:949
+#: job.c:961
#, fuzzy, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "从链中删除å­è¿›ç¨‹ 0x%08lx PID %ld%s。\n"
-#: job.c:1007
+#: job.c:1021
#, c-format
msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:1011 job.c:1025
+#: job.c:1024 job.c:1038
#, fuzzy, c-format
msgid "Released token for child %p (%s).\n"
msgstr "为å­è¿›ç¨‹ 0x%08lx (%s) 释放令牌(token)。\n"
-#: job.c:1023
+#: job.c:1036
msgid "write jobserver"
msgstr "写入任务æœåŠ¡å™¨"
-#: job.c:1612 job.c:2332
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() å¯åŠ¨è¿›ç¨‹å¤±è´¥ (e=%ld)\n"
-#: job.c:1616 job.c:2336
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -714,112 +714,112 @@ msgstr ""
"\n"
"失败执行中共有 %d 个å‚数。\n"
-#: job.c:1685
+#: job.c:1735
#, fuzzy, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr "å°†å­è¿›ç¨‹ 0x%08lx (%s) PID %ld%s 放入链。\n"
-#: job.c:1953
+#: job.c:2005
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr ""
-#: job.c:1967
+#: job.c:2019
#, fuzzy, c-format
msgid "Obtained token for child %p (%s).\n"
msgstr "获得至进程 0x%08lx (%s) 的标记。\n"
-#: job.c:1977
+#: job.c:2029
msgid "read jobs pipe"
msgstr "读å–任务管é“"
-#: job.c:2003
+#: job.c:2056
#, fuzzy, c-format
msgid "%s: target '%s' does not exist"
msgstr "touch:归档文件“%sâ€ä¸å­˜åœ¨"
-#: job.c:2005
+#: job.c:2059
#, fuzzy, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%1$s没有规则å¯ä»¥åˆ›å»ºâ€œ%3$sâ€%4$s需è¦çš„目标“%2$sâ€"
-#: job.c:2118
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "无法在本æ“作系统中实施负载é™åˆ¶"
-#: job.c:2120
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "无法实施负载é™åˆ¶ï¼š"
-#: job.c:2199
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“å…¥\n"
-#: job.c:2210
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“出\n"
-#: job.c:2223
+#: job.c:2278
#, fuzzy
msgid "no more file handles: could not duplicate stderr\n"
msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“å…¥\n"
-#: job.c:2238
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "无法还原标准输入\n"
-#: job.c:2246
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "无法还原标准输出\n"
-#: job.c:2254
+#: job.c:2309
#, fuzzy
msgid "Could not restore stderr\n"
msgstr "无法还原标准输入\n"
-#: job.c:2365
+#: job.c:2420
#, fuzzy, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make 已中止的å­è¿›ç¨‹ pid %ld,ä»åœ¨ç­‰å¾… pid %ld\n"
-#: job.c:2403
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s:命令未找到"
-#: job.c:2463
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s:未找到 shell 程åº"
-#: job.c:2472
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: 环境å˜é‡ç©ºé—´å¯èƒ½ä¼šè€—å°½"
-#: job.c:2709
+#: job.c:2765
#, fuzzy, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL å·²æ”¹å˜ (原为“%sâ€ï¼ŒçŽ°ä¸ºâ€œ%sâ€)\n"
-#: job.c:3140 job.c:3325
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "正在创建临时批文件 %s\n"
-#: job.c:3148
+#: job.c:3206
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
-#: job.c:3337
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3444
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (行 %d) 错误的 shell 上下文 (!unixy && !batch_mode_shell)\n"
@@ -828,49 +828,49 @@ msgstr "%s (行 %d) 错误的 shell 上下文 (!unixy && !batch_mode_shell)\n"
msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-#: load.c:53
+#: load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr ""
-#: load.c:87
+#: load.c:97
#, c-format
msgid "Loaded object %s is not declared to be GPL compatible"
msgstr ""
-#: load.c:92
+#: load.c:104
#, c-format
msgid "Failed to load symbol %s from %s: %s"
msgstr ""
-#: load.c:136
+#: load.c:149
#, c-format
msgid "Empty symbol name for load: %s"
msgstr ""
-#: load.c:191
+#: load.c:205
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr ""
-#: load.c:229
+#: load.c:244
#, fuzzy
msgid "The 'load' operation is not supported on this platform."
msgstr "本平å°ä¸æ”¯æŒå¹¶è¡Œä»»åŠ¡ (-j)。"
-#: main.c:312
+#: main.c:313
msgid "Options:\n"
msgstr "选项:\n"
-#: main.c:313
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m 忽略兼容性。\n"
-#: main.c:315
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make æ— æ¡ä»¶ make 所有目标。\n"
-#: main.c:317
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -878,16 +878,16 @@ msgstr ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" 在执行å‰å…ˆåˆ‡æ¢åˆ° DIRECTORY 目录。\n"
-#: main.c:320
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d 打å°å¤§é‡è°ƒè¯•ä¿¡æ¯ã€‚\n"
-#: main.c:322
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr " --debug[=FLAGS] 打å°å„ç§è°ƒè¯•ä¿¡æ¯ã€‚\n"
-#: main.c:324
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -895,12 +895,12 @@ msgstr ""
" -e, --environment-overrides\n"
" 环境å˜é‡è¦†ç›– makefile 中的å˜é‡ã€‚\n"
-#: main.c:327
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:329
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -908,16 +908,16 @@ msgstr ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" 从 FILE 中读入 makefile。\n"
-#: main.c:332
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help 打å°è¯¥æ¶ˆæ¯å¹¶é€€å‡ºã€‚\n"
-#: main.c:334
+#: main.c:335
#, fuzzy
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors 忽略æ¥è‡ªå‘½ä»¤çš„错误。\n"
-#: main.c:336
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -925,19 +925,19 @@ msgstr ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" 在 DIRECTORY 中æœç´¢è¢«åŒ…å«çš„ makefile。\n"
-#: main.c:339
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
" -j [N], --jobs[=N] åŒæ—¶å…许 N 个任务;无å‚数表明å…许无é™ä¸ªä»»åŠ¡ã€‚\n"
-#: main.c:341
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr " -k, --keep-going 当æŸäº›ç›®æ ‡æ— æ³•åˆ›å»ºæ—¶ä»ç„¶ç»§ç»­ã€‚\n"
-#: main.c:343
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -946,14 +946,14 @@ msgstr ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" 在系统负载高于 N æ—¶ä¸å¯åŠ¨å¤šä»»åŠ¡ã€‚\n"
-#: main.c:346
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
" -L, --check-symlink-times 使用软链接åŠè½¯é“¾æŽ¥ç›®æ ‡ä¸­ä¿®æ”¹æ—¶é—´è¾ƒæ™šçš„一个。\n"
-#: main.c:348
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -963,7 +963,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" åªæ‰“å°å‘½ä»¤ï¼Œä¸å®žé™…执行。\n"
-#: main.c:351
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -972,17 +972,17 @@ msgstr ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" å°† FILE 当åšå¾ˆæ—§ï¼Œä¸å¿…é‡æ–°ç”Ÿæˆã€‚\n"
-#: main.c:354
+#: main.c:355
msgid ""
" -O[TYPE], --output-sync[=TYPE]\n"
" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-#: main.c:357
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base æ‰“å° make 的内部数æ®åº“。\n"
-#: main.c:359
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
@@ -990,20 +990,20 @@ msgid ""
msgstr ""
" -q, --question ä¸è¿è¡Œä»»ä½•å‘½ä»¤ï¼›é€€å‡ºçŠ¶æ€è¯´æ˜Žæ˜¯å¦å·²å…¨éƒ¨æ›´æ–°ã€‚\n"
-#: main.c:361
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr " -r, --no-builtin-rules ç¦ç”¨å†…ç½®éšå«è§„则。\n"
-#: main.c:363
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr " -R, --no-builtin-variables ç¦ç”¨å†…ç½®å˜é‡è®¾ç½®ã€‚\n"
-#: main.c:365
+#: main.c:366
#, fuzzy
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet ä¸è¾“出命令。\n"
-#: main.c:367
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -1011,31 +1011,31 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" 关闭 -k。\n"
-#: main.c:370
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr " -t, --touch touch 目标而ä¸æ˜¯é‡æ–°åˆ›å»ºå®ƒä»¬ã€‚\n"
-#: main.c:372
+#: main.c:373
#, fuzzy
msgid " --trace Print tracing information.\n"
msgstr " --debug[=FLAGS] 打å°å„ç§è°ƒè¯•ä¿¡æ¯ã€‚\n"
-#: main.c:374
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version æ‰“å° make 的版本å·å¹¶é€€å‡ºã€‚\n"
-#: main.c:376
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory 打å°å½“å‰ç›®å½•ã€‚\n"
-#: main.c:378
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr " --no-print-directory 关闭 -w,å³ä½¿ -w 默认开å¯ã€‚\n"
-#: main.c:380
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1043,37 +1043,32 @@ msgstr ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" å°† FILE 当åšæœ€æ–°ã€‚\n"
-#: main.c:383
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr " --warn-undefined-variables 当引用未定义å˜é‡çš„时候å‘出警告。\n"
-#: main.c:647
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "空字符串是无效的文件å"
-#: main.c:734
+#: main.c:737
#, fuzzy, c-format
msgid "unknown debug level specification '%s'"
msgstr "未知的调试级别“%sâ€"
-#: main.c:777
+#: main.c:774
#, c-format
msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:787
-#, fuzzy
-msgid "internal error: multiple --sync-mutex options"
-msgstr "内部错误:多个 --jobserver-fds 选项"
-
-#: main.c:848
+#: main.c:828
#, fuzzy, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s:æ•èŽ·ä¸­æ–­/异常 (ä»£ç  = 0x%lx, åœ°å€ = 0x%lx)\n"
-#: main.c:855
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -1088,180 +1083,176 @@ msgstr ""
"异常标志 = %lx\n"
"å¼‚å¸¸åœ°å€ = %lx\n"
-#: main.c:863
+#: main.c:843
#, fuzzy, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "访问冲çªï¼šåœ°å€ %lx 处的写æ“作\n"
-#: main.c:864
+#: main.c:844
#, fuzzy, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "访问冲çªï¼šåœ°å€ %lx处的读æ“作\n"
-#: main.c:940 main.c:955
+#: main.c:920 main.c:935
#, fuzzy, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr "find_and_set_shell 设置 default_shell = %s\n"
-#: main.c:1008
+#: main.c:988
#, fuzzy, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr "find_and_set_shell 路径æœç´¢ç»“果设置 default_shell = %s\n"
-#: main.c:1447
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s 正在挂起 30 秒..."
-#: main.c:1449
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "ç¡çœ å®Œæˆ(30)。继续。\n"
-#: main.c:1534
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "内部错误:多个 --jobserver-fds 选项"
-
-#: main.c:1544
+#: main.c:1527
#, c-format
msgid ""
"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1547
+#: main.c:1530
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1551
+#: main.c:1534
#, fuzzy, c-format
msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "内部错误:éžæ³• --jobserver-fds 字符串“%sâ€"
-#: main.c:1554
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1567
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "警告: å­ make 中强制 -jN: 关闭 jobserver 模å¼ã€‚"
-#: main.c:1583
+#: main.c:1567
msgid "dup jobserver"
msgstr "å¤åˆ¶ä»»åŠ¡æœåŠ¡å™¨"
-#: main.c:1586
+#: main.c:1570
#, fuzzy
msgid ""
"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr "警告: jobserver ä¸å­˜åœ¨: 使用 -j1。添加 “+†到父 make 的规则。"
-#: main.c:1752
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "两次指明æ¥è‡ªæ ‡å‡†è¾“入的 makefile。"
-#: main.c:1790 vmsjobs.c:496
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (临时文件)"
-#: main.c:1796
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (临时文件)"
-#: main.c:1984
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "本平å°ä¸æ”¯æŒå¹¶è¡Œä»»åŠ¡ (-j)。"
-#: main.c:1985
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "é‡ç½®ä¸ºå•ä»»åŠ¡æ¨¡å¼ (-j1)。"
-#: main.c:2006
+#: main.c:1994
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:2012
+#: main.c:2002
#, c-format
msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:2019
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "正在创建任务管é“"
-#: main.c:2039
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "创始化任务æœåŠ¡å™¨ç®¡é“"
-#: main.c:2064
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "ä¸æ”¯æŒè½¯é“¾æŽ¥: 关闭 -L"
-#: main.c:2149
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "正在更新 makefile....\n"
-#: main.c:2174
+#: main.c:2158
#, fuzzy, c-format
msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Makefile “%sâ€å¯èƒ½å¾ªçŽ¯ï¼›ä¸ä¼šé‡æ–°åˆ›å»ºå®ƒã€‚\n"
-#: main.c:2253
+#: main.c:2237
#, fuzzy, c-format
msgid "Failed to remake makefile '%s'."
msgstr "é‡æ–°åˆ›å»º makefile “%s†失败。"
-#: main.c:2270
+#: main.c:2257
#, fuzzy, c-format
msgid "Included makefile '%s' was not found."
msgstr "找ä¸åˆ°è¢«å¼•å…¥çš„ makefile “%sâ€"
-#: main.c:2275
+#: main.c:2262
#, fuzzy, c-format
msgid "Makefile '%s' was not found"
msgstr "找ä¸åˆ° makefile “%sâ€"
-#: main.c:2341
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "无法回到原始目录。"
-#: main.c:2354
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "é‡æ–°æ‰§è¡Œ[%u]:"
-#: main.c:2463
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "删除 (临时文件):"
-#: main.c:2495
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL 包å«å¤šä½™ä¸€ä¸ªç›®æ ‡"
-#: main.c:2518
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "没有指明目标并且找ä¸åˆ° makefile"
-#: main.c:2520
+#: main.c:2511
msgid "No targets"
msgstr "无目标"
-#: main.c:2525
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "更新目标....\n"
-#: main.c:2550
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "警告:检测到时钟错误。您的创建å¯èƒ½æ˜¯ä¸å®Œæ•´çš„。"
-#: main.c:2718
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "用法:%s [选项] [目标] ...\n"
-#: main.c:2724
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1270,7 +1261,7 @@ msgstr ""
"\n"
"该程åºä¸º %s 编译\n"
-#: main.c:2726
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1279,36 +1270,36 @@ msgstr ""
"\n"
"该程åºä¸º %s (%s) 编译\n"
-#: main.c:2729
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "报告错误到 <bug-make@gnu.org>\n"
-#: main.c:2810
+#: main.c:2807
#, fuzzy, c-format
msgid "the '%s%s' option requires a non-empty string argument"
msgstr "“-%câ€é€‰é¡¹éœ€è¦éžç©ºå­—符串å‚æ•°"
-#: main.c:2864
+#: main.c:2871
#, fuzzy, c-format
msgid "the '-%c' option requires a positive integer argument"
msgstr "“-%câ€é€‰é¡¹éœ€è¦æ­£æ•´æ•°å‚æ•°"
-#: main.c:3253
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%s该程åºä¸º %s 编译\n"
-#: main.c:3255
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%s该程åºä¸º %s (%s) 编译\n"
-#: main.c:3266
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1317,7 +1308,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3287
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1326,7 +1317,7 @@ msgstr ""
"\n"
"# make æ•°æ®åŸºç¡€ï¼Œæ‰“å°åœ¨ %s"
-#: main.c:3297
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1340,10 +1331,6 @@ msgstr ""
msgid "Unknown error %d"
msgstr "未知错误 %d"
-#: misc.c:222 misc.c:233 misc.c:248 misc.c:265 misc.c:284 read.c:3272
-msgid "virtual memory exhausted"
-msgstr "虚拟内存耗尽"
-
#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
@@ -1365,65 +1352,61 @@ msgstr "Make æƒé™"
msgid "Child access"
msgstr "å­è¿›ç¨‹ æƒé™"
-#: output.c:128
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: 进入一个未知的目录\n"
-#: output.c:130
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: 离开一个未知的目录\n"
-#: output.c:133
+#: output.c:109
#, fuzzy, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: 进入目录“%sâ€\n"
-#: output.c:135
+#: output.c:111
#, fuzzy, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: 离开目录“%sâ€\n"
-#: output.c:139
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: 进入一个未知的目录\n"
-#: output.c:141
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: 离开一个未知的目录\n"
-#: output.c:144
+#: output.c:120
#, fuzzy, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: 进入目录“%sâ€\n"
-#: output.c:146
+#: output.c:122
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: 离开目录“%sâ€\n"
-#: output.c:515
-#, c-format
-msgid "write error: %s"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "写错误: %s"
-#: output.c:517
-msgid "write error"
-msgstr "写错误"
-
-#: output.c:740
+#: output.c:677
msgid ". Stop.\n"
msgstr "。 åœæ­¢ã€‚\n"
-#: output.c:751
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: output.c:759
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -1432,359 +1415,365 @@ msgstr "%s: %s"
msgid "Reading makefiles...\n"
msgstr "正在读入 makefiles...\n"
-#: read.c:333
+#: read.c:335
#, fuzzy, c-format
msgid "Reading makefile '%s'"
msgstr "正在读入 makefile “%sâ€"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (没有缺çœç›®æ ‡)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (æœç´¢è·¯å¾„)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (ä¸ç”¨ç†)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (没有 ~ 扩展)"
-#: read.c:652
+#: read.c:656
#, c-format
msgid "Skipping UTF-8 BOM in makefile '%s'\n"
msgstr ""
-#: read.c:655
+#: read.c:659
#, c-format
msgid "Skipping UTF-8 BOM in makefile buffer\n"
msgstr ""
-#: read.c:786
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "æ¡ä»¶ä¸­å«æœ‰æ— æ•ˆè¯­æ³•"
-#: read.c:961
+#: read.c:966
#, c-format
msgid "%s: failed to load"
msgstr ""
-#: read.c:987
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "命令在第一个目标å‰å¼€å§‹"
-#: read.c:1036
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "命令之å‰é—æ¼äº†è§„则"
-#: read.c:1123
-#, c-format
-msgid "missing separator%s"
-msgstr "é—æ¼åˆ†éš”符 %s"
-
-#: read.c:1125
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (您的æ„æ€æ˜¯ç”¨ TAB 代替 8 个空格?)"
-#: read.c:1263
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "é—æ¼åˆ†éš”符 %s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "无目标匹é…"
-#: read.c:1265
+#: read.c:1272
msgid "multiple target patterns"
msgstr "多个目标匹é…"
-#: read.c:1269
+#: read.c:1276
#, fuzzy, c-format
msgid "target pattern contains no '%%'"
msgstr "目标模å¼ä¸å«æœ‰â€œ%%â€"
-#: read.c:1391
+#: read.c:1398
#, fuzzy
msgid "missing 'endif'"
msgstr "é—æ¼â€œendifâ€"
-#: read.c:1430 read.c:1475 variable.c:1554
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "空å˜é‡å"
-#: read.c:1465
+#: read.c:1471
#, fuzzy
msgid "extraneous text after 'define' directive"
msgstr "“endefâ€æŒ‡ä»¤åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字"
-#: read.c:1490
+#: read.c:1496
#, fuzzy
msgid "missing 'endef', unterminated 'define'"
msgstr "é—æ¼â€œendefâ€ï¼Œæœªç»ˆæ­¢çš„“defineâ€"
-#: read.c:1518
+#: read.c:1524
#, fuzzy
msgid "extraneous text after 'endef' directive"
msgstr "“endefâ€æŒ‡ä»¤åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字"
-#: read.c:1589
+#: read.c:1595
#, fuzzy, c-format
msgid "extraneous text after '%s' directive"
msgstr "在“%sâ€æŒ‡ä»¤ä¹‹åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字"
-#: read.c:1598 read.c:1612
+#: read.c:1596
#, fuzzy, c-format
msgid "extraneous '%s'"
msgstr "ä¸è¯¥å‡ºçŽ°çš„“%sâ€"
-#: read.c:1617
+#: read.c:1624
#, fuzzy
msgid "only one 'else' per conditional"
msgstr "æ¯ä¸ªæ¡ä»¶åªèƒ½æœ‰ä¸€ä¸ªâ€œelseâ€"
-#: read.c:1892
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "畸形的针对目标的标é‡å®šä¹‰"
-#: read.c:1951
+#: read.c:1957
#, fuzzy
msgid "prerequisites cannot be defined in recipes"
msgstr "ä¾èµ–无法在命令脚本中定义"
-#: read.c:2009
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "混和的éšå«å’Œé™æ€æ¨¡å¼è§„则"
-#: read.c:2032 read.c:2220
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "混和的éšå«å’Œæ™®é€šè§„则"
-#: read.c:2084
+#: read.c:2091
#, fuzzy, c-format
msgid "target '%s' doesn't match the target pattern"
msgstr "目标“%sâ€ä¸åŒ¹é…目标模å¼"
-#: read.c:2099 read.c:2144
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
msgid "target file '%s' has both : and :: entries"
msgstr "目标文件“%sâ€å«æœ‰ : å’Œ :: 两ç§æ¡ç›®"
-#: read.c:2105
+#: read.c:2112
#, fuzzy, c-format
msgid "target '%s' given more than once in the same rule"
msgstr "目标“%sâ€åœ¨åŒä¸€ä¸ªè§„则中给出了多次。"
-#: read.c:2114
+#: read.c:2122
#, fuzzy, c-format
msgid "warning: overriding recipe for target '%s'"
msgstr "警告:覆盖关于目标“%sâ€çš„命令"
-#: read.c:2117
+#: read.c:2125
#, fuzzy, c-format
msgid "warning: ignoring old recipe for target '%s'"
msgstr "警告:忽略关于目标“%sâ€çš„旧命令"
-#: read.c:2530
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "混和的éšå«å’Œæ™®é€šè§„则"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "警告:é‡åˆ°äº† NUL 字符;忽略行的剩余部分"
-#: remake.c:232
+#: remake.c:230
#, fuzzy, c-format
msgid "Nothing to be done for '%s'."
msgstr "对“%sâ€æ— éœ€åšä»»ä½•äº‹ã€‚"
-#: remake.c:233
+#: remake.c:231
#, fuzzy, c-format
msgid "'%s' is up to date."
msgstr "“%sâ€æ˜¯æœ€æ–°çš„。"
-#: remake.c:305
+#: remake.c:303
#, fuzzy, c-format
msgid "Pruning file '%s'.\n"
msgstr "正在删除文件“%sâ€ã€‚\n"
-#: remake.c:377
-#, fuzzy, c-format
-msgid "%sNo rule to make target '%s'%s"
-msgstr "%s没有规则å¯ä»¥åˆ›å»ºç›®æ ‡â€œ%sâ€%s"
-
-#: remake.c:379
+#: remake.c:390 remake.c:393
#, fuzzy, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%1$s没有规则å¯ä»¥åˆ›å»ºâ€œ%3$sâ€%4$s需è¦çš„目标“%2$sâ€"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%s没有规则å¯ä»¥åˆ›å»ºç›®æ ‡â€œ%sâ€%s"
+
+#: remake.c:426
#, fuzzy, c-format
msgid "Considering target file '%s'.\n"
msgstr "正在考虑目标文件“%sâ€ã€‚\n"
-#: remake.c:420
+#: remake.c:433
#, fuzzy, c-format
msgid "Recently tried and failed to update file '%s'.\n"
msgstr "最近已å°è¯•è¿‡æ›´æ–°æ–‡ä»¶â€œ%sâ€å¹¶å¤±è´¥ã€‚\n"
-#: remake.c:432
+#: remake.c:445
#, fuzzy, c-format
msgid "File '%s' was considered already.\n"
msgstr "已考虑过文件“%sâ€ã€‚\n"
-#: remake.c:442
+#: remake.c:455
#, fuzzy, c-format
msgid "Still updating file '%s'.\n"
msgstr "ä»ç„¶åœ¨æ›´æ–°æ–‡ä»¶â€œ%sâ€ã€‚\n"
-#: remake.c:445
+#: remake.c:458
#, fuzzy, c-format
msgid "Finished updating file '%s'.\n"
msgstr "更新文件“%sâ€å®Œæˆã€‚\n"
-#: remake.c:474
+#: remake.c:487
#, fuzzy, c-format
msgid "File '%s' does not exist.\n"
msgstr "文件“%sâ€ä¸å­˜åœ¨ã€‚\n"
-#: remake.c:481
+#: remake.c:495
#, fuzzy, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr "*** 警告: .LOW_RESOLUTION_TIME 文件 `%s' 有一个精细的时间标志"
-#: remake.c:494 remake.c:1019
+#: remake.c:508 remake.c:1040
#, fuzzy, c-format
msgid "Found an implicit rule for '%s'.\n"
msgstr "找到一æ¡å…³äºŽâ€œ%sâ€çš„éšå«è§„则。\n"
-#: remake.c:496 remake.c:1021
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
msgid "No implicit rule found for '%s'.\n"
msgstr "找ä¸åˆ°å…³äºŽâ€œ%sâ€çš„éšå«è§„则。\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
msgid "Using default recipe for '%s'.\n"
msgstr "使用关于“%sâ€çš„默认命令。\n"
-#: remake.c:535 remake.c:1067
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "放弃循环ä¾èµ– %s <- %s 。"
-#: remake.c:655
+#: remake.c:675
#, fuzzy, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "目标文件“%sâ€çš„å‰æ已完æˆã€‚\n"
-#: remake.c:661
+#: remake.c:681
#, fuzzy, c-format
msgid "The prerequisites of '%s' are being made.\n"
msgstr "正在创建“%sâ€çš„å‰æ。\n"
-#: remake.c:674
+#: remake.c:695
#, fuzzy, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "放弃目标文件“%sâ€ã€‚\n"
-#: remake.c:679
+#: remake.c:700
#, fuzzy, c-format
msgid "Target '%s' not remade because of errors."
msgstr "由于错误目标“%sâ€å¹¶æœªé‡æ–°åˆ›å»ºã€‚"
-#: remake.c:731
+#: remake.c:752
#, fuzzy, c-format
msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "“%sâ€æ˜¯ç›®æ ‡â€œ%sâ€çš„一个仅用于指定执行顺åº(order-only)çš„å‰æ。\n"
-#: remake.c:736
+#: remake.c:757
#, fuzzy, c-format
msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "目标“%2$sâ€çš„å‰æ“%1$sâ€ä¸å­˜åœ¨ã€‚\n"
-#: remake.c:741
+#: remake.c:762
#, fuzzy, c-format
msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "å‰æ“%sâ€æ¯”目标“%sâ€æ–°ã€‚\n"
-#: remake.c:744
+#: remake.c:765
#, fuzzy, c-format
msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "å‰æ“%sâ€æ¯”目标“%sâ€æ—§ã€‚\n"
-#: remake.c:762
+#: remake.c:783
#, fuzzy, c-format
msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "目标“%sâ€æ˜¯åŒå†’å·ç›®æ ‡å¹¶ä¸”没有å‰æ。\n"
-#: remake.c:769
+#: remake.c:790
#, fuzzy, c-format
msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "没有关于“%sâ€çš„命令,并且实际上改å˜äº†çš„å‰æ。\n"
-#: remake.c:774
+#: remake.c:795
#, fuzzy, c-format
msgid "Making '%s' due to always-make flag.\n"
msgstr "由于 always-make 标志所以 make “%sâ€ã€‚\n"
-#: remake.c:782
+#: remake.c:803
#, fuzzy, c-format
msgid "No need to remake target '%s'"
msgstr "ä¸éœ€è¦é‡æ–°åˆ›å»ºç›®æ ‡â€œ%sâ€"
-#: remake.c:784
+#: remake.c:805
#, fuzzy, c-format
msgid "; using VPATH name '%s'"
msgstr ";使用 VPATH å称“%sâ€"
-#: remake.c:804
+#: remake.c:825
#, fuzzy, c-format
msgid "Must remake target '%s'.\n"
msgstr "å¿…é¡»é‡æ–°åˆ›å»ºç›®æ ‡â€œ%sâ€ã€‚\n"
-#: remake.c:810
+#: remake.c:831
#, fuzzy, c-format
msgid " Ignoring VPATH name '%s'.\n"
msgstr " 忽略 VPATH å称 `%s'。\n"
-#: remake.c:819
+#: remake.c:840
#, fuzzy, c-format
msgid "Recipe of '%s' is being run.\n"
msgstr "“%sâ€çš„命令正在被执行。\n"
-#: remake.c:826
+#: remake.c:847
#, fuzzy, c-format
msgid "Failed to remake target file '%s'.\n"
msgstr "é‡æ–°åˆ›å»ºç›®æ ‡æ–‡ä»¶â€œ%sâ€å¤±è´¥ã€‚\n"
-#: remake.c:829
+#: remake.c:850
#, fuzzy, c-format
msgid "Successfully remade target file '%s'.\n"
msgstr "é‡æ–°åˆ›å»ºç›®æ ‡æ–‡ä»¶â€œ%sâ€æˆåŠŸã€‚\n"
-#: remake.c:832
+#: remake.c:853
#, fuzzy, c-format
msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "目标文件“%sâ€éœ€è¦ä»¥ -q 选项é‡æ–°åˆ›å»ºã€‚\n"
-#: remake.c:1027
+#: remake.c:1048
#, fuzzy, c-format
msgid "Using default commands for '%s'.\n"
msgstr "使用关于“%sâ€çš„默认命令。\n"
-#: remake.c:1372
+#: remake.c:1397
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time in the future"
msgstr "警告:文件“%sâ€çš„修改时间在未æ¥"
-#: remake.c:1385
+#: remake.c:1411
#, fuzzy, c-format
msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "警告:文件“%sâ€çš„修改时间在 %.2g 秒åŽ"
-#: remake.c:1583
+#: remake.c:1610
#, fuzzy, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS 的元素“%sâ€ä¸æ˜¯ä¸€ä¸ªæ¨¡å¼"
@@ -1794,7 +1783,7 @@ msgstr ".LIBPATTERNS 的元素“%sâ€ä¸æ˜¯ä¸€ä¸ªæ¨¡å¼"
msgid "Customs won't export: %s\n"
msgstr "用户ä¸å¸Œæœ›å¯¼å‡ºï¼š%s\n"
-#: rule.c:496
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1802,7 +1791,7 @@ msgstr ""
"\n"
"# éšå«è§„则。"
-#: rule.c:511
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1810,7 +1799,7 @@ msgstr ""
"\n"
"# 没有éšå«è§„则。"
-#: rule.c:514
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1819,11 +1808,11 @@ msgstr ""
"\n"
"# %u æ¡éšå«è§„则,%u"
-#: rule.c:523
+#: rule.c:522
msgid " terminal."
msgstr " 终端。"
-#: rule.c:531
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "错误:num_pattern_rules 出错ï¼%u != %u"
@@ -2033,45 +2022,45 @@ msgstr ""
"# 文件æ‚凑表状æ€:\n"
"# "
-#: variable.c:1607
+#: variable.c:1599
msgid "automatic"
msgstr "自动"
-#: variable.c:1610
+#: variable.c:1602
msgid "default"
msgstr "默认"
-#: variable.c:1613
+#: variable.c:1605
msgid "environment"
msgstr "环境"
-#: variable.c:1616
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1619
+#: variable.c:1611
msgid "environment under -e"
msgstr "-e 指定的环境å˜é‡"
-#: variable.c:1622
+#: variable.c:1614
msgid "command line"
msgstr "命令行"
-#: variable.c:1625
+#: variable.c:1617
#, fuzzy
msgid "'override' directive"
msgstr "“overrideâ€æŒ‡ä»¤"
-#: variable.c:1636
+#: variable.c:1628
#, fuzzy, c-format
msgid " (from '%s', line %lu)"
msgstr " (从“%sâ€ï¼Œè¡Œ %lu)"
-#: variable.c:1699
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# å˜é‡çš„æ‚凑表状æ€:\n"
-#: variable.c:1710
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2079,7 +2068,7 @@ msgstr ""
"\n"
"# å˜é‡\n"
-#: variable.c:1714
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -2087,7 +2076,7 @@ msgstr ""
"\n"
"# Pattern-specific å˜é‡å€¼"
-#: variable.c:1728
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -2095,7 +2084,7 @@ msgstr ""
"\n"
"# 没有 pattern-specific å˜é‡çš„值。"
-#: variable.c:1730
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -2114,77 +2103,82 @@ msgstr "警告:未定义的å˜é‡â€œ%.*sâ€"
msgid "sys$search() failed with %d\n"
msgstr "sys$search 失败并返回 %d\n"
-#: vmsjobs.c:70
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "警告:空的é‡å®šå‘\n"
-#: vmsjobs.c:178
+#: vmsjobs.c:183
#, fuzzy, c-format
msgid "internal error: '%s' command_state"
msgstr "内部错误:“%s†command_state"
-#: vmsjobs.c:286
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-警告, ä½ å¯èƒ½å¿…须从 DCL é‡æ–°å¯ç”¨ CTRL-Y。\n"
-#: vmsjobs.c:417
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:428
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:446
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:467
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "未知的内置命令“%sâ€\n"
-#: vmsjobs.c:489
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
+
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "错误,空命令\n"
-#: vmsjobs.c:502
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "æ¥è‡ª %s çš„é‡å®šå‘输入\n"
-#: vmsjobs.c:509
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "到 %s çš„é‡å®šå‘错误输出\n"
-#: vmsjobs.c:518
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "到 %s çš„é‡å®šå‘输出\n"
-#: vmsjobs.c:524
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "到 %s çš„é‡å®šå‘输出\n"
-#: vmsjobs.c:593
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:600
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "执行 %s 作为替代\n"
-#: vmsjobs.c:706
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "错误产生,%d\n"
@@ -2239,6 +2233,22 @@ msgstr ""
#~ msgid "unknown trace mode '%s'"
#~ msgstr "未知的内置命令“%sâ€\n"
+#, fuzzy
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "内部错误:多个 --jobserver-fds 选项"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "内部错误:多个 --jobserver-fds 选项"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "虚拟内存耗尽"
+
+#~ msgid "write error"
+#~ msgstr "写错误"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "*** [%s] Error 0x%x (ignored)"
#~ msgstr "*** [%s] 错误 0x%x (忽略)"
diff --git a/read.c b/read.c
index 15d1b13..6ff4bcc 100644
--- a/read.c
+++ b/read.c
@@ -1,5 +1,5 @@
/* Reading and parsing of makefiles for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -238,7 +238,7 @@ read_all_makefiles (const char **makefiles)
if (num_makefiles == 0)
{
- static char *default_makefiles[] =
+ static const char *default_makefiles[] =
#ifdef VMS
/* all lower case since readdir() (the vms version) 'lowercasifies' */
{ "makefile.vms", "gnumakefile.", "makefile.", 0 };
@@ -246,10 +246,14 @@ read_all_makefiles (const char **makefiles)
#ifdef _AMIGA
{ "GNUmakefile", "Makefile", "SMakefile", 0 };
#else /* !Amiga && !VMS */
+#ifdef WINDOWS32
+ { "GNUmakefile", "makefile", "Makefile", "makefile.mak", 0 };
+#else /* !Amiga && !VMS && !WINDOWS32 */
{ "GNUmakefile", "makefile", "Makefile", 0 };
+#endif /* !Amiga && !VMS && !WINDOWS32 */
#endif /* AMIGA */
#endif /* VMS */
- register char **p = default_makefiles;
+ const char **p = default_makefiles;
while (*p != 0 && !file_exists_p (*p))
++p;
@@ -307,10 +311,8 @@ static void
restore_conditionals (struct conditionals *saved)
{
/* Free any space allocated by conditional_line. */
- if (conditionals->ignoring)
- free (conditionals->ignoring);
- if (conditionals->seen_else)
- free (conditionals->seen_else);
+ free (conditionals->ignoring);
+ free (conditionals->seen_else);
/* Restore state. */
conditionals = saved;
@@ -368,7 +370,10 @@ eval_makefile (const char *filename, int flags)
case ENFILE:
#endif
case ENOMEM:
- fatal (reading_file, "%s", strerror (makefile_errno));
+ {
+ const char *err = strerror (makefile_errno);
+ OS (fatal, reading_file, "%s", err);
+ }
}
/* If the makefile wasn't found and it's either a makefile from
@@ -406,8 +411,7 @@ eval_makefile (const char *filename, int flags)
if (flags & RM_DONTCARE)
deps->dontcare = 1;
- if (expanded)
- free (expanded);
+ free (expanded);
/* If the makefile can't be found at all, give up entirely. */
@@ -704,8 +708,7 @@ eval (struct ebuffer *ebuf, int set_default)
if (collapsed_length < linelen+1)
{
collapsed_length = linelen+1;
- if (collapsed)
- free (collapsed);
+ free (collapsed);
/* Don't need xrealloc: we don't need to preserve the content. */
collapsed = xmalloc (collapsed_length);
}
@@ -783,7 +786,7 @@ eval (struct ebuffer *ebuf, int set_default)
if (i != -2)
{
if (i == -1)
- fatal (fstart, _("invalid syntax in conditional"));
+ O (fatal, fstart, _("invalid syntax in conditional"));
ignoring = i;
continue;
@@ -853,8 +856,7 @@ eval (struct ebuffer *ebuf, int set_default)
/* No pattern means remove all previous selective VPATH's. */
vpat = 0;
construct_vpath_list (vpat, p);
- if (vpat != 0)
- free (vpat);
+ free (vpat);
continue;
}
@@ -912,7 +914,10 @@ eval (struct ebuffer *ebuf, int set_default)
| (noerror ? RM_DONTCARE : 0)
| (set_default ? 0 : RM_NO_DEFAULT_GOAL)));
if (!r && !noerror)
- error (fstart, "%s: %s", name, strerror (errno));
+ {
+ const char *err = strerror (errno);
+ OSS (error, fstart, "%s: %s", name, err);
+ }
}
/* Restore conditional state. */
@@ -958,7 +963,7 @@ eval (struct ebuffer *ebuf, int set_default)
/* Load the file. 0 means failure. */
r = load_file (&ebuf->floc, &name, noerror);
if (! r && ! noerror)
- fatal (&ebuf->floc, _("%s: failed to load"), name);
+ OS (fatal, &ebuf->floc, _("%s: failed to load"), name);
free_ns (files);
files = next;
@@ -984,7 +989,7 @@ eval (struct ebuffer *ebuf, int set_default)
was no preceding target, and the line might have been usable as a
variable definition. But now we know it is definitely lossage. */
if (line[0] == cmd_prefix)
- fatal (fstart, _("recipe commences before first target"));
+ O (fatal, fstart, _("recipe commences before first target"));
/* This line describes some target files. This is complicated by
the existence of target-specific variables, because we can't
@@ -1033,7 +1038,7 @@ eval (struct ebuffer *ebuf, int set_default)
{
case w_eol:
if (cmdleft != 0)
- fatal (fstart, _("missing rule before recipe"));
+ O (fatal, fstart, _("missing rule before recipe"));
/* This line contained something but turned out to be nothing
but whitespace (a comment?). */
continue;
@@ -1117,13 +1122,15 @@ eval (struct ebuffer *ebuf, int set_default)
it. If so, we can't parse this line so punt. */
if (wtype == w_eol)
{
- if (*p2 != '\0')
- /* There's no need to be ivory-tower about this: check for
- one of the most common bugs found in makefiles... */
- fatal (fstart, _("missing separator%s"),
- (cmd_prefix == '\t' && !strneq (line, " ", 8))
- ? "" : _(" (did you mean TAB instead of 8 spaces?)"));
- continue;
+ if (*p2 == '\0')
+ continue;
+
+ /* There's no need to be ivory-tower about this: check for
+ one of the most common bugs found in makefiles... */
+ if (cmd_prefix == '\t' && strneq (line, " ", 8))
+ O (fatal, fstart, _("missing separator (did you mean TAB instead of 8 spaces?)"));
+ else
+ O (fatal, fstart, _("missing separator"));
}
/* Make the colon the end-of-string so we know where to stop
@@ -1260,13 +1267,13 @@ eval (struct ebuffer *ebuf, int set_default)
PARSEFS_NOGLOB);
++p2;
if (target == 0)
- fatal (fstart, _("missing target pattern"));
+ O (fatal, fstart, _("missing target pattern"));
else if (target->next != 0)
- fatal (fstart, _("multiple target patterns"));
+ O (fatal, fstart, _("multiple target patterns"));
pattern_percent = find_percent_cached (&target->name);
pattern = target->name;
if (pattern_percent == 0)
- fatal (fstart, _("target pattern contains no '%%'"));
+ O (fatal, fstart, _("target pattern contains no '%%'"));
free_ns (target);
}
else
@@ -1388,13 +1395,12 @@ eval (struct ebuffer *ebuf, int set_default)
#undef word1eq
if (conditionals->if_cmds)
- fatal (fstart, _("missing 'endif'"));
+ O (fatal, fstart, _("missing 'endif'"));
/* At eof, record the last rule. */
record_waiting_files ();
- if (collapsed)
- free (collapsed);
+ free (collapsed);
free (commands);
}
@@ -1427,7 +1433,7 @@ do_undefine (char *name, enum variable_origin origin, struct ebuffer *ebuf)
var = allocated_variable_expand (name);
name = next_token (var);
if (*name == '\0')
- fatal (&ebuf->floc, _("empty variable name"));
+ O (fatal, &ebuf->floc, _("empty variable name"));
p = name + strlen (name) - 1;
while (p > name && isblank ((unsigned char)*p))
--p;
@@ -1462,7 +1468,7 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
else
{
if (var.value[0] != '\0')
- error (&defstart, _("extraneous text after 'define' directive"));
+ O (error, &defstart, _("extraneous text after 'define' directive"));
/* Chop the string before the assignment token to get the name. */
var.name[var.length] = '\0';
@@ -1472,7 +1478,7 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
n = allocated_variable_expand (name);
name = next_token (n);
if (name[0] == '\0')
- fatal (&defstart, _("empty variable name"));
+ O (fatal, &defstart, _("empty variable name"));
p = name + strlen (name) - 1;
while (p > name && isblank ((unsigned char)*p))
--p;
@@ -1487,7 +1493,7 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
/* If there is nothing left to be eval'd, there's no 'endef'!! */
if (nlines < 0)
- fatal (&defstart, _("missing 'endef', unterminated 'define'"));
+ O (fatal, &defstart, _("missing 'endef', unterminated 'define'"));
ebuf->floc.lineno += nlines;
line = ebuf->buffer;
@@ -1514,8 +1520,8 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
p += 5;
remove_comments (p);
if (*(next_token (p)) != '\0')
- error (&ebuf->floc,
- _("extraneous text after 'endef' directive"));
+ O (error, &ebuf->floc,
+ _("extraneous text after 'endef' directive"));
if (--nlevels == 0)
break;
@@ -1564,7 +1570,7 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
static int
conditional_line (char *line, int len, const gmk_floc *flocp)
{
- char *cmdname;
+ const char *cmdname;
enum { c_ifdef, c_ifndef, c_ifeq, c_ifneq, c_else, c_endif } cmdtype;
unsigned int i;
unsigned int o;
@@ -1586,16 +1592,17 @@ conditional_line (char *line, int len, const gmk_floc *flocp)
/* Found one: skip past it and any whitespace after it. */
line = next_token (line + len);
-#define EXTRANEOUS() error (flocp, _("extraneous text after '%s' directive"), cmdname)
+#define EXTRATEXT() OS (error, flocp, _("extraneous text after '%s' directive"), cmdname)
+#define EXTRACMD() OS (fatal, flocp, _("extraneous '%s'"), cmdname)
/* An 'endif' cannot contain extra text, and reduces the if-depth by 1 */
if (cmdtype == c_endif)
{
if (*line != '\0')
- EXTRANEOUS ();
+ EXTRATEXT ();
if (!conditionals->if_cmds)
- fatal (flocp, _("extraneous '%s'"), cmdname);
+ EXTRACMD ();
--conditionals->if_cmds;
@@ -1609,12 +1616,12 @@ conditional_line (char *line, int len, const gmk_floc *flocp)
const char *p;
if (!conditionals->if_cmds)
- fatal (flocp, _("extraneous '%s'"), cmdname);
+ EXTRACMD ();
o = conditionals->if_cmds - 1;
if (conditionals->seen_else[o])
- fatal (flocp, _("only one 'else' per conditional"));
+ O (fatal, flocp, _("only one 'else' per conditional"));
/* Change the state of ignorance. */
switch (conditionals->ignoring[o])
@@ -1647,7 +1654,7 @@ conditional_line (char *line, int len, const gmk_floc *flocp)
/* If it's 'else' or 'endif' or an illegal conditional, fail. */
if (word1eq ("else") || word1eq ("endif")
|| conditional_line (line, len, flocp) < 0)
- EXTRANEOUS ();
+ EXTRATEXT ();
else
{
/* conditional_line() created a new level of conditional.
@@ -1804,7 +1811,7 @@ conditional_line (char *line, int len, const gmk_floc *flocp)
*line = '\0';
line = next_token (++line);
if (*line != '\0')
- EXTRANEOUS ();
+ EXTRATEXT ();
s2 = variable_expand (s2);
conditionals->ignoring[o] = (streq (s1, s2) == (cmdtype == c_ifneq));
@@ -1889,7 +1896,7 @@ record_target_var (struct nameseq *filenames, char *defn,
current_variable_set_list = f->variables;
v = try_variable_definition (flocp, defn, origin, 1);
if (!v)
- fatal (flocp, _("Malformed target-specific variable definition"));
+ O (fatal, flocp, _("Malformed target-specific variable definition"));
current_variable_set_list = global;
}
@@ -1909,8 +1916,7 @@ record_target_var (struct nameseq *filenames, char *defn,
if (gv && v != gv
&& (gv->origin == o_env_override || gv->origin == o_command))
{
- if (v->value != 0)
- free (v->value);
+ free (v->value);
v->value = xstrdup (gv->value);
v->origin = gv->origin;
v->recursive = gv->recursive;
@@ -1948,7 +1954,7 @@ record_files (struct nameseq *filenames, const char *pattern,
at this time, since they won't get snapped and we'll get core dumps.
See Savannah bug # 12124. */
if (snapped_deps)
- fatal (flocp, _("prerequisites cannot be defined in recipes"));
+ O (fatal, flocp, _("prerequisites cannot be defined in recipes"));
/* Determine if this is a pattern rule or not. */
name = filenames->name;
@@ -2006,7 +2012,7 @@ record_files (struct nameseq *filenames, const char *pattern,
unsigned int c;
if (pattern != 0)
- fatal (flocp, _("mixed implicit and static pattern rules"));
+ O (fatal, flocp, _("mixed implicit and static pattern rules"));
/* Count the targets to create an array of target names.
We already have the first one. */
@@ -2029,7 +2035,7 @@ record_files (struct nameseq *filenames, const char *pattern,
implicit_percent = find_percent_cached (&name);
if (implicit_percent == 0)
- fatal (flocp, _("mixed implicit and normal rules"));
+ O (fatal, flocp, _("mixed implicit and normal rules"));
targets[c] = name;
target_pats[c] = implicit_percent;
@@ -2081,7 +2087,8 @@ record_files (struct nameseq *filenames, const char *pattern,
'targets: target%pattern: prereq%pattern; recipe',
make sure the pattern matches this target name. */
if (pattern && !pattern_matches (pattern, pattern_percent, name))
- error (flocp, _("target '%s' doesn't match the target pattern"), name);
+ OS (error, flocp,
+ _("target '%s' doesn't match the target pattern"), name);
else if (deps)
/* If there are multiple targets, copy the chain DEPS for all but the
last one. It is not safe for the same deps to go in more than one
@@ -2095,25 +2102,26 @@ record_files (struct nameseq *filenames, const char *pattern,
if any. */
f = enter_file (strcache_add (name));
if (f->double_colon)
- fatal (flocp,
- _("target file '%s' has both : and :: entries"), f->name);
+ OS (fatal, flocp,
+ _("target file '%s' has both : and :: entries"), f->name);
/* If CMDS == F->CMDS, this target was listed in this rule
more than once. Just give a warning since this is harmless. */
if (cmds != 0 && cmds == f->cmds)
- error (flocp,
- _("target '%s' given more than once in the same rule"),
- f->name);
+ OS (error, flocp,
+ _("target '%s' given more than once in the same rule"),
+ f->name);
/* Check for two single-colon entries both with commands.
Check is_target so that we don't lose on files such as .c.o
whose commands were preinitialized. */
else if (cmds != 0 && f->cmds != 0 && f->is_target)
{
- error (&cmds->fileinfo,
+ size_t l = strlen (f->name);
+ error (&cmds->fileinfo, l,
_("warning: overriding recipe for target '%s'"),
f->name);
- error (&f->cmds->fileinfo,
+ error (&f->cmds->fileinfo, l,
_("warning: ignoring old recipe for target '%s'"),
f->name);
}
@@ -2140,8 +2148,8 @@ record_files (struct nameseq *filenames, const char *pattern,
/* Check for both : and :: rules. Check is_target so we don't lose
on default suffix rules or makefiles. */
if (f != 0 && f->is_target && !f->double_colon)
- fatal (flocp,
- _("target file '%s' has both : and :: entries"), f->name);
+ OS (fatal, flocp,
+ _("target file '%s' has both : and :: entries"), f->name);
f = enter_file (strcache_add (name));
/* If there was an existing entry and it was a double-colon entry,
@@ -2217,7 +2225,8 @@ record_files (struct nameseq *filenames, const char *pattern,
/* Reduce escaped percents. If there are any unescaped it's an error */
name = filenames->name;
if (find_percent_cached (&name))
- fatal (flocp, _("mixed implicit and normal rules"));
+ O (error, flocp,
+ _("*** mixed implicit and normal rules: deprecated syntax"));
}
}
@@ -2331,14 +2340,14 @@ unescape_char (char *string, int c)
if (*e != c || l%2 == 0)
{
/* It's not; just take it all without unescaping. */
- memcpy (p, s, l);
+ memmove (p, s, l);
p += l;
}
else if (l > 1)
{
/* It is, and there's >1 backslash. Take half of them. */
l /= 2;
- memcpy (p, s, l);
+ memmove (p, s, l);
p += l;
}
s = e;
@@ -2526,8 +2535,8 @@ readline (struct ebuffer *ebuf)
lossage strikes again! (xmkmf puts NULs in its makefiles.)
There is nothing really to be done; we synthesize a newline so
the following line doesn't appear to be part of this line. */
- error (&ebuf->floc,
- _("warning: NUL character seen; rest of line ignored"));
+ O (error, &ebuf->floc,
+ _("warning: NUL character seen; rest of line ignored"));
p[0] = '\n';
len = 1;
}
@@ -2842,8 +2851,7 @@ construct_include_path (const char **arg_dirs)
dirs[idx++] = strcache_add_len (dir, len);
}
- if (expanded)
- free (expanded);
+ free (expanded);
}
/* Now add the standard default dirs at the end. */
@@ -3269,7 +3277,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopmap,
switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
{
case GLOB_NOSPACE:
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
case 0:
/* Success. */
@@ -3335,12 +3343,10 @@ parse_file_seq (char **stringp, unsigned int size, int stopmap,
globfree (&gl);
#ifndef NO_ARCHIVES
- if (arname)
- free (arname);
+ free (arname);
#endif
- if (tildep)
- free (tildep);
+ free (tildep);
}
*stringp = p;
diff --git a/remake.c b/remake.c
index 138cdc6..299a2aa 100644
--- a/remake.c
+++ b/remake.c
@@ -1,5 +1,5 @@
/* Basic dependency engine for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -58,10 +58,10 @@ unsigned int commands_started = 0;
/* Current value for pruning the scan of the goal chain (toggle 0/1). */
static unsigned int considered;
-static int update_file (struct file *file, unsigned int depth);
-static int update_file_1 (struct file *file, unsigned int depth);
-static int check_dep (struct file *file, unsigned int depth,
- FILE_TIMESTAMP this_mtime, int *must_make_ptr);
+static enum update_status update_file (struct file *file, unsigned int depth);
+static enum update_status update_file_1 (struct file *file, unsigned int depth);
+static enum update_status check_dep (struct file *file, unsigned int depth,
+ FILE_TIMESTAMP this_mtime, int *must_make);
static enum update_status touch_file (struct file *file);
static void remake_file (struct file *file);
static FILE_TIMESTAMP name_mtime (const char *name);
@@ -130,7 +130,7 @@ update_goal_chain (struct dep *goals)
file = file->prev)
{
unsigned int ocommands_started;
- int fail;
+ enum update_status fail;
file->dontcare = g->dontcare;
@@ -161,14 +161,12 @@ update_goal_chain (struct dep *goals)
if (commands_started > ocommands_started)
g->changed = 1;
- /* If we updated a file and STATUS was not already 1, set it to
- 1 if updating failed, or to 0 if updating succeeded. Leave
- STATUS as it is if no updating was done. */
-
stop = 0;
if ((fail || file->updated) && status < us_question)
{
- if (file->update_status != us_success)
+ /* We updated this goal. Update STATUS and decide whether
+ to stop. */
+ if (file->update_status)
{
/* Updating failed, or -q triggered. The STATUS value
tells our caller which. */
@@ -228,10 +226,10 @@ update_goal_chain (struct dep *goals)
&& file->update_status == us_success && !g->changed
/* Never give a message under -s or -q. */
&& !silent_flag && !question_flag)
- message (1, ((file->phony || file->cmds == 0)
- ? _("Nothing to be done for '%s'.")
- : _("'%s' is up to date.")),
- file->name);
+ OS (message, 1, ((file->phony || file->cmds == 0)
+ ? _("Nothing to be done for '%s'.")
+ : _("'%s' is up to date.")),
+ file->name);
/* This goal is finished. Remove it from the chain. */
if (lastgoal == 0)
@@ -282,11 +280,11 @@ update_goal_chain (struct dep *goals)
If there are multiple double-colon entries for FILE,
each is considered in turn. */
-static int
+static enum update_status
update_file (struct file *file, unsigned int depth)
{
- int status = 0;
- register struct file *f;
+ enum update_status status = us_success;
+ struct file *f;
f = file->double_colon ? file->double_colon : file;
@@ -311,26 +309,31 @@ update_file (struct file *file, unsigned int depth)
the chain is exhausted. */
for (; f != 0; f = f->prev)
{
+ enum update_status new;
+
f->considered = considered;
- status |= update_file_1 (f, depth);
+ new = update_file_1 (f, depth);
check_renamed (f);
/* Clean up any alloca() used during the update. */
alloca (0);
/* If we got an error, don't bother with double_colon etc. */
- if (status != 0 && !keep_going_flag)
- return status;
+ if (new && !keep_going_flag)
+ return new;
if (f->command_state == cs_running
|| f->command_state == cs_deps_running)
{
/* Don't run the other :: rules for this
file until this rule is finished. */
- status = 0;
+ status = us_success;
break;
}
+
+ if (new > status)
+ status = new;
}
/* Process the remaining rules in the double colon chain so they're marked
@@ -343,7 +346,11 @@ update_file (struct file *file, unsigned int depth)
f->considered = considered;
for (d = f->deps; d != 0; d = d->next)
- status |= update_file (d->file, depth + 1);
+ {
+ enum update_status new = update_file (d->file, depth + 1);
+ if (new > status)
+ new = status;
+ }
}
return status;
@@ -373,24 +380,30 @@ complain (struct file *file)
if (d == 0)
{
- const char *msg_noparent
- = _("%sNo rule to make target '%s'%s");
- const char *msg_parent
- = _("%sNo rule to make target '%s', needed by '%s'%s");
-
/* Didn't find any dependencies to complain about. */
- if (!keep_going_flag)
+ if (file->parent)
{
- if (file->parent == 0)
- fatal (NILF, msg_noparent, "", file->name, "");
+ size_t l = strlen (file->name) + strlen (file->parent->name) + 4;
- fatal (NILF, msg_parent, "", file->name, file->parent->name, "");
- }
+ if (!keep_going_flag)
+ fatal (NILF, l,
+ _("%sNo rule to make target '%s', needed by '%s'%s"),
+ "", file->name, file->parent->name, "");
- if (file->parent == 0)
- error (NILF, msg_noparent, "*** ", file->name, ".");
+ error (NILF, l, _("%sNo rule to make target '%s', needed by '%s'%s"),
+ "*** ", file->name, file->parent->name, ".");
+ }
else
- error (NILF, msg_parent, "*** ", file->name, file->parent->name, ".");
+ {
+ size_t l = strlen (file->name) + 4;
+
+ if (!keep_going_flag)
+ fatal (NILF, l,
+ _("%sNo rule to make target '%s'%s"), "", file->name, "");
+
+ error (NILF, l,
+ _("%sNo rule to make target '%s'%s"), "*** ", file->name, ".");
+ }
file->no_diag = 0;
}
@@ -399,12 +412,12 @@ complain (struct file *file)
/* Consider a single 'struct file' and update it as appropriate.
Return 0 on success, or non-0 on failure. */
-static int
+static enum update_status
update_file_1 (struct file *file, unsigned int depth)
{
+ enum update_status dep_status = us_success;
FILE_TIMESTAMP this_mtime;
int noexist, must_make, deps_changed;
- int dep_status = 0;
struct file *ofile;
struct dep *d, *ad;
struct dep amake;
@@ -478,8 +491,9 @@ update_file_1 (struct file *file, unsigned int depth)
/* Avoid spurious rebuilds due to low resolution time stamps. */
int ns = FILE_TIMESTAMP_NS (this_mtime);
if (ns != 0)
- error (NILF, _("*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"),
- file->name);
+ OS (error, NILF,
+ _("*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"),
+ file->name);
this_mtime += FILE_TIMESTAMPS_PER_S - 1 - ns;
}
@@ -521,6 +535,7 @@ update_file_1 (struct file *file, unsigned int depth)
while (d)
{
+ enum update_status new;
FILE_TIMESTAMP mtime;
int maybe_make;
int dontcare = 0;
@@ -532,8 +547,8 @@ update_file_1 (struct file *file, unsigned int depth)
if (is_updating (d->file))
{
- error (NILF, _("Circular %s <- %s dependency dropped."),
- file->name, d->file->name);
+ OSS (error, NILF, _("Circular %s <- %s dependency dropped."),
+ file->name, d->file->name);
/* We cannot free D here because our the caller will still have
a reference to it when we were called recursively via
check_dep below. */
@@ -555,7 +570,9 @@ update_file_1 (struct file *file, unsigned int depth)
d->file->dontcare = file->dontcare;
}
- dep_status |= check_dep (d->file, depth, this_mtime, &maybe_make);
+ new = check_dep (d->file, depth, this_mtime, &maybe_make);
+ if (new > dep_status)
+ dep_status = new;
/* Restore original dontcare flag. */
if (rebuilding_makefiles)
@@ -601,6 +618,7 @@ update_file_1 (struct file *file, unsigned int depth)
for (d = file->deps; d != 0; d = d->next)
if (d->file->intermediate)
{
+ enum update_status new;
int dontcare = 0;
FILE_TIMESTAMP mtime = file_mtime (d->file);
@@ -619,7 +637,9 @@ update_file_1 (struct file *file, unsigned int depth)
not prune it. */
d->file->considered = !considered;
- dep_status |= update_file (d->file, depth);
+ new = update_file (d->file, depth);
+ if (new > dep_status)
+ dep_status = new;
/* Restore original dontcare flag. */
if (rebuilding_makefiles)
@@ -664,9 +684,10 @@ update_file_1 (struct file *file, unsigned int depth)
/* If any dependency failed, give up now. */
- if (dep_status != 0)
+ if (dep_status)
{
- file->update_status = us_failed;
+ /* I'm not sure if we can't just assign dep_status... */
+ file->update_status = dep_status == us_none ? us_failed : dep_status;
notice_finished_file (file);
--depth;
@@ -675,8 +696,8 @@ update_file_1 (struct file *file, unsigned int depth)
if (depth == 0 && keep_going_flag
&& !just_print_flag && !question_flag)
- error (NILF,
- _("Target '%s' not remade because of errors."), file->name);
+ OS (error, NILF,
+ _("Target '%s' not remade because of errors."), file->name);
return dep_status;
}
@@ -981,13 +1002,13 @@ notice_finished_file (struct file *file)
FILE depends on (including FILE itself). Return nonzero if any updating
failed. */
-static int
+static enum update_status
check_dep (struct file *file, unsigned int depth,
FILE_TIMESTAMP this_mtime, int *must_make_ptr)
{
struct file *ofile;
struct dep *d;
- int dep_status = 0;
+ enum update_status dep_status = us_success;
++depth;
start_updating (file);
@@ -1060,12 +1081,13 @@ check_dep (struct file *file, unsigned int depth,
d = file->deps;
while (d != 0)
{
+ enum update_status new;
int maybe_make;
if (is_updating (d->file))
{
- error (NILF, _("Circular %s <- %s dependency dropped."),
- file->name, d->file->name);
+ OSS (error, NILF, _("Circular %s <- %s dependency dropped."),
+ file->name, d->file->name);
if (ld == 0)
{
file->deps = d->next;
@@ -1083,12 +1105,14 @@ check_dep (struct file *file, unsigned int depth,
d->file->parent = file;
maybe_make = *must_make_ptr;
- dep_status |= check_dep (d->file, depth, this_mtime,
- &maybe_make);
+ new = check_dep (d->file, depth, this_mtime, &maybe_make);
+ if (new > dep_status)
+ dep_status = new;
+
if (! d->ignore_mtime)
*must_make_ptr = maybe_make;
check_renamed (d->file);
- if (dep_status != 0 && !keep_going_flag)
+ if (dep_status && !keep_going_flag)
break;
if (d->file->command_state == cs_running
@@ -1122,7 +1146,7 @@ static enum update_status
touch_file (struct file *file)
{
if (!silent_flag)
- message (0, "touch %s", file->name);
+ OS (message, 0, "touch %s", file->name);
/* Print-only (-n) takes precedence over touch (-t). */
if (just_print_flag)
@@ -1369,8 +1393,9 @@ f_mtime (struct file *file, int search)
if (adjusted_now < adjusted_mtime)
{
#ifdef NO_FLOAT
- error (NILF, _("Warning: File '%s' has modification time in the future"),
- file->name);
+ OS (error, NILF,
+ _("Warning: File '%s' has modification time in the future"),
+ file->name);
#else
double from_now =
(FILE_TIMESTAMP_S (mtime) - FILE_TIMESTAMP_S (now)
@@ -1382,8 +1407,9 @@ f_mtime (struct file *file, int search)
sprintf (from_now_string, "%lu", (unsigned long) from_now);
else
sprintf (from_now_string, "%.2g", from_now);
- error (NILF, _("Warning: File '%s' has modification time %s s in the future"),
- file->name, from_now_string);
+ OSS (error, NILF,
+ _("Warning: File '%s' has modification time %s s in the future"),
+ file->name, from_now_string);
#endif
clock_skew_detected = 1;
}
@@ -1520,7 +1546,7 @@ name_mtime (const char *name)
static const char *
library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
{
- static char *dirs[] =
+ static const char *dirs[] =
{
#ifndef _AMIGA
"/lib",
@@ -1550,7 +1576,7 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
/* Information about the earliest (in the vpath sequence) match. */
unsigned int best_vpath = 0, best_path = 0;
- char **dp;
+ const char **dp;
libpatterns = xstrdup (variable_expand ("$(.LIBPATTERNS)"));
@@ -1580,7 +1606,8 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
if (!p3)
{
/* Give a warning if there is no pattern. */
- error (NILF, _(".LIBPATTERNS element '%s' is not a pattern"), p);
+ OS (error, NILF,
+ _(".LIBPATTERNS element '%s' is not a pattern"), p);
p[len] = c;
continue;
}
diff --git a/remote-cstms.c b/remote-cstms.c
index 8d6c635..867ee8d 100644
--- a/remote-cstms.c
+++ b/remote-cstms.c
@@ -3,7 +3,7 @@
Please do not send bug reports or questions about it to
the Make maintainers.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -151,7 +151,7 @@ start_remote_job (char **argv, char **envp, int stdin_fd,
retsock = Rpc_UdpCreate (True, 0);
if (retsock < 0)
{
- error (NILF, "exporting: Couldn't create return socket.");
+ O (error, NILF, "exporting: Couldn't create return socket.");
return 1;
}
@@ -192,33 +192,35 @@ start_remote_job (char **argv, char **envp, int stdin_fd,
host = gethostbyaddr ((char *)&permit.addr, sizeof(permit.addr), AF_INET);
- if (status != RPC_SUCCESS)
- {
- (void) close (retsock);
- (void) close (sock);
- error (NILF, "exporting to %s: %s",
- host ? host->h_name : inet_ntoa (permit.addr),
- Rpc_ErrorMessage (status));
- return 1;
- }
- else if (msg[0] != 'O' || msg[1] != 'k' || msg[2] != '\0')
- {
- (void) close (retsock);
- (void) close (sock);
- error (NILF, "exporting to %s: %s",
- host ? host->h_name : inet_ntoa (permit.addr),
- msg);
- return 1;
- }
- else
- {
- error (NILF, "*** exported to %s (id %u)",
- host ? host->h_name : inet_ntoa (permit.addr),
- permit.id);
- }
-
- fflush (stdout);
- fflush (stderr);
+ {
+ const char *hnm = host ? host->h_name : inet_ntoa (permit.addr);
+ size_t hlen = strlen (hnm);
+
+ if (status != RPC_SUCCESS)
+ {
+ const char *err = Rpc_ErrorMessage (status);
+ (void) close (retsock);
+ (void) close (sock);
+ error (NILF, hlen + strlen (err),
+ "exporting to %s: %s", hnm, err);
+ return 1;
+ }
+ else if (msg[0] != 'O' || msg[1] != 'k' || msg[2] != '\0')
+ {
+ (void) close (retsock);
+ (void) close (sock);
+ error (NILF, hlen + strlen (msg), "exporting to %s: %s", hnm, msg);
+ return 1;
+ }
+ else
+ {
+ error (NILF, hlen + INTSTR_LENGTH,
+ "*** exported to %s (id %u)", hnm, permit.id);
+ }
+
+ fflush (stdout);
+ fflush (stderr);
+ }
pid = fork ();
if (pid < 0)
diff --git a/remote-stub.c b/remote-stub.c
index 45c3a7c..aeb335c 100644
--- a/remote-stub.c
+++ b/remote-stub.c
@@ -1,5 +1,5 @@
/* Template for the remote job exportation interface to GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/rule.c b/rule.c
index cb35537..9abf5b0 100644
--- a/rule.c
+++ b/rule.c
@@ -1,5 +1,5 @@
/* Pattern and suffix rule internals for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -140,8 +140,7 @@ count_implicit_rule_limits (void)
rule = next;
}
- if (name != 0)
- free (name);
+ free (name);
}
/* Create a pattern rule from a suffix rule.
@@ -357,7 +356,7 @@ void
install_pattern_rule (struct pspec *p, int terminal)
{
struct rule *r;
- char *ptr;
+ const char *ptr;
r = xmalloc (sizeof (struct rule));
@@ -373,7 +372,7 @@ install_pattern_rule (struct pspec *p, int terminal)
++r->suffixes[0];
ptr = p->dep;
- r->deps = PARSE_SIMPLE_SEQ (&ptr, struct dep);
+ r->deps = PARSE_SIMPLE_SEQ ((char **)&ptr, struct dep);
if (new_pattern_rule (r, 0))
{
@@ -528,7 +527,7 @@ print_rule_data_base (void)
/* This can happen if a fatal error was detected while reading the
makefiles and thus count_implicit_rule_limits wasn't called yet. */
if (num_pattern_rules != 0)
- fatal (NILF, _("BUG: num_pattern_rules is wrong! %u != %u"),
- num_pattern_rules, rules);
+ ONN (fatal, NILF, _("BUG: num_pattern_rules is wrong! %u != %u"),
+ num_pattern_rules, rules);
}
}
diff --git a/rule.h b/rule.h
index 3982639..df9fba2 100644
--- a/rule.h
+++ b/rule.h
@@ -1,5 +1,5 @@
/* Definitions for using pattern rules in GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -33,7 +33,7 @@ struct rule
/* For calling install_pattern_rule. */
struct pspec
{
- char *target, *dep, *commands;
+ const char *target, *dep, *commands;
};
diff --git a/signame.c b/signame.c
index 59dc949..7db2439 100644
--- a/signame.c
+++ b/signame.c
@@ -1,5 +1,5 @@
/* Convert between signal names and numbers.
-Copyright (C) 1990-2013 Free Software Foundation, Inc.
+Copyright (C) 1990-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/strcache.c b/strcache.c
index ff6a2d1..1ade5e7 100644
--- a/strcache.c
+++ b/strcache.c
@@ -1,5 +1,5 @@
/* Constant string caching for GNU Make.
-Copyright (C) 2006-2013 Free Software Foundation, Inc.
+Copyright (C) 2006-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/subproc.bat b/subproc.bat
index 9a90487..e3b8d3c 100644
--- a/subproc.bat
+++ b/subproc.bat
@@ -1,5 +1,5 @@
@echo off
-rem Copyright (C) 1996-2013 Free Software Foundation, Inc.
+rem Copyright (C) 1996-2014 Free Software Foundation, Inc.
rem This file is part of GNU Make.
rem
rem GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/tests/ChangeLog b/tests/ChangeLog.1
index 653c5a7..9abe731 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog.1
@@ -1413,7 +1413,7 @@
ChangeLog file for the test suite created.
-Copyright (C) 1992-2013 Free Software Foundation, Inc.
+Copyright (C) 1992-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/tests/NEWS b/tests/NEWS
index 7fb864c..584f4a4 100644
--- a/tests/NEWS
+++ b/tests/NEWS
@@ -162,7 +162,7 @@ Changes from 0.1 to 0.2 (5-4-92):
-------------------------------------------------------------------------------
-Copyright (C) 1992-2013 Free Software Foundation, Inc.
+Copyright (C) 1992-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/tests/README b/tests/README
index 0663082..3b699ee 100644
--- a/tests/README
+++ b/tests/README
@@ -7,7 +7,7 @@ This entire test suite, including all test files, are copyright and
distributed under the following terms:
-----------------------------------------------------------------------------
- Copyright (C) 1992-2013 Free Software Foundation, Inc.
+ Copyright (C) 1992-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/tests/config-flags.pm b/tests/config-flags.pm
new file mode 100644
index 0000000..903c468
--- /dev/null
+++ b/tests/config-flags.pm
@@ -0,0 +1,19 @@
+# This is a -*-perl-*- script
+#
+# Set variables that were defined by configure, in case we need them
+# during the tests.
+
+%CONFIG_FLAGS = (
+ AM_LDFLAGS => '-Wl,--export-dynamic',
+ AR => 'ar',
+ CC => 'gcc',
+ CFLAGS => '-g -O2',
+ CPP => 'gcc -E',
+ CPPFLAGS => '',
+ GUILE_CFLAGS => '-pthread -I/usr/include/guile/2.0 ',
+ GUILE_LIBS => '-lguile-2.0 -lgc ',
+ LDFLAGS => '',
+ LIBS => '-ldl '
+);
+
+1;
diff --git a/tests/config-flags.pm.in b/tests/config-flags.pm.in
new file mode 100644
index 0000000..29ba146
--- /dev/null
+++ b/tests/config-flags.pm.in
@@ -0,0 +1,19 @@
+# This is a -*-perl-*- script
+#
+# Set variables that were defined by configure, in case we need them
+# during the tests.
+
+%CONFIG_FLAGS = (
+ AM_LDFLAGS => '@AM_LDFLAGS@',
+ AR => '@AR@',
+ CC => '@CC@',
+ CFLAGS => '@CFLAGS@',
+ CPP => '@CPP@',
+ CPPFLAGS => '@CPPFLAGS@',
+ GUILE_CFLAGS => '@GUILE_CFLAGS@',
+ GUILE_LIBS => '@GUILE_LIBS@',
+ LDFLAGS => '@LDFLAGS@',
+ LIBS => '@LIBS@'
+);
+
+1;
diff --git a/tests/config_flags_pm.com b/tests/config_flags_pm.com
new file mode 100755
index 0000000..3f5adff
--- /dev/null
+++ b/tests/config_flags_pm.com
@@ -0,0 +1,53 @@
+$!
+$! config_flags_pm.com - Build config-flags.pm on VMS.
+$!
+$! Just good enough to run the self tests for now.
+$!
+$! Copyright (C) 2014 Free Software Foundation, Inc.
+$! This file is part of GNU Make.
+$!
+$! GNU Make is free software; you can redistribute it and/or modify it under
+$! the terms of the GNU General Public License as published by the Free Software
+$! Foundation; either version 3 of the License, or (at your option) any later
+$! version.
+$!
+$! GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+$! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+$! FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+$! details.
+$!
+$! You should have received a copy of the GNU General Public License along with
+$! this program. If not, see <http://www.gnu.org/licenses/>.
+$!
+$!
+$ open/read cfpm_in config-flags.pm.in
+$!
+$ outfile = "sys$disk:[]config-flags.pm"
+$!
+$ cflags = "/include=([],[.glob]"
+$!
+$ create 'outfile'
+$ open/append cfpm 'outfile'
+$!
+$cfpm_read_loop:
+$ read cfpm_in/end=cfpm_read_loop_end line_in
+$ line_in_len = f$length(line_in)
+$ if f$locate("@", line_in) .lt. line_in_len
+$ then
+$ part1 = f$element(0, "@", line_in)
+$ key = f$element(1, "@", line_in)
+$ part2 = f$element(2, "@", line_in)
+$ value = ""
+$ if key .eqs. "CC" then value = "CC"
+$ if key .eqs. "CPP" then value = "CPP"
+$ if key .eqs. "CFLAGS" then value = cflags
+$ if key .eqs. "GUILE_CFLAGS" then value = cflags
+$ write cfpm part1, value, part2
+$ goto cfpm_read_loop
+$ endif
+$ write cfpm line_in
+$ goto cfpm_read_loop
+$cfpm_read_loop_end:
+$ close cfpm_in
+$ close cfpm
+$!
diff --git a/tests/mkshadow b/tests/mkshadow
index 5e0a402..aa9b3bc 100755
--- a/tests/mkshadow
+++ b/tests/mkshadow
@@ -3,7 +3,7 @@
# Simple script to make a "shadow" test directory, using symbolic links.
# Typically you'd put the shadow in /tmp or another local disk
#
-# Copyright (C) 1992-2013 Free Software Foundation, Inc.
+# Copyright (C) 1992-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/tests/run_make_tests.com b/tests/run_make_tests.com
new file mode 100755
index 0000000..2f17f7f
--- /dev/null
+++ b/tests/run_make_tests.com
@@ -0,0 +1,272 @@
+$! Test_make.com
+$!
+$! This is a wrapper for the GNU make perl test programs on VMS.
+$!
+$! Parameter "-help" for description on how to use described below.
+$!
+$! Copyright (C) 2014 Free Software Foundation, Inc.
+$! This file is part of GNU Make.
+$!
+$! GNU Make is free software; you can redistribute it and/or modify it under
+$! the terms of the GNU General Public License as published by the Free Software
+$! Foundation; either version 3 of the License, or (at your option) any later
+$! version.
+$!
+$! GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+$! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+$! FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+$! details.
+$!
+$! You should have received a copy of the GNU General Public License along with
+$! this program. If not, see <http://www.gnu.org/licenses/>.
+$!
+$!
+$! Allow more than 8 paramters with using commas as a delimiter.
+$!
+$ params = "''p1',''p2',''p3',''p4',''p5',''p6',''p7',''p8'"
+$!
+$ test_flags = ",verbose,detail,keep,usage,help,debug,"
+$ test_flags_len = f$length(test_flags)
+$ verbose_flag = ""
+$ detail_flag = ""
+$ keep_flag = ""
+$ usage_flag = ""
+$ help_flag = ""
+$ debug_flag = ""
+$!
+$ ignored_options = "profile,make,srcdir,valgrind,memcheck,massif,"
+$ ignored_option_len = f$length(ignored_options)
+$!
+$ testname = ""
+$ make :== $bin:make.exe"
+$!
+$ i = 0
+$param_loop:
+$ param = f$element(i, ",", params)
+$ i = i + 1
+$ if param .eqs. "" then goto param_loop
+$ if param .eqs. "," then goto param_loop_end
+$ param_len = f$length(param)
+$ if f$locate("/", param) .lt. param_len
+$ then
+$ if testname .nes. ""
+$ then
+$ write sys$output "Only the last test name specified will be run!"
+$ endif
+$ testname = param
+$ goto param_loop
+$ endif
+$ lc_param = f$edit(param,"LOWERCASE") - "-"
+$ if f$locate(",''lc_param',", ignored_options) .lt. ignored_option_len
+$ then
+$ write sys$output "parameter ''param' is ignored on VMS for now."
+$ goto param_loop
+$ endif
+$ if f$locate(",''lc_param',", test_flags) .lt. test_flags_len
+$ then
+$ 'lc_param'_flag = "-" + lc_param
+$ goto param_loop
+$ endif
+$ write sys$output "parameter ''param' is not known to VMS."
+$ goto param_loop
+$!
+$param_loop_end:
+$!
+$no_gnv = 1
+$no_perl = 1
+$!
+$! Find GNV 2.1.3 + manditory updates
+$! If properly updated, the GNV$GNU logical name is present.
+$! Updated GNV utilities have a gnv$ prefix on them.
+$ gnv_root = f$trnlnm("GNV$GNU", "LNM$SYSTEM_TABLE")
+$ if gnv_root .nes. ""
+$ then
+$ no_gnv = 0
+$ ! Check for update ar utility.
+$ new_ar = "gnv$gnu:[usr.bin]gnv$ar.exe"
+$ if f$search(new_ar) .nes. ""
+$ then
+$ ! See if a new port of ar exists.
+$ ar :== $'new_ar'
+$ else
+$ ! Fall back to legacy GNV AR wrapper.
+$ old_ar = "gnv$gnu:[bin]ar.exe"
+$ if f$search(old_ar) .nes. ""
+$ then
+$ ar :== $'old_ar'
+$ else
+$ no_gnv = 1
+$ endif
+$ endif
+$ ! Check for updated bash
+$ if no_gnv .eq. 0
+$ then
+$ new_bash = "gnv$gnu:[bin]gnv$bash.exe"
+$ if f$search(new_bash) .nes. ""
+$ then
+$ bash :== $'new_bash'
+$ sh :== $'new_bash'
+$ else
+$ no_gnv = 1
+$ endif
+$ endif
+$ ! Check for updated coreutils
+$ if no_gnv .eq. 0
+$ then
+$ new_cat = "gnv$gnu:[bin]gnv$cat.exe"
+$ if f$search(new_cat) .nes. ""
+$ then
+$ cat :== $'new_cat'
+$ cp :== $gnv$gnu:[bin]gnv$cp.exe
+$ echo :== $gnv$gnu:[bin]gnv$echo.exe
+$ false :== $gnv$gnu:[bin]gnv$false.exe
+$ true :== $gnv$gnu:[bin]gnv$true.exe
+$ touch :== $gnv$gnu:[bin]gnv$touch.exe
+$ mkdir :== $gnv$gnu:[bin]gnv$mkdir.exe
+$ rm :== $gnv$gnu:[bin]gnv$rm.exe
+$ sleep :== $gnv$gnu:[bin]gnv$sleep.exe
+$ else
+$ no_gnv = 1
+$ endif
+$ endif
+$ ! Check for updated diff utility.
+$ if no_gnv .eq. 0
+$ then
+$ new_diff = "gnv$gnu:[usr.bin]gnv$diff.exe"
+$ if f$search(new_diff) .nes. ""
+$ then
+$ ! See if a new port of diff exists.
+$ diff :== $'new_diff'
+$ else
+$ ! Fall back to legacy GNV diff
+$ old_diff = "gnv$gnu:[bin]diff.exe"
+$ if f$search(old_diff) .nes. ""
+$ then
+$ diff :== $'old_diff'
+$ else
+$ no_gnv = 1
+$ endif
+$ endif
+$ endif
+$ endif
+$!
+$if no_gnv
+$then
+$ write sys$output "Could not find an up to date GNV installed!"
+$ help_flag = 1
+$endif
+$!
+$! Find perl 5.18.1 or later.
+$!
+$! look in perl_root:[000000]perl_setup.com
+$ perl_root = f$trnlnm("perl_root")
+$ ! This works with known perl installed from PCSI kits.
+$ if perl_root .nes. ""
+$ then
+$ perl_ver = f$element(1, ".", perl_root)
+$ if f$locate("-", perl_ver) .lt. f$length(perl_ver)
+$ then
+$ no_perl = 0
+$ endif
+$ endif
+$ if no_perl
+$ then
+$! look for sys$common:[perl-*]perl_setup.com
+$ perl_setup = f$search("sys$common:[perl-*]perl_setup.com")
+$ if perl_setup .eqs. ""
+$ then
+$ if gnv_root .nes. ""
+$ then
+$ gnv_device = f$parse(gnv_root,,,"DEVICE")
+$ perl_templ = "[vms$common.perl-*]perl_setup.com"
+$ perl_search = f$parse(perl_templ, gnv_device)
+$ perl_setup = f$search(perl_search)
+$ endif
+$ endif
+$ if perl_setup .nes. ""
+$ then
+$ @'perl_setup'
+$ no_perl = 0
+$ endif
+$ endif
+$!
+$ if no_perl
+$ then
+$ write sys$output "Could not find an up to date Perl installed!"
+$ help_flag = "-help"
+$ endif
+$!
+$!
+$ if help_flag .nes. ""
+$ then
+$ type sys$input
+$DECK
+This is a test script wrapper for the run_make_tests.pl script.
+
+This wrapper makes sure that the DCL symbols and logical names needed to
+run the perl script are in place.
+
+The test wrapper currently requires that the DCL symbols be global symbols.
+Those symbols will be left behind after the procedure is run.
+
+The PERL_ROOT will be set to a compatible perl if such a perl is found and
+is not the default PERL_ROOT:. This setting will persist after the test.
+
+This wrapper should be run with the default set to the base directory
+of the make source.
+
+The HELP parameter will bring up this text and then run the help script
+for the Perl wrapper. Not all options for the perl script have been
+implemented, such as valgrind or specifying the make path or source path.
+
+Running the wrapper script requires:
+ Perl 5.18 or later.
+ PCSI kits available from http://sourceforge.net/projects/vmsperlkit/files/
+
+ GNV 2.1.3 or later. GNV 3.0.1 has not tested with this script.
+ Bash 4.2.47 or later.
+ Coreutils 8.21 or later.
+ http://sourceforge.net/projects/gnv/files/
+ Read before installing:
+ http://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/
+ As updates for other GNV components get posted, those updates should
+ be used.
+
+$EOD
+$ endif
+$!
+$ if no_gnv .or. no_perl then exit 44
+$!
+$!
+$ make := $bin:make.exe
+$ default = f$environment("DEFAULT")
+$ this = f$environment("PROCEDURE")
+$ on error then goto all_error
+$ set default 'f$parse(this,,,"DEVICE")''f$parse(this,,,"DIRECTORY")'
+$!
+$! Need to make sure that the config-flags.pm exists.
+$ if f$search("config-flags.pm") .eqs. ""
+$ then
+$ @config_flags_pm.com
+$ endif
+$ define/user bin 'default',gnv$gnu:[bin]
+$ define/user decc$filename_unix_noversion enable
+$ define/user decc$filename_unix_report enable
+$ define/user decc$readdir_dropdotnotype enable
+$ flags = ""
+$ if verbose_flag .nes. "" then flags = verbose_flag
+$ if detail_flag .nes. "" then flags = flags + " " + detail_flag
+$ if keep_flag .nes. "" then flags = flags + " " + keep_flag
+$ if usage_flag .nes. "" then flags = flags + " " + usage_flag
+$ if help_flag .nes. "" then flags = flags + " " + help_flag
+$ if debug_flag .nes. "" then flags = flags + " " + debug_flag
+$ flags = f$edit(flags, "TRIM, COMPRESS")
+$ if testname .nes. ""
+$ then
+$ perl run_make_tests.pl "''testname'" 'flags'
+$ else
+$ perl run_make_tests.pl 'flags'
+$ endif
+$all_error:
+$ set default 'default'
+$!
diff --git a/tests/run_make_tests.pl b/tests/run_make_tests.pl
index 54c2892..9468fab 100644
--- a/tests/run_make_tests.pl
+++ b/tests/run_make_tests.pl
@@ -11,7 +11,7 @@
# [-make <make prog>]
# (and others)
-# Copyright (C) 1992-2013 Free Software Foundation, Inc.
+# Copyright (C) 1992-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -42,7 +42,24 @@ $command_string = '';
$all_tests = 0;
+# rmdir broken in some Perls on VMS.
+if ($^O eq 'VMS')
+{
+ require VMS::Filespec;
+ VMS::Filespec->import();
+
+ sub vms_rmdir {
+ my $vms_file = vmspath($_[0]);
+ $vms_file = fileify($vms_file);
+ my $ret = unlink(vmsify($vms_file));
+ return $ret
+ };
+
+ *CORE::GLOBAL::rmdir = \&vms_rmdir;
+}
+
require "test_driver.pl";
+require "config-flags.pm";
# Some target systems might not have the POSIX module...
$has_POSIX = eval { require "POSIX.pm" };
@@ -177,6 +194,40 @@ sub run_make_with_options {
}
if ($options) {
+ if ($^O eq 'VMS') {
+ # Try to make sure arguments are properly quoted.
+ # This does not handle all cases.
+
+ # VMS uses double quotes instead of single quotes.
+ $options =~ s/\'/\"/g;
+
+ # If the leading quote is inside non-whitespace, then the
+ # quote must be doubled, because it will be enclosed in another
+ # set of quotes.
+ $options =~ s/(\S)(\".*\")/$1\"$2\"/g;
+
+ # Options must be quoted to preserve case if not already quoted.
+ $options =~ s/(\S+)/\"$1\"/g;
+
+ # Special fixup for embedded quotes.
+ $options =~ s/(\"\".+)\"(\s+)\"(.+\"\")/$1$2$3/g;
+
+ $options =~ s/(\A)(?:\"\")(.+)(?:\"\")/$1\"$2\"/g;
+
+ # Special fixup for misc/general4 test.
+ $options =~ s/""\@echo" "cc""/\@echo cc"/;
+ $options =~ s/"\@echo link"""/\@echo link"/;
+
+ # Remove shell escapes expected to be removed by bash
+ if ($options !~ /path=pre/) {
+ $options =~ s/\\//g;
+ }
+
+ # special fixup for options/eval
+ $options =~ s/"--eval=\$\(info" "eval/"--eval=\$\(info eval/;
+
+ print ("Options fixup = -$options-\n") if $debug;
+ }
$command .= " $options";
}
@@ -195,7 +246,6 @@ sub run_make_with_options {
$valgrind and $test_timeout = 0;
$code = &run_command_with_output($logname,$command);
-
$test_timeout = $old_timeout;
}
@@ -326,19 +376,28 @@ sub set_more_defaults
# Find the full pathname of Make. For DOS systems this is more
# complicated, so we ask make itself.
- my $mk = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`;
- chop $mk;
- $mk or die "FATAL ERROR: Cannot determine the value of \$(MAKE):\n
+ if ($osname eq 'VMS') {
+ # On VMS pre-setup make to be found with simply 'make'.
+ $make_path = 'make';
+ } else {
+ my $mk = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`;
+ chop $mk;
+ $mk or die "FATAL ERROR: Cannot determine the value of \$(MAKE):\n
'echo \"all:;\@echo \\\$(MAKE)\" | $make_path -f-' failed!\n";
- $make_path = $mk;
+ $make_path = $mk;
+ }
print "Make\t= '$make_path'\n" if $debug;
- $string = `$make_path -v -f /dev/null 2> /dev/null`;
+ my $redir2 = '2> /dev/null';
+ $redir2 = '' if os_name eq 'VMS';
+ $string = `$make_path -v -f /dev/null $redir2`;
$string =~ /^(GNU Make [^,\n]*)/;
$testee_version = "$1\n";
- $string = `sh -c "$make_path -f /dev/null 2>&1"`;
+ my $redir = '2>&1';
+ $redir = '' if os_name eq 'VMS';
+ $string = `sh -c "$make_path -f /dev/null $redir"`;
if ($string =~ /(.*): \*\*\* No targets\. Stop\./) {
$make_name = $1;
}
@@ -387,7 +446,7 @@ sub set_more_defaults
$purify_errors = 0;
}
- $string = `sh -c "$make_path -j 2 -f /dev/null 2>&1"`;
+ $string = `sh -c "$make_path -j 2 -f /dev/null $redir"`;
if ($string =~ /not supported/) {
$parallel_jobs = 0;
}
diff --git a/tests/scripts/features/archives b/tests/scripts/features/archives
index a7ec881..b0acfec 100644
--- a/tests/scripts/features/archives
+++ b/tests/scripts/features/archives
@@ -11,32 +11,34 @@ exists $FEATURES{archives} or return -1;
# Create some .o files to work with
utouch(-60, qw(a1.o a2.o a3.o));
+my $ar = $CONFIG_FLAGS{AR};
+
# Some versions of ar print different things on creation. Find out.
-my $created = `ar rv libxx.a a1.o 2>&1`;
+my $created = `$ar rv libxx.a a1.o 2>&1`;
# Some versions of ar print different things on add. Find out.
-my $add = `ar rv libxx.a a2.o 2>&1`;
+my $add = `$ar rv libxx.a a2.o 2>&1`;
$add =~ s/a2\.o/#OBJECT#/g;
# Some versions of ar print different things on replacement. Find out.
-my $repl = `ar rv libxx.a a2.o 2>&1`;
+my $repl = `$ar rv libxx.a a2.o 2>&1`;
$repl =~ s/a2\.o/#OBJECT#/g;
unlink('libxx.a');
# Very simple
run_make_test('all: libxx.a(a1.o)',
- '', "ar rv libxx.a a1.o\n$created");
+ '', "$ar rv libxx.a a1.o\n$created");
# Multiple .o's. Add a new one to the existing library
($_ = $add) =~ s/#OBJECT#/a2.o/g;
run_make_test('all: libxx.a(a1.o a2.o)',
- '', "ar rv libxx.a a2.o\n$_");
+ '', "$ar rv libxx.a a2.o\n$_");
# Touch one of the .o's so it's rebuilt
utouch(-40, 'a1.o');
($_ = $repl) =~ s/#OBJECT#/a1.o/g;
-run_make_test(undef, '', "ar rv libxx.a a1.o\n$_");
+run_make_test(undef, '', "$ar rv libxx.a a1.o\n$_");
# Use wildcards
run_make_test('all: libxx.a(*.o)',
@@ -45,21 +47,21 @@ run_make_test('all: libxx.a(*.o)',
# Touch one of the .o's so it's rebuilt
utouch(-30, 'a1.o');
($_ = $repl) =~ s/#OBJECT#/a1.o/g;
-run_make_test(undef, '', "ar rv libxx.a a1.o\n$_");
+run_make_test(undef, '', "$ar rv libxx.a a1.o\n$_");
# Use both wildcards and simple names
utouch(-50, 'a2.o');
($_ = $add) =~ s/#OBJECT#/a3.o/g;
-$_ .= "ar rv libxx.a a2.o\n";
+$_ .= "$ar rv libxx.a a2.o\n";
($_ .= $repl) =~ s/#OBJECT#/a2.o/g;
run_make_test('all: libxx.a(a3.o *.o)', '',
- "ar rv libxx.a a3.o\n$_");
+ "$ar rv libxx.a a3.o\n$_");
# Check whitespace handling
utouch(-40, 'a2.o');
($_ = $repl) =~ s/#OBJECT#/a2.o/g;
run_make_test('all: libxx.a( a3.o *.o )', '',
- "ar rv libxx.a a2.o\n$_");
+ "$ar rv libxx.a a2.o\n$_");
rmfiles(qw(a1.o a2.o a3.o libxx.a));
diff --git a/tests/scripts/features/load b/tests/scripts/features/load
index 2e3f263..1f8cdc2 100644
--- a/tests/scripts/features/load
+++ b/tests/scripts/features/load
@@ -6,8 +6,6 @@ $details = "Test dynamic loading of modules.";
# Don't do anything if this system doesn't support "load"
exists $FEATURES{load} or return -1;
-my $sobuild = '$(CC) '.($srcdir? "-I$srcdir":'').' -g -shared -fPIC -o $@ $<';
-
# First build a shared object
# Provide both a default and non-default load symbol
@@ -25,6 +23,7 @@ int plugin_is_GPL_compatible;
int
testload_gmk_setup (gmk_floc *pos)
{
+ (void)pos;
gmk_eval ("TESTLOAD = implicit", 0);
return 1;
}
@@ -32,6 +31,7 @@ testload_gmk_setup (gmk_floc *pos)
int
explicit_setup (gmk_floc *pos)
{
+ (void)pos;
gmk_eval ("TESTLOAD = explicit", 0);
return 1;
}
@@ -39,7 +39,15 @@ EOF
close($F) or die "close: testload.c: $!\n";
# Make sure we can compile
-run_make_test('testload.so: testload.c ; @'.$sobuild, '', '');
+# CONFIG_FLAGS are loaded from config-flags.pm and set by configure
+
+my $sobuild = "$CONFIG_FLAGS{CC} ".($srcdir? "-I$srcdir":'')." $CONFIG_FLAGS{CPPFLAGS} $CONFIG_FLAGS{CFLAGS} -shared -fPIC $CONFIG_FLAGS{LDFLAGS} -o testload.so testload.c";
+
+my $clog = `$sobuild 2>&1`;
+if ($? != 0) {
+ $verbose and print "Failed to build testload.so:\n$sobuild\n$_";
+ return -1;
+}
# TEST 1
run_make_test(q!
diff --git a/tests/scripts/features/loadapi b/tests/scripts/features/loadapi
index 6d3b03f..8c824c0 100644
--- a/tests/scripts/features/loadapi
+++ b/tests/scripts/features/loadapi
@@ -6,8 +6,6 @@ $details = "Verify the different aspects of the shared object API.";
# Don't do anything if this system doesn't support "load"
exists $FEATURES{load} or return -1;
-my $sobuild = '$(CC) '.($srcdir? "-I$srcdir":'').' -g -shared -fPIC -o $@ $<';
-
# First build a shared object
# Provide both a default and non-default load symbol
@@ -38,7 +36,7 @@ test_expand (const char *val)
static char *
test_noexpand (const char *val)
{
- char *str = gmk_alloc (strlen (val));
+ char *str = gmk_alloc (strlen (val) + 1);
strcpy (str, val);
return str;
}
@@ -74,7 +72,13 @@ testapi_gmk_setup ()
EOF
close($F) or die "close: testapi.c: $!\n";
-run_make_test('testapi.so: testapi.c ; @'.$sobuild, '', '');
+my $sobuild = "$CONFIG_FLAGS{CC} ".($srcdir? "-I$srcdir":'')." $CONFIG_FLAGS{CPPFLAGS} $CONFIG_FLAGS{CFLAGS} -shared -fPIC $CONFIG_FLAGS{LDFLAGS} -o testapi.so testapi.c";
+
+my $clog = `$sobuild 2>&1`;
+if ($? != 0) {
+ $verbose and print "Failed to build testapi.so:\n$sobuild\n$_";
+ return -1;
+}
# TEST 1
# Check the gmk_expand() function
diff --git a/tests/scripts/features/output-sync b/tests/scripts/features/output-sync
index 75d7e81..a7534cb 100644
--- a/tests/scripts/features/output-sync
+++ b/tests/scripts/features/output-sync
@@ -330,5 +330,12 @@ t1: ; -\@\$(MAKE) -f $m1
rmfiles($m1);
+# Test $(error ...) functions in recipes
+
+run_make_test(q!
+foo: $(OBJS) ; echo $(or $(filter %.o,$^),$(error fail))
+!,
+ '-O', "#MAKEFILE#:2: *** fail. Stop.\n", 512);
+
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/functions/file b/tests/scripts/functions/file
index 9a4cd02..55eb58a 100644
--- a/tests/scripts/functions/file
+++ b/tests/scripts/functions/file
@@ -30,6 +30,23 @@ x:;@cat file.out
unlink('file.out');
+# Test > with no content
+run_make_test(q!
+$(file >4touch)
+.PHONY:x
+x:;@cat 4touch
+!,
+ '', '');
+
+# Test >> with no content
+run_make_test(q!
+$(file >>4touch)
+.PHONY:x
+x:;@cat 4touch
+!,
+ '', '');
+unlink('4touch');
+
# Test > to a read-only file
touch('file.out');
chmod(0444, 'file.out');
diff --git a/tests/scripts/misc/utf8 b/tests/scripts/misc/utf8
new file mode 100644
index 0000000..2adcd07
--- /dev/null
+++ b/tests/scripts/misc/utf8
@@ -0,0 +1,14 @@
+# -*-perl-*-
+$description = "Test utf8 handling.";
+
+$details = "";
+
+# Variable names containing UTF8 characters
+run_make_test("
+\xe2\x96\xaa := hello
+\$(info \$(\xe2\x96\xaa))
+all:
+",
+ '', "hello\n#MAKE#: Nothing to be done for 'all'.");
+
+1;
diff --git a/tests/scripts/options/dash-q b/tests/scripts/options/dash-q
index 56f04a1..194588d 100644
--- a/tests/scripts/options/dash-q
+++ b/tests/scripts/options/dash-q
@@ -5,21 +5,21 @@ $details = "Try various uses of -q and ensure they all give the correct results.
# TEST 0
-run_make_test('
+run_make_test(qq!
one:
two: ;
three: ; :
-four: ; $(.XY)
-five: ; \
- $(.XY)
-six: ; \
- $(.XY)
- $(.XY)
-seven: ; \
- $(.XY)
- : foo
- $(.XY)
-',
+four: ; \$(.XY)
+five: ; \\
+ \$(.XY)
+six: ; \\
+ \$(.XY)
+\t\$(.XY)
+seven: ; \\
+ \$(.XY)
+\t: foo
+\t\$(.XY)
+!,
'-q one', '');
# TEST 1
@@ -54,4 +54,24 @@ one:: ; @echo two
',
'-q', '', 256);
+# TEST 7 : Savannah bug # 42249
+# Make sure we exit with 1 even for prerequisite updates
+run_make_test('
+build-stamp: ; echo $@
+build-arch: build-stamp
+build-x: build-arch
+build-y: build-x
+',
+ '-q build-y', '', 256);
+
+# TEST 8
+# Make sure we exit with 2 on error even with -q
+run_make_test('
+build-stamp: ; echo $@
+build-arch: build-stamp-2
+build-x: build-arch
+build-y: build-x
+',
+ '-q build-y', "#MAKE#: *** No rule to make target 'build-stamp-2', needed by 'build-arch'. Stop.\n", 512);
+
1;
diff --git a/tests/scripts/variables/GNUMAKEFLAGS b/tests/scripts/variables/GNUMAKEFLAGS
index e9c0d55..6e50794 100644
--- a/tests/scripts/variables/GNUMAKEFLAGS
+++ b/tests/scripts/variables/GNUMAKEFLAGS
@@ -27,7 +27,7 @@ erR --trace --no-print-directory");
unlink('x.mk');
-$extraENV{GNUMAKEFLAGS} = '-Itst/bad -Oline';
+$extraENV{GNUMAKEFLAGS} = '-Itst/bad';
run_make_test(q!
recurse: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; #MAKEPATH# -f #MAKEFILE# all
@@ -35,7 +35,7 @@ all: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAG
-include x.mk
x.mk: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; echo > $@
!,
- "", "x.mk\nMAKEFLAGS = -Itst/bad -Oline\nGNUMAKEFLAGS =\nrecurse\nMAKEFLAGS = -Itst/bad -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Entering directory '#PWD#'\nall\nMAKEFLAGS = w -Itst/bad -Oline\nGNUMAKEFLAGS =\n#MAKE#[1]: Leaving directory '#PWD#'\n");
+ "", "x.mk\nMAKEFLAGS = -Itst/bad\nGNUMAKEFLAGS =\nrecurse\nMAKEFLAGS = -Itst/bad\nGNUMAKEFLAGS =\n#MAKE#[1]: Entering directory '#PWD#'\nall\nMAKEFLAGS = w -Itst/bad\nGNUMAKEFLAGS =\n#MAKE#[1]: Leaving directory '#PWD#'\n");
unlink('x.mk');
diff --git a/tests/scripts/variables/special b/tests/scripts/variables/special
index 4637b2a..a5ab93a 100644
--- a/tests/scripts/variables/special
+++ b/tests/scripts/variables/special
@@ -114,4 +114,28 @@ reset-four \
: foo-three
: foo-four');
+# Test that the "did you mean TAB" message is printed properly
+
+run_make_test(q!
+$x.
+!,
+ '', '#MAKEFILE#:2: *** missing separator. Stop.', 512);
+
+run_make_test(q!
+foo:
+ bar
+!,
+ '', '#MAKEFILE#:3: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.', 512);
+
+run_make_test(q!
+.RECIPEPREFIX = :
+foo:
+ bar
+!,
+ '', '#MAKEFILE#:4: *** missing separator. Stop.', 512);
+
1;
+
+### Local Variables:
+### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action))
+### End:
diff --git a/tests/test_driver.pl b/tests/test_driver.pl
index 2f83270..91141eb 100644
--- a/tests/test_driver.pl
+++ b/tests/test_driver.pl
@@ -5,7 +5,7 @@
# Written 91-12-02 through 92-01-01 by Stephen McGee.
# Modified 92-02-11 through 92-02-22 by Chris Arthur to further generalize.
#
-# Copyright (C) 1991-2013 Free Software Foundation, Inc.
+# Copyright (C) 1991-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -48,9 +48,9 @@ $tests_passed = 0;
# Yeesh. This whole test environment is such a hack!
$test_passed = 1;
-
# Timeout in seconds. If the test takes longer than this we'll fail it.
$test_timeout = 5;
+$test_timeout = 10 if $^O eq 'VMS';
# Path to Perl
$perl_name = $^X;
@@ -62,19 +62,67 @@ $perl_name = $^X;
# These are RESET AFTER EVERY TEST!
%extraENV = ();
+sub vms_get_process_logicals {
+ # Sorry for the long note here, but to keep this test running on
+ # VMS, it is needed to be understood.
+ #
+ # Perl on VMS by default maps the %ENV array to the system wide logical
+ # name table.
+ #
+ # This is a very large dynamically changing table.
+ # On Linux, this would be the equivalent of a table that contained
+ # every mount point, temporary pipe, and symbolic link on every
+ # file system. You normally do not have permission to clear or replace it,
+ # and if you did, the results would be catastrophic.
+ #
+ # On VMS, added/changed %ENV items show up in the process logical
+ # name table. So to track changes, a copy of it needs to be captured.
+
+ my $raw_output = `show log/process/access_mode=supervisor`;
+ my @raw_output_lines = split('\n',$raw_output);
+ my %log_hash;
+ foreach my $line (@raw_output_lines) {
+ if ($line =~ /^\s+"([A-Za-z\$_]+)"\s+=\s+"(.+)"$/) {
+ $log_hash{$1} = $2;
+ }
+ }
+ return \%log_hash
+}
+
# %origENV is the caller's original environment
-%origENV = %ENV;
+if ($^O ne 'VMS') {
+ %origENV = %ENV;
+} else {
+ my $proc_env = vms_get_process_logicals;
+ %origENV = %{$proc_env};
+}
sub resetENV
{
# We used to say "%ENV = ();" but this doesn't work in Perl 5.000
# through Perl 5.004. It was fixed in Perl 5.004_01, but we don't
# want to require that here, so just delete each one individually.
- foreach $v (keys %ENV) {
- delete $ENV{$v};
+
+ if ($^O ne 'VMS') {
+ foreach $v (keys %ENV) {
+ delete $ENV{$v};
+ }
+
+ %ENV = %makeENV;
+ } else {
+ my $proc_env = vms_get_process_logicals();
+ my %delta = %{$proc_env};
+ foreach my $v (keys %delta) {
+ if (exists $origENV{$v}) {
+ if ($origENV{$v} ne $delta{$v}) {
+ $ENV{$v} = $origENV{$v};
+ }
+ } else {
+ delete $ENV{$v};
+ }
+ }
}
- %ENV = %makeENV;
foreach $v (keys %extraENV) {
$ENV{$v} = $extraENV{$v};
delete $extraENV{$v};
@@ -105,7 +153,7 @@ sub toplevel
# Replace the environment with the new one
#
- %origENV = %ENV;
+ %origENV = %ENV unless $^O eq 'VMS';
resetENV();
@@ -139,6 +187,25 @@ sub toplevel
&print_banner;
+ if ($osname eq 'VMS' && $cwdslash eq "")
+ {
+ # Porting this script to VMS revealed a small bug in opendir() not
+ # handling search lists correctly when the directory only exists in
+ # one of the logical_devices. Need to find the first directory in
+ # the search list, as that is where things will be written to.
+ my @dirs = split("/", $pwd);
+
+ my $logical_device = $ENV{$dirs[1]};
+ if ($logical_device =~ /([A-Za-z0-9_]+):(:?.+:)+/)
+ {
+ # A search list was found. Grab the first logical device
+ # and use it instead of the search list.
+ $dirs[1]=$1;
+ my $lcl_pwd = join('/', @dirs);
+ $workpath = $lcl_pwd . '/' . $workdir
+ }
+ }
+
if (-d $workpath)
{
print "Clearing $workpath...\n";
@@ -181,8 +248,10 @@ sub toplevel
{
next if ($dir =~ /^(\..*|CVS|RCS)$/ || ! -d "$scriptpath/$dir");
push (@rmdirs, $dir);
+ # VMS can have overlayed file systems, so directories may repeat.
+ next if -d "$workpath/$dir";
mkdir ("$workpath/$dir", 0777)
- || &error ("Couldn't mkdir $workpath/$dir: $!\n");
+ || &error ("Couldn't mkdir $workpath/$dir: $!\n");
opendir (SCRIPTDIR, "$scriptpath/$dir")
|| &error ("Couldn't opendir $scriptpath/$dir: $!\n");
@files = grep (!/^(\..*|CVS|RCS|.*~)$/, readdir (SCRIPTDIR) );
@@ -239,6 +308,13 @@ sub get_osname
# Set up an initial value. In perl5 we can do it the easy way.
$osname = defined($^O) ? $^O : '';
+ if ($osname eq 'VMS')
+ {
+ $vos = 0;
+ $pathsep = "/";
+ return;
+ }
+
# Find a path to Perl
# See if the filesystem supports long file names with multiple
@@ -419,7 +495,11 @@ sub run_all_tests
{
$categories_run = 0;
+ $lasttest = '';
foreach $testname (sort @TESTS) {
+ # Skip duplicates on VMS caused by logical name search lists.
+ next if $testname eq $lasttest;
+ $lasttest = $testname;
$suite_passed = 1; # reset by test on failure
$num_of_logfiles = 0;
$num_of_tmpfiles = 0;
@@ -445,6 +525,7 @@ sub run_all_tests
$runext = 'run';
$extext = '.';
}
+ $extext = '_' if $^O eq 'VMS';
$log_filename = "$testpath.$logext";
$diff_filename = "$testpath.$diffext";
$base_filename = "$testpath.$baseext";
@@ -686,6 +767,121 @@ sub compare_output
$slurp_mod =~ s,\r\n,\n,gs;
$answer_matched = ($slurp_mod eq $answer_mod);
+ if ($^O eq 'VMS') {
+
+ # VMS has extra blank lines in output sometimes.
+ # Ticket #41760
+ if (!$answer_matched) {
+ $slurp_mod =~ s/\n\n+/\n/gm;
+ $slurp_mod =~ s/\A\n+//g;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS adding a "Waiting for unfinished jobs..."
+ # Remove it for now to see what else is going on.
+ if (!$answer_matched) {
+ $slurp_mod =~ s/^.+\*\*\* Waiting for unfinished jobs.+$//m;
+ $slurp_mod =~ s/\n\n/\n/gm;
+ $slurp_mod =~ s/^\n+//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS wants target device to exist or generates an error,
+ # Some test tagets look like VMS devices and trip this.
+ if (!$answer_matched) {
+ $slurp_mod =~ s/^.+\: no such device or address.*$//gim;
+ $slurp_mod =~ s/\n\n/\n/gm;
+ $slurp_mod =~ s/^\n+//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS error message has a different case
+ if (!$answer_matched) {
+ $slurp_mod =~ s/no such file /No such file /gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS is putting comas instead of spaces in output
+ if (!$answer_matched) {
+ $slurp_mod =~ s/,/ /gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS Is sometimes adding extra leading spaces to output?
+ if (!$answer_matched) {
+ my $slurp_mod = $slurp_mod;
+ $slurp_mod =~ s/^ +//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS port not handling POSIX encoded child status
+ # Translate error case it for now.
+ if (!$answer_matched) {
+ $slurp_mod =~ s/0x1035a00a/1/gim;
+ $answer_matched = 1 if $slurp_mod =~ /\Q$answer_mod\E/i;
+
+ }
+ if (!$answer_matched) {
+ $slurp_mod =~ s/0x1035a012/2/gim;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # Tests are using a UNIX null command, temp hack
+ # until this can be handled by the VMS port.
+ # ticket # 41761
+ if (!$answer_matched) {
+ $slurp_mod =~ s/^.+DCL-W-NOCOMD.*$//gim;
+ $slurp_mod =~ s/\n\n+/\n/gm;
+ $slurp_mod =~ s/^\n+//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+ # Tests are using exit 0;
+ # this generates a warning that should stop the make, but does not
+ if (!$answer_matched) {
+ $slurp_mod =~ s/^.+NONAME-W-NOMSG.*$//gim;
+ $slurp_mod =~ s/\n\n+/\n/gm;
+ $slurp_mod =~ s/^\n+//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS is sometimes adding single quotes to output?
+ if (!$answer_matched) {
+ my $noq_slurp_mod = $slurp_mod;
+ $noq_slurp_mod =~ s/\'//gm;
+ $answer_matched = ($noq_slurp_mod eq $answer_mod);
+
+ # And missing an extra space in output
+ if (!$answer_matched) {
+ $noq_answer_mod = $answer_mod;
+ $noq_answer_mod =~ s/\h\h+/ /gm;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+
+ # VMS adding ; to end of some lines.
+ if (!$answer_matched) {
+ $noq_slurp_mod =~ s/;\n/\n/gm;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+
+ # VMS adding trailing space to end of some quoted lines.
+ if (!$answer_matched) {
+ $noq_slurp_mod =~ s/\h+\n/\n/gm;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+
+ # And VMS missing leading blank line
+ if (!$answer_matched) {
+ $noq_answer_mod =~ s/\A\n//g;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+
+ # Unix double quotes showing up as single quotes on VMS.
+ if (!$answer_matched) {
+ $noq_answer_mod =~ s/\"//g;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+ }
+ }
# If it still doesn't match, see if the answer might be a regex.
if (!$answer_matched && $answer =~ m,^/(.+)/$,) {
@@ -781,7 +977,8 @@ sub detach_default_output
@OUTSTACK or error("default output stack has flown under!\n", 1);
close(STDOUT);
- close(STDERR);
+ close(STDERR) unless $^O eq 'VMS';
+
open (STDOUT, '>&', pop @OUTSTACK) or error("ddo: $! duping STDOUT\n", 1);
open (STDERR, '>&', pop @ERRSTACK) or error("ddo: $! duping STDERR\n", 1);
@@ -798,14 +995,39 @@ sub _run_command
resetENV();
eval {
- my $pid = fork();
- if (! $pid) {
- exec(@_) or die "Cannot execute $_[0]\n";
+ if ($^O eq 'VMS') {
+ local $SIG{ALRM} = sub {
+ my $e = $ERRSTACK[0];
+ print $e "\nTest timed out after $test_timeout seconds\n";
+ die "timeout\n"; };
+# alarm $test_timeout;
+ system(@_);
+ my $severity = ${^CHILD_ERROR_NATIVE} & 7;
+ $code = 0;
+ if (($severity & 1) == 0) {
+ $code = 512;
+ }
+
+ # Get the vms status.
+ my $vms_code = ${^CHILD_ERROR_NATIVE};
+
+ # Remove the print status bit
+ $vms_code &= ~0x10000000;
+
+ # Posix code translation.
+ if (($vms_code & 0xFFFFF000) == 0x35a000) {
+ $code = (($vms_code & 0xFFF) >> 3) * 256;
+ }
+ } else {
+ my $pid = fork();
+ if (! $pid) {
+ exec(@_) or die "Cannot execute $_[0]\n";
+ }
+ local $SIG{ALRM} = sub { my $e = $ERRSTACK[0]; print $e "\nTest timed out after $test_timeout seconds\n"; die "timeout\n"; };
+ alarm $test_timeout;
+ waitpid($pid, 0) > 0 or die "No such pid: $pid\n";
+ $code = $?;
}
- local $SIG{ALRM} = sub { my $e = $ERRSTACK[0]; print $e "\nTest timed out after $test_timeout seconds\n"; die "timeout\n"; };
- alarm $test_timeout;
- waitpid($pid, 0) > 0 or die "No such pid: $pid\n";
- $code = $?;
alarm 0;
};
if ($@) {
@@ -829,7 +1051,7 @@ sub run_command
print "\nrun_command: @_\n" if $debug;
my $code = _run_command(@_);
print "run_command returned $code.\n" if $debug;
-
+ print "vms status = ${^CHILD_ERROR_NATIVE}\n" if $debug and $^O eq 'VMS';
return $code;
}
@@ -851,7 +1073,7 @@ sub run_command_with_output
$err and die $err;
print "run_command_with_output returned $code.\n" if $debug;
-
+ print "vms status = ${^CHILD_ERROR_NATIVE}\n" if $debug and $^O eq 'VMS';
return $code;
}
@@ -911,7 +1133,15 @@ sub remove_directory_tree_inner
}
else
{
- unlink $object || return 0;
+ if ($^O ne 'VMS')
+ {
+ unlink $object || return 0;
+ }
+ else
+ {
+ # VMS can have multiple versions of a file.
+ 1 while unlink $object;
+ }
}
}
closedir ($dirhandle);
diff --git a/variable.c b/variable.c
index 2ff14b6..01b6d89 100644
--- a/variable.c
+++ b/variable.c
@@ -1,5 +1,5 @@
/* Internals of variables for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -222,8 +222,7 @@ define_variable_in_set (const char *name, unsigned int length,
than this one, don't redefine it. */
if ((int) origin >= (int) v->origin)
{
- if (v->value != 0)
- free (v->value);
+ free (v->value);
v->value = xstrdup (value);
if (flocp != 0)
v->fileinfo = *flocp;
@@ -785,12 +784,8 @@ merge_variable_set_lists (struct variable_set_list **setlist0,
void
define_automatic_variables (void)
{
-#if defined(WINDOWS32) || defined(__EMX__)
- extern char* default_shell;
-#else
- extern char default_shell[];
-#endif
- register struct variable *v;
+ extern const char* default_shell;
+ struct variable *v;
char buf[200];
sprintf (buf, "%u", makelevel);
@@ -1045,7 +1040,7 @@ target_environment (struct file *file)
}
}
- makelevel_key.name = MAKELEVEL_NAME;
+ makelevel_key.name = xstrdup (MAKELEVEL_NAME);
makelevel_key.length = MAKELEVEL_LENGTH;
hash_delete (&table, &makelevel_key);
@@ -1237,8 +1232,7 @@ do_variable_definition (const gmk_floc *flocp, const char *varname,
alloc_value[oldlen] = ' ';
memcpy (&alloc_value[oldlen + 1], val, vallen + 1);
- if (tp)
- free (tp);
+ free (tp);
}
}
}
@@ -1328,7 +1322,7 @@ do_variable_definition (const gmk_floc *flocp, const char *varname,
if ((origin == o_file || origin == o_override || origin == o_command)
&& streq (varname, "SHELL"))
{
- extern char *default_shell;
+ extern const char *default_shell;
/* Call shell locator function. If it returns TRUE, then
set no_default_sh_exe to indicate sh was found and
@@ -1363,8 +1357,7 @@ do_variable_definition (const gmk_floc *flocp, const char *varname,
else
v = lookup_variable (varname, strlen (varname));
- if (tp)
- free (tp);
+ free (tp);
}
}
else
@@ -1384,8 +1377,7 @@ do_variable_definition (const gmk_floc *flocp, const char *varname,
v->append = append;
v->conditional = conditional;
- if (alloc_value)
- free (alloc_value);
+ free (alloc_value);
return v->special ? set_special_var (v) : v;
}
@@ -1537,7 +1529,7 @@ parse_variable_definition (const char *p, struct variable *var)
returned. */
struct variable *
-assign_variable_definition (struct variable *v, char *line)
+assign_variable_definition (struct variable *v, const char *line)
{
char *name;
@@ -1551,7 +1543,7 @@ assign_variable_definition (struct variable *v, char *line)
v->name = allocated_variable_expand (name);
if (v->name[0] == '\0')
- fatal (&v->fileinfo, _("empty variable name"));
+ O (fatal, &v->fileinfo, _("empty variable name"));
return v;
}
@@ -1570,7 +1562,7 @@ assign_variable_definition (struct variable *v, char *line)
returned. */
struct variable *
-try_variable_definition (const gmk_floc *flocp, char *line,
+try_variable_definition (const gmk_floc *flocp, const char *line,
enum variable_origin origin, int target_var)
{
struct variable v;
@@ -1690,11 +1682,11 @@ print_noauto_variable (const void *item, void *arg)
/* Print all the variables in SET. PREFIX is printed before
the actual variable definitions (everything else is comments). */
-void
-print_variable_set (struct variable_set *set, char *prefix, int pauto)
+static void
+print_variable_set (struct variable_set *set, const char *prefix, int pauto)
{
hash_map_arg (&set->table, (pauto ? print_auto_variable : print_variable),
- prefix);
+ (void *)prefix);
fputs (_("# variable set hash-table stats:\n"), stdout);
fputs ("# ", stdout);
@@ -1721,7 +1713,7 @@ print_variable_data_base (void)
{
++rules;
printf ("\n%s :\n", p->target);
- print_variable (&p->variable, "# ");
+ print_variable (&p->variable, (void *)"# ");
}
if (rules == 0)
@@ -1768,16 +1760,10 @@ sync_Path_environment (void)
if (!path)
return;
- /*
- * If done this before, don't leak memory unnecessarily.
- * Free the previous entry before allocating new one.
- */
- if (environ_path)
- free (environ_path);
+ /* If done this before, free the previous entry before allocating new one. */
+ free (environ_path);
- /*
- * Create something WINDOWS32 world can grok
- */
+ /* Create something WINDOWS32 world can grok. */
convert_Path_to_windows32 (path, ';');
environ_path = xstrdup (concat (3, "PATH", "=", path));
putenv (environ_path);
diff --git a/variable.h b/variable.h
index dec75b1..fa2dbbd 100644
--- a/variable.h
+++ b/variable.h
@@ -1,5 +1,5 @@
/* Definitions for using variables in GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -159,8 +159,8 @@ struct variable *do_variable_definition (const gmk_floc *flocp,
int target_var);
char *parse_variable_definition (const char *line,
struct variable *v);
-struct variable *assign_variable_definition (struct variable *v, char *line);
-struct variable *try_variable_definition (const gmk_floc *flocp, char *line,
+struct variable *assign_variable_definition (struct variable *v, const char *line);
+struct variable *try_variable_definition (const gmk_floc *flocp, const char *line,
enum variable_origin origin,
int target_var);
void init_hash_global_variable_set (void);
@@ -219,10 +219,10 @@ void undefine_variable_in_set (const char *name, unsigned int length,
/* Warn that NAME is an undefined variable. */
#define warn_undefined(n,l) do{\
- if (warn_undefined_variables_flag) \
- error (reading_file, \
+ if (warn_undefined_variables_flag) \
+ error (reading_file, (l), \
_("warning: undefined variable '%.*s'"), \
- (int)(l), (n)); \
+ (int)(l), (n)); \
}while(0)
char **target_environment (struct file *file);
diff --git a/version.c b/version.c
index af461f7..d94ecec 100644
--- a/version.c
+++ b/version.c
@@ -1,5 +1,5 @@
/* Record version and build host architecture for GNU make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -23,8 +23,8 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
# define MAKE_HOST "unknown"
#endif
-char *version_string = VERSION;
-char *make_host = MAKE_HOST;
+const char *version_string = VERSION;
+const char *make_host = MAKE_HOST;
/*
Local variables:
diff --git a/vmsdir.h b/vmsdir.h
index ef53acc..3be3f0c 100644
--- a/vmsdir.h
+++ b/vmsdir.h
@@ -1,5 +1,5 @@
/* dirent.h for vms
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/vmsfunctions.c b/vmsfunctions.c
index 1907e3a..6ed136c 100644
--- a/vmsfunctions.c
+++ b/vmsfunctions.c
@@ -1,5 +1,5 @@
/* VMS functions
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -18,14 +18,14 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include "debug.h"
#include "job.h"
+#include <ctype.h>
+#include <string.h>
+
#ifdef __DECC
#include <starlet.h>
#endif
-#include <descrip.h>
+
#include <rms.h>
-#include <iodef.h>
-#include <atrdef.h>
-#include <fibdef.h>
#include "vmsdir.h"
#ifdef HAVE_VMSDIR_H
@@ -127,135 +127,100 @@ closedir (DIR *dir)
}
#endif /* compiled for OpenVMS prior to V7.x */
-char *
-getwd (char *cwd)
+/* Argv0 will be a full vms file specification, like
+ node$dka100:[utils.gnumake]make.exe;47
+ prefix it with "mcr " to make it a vms command, executable for DCL. */
+const char *
+vms_command(const char* argv0)
{
- static char buf[512];
-
- if (cwd)
- return (getcwd (cwd, 512));
- else
- return (getcwd (buf, 512));
+ size_t l = strlen(argv0) + 1;
+ char* s = xmalloc(l + 4);
+ memcpy(s, "mcr ", 4);
+ memcpy(s+4, argv0, l);
+ return s;
}
-#if 0
-/*
- * Is this used? I don't see any reference, so I suggest to remove it.
- */
-int
-vms_stat (char *name, struct stat *buf)
+/* Argv0 aka argv[0] will be a full vms file specification, like
+ node$dka100:[utils.gnumake]make.exe;47, set up by the CRTL.
+ The vms progname should be ^^^^, the file name without
+ file type .exe and ;version.
+ Use sys$parse to get the name part of the file specification. That is
+ in the above example, pick up "make" and return a copy of that string.
+ If something goes wrong in sys$parse (unlikely, this is a VMS/CRTL supplied
+ file specification) or if there is an empty name part (not easy to produce,
+ but it is possible) just return "make".
+ Somes notes ...
+ NAM[L]$M_SYNCHK requests a syntax check, only.
+ NAM is for ODS2 names (shorter parts, output usually converted to UPPERCASE).
+ NAML is for ODS2/ODS5 names (longer parts, output unchanged).
+ NAM$M_NO_SHORT_UPCASE may not be available for older versions of VMS.
+ NAML is not available on older versions of VMS (NAML$C_BID not defined).
+ argv[0] on older versions of VMS (no extended parse style and no
+ CRTL feature DECC$ARGV_PARSE_STYLE) is always in lowercase. */
+const char *
+vms_progname(const char* argv0)
{
int status;
- int i;
+ static struct FAB fab;
+ char *progname;
+ const char *fallback = "make";
- static struct FAB Fab;
- static struct NAM Nam;
- static struct fibdef Fib; /* short fib */
- static struct dsc$descriptor FibDesc =
- { sizeof (Fib), DSC$K_DTYPE_Z, DSC$K_CLASS_S, (char *) &Fib };
- static struct dsc$descriptor_s DevDesc =
- { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, &Nam.nam$t_dvi[1] };
- static char EName[NAM$C_MAXRSS];
- static char RName[NAM$C_MAXRSS];
- static struct dsc$descriptor_s FileName =
- { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0 };
- static struct dsc$descriptor_s string =
- { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0 };
- static unsigned long Rdate[2];
- static unsigned long Cdate[2];
- static struct atrdef Atr[] =
- {
-#if defined(VAX)
- /* Revision date */
- { sizeof (Rdate), ATR$C_REVDATE, (unsigned int) &Rdate[0] },
- /* Creation date */
- { sizeof (Cdate), ATR$C_CREDATE, (unsigned int) &Cdate[0] },
+#ifdef NAML$C_BID
+ static char esa[NAML$C_MAXRSS];
+ static struct NAML naml;
#else
- /* Revision date */
- { sizeof (Rdate), ATR$C_REVDATE, &Rdate[0] },
- /* Creation date */
- { sizeof (Cdate), ATR$C_CREDATE, &Cdate[0]},
+ static char esa[NAM$C_MAXRSS];
+ static struct NAM nam;
#endif
- { 0, 0, 0 }
- };
- static short int DevChan;
- static short int iosb[4];
-
- name = vmsify (name, 0);
-
- /* initialize RMS structures, we need a NAM to retrieve the FID */
- Fab = cc$rms_fab;
- Fab.fab$l_fna = name; /* name of file */
- Fab.fab$b_fns = strlen (name);
- Fab.fab$l_nam = &Nam; /* FAB has an associated NAM */
-
- Nam = cc$rms_nam;
- Nam.nam$l_esa = EName; /* expanded filename */
- Nam.nam$b_ess = sizeof (EName);
- Nam.nam$l_rsa = RName; /* resultant filename */
- Nam.nam$b_rss = sizeof (RName);
-
- /* do $PARSE and $SEARCH here */
- status = sys$parse (&Fab);
- if (!(status & 1))
- return -1;
- DevDesc.dsc$w_length = Nam.nam$t_dvi[0];
- status = sys$assign (&DevDesc, &DevChan, 0, 0);
- if (!(status & 1))
- return -1;
-
- FileName.dsc$a_pointer = Nam.nam$l_name;
- FileName.dsc$w_length = Nam.nam$b_name + Nam.nam$b_type + Nam.nam$b_ver;
-
- /* Initialize the FIB */
- for (i = 0; i < 3; i++)
- {
-#ifndef __VAXC
- Fib.fib$w_fid[i] = Nam.nam$w_fid[i];
- Fib.fib$w_did[i] = Nam.nam$w_did[i];
+ fab = cc$rms_fab;
+ fab.fab$l_fna = (char*)argv0;
+ fab.fab$b_fns = strlen(argv0);
+
+#ifdef NAML$C_BID
+ fab.fab$l_naml = &naml;
+ naml = cc$rms_naml;
+ naml.naml$l_long_expand = esa;
+ naml.naml$l_long_expand_alloc = NAML$C_MAXRSS;
+ naml.naml$b_nop = NAML$M_SYNCHK;
+ naml.naml$l_input_flags = NAML$M_NO_SHORT_OUTPUT;
#else
- Fib.fib$r_fid_overlay.fib$w_fid[i] = Nam.nam$w_fid[i];
- Fib.fib$r_did_overlay.fib$w_did[i] = Nam.nam$w_did[i];
+ fab.fab$l_nam = &nam;
+ nam = cc$rms_nam;
+ nam.nam$l_esa = esa;
+ nam.nam$b_ess = NAM$C_MAXRSS;
+# ifdef NAM$M_NO_SHORT_UPCASE
+ nam.nam$b_nop = NAM$M_SYNCHK | NAM$M_NO_SHORT_UPCASE;
+# else
+ nam.nam$b_nop = NAM$M_SYNCHK;
+# endif
#endif
- }
- status = sys$qiow (0, DevChan, IO$_ACCESS, &iosb, 0, 0,
- &FibDesc, &FileName, 0, 0, &Atr, 0);
- sys$dassgn (DevChan);
- if (!(status & 1))
- return -1;
- status = iosb[0];
+ status = sys$parse(&fab);
if (!(status & 1))
- return -1;
-
- status = stat (name, buf);
- if (status)
- return -1;
-
- buf->st_mtime = ((Rdate[0] >> 24) & 0xff) + ((Rdate[1] << 8) & 0xffffff00);
- buf->st_ctime = ((Cdate[0] >> 24) & 0xff) + ((Cdate[1] << 8) & 0xffffff00);
-
- return 0;
-}
+ return fallback;
+
+#ifdef NAML$C_BID
+ if (naml.naml$l_long_name_size == 0)
+ return fallback;
+ progname = xmalloc(naml.naml$l_long_name_size + 1);
+ memcpy(progname, naml.naml$l_long_name, naml.naml$l_long_name_size);
+ progname[naml.naml$l_long_name_size] = '\0';
+#else
+ if (nam.nam$b_name == 0)
+ return fallback;
+ progname = xmalloc(nam.nam$b_name + 1);
+# ifdef NAM$M_NO_SHORT_UPCASE
+ memcpy(progname, nam.nam$l_name, nam.nam$b_name);
+# else
+ {
+ int i;
+ for (i = 0; i < nam.nam$b_name; i++)
+ progname[i] = tolower(nam.nam$l_name[i]);
+ }
+# endif
+ progname[nam.nam$b_name] = '\0';
#endif
-char *
-cvt_time (unsigned long tval)
-{
- static long int date[2];
- static char str[27];
- static struct dsc$descriptor date_str =
- { 26, DSC$K_DTYPE_T, DSC$K_CLASS_S, str };
-
- date[0] = (tval & 0xff) << 24;
- date[1] = ((tval >> 8) & 0xffffff);
-
- if ((date[0] == 0) && (date[1] == 0))
- return ("never");
-
- sys$asctim (0, &date_str, date, 0);
- str[26] = '\0';
-
- return (str);
+ return progname;
}
diff --git a/vmsify.c b/vmsify.c
index c87d68c..02bdbf5 100644
--- a/vmsify.c
+++ b/vmsify.c
@@ -1,5 +1,5 @@
/* vmsify.c -- Module for vms <-> unix file name conversion
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -22,6 +22,8 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <string.h>
#include <ctype.h>
+#include "makeint.h"
+
#if VMS
#include <unixlib.h>
#include <stdlib.h>
@@ -137,9 +139,7 @@ trnlog (const char *name)
}
reslt[resltlen] = '\0';
- s = malloc (resltlen+1);
- if (s == 0)
- return "";
+ s = xmalloc (resltlen+1);
strcpy (s, reslt);
return s;
}
@@ -221,10 +221,11 @@ vmsify (const char *name, int type)
max 39 filetype
max 5 version
*/
-#define MAXPATHLEN 512
+/* todo: VMSMAXPATHLEN is defined for ODS2 names: it needs to be adjusted. */
+#define VMSMAXPATHLEN 512
enum namestate nstate;
- static char vmsname[MAXPATHLEN+1];
+ static char vmsname[VMSMAXPATHLEN+1];
const char *fptr;
const char *t;
char *vptr;
@@ -402,9 +403,9 @@ vmsify (const char *name, int type)
fptr++;
if (*fptr == 0) /* just // */
{
- char cwdbuf[MAXPATHLEN+1];
+ char cwdbuf[VMSMAXPATHLEN+1];
- s1 = getcwd(cwdbuf, MAXPATHLEN);
+ s1 = getcwd(cwdbuf, VMSMAXPATHLEN);
if (s1 == 0)
{
vmsname[0] = '\0';
@@ -796,9 +797,9 @@ vmsify (const char *name, int type)
}
{ /* got '..' or '../' */
char *vp;
- char cwdbuf[MAXPATHLEN+1];
+ char cwdbuf[VMSMAXPATHLEN+1];
- vp = getcwd(cwdbuf, MAXPATHLEN);
+ vp = getcwd(cwdbuf, VMSMAXPATHLEN);
if (vp == 0)
{
vmsname[0] = '\0';
@@ -856,9 +857,9 @@ vmsify (const char *name, int type)
{
char *vp;
- char cwdbuf[MAXPATHLEN+1];
+ char cwdbuf[VMSMAXPATHLEN+1];
- vp = getcwd(cwdbuf, MAXPATHLEN);
+ vp = getcwd(cwdbuf, VMSMAXPATHLEN);
if (vp == 0)
{
vmsname[0] = '\0';
diff --git a/vmsjobs.c b/vmsjobs.c
index 8bacc86..b11bca1 100644
--- a/vmsjobs.c
+++ b/vmsjobs.c
@@ -1,7 +1,7 @@
/* --------------- Moved here from job.c ---------------
This file must be #included in job.c, as it accesses static functions.
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -43,10 +43,11 @@ vmsWaitForChildren(int *status)
/* Set up IO redirection. */
-char *
+static char *
vms_redirect (struct dsc$descriptor_s *desc, char *fname, char *ibuf)
{
char *fptr;
+ char saved;
ibuf++;
while (isspace ((unsigned char)*ibuf))
@@ -54,6 +55,7 @@ vms_redirect (struct dsc$descriptor_s *desc, char *fname, char *ibuf)
fptr = ibuf;
while (*ibuf && !isspace ((unsigned char)*ibuf))
ibuf++;
+ saved = *ibuf;
*ibuf = 0;
if (strcmp (fptr, "/dev/null") != 0)
{
@@ -68,7 +70,10 @@ vms_redirect (struct dsc$descriptor_s *desc, char *fname, char *ibuf)
if (*fname == 0)
printf (_("Warning: Empty redirection\n"));
- return ibuf;
+ if (saved=='\0')
+ return ibuf;
+ *ibuf = saved;
+ return --ibuf;
}
@@ -76,13 +81,10 @@ vms_redirect (struct dsc$descriptor_s *desc, char *fname, char *ibuf)
inc p until after closing apostrophe.
*/
-char *
+static char *
vms_handle_apos (char *p)
{
int alast;
-
-#define SEPCHARS ",/()= "
-
alast = 0;
while (*p != 0)
@@ -95,7 +97,7 @@ vms_handle_apos (char *p)
else
{
p++;
- if (strchr (SEPCHARS, *p))
+ if (*p!='"')
break;
alast = 1;
}
@@ -111,10 +113,10 @@ static int ctrlYPressed= 0;
terminated. At AST level it won't get interrupted by anything except a
inner mode level AST.
*/
-int
+static int
vmsHandleChildTerm(struct child *child)
{
- int status;
+ int exit_code;
register struct child *lastc, *c;
int child_failed;
@@ -130,7 +132,9 @@ vmsHandleChildTerm(struct child *child)
(void) sigblock (fatal_signal_mask);
- child_failed = !(child->cstatus & 1 || ((child->cstatus & 7) == 0));
+ child_failed = !(child->cstatus & 1);
+ if (child_failed)
+ exit_code = child->cstatus;
/* Search for a child matching the deceased one. */
lastc = 0;
@@ -175,8 +179,8 @@ vmsHandleChildTerm(struct child *child)
break;
default:
- error (NILF, _("internal error: '%s' command_state"),
- c->file->name);
+ OS (error, NILF,
+ _("internal error: '%s' command_state"), c->file->name);
abort ();
break;
}
@@ -202,7 +206,7 @@ vmsHandleChildTerm(struct child *child)
/* If the job failed, and the -k flag was not given, die. */
if (child_failed && !keep_going_flag)
- die (EXIT_FAILURE);
+ die (exit_code);
(void) sigsetmask (sigblock (0) & ~(fatal_signal_mask));
@@ -294,6 +298,21 @@ tryToSetupYAst(void)
chan = loc_chan;
}
+static int
+nextnl(char *cmd, int l)
+{
+ int instring;
+ instring = 0;
+ while (cmd[l])
+ {
+ if (cmd[l]=='"')
+ instring = !instring;
+ else if (cmd[l]=='\n' && !instring)
+ return ++l;
+ ++l;
+ }
+ return l;
+}
int
child_execute_job (char *argv, struct child *child)
{
@@ -337,7 +356,11 @@ child_execute_job (char *argv, struct child *child)
pnamedsc.dsc$b_class = DSC$K_CLASS_S;
in_string = 0;
- /* Handle comments and redirection. */
+ /* Handle comments and redirection.
+ For ONESHELL, the redirection must be on the first line. Any other
+ redirection token is handled by DCL, that is, the pipe command with
+ redirection can be used, but it should not be used on the first line
+ for ONESHELL. */
for (p = argv, q = cmd; *p; p++, q++)
{
if (*p == '"')
@@ -365,40 +388,50 @@ child_execute_job (char *argv, struct child *child)
*q = *p;
break;
case '<':
- p = vms_redirect (&ifiledsc, ifile, p);
- *q = ' ';
- have_redirection = 1;
+ if (have_newline==0)
+ {
+ p = vms_redirect (&ifiledsc, ifile, p);
+ *q = ' ';
+ have_redirection = 1;
+ }
+ else
+ *q = *p;
break;
case '>':
- have_redirection = 1;
- if (*(p-1) == '2')
+ if (have_newline==0)
{
- q--;
- if (strncmp (p, ">&1", 3) == 0)
+ have_redirection = 1;
+ if (*(p-1) == '2')
{
- p += 3;
- strcpy (efile, "sys$output");
- efiledsc.dsc$w_length = strlen(efile);
- efiledsc.dsc$a_pointer = efile;
- efiledsc.dsc$b_dtype = DSC$K_DTYPE_T;
- efiledsc.dsc$b_class = DSC$K_CLASS_S;
+ q--;
+ if (strncmp (p, ">&1", 3) == 0)
+ {
+ p += 2;
+ strcpy (efile, "sys$output");
+ efiledsc.dsc$w_length = strlen(efile);
+ efiledsc.dsc$a_pointer = efile;
+ efiledsc.dsc$b_dtype = DSC$K_DTYPE_T;
+ efiledsc.dsc$b_class = DSC$K_CLASS_S;
+ }
+ else
+ p = vms_redirect (&efiledsc, efile, p);
}
else
- p = vms_redirect (&efiledsc, efile, p);
- }
- else
- {
- if (*(p+1) == '>')
{
- have_append = 1;
- p += 1;
+ if (*(p+1) == '>')
+ {
+ have_append = 1;
+ p += 1;
+ }
+ p = vms_redirect (&ofiledsc, ofile, p);
}
- p = vms_redirect (&ofiledsc, ofile, p);
+ *q = ' ';
}
- *q = ' ';
+ else
+ *q = *p;
break;
case '\n':
- have_newline = 1;
+ have_newline++;
default:
*q = *p;
break;
@@ -408,82 +441,203 @@ child_execute_job (char *argv, struct child *child)
while (isspace ((unsigned char)*--q))
*q = '\0';
- if (strncmp (cmd, "builtin_", 8) == 0)
+
+#define VMS_EMPTY_ECHO "write sys$output \"\""
+ if (have_newline == 0)
{
- child->pid = 270163;
- child->efn = 0;
- child->cstatus = 1;
+ /* multiple shells */
+ if (strncmp(cmd, "builtin_", 8) == 0)
+ {
+ child->pid = 270163;
+ child->efn = 0;
+ child->cstatus = 1;
- DB (DB_JOBS, (_("BUILTIN [%s][%s]\n"), cmd, cmd+8));
+ DB(DB_JOBS, (_("BUILTIN [%s][%s]\n"), cmd, cmd + 8));
- p = cmd + 8;
+ p = cmd + 8;
- if ((*(p) == 'c')
- && (*(p+1) == 'd')
- && ((*(p+2) == ' ') || (*(p+2) == '\t')))
- {
- p += 3;
- while ((*p == ' ') || (*p == '\t'))
- p++;
- DB (DB_JOBS, (_("BUILTIN CD %s\n"), p));
- if (chdir (p))
- return 0;
+ if ((*(p) == 'c') && (*(p + 1) == 'd')
+ && ((*(p + 2) == ' ') || (*(p + 2) == '\t')))
+ {
+ p += 3;
+ while ((*p == ' ') || (*p == '\t'))
+ p++;
+ DB(DB_JOBS, (_("BUILTIN CD %s\n"), p));
+ if (chdir(p))
+ return 0;
+ else
+ return 1;
+ }
+ else if ((*(p) == 'e')
+ && (*(p+1) == 'c')
+ && (*(p+2) == 'h')
+ && (*(p+3) == 'o')
+ && ((*(p+4) == ' ') || (*(p+4) == '\t') || (*(p+4) == '\0')))
+ {
+ /* This is not a real builtin, it is a built in pre-processing
+ for the VMS/DCL echo (write sys$output) to ensure the to be echoed
+ string is correctly quoted (with the DCL quote character '"'). */
+ char *vms_echo;
+ p += 4;
+ if (*p == '\0')
+ cmd = VMS_EMPTY_ECHO;
+ else
+ {
+ p++;
+ while ((*p == ' ') || (*p == '\t'))
+ p++;
+ if (*p == '\0')
+ cmd = VMS_EMPTY_ECHO;
+ else
+ {
+ vms_echo = alloca(strlen(p) + sizeof VMS_EMPTY_ECHO);
+ strcpy(vms_echo, VMS_EMPTY_ECHO);
+ vms_echo[sizeof VMS_EMPTY_ECHO - 2] = '\0';
+ strcat(vms_echo, p);
+ strcat(vms_echo, "\"");
+ cmd = vms_echo;
+ }
+ }
+ DB (DB_JOBS, (_("BUILTIN ECHO %s->%s\n"), p, cmd));
+ }
else
- return 1;
+ {
+ printf(_("Unknown builtin command '%s'\n"), cmd);
+ fflush(stdout);
+ return 0;
+ }
}
- else if ((*(p) == 'r')
- && (*(p+1) == 'm')
- && ((*(p+2) == ' ') || (*(p+2) == '\t')))
+ /* expand ':' aka 'do nothing' builtin for bash and friends */
+ else if (cmd[0]==':' && cmd[1]=='\0')
{
- int in_arg;
-
- /* rm */
- p += 3;
- while ((*p == ' ') || (*p == '\t'))
- p++;
- in_arg = 1;
-
- DB (DB_JOBS, (_("BUILTIN RM %s\n"), p));
- while (*p)
+ cmd = "continue";
+ }
+ }
+ else
+ {
+ /* todo: expand ':' aka 'do nothing' builtin for bash and friends */
+ /* For 'one shell' expand all the
+ builtin_echo
+ to
+ write sys$output ""
+ where one is ......7 bytes longer.
+ At the same time ensure that the echo string is properly terminated.
+ For that, allocate a command buffer big enough for all possible expansions
+ (have_newline is the count), then expand, copy and terminate. */
+ char *tmp_cmd;
+ int nloff = 0;
+ int vlen = 0;
+ int clen = 0;
+ int inecho;
+
+ tmp_cmd = alloca(strlen(cmd) + (have_newline + 1) * 7 + 1);
+ tmp_cmd[0] = '\0';
+ inecho = 0;
+ while (cmd[nloff])
+ {
+ if (inecho)
+ {
+ if (clen < nloff - 1)
+ {
+ memcpy(&tmp_cmd[vlen], &cmd[clen], nloff - clen - 1);
+ vlen += nloff - clen - 1;
+ clen = nloff;
+ }
+ inecho = 0;
+ tmp_cmd[vlen] = '"';
+ vlen++;
+ tmp_cmd[vlen] = '\n';
+ vlen++;
+ }
+ if (strncmp(&cmd[nloff], "builtin_", 8) == 0)
{
- switch (*p)
+ /* ??? */
+ child->pid = 270163;
+ child->efn = 0;
+ child->cstatus = 1;
+
+ DB (DB_JOBS, (_("BUILTIN [%s][%s]\n"), &cmd[nloff], &cmd[nloff+8]));
+ p = &cmd[nloff + 8];
+ if ((*(p) == 'e')
+ && (*(p + 1) == 'c')
+ && (*(p + 2) == 'h')
+ && (*(p + 3) == 'o')
+ && ((*(p + 4) == ' ') || (*(p + 4) == '\t') || (*(p + 4) == '\0')))
{
- case ' ':
- case '\t':
- if (in_arg)
+ if (clen < nloff - 1)
{
- *p++ = ';';
- in_arg = 0;
+ memcpy(&tmp_cmd[vlen], &cmd[clen], nloff - clen - 1);
+ vlen += nloff - clen - 1;
+ clen = nloff;
+ if (inecho)
+ {
+ inecho = 0;
+ tmp_cmd[vlen] = '"';
+ vlen++;
+ }
+ tmp_cmd[vlen] = '\n';
+ vlen++;
}
- break;
- default:
- break;
+ inecho = 1;
+ p += 4;
+ while ((*p == ' ') || (*p == '\t'))
+ p++;
+ clen = p - cmd;
+ memcpy(&tmp_cmd[vlen], VMS_EMPTY_ECHO,
+ sizeof VMS_EMPTY_ECHO - 2);
+ vlen += sizeof VMS_EMPTY_ECHO - 2;
+ }
+ else
+ {
+ printf (_("Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"), &cmd[nloff]);
+ fflush(stdout);
+ return 0;
}
- p++;
}
+ nloff = nextnl(cmd, nloff + 1);
}
- else
+ if (clen < nloff)
{
- printf (_("Unknown builtin command '%s'\n"), cmd);
- fflush (stdout);
- return 0;
+ memcpy(&tmp_cmd[vlen], &cmd[clen], nloff - clen);
+ vlen += nloff - clen;
+ clen = nloff;
+ if (inecho)
+ {
+ inecho = 0;
+ tmp_cmd[vlen] = '"';
+ vlen++;
+ }
}
+
+ tmp_cmd[vlen] = '\0';
+
+ cmd = tmp_cmd;
}
+#ifdef USE_DCL_COM_FILE
+ /* Enforce the creation of a command file.
+ Then all the make environment variables are written as DCL symbol
+ assignments into the command file as well, so that they are visible
+ in the sub-process but do not affect the current process.
+ Further, this way DCL reads the input stream and therefore does
+ 'forced' symbol substitution, which it doesn't do for one-liners when
+ they are 'lib$spawn'ed. */
+#else
/* Create a *.com file if either the command is too long for
lib$spawn, or the command contains a newline, or if redirection
is desired. Forcing commands with newlines into DCLs allows to
store search lists on user mode logicals. */
-
if (strlen (cmd) > MAXCMDLEN
|| (have_redirection != 0)
|| (have_newline != 0))
+#endif
{
FILE *outfile;
char c;
char *sep;
int alevel = 0; /* apostrophe level */
-
+ int tmpstrlen;
+ char *tmpstr;
if (strlen (cmd) == 0)
{
printf (_("Error, empty command\n"));
@@ -492,10 +646,28 @@ child_execute_job (char *argv, struct child *child)
}
outfile = output_tmpfile (&child->comname, "sys$scratch:CMDXXXXXX.COM");
+ /* 012345678901234567890 */
+#define TMP_OFFSET 12
+#define TMP_LEN 9
if (outfile == 0)
pfatal_with_name (_("fopen (temporary file)"));
comnamelen = strlen (child->comname);
-
+ tmpstr = &child->comname[TMP_OFFSET];
+ tmpstrlen = TMP_LEN;
+ /* The whole DCL "script" is executed as one action, and it behaves as
+ any DCL "script", that is errors stop it but warnings do not. Usually
+ the command on the last line, defines the exit code. However, with
+ redirections there is a prolog and possibly an epilog to implement
+ the redirection. Both are part of the script which is actually
+ executed. So if the redirection encounters an error in the prolog,
+ the user actions will not run; if in the epilog, the user actions
+ ran, but output is not captured. In both error cases, the error of
+ redirection is passed back and not the exit code of the actions. The
+ user should be able to enable DCL "script" verification with "set
+ verify". However, the prolog and epilog commands are not shown. Also,
+ if output redirection is used, the verification output is redirected
+ into that file as well. */
+ fprintf (outfile, "$ %.*s_1 = \"''f$verify(0)'\"\n", tmpstrlen, tmpstr);
if (ifile[0])
{
fprintf (outfile, "$ assign/user %s sys$input\n", ifile);
@@ -513,8 +685,8 @@ child_execute_job (char *argv, struct child *child)
if (ofile[0])
if (have_append)
{
- fprintf (outfile, "$ set noon\n");
fprintf (outfile, "$ define sys$output %.*s\n", comnamelen-3, child->comname);
+ fprintf (outfile, "$ on error then $ goto %.*s\n", tmpstrlen, tmpstr);
DB (DB_JOBS, (_("Append output to %s\n"), ofile));
ofiledsc.dsc$w_length = 0;
}
@@ -524,72 +696,109 @@ child_execute_job (char *argv, struct child *child)
DB (DB_JOBS, (_("Redirected output to %s\n"), ofile));
ofiledsc.dsc$w_length = 0;
}
-
+#ifdef USE_DCL_COM_FILE
+ /* Export the child environment into DCL symbols */
+ if (child->environment != 0)
+ {
+ char **ep = child->environment;
+ char *valstr;
+ while (*ep != 0)
+ {
+ valstr = strchr(*ep, '=');
+ if (valstr == NULL)
+ continue;
+ fprintf(outfile, "$ %.*s=\"%s\"\n", valstr - *ep, *ep,
+ valstr + 1);
+ ep++;
+ }
+ }
+#endif
+ fprintf (outfile, "$ %.*s_ = f$verify(%.*s_1)\n", tmpstrlen, tmpstr, tmpstrlen, tmpstr);
+
+ /* TODO: give 78 a name! Whether 78 is a good number is another question.
+ Trim, split and write the command lines.
+ Splitting of a command is done after 78 output characters at an
+ appropriate place (after strings, after comma or space and
+ before slash): appending a hyphen indicates that the DCL command
+ is being continued.
+ Trimming is to skip any whitespace around - including - a
+ leading $ from the command to ensure writing exactly one "$ "
+ at the beginning of the line of the output file. Trimming is
+ done when a new command is seen, indicated by a '\n' (outside
+ of a string).
+ The buffer so far is written and reset, when a new command is
+ seen, when a split was done and at the end of the command.
+ Only for ONESHELL there will be several commands separated by
+ '\n'. But there can always be multiple continuation lines. */
p = sep = q = cmd;
for (c = '\n'; c; c = *q++)
{
switch (c)
- {
- case '\n':
- /* At a newline, skip any whitespace around a leading $
- from the command and issue exactly one $ into the DCL. */
- while (isspace ((unsigned char)*p))
- p++;
- if (*p == '$')
- p++;
- while (isspace ((unsigned char)*p))
- p++;
- fwrite (p, 1, q - p, outfile);
- fputc ('$', outfile);
- fputc (' ', outfile);
- /* Reset variables. */
- p = sep = q;
- break;
-
- /* Nice places for line breaks are after strings, after
- comma or space and before slash. */
- case '"':
- q = vms_handle_apos (q);
- sep = q;
- break;
- case ',':
- case ' ':
- sep = q;
- break;
- case '/':
- case '\0':
- sep = q - 1;
- break;
- default:
- break;
- }
+ {
+ case '\n':
+ if (q > p)
+ {
+ fwrite(p, 1, q - p, outfile);
+ p = q;
+ }
+ fputc('$', outfile);
+ fputc(' ', outfile);
+ while (isspace((unsigned char) *p))
+ p++;
+ if (*p == '$')
+ p++;
+ while (isspace((unsigned char) *p))
+ p++;
+ q = sep = p;
+ break;
+ case '"':
+ q = vms_handle_apos(q);
+ sep = q;
+ break;
+ case ',':
+ case ' ':
+ sep = q;
+ break;
+ case '/':
+ case '\0':
+ sep = q - 1;
+ break;
+ default:
+ break;
+ }
if (sep - p > 78)
{
/* Enough stuff for a line. */
- fwrite (p, 1, sep - p, outfile);
+ fwrite(p, 1, sep - p, outfile);
p = sep;
if (*sep)
{
/* The command continues. */
- fputc ('-', outfile);
+ fputc('-', outfile);
}
- fputc ('\n', outfile);
+ fputc('\n', outfile);
}
}
if (*p)
{
- fwrite (p, 1, --q - p, outfile);
- fputc ('\n', outfile);
+ fwrite(p, 1, --q - p, outfile);
+ fputc('\n', outfile);
}
if (have_append)
{
- fprintf (outfile, "$ deassign sys$output ! 'f$verify(0)\n");
+ fprintf (outfile, "$ %.*s: ! 'f$verify(0)\n", tmpstrlen, tmpstr);
+ fprintf (outfile, "$ %.*s_2 = $status\n", tmpstrlen, tmpstr);
+ fprintf (outfile, "$ on error then $ exit\n");
+ fprintf (outfile, "$ deassign sys$output\n");
+ if (efile[0])
+ fprintf (outfile, "$ deassign sys$error\n");
fprintf (outfile, "$ append:=append\n");
fprintf (outfile, "$ delete:=delete\n");
fprintf (outfile, "$ append/new %.*s %s\n", comnamelen-3, child->comname, ofile);
fprintf (outfile, "$ delete %.*s;*\n", comnamelen-3, child->comname);
+ fprintf (outfile, "$ exit '%.*s_2 + (0*f$verify(%.*s_1))\n", tmpstrlen, tmpstr, tmpstrlen, tmpstr);
DB (DB_JOBS, (_("Append %.*s and cleanup\n"), comnamelen-3, child->comname));
}
diff --git a/vpath.c b/vpath.c
index 94956fa..1bcba04 100644
--- a/vpath.c
+++ b/vpath.c
@@ -1,5 +1,5 @@
/* Implementation of pattern-matching file search paths for GNU Make.
-Copyright (C) 1988-2013 Free Software Foundation, Inc.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/w32/Makefile.am b/w32/Makefile.am
index be757fe..a2c4063 100644
--- a/w32/Makefile.am
+++ b/w32/Makefile.am
@@ -1,5 +1,5 @@
# Makefile.am to create libw32.a for mingw32 host.
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
+AUTOMAKE_OPTIONS = subdir-objects
+
noinst_LIBRARIES = libw32.a
libw32_a_SOURCES = subproc/misc.c subproc/sub_proc.c subproc/w32err.c \
diff --git a/w32/Makefile.in b/w32/Makefile.in
index 9683105..4760541 100644
--- a/w32/Makefile.in
+++ b/w32/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,7 +15,7 @@
@SET_MAKE@
# Makefile.am to create libw32.a for mingw32 host.
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
@@ -33,23 +32,51 @@
# this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -69,7 +96,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = w32
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/config/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
@@ -89,16 +117,29 @@ LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru
AM_V_AR = $(am__v_AR_@AM_V@)
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-am__v_AR_0 = @echo " AR " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
+am__v_AR_0 = @echo " AR " $@;
+am__v_AR_1 =
libw32_a_AR = $(AR) $(ARFLAGS)
libw32_a_LIBADD =
-am_libw32_a_OBJECTS = libw32_a-misc.$(OBJEXT) \
- libw32_a-sub_proc.$(OBJEXT) libw32_a-w32err.$(OBJEXT) \
- libw32_a-posixfcn.$(OBJEXT) libw32_a-pathstuff.$(OBJEXT)
+am__dirstamp = $(am__leading_dot)dirstamp
+am_libw32_a_OBJECTS = subproc/libw32_a-misc.$(OBJEXT) \
+ subproc/libw32_a-sub_proc.$(OBJEXT) \
+ subproc/libw32_a-w32err.$(OBJEXT) \
+ compat/libw32_a-posixfcn.$(OBJEXT) \
+ libw32_a-pathstuff.$(OBJEXT)
libw32_a_OBJECTS = $(am_libw32_a_OBJECTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@@ -106,19 +147,19 @@ am__mv = mv -f
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
+am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libw32_a_SOURCES)
DIST_SOURCES = $(libw32_a_SOURCES)
am__can_run_installinfo = \
@@ -126,6 +167,23 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -212,6 +270,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -258,6 +317,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = subdir-objects
noinst_LIBRARIES = libw32.a
libw32_a_SOURCES = subproc/misc.c subproc/sub_proc.c subproc/w32err.c \
compat/posixfcn.c pathstuff.c
@@ -276,9 +336,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu w32/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign w32/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu w32/Makefile
+ $(AUTOMAKE) --foreign w32/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -300,6 +360,27 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+subproc/$(am__dirstamp):
+ @$(MKDIR_P) subproc
+ @: > subproc/$(am__dirstamp)
+subproc/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) subproc/$(DEPDIR)
+ @: > subproc/$(DEPDIR)/$(am__dirstamp)
+subproc/libw32_a-misc.$(OBJEXT): subproc/$(am__dirstamp) \
+ subproc/$(DEPDIR)/$(am__dirstamp)
+subproc/libw32_a-sub_proc.$(OBJEXT): subproc/$(am__dirstamp) \
+ subproc/$(DEPDIR)/$(am__dirstamp)
+subproc/libw32_a-w32err.$(OBJEXT): subproc/$(am__dirstamp) \
+ subproc/$(DEPDIR)/$(am__dirstamp)
+compat/$(am__dirstamp):
+ @$(MKDIR_P) compat
+ @: > compat/$(am__dirstamp)
+compat/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) compat/$(DEPDIR)
+ @: > compat/$(DEPDIR)/$(am__dirstamp)
+compat/libw32_a-posixfcn.$(OBJEXT): compat/$(am__dirstamp) \
+ compat/$(DEPDIR)/$(am__dirstamp)
+
libw32.a: $(libw32_a_OBJECTS) $(libw32_a_DEPENDENCIES) $(EXTRA_libw32_a_DEPENDENCIES)
$(AM_V_at)-rm -f libw32.a
$(AM_V_AR)$(libw32_a_AR) libw32.a $(libw32_a_OBJECTS) $(libw32_a_LIBADD)
@@ -307,85 +388,89 @@ libw32.a: $(libw32_a_OBJECTS) $(libw32_a_DEPENDENCIES) $(EXTRA_libw32_a_DEPENDEN
mostlyclean-compile:
-rm -f *.$(OBJEXT)
+ -rm -f compat/*.$(OBJEXT)
+ -rm -f subproc/*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-misc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-pathstuff.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-posixfcn.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-sub_proc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-w32err.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@compat/$(DEPDIR)/libw32_a-posixfcn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@subproc/$(DEPDIR)/libw32_a-misc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@subproc/$(DEPDIR)/libw32_a-sub_proc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@subproc/$(DEPDIR)/libw32_a-w32err.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-libw32_a-misc.o: subproc/misc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-misc.o -MD -MP -MF $(DEPDIR)/libw32_a-misc.Tpo -c -o libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-misc.Tpo $(DEPDIR)/libw32_a-misc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/misc.c' object='libw32_a-misc.o' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-misc.o: subproc/misc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-misc.o -MD -MP -MF subproc/$(DEPDIR)/libw32_a-misc.Tpo -c -o subproc/libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-misc.Tpo subproc/$(DEPDIR)/libw32_a-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/misc.c' object='subproc/libw32_a-misc.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
-libw32_a-misc.obj: subproc/misc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-misc.obj -MD -MP -MF $(DEPDIR)/libw32_a-misc.Tpo -c -o libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-misc.Tpo $(DEPDIR)/libw32_a-misc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/misc.c' object='libw32_a-misc.obj' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-misc.obj: subproc/misc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-misc.obj -MD -MP -MF subproc/$(DEPDIR)/libw32_a-misc.Tpo -c -o subproc/libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-misc.Tpo subproc/$(DEPDIR)/libw32_a-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/misc.c' object='subproc/libw32_a-misc.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
-libw32_a-sub_proc.o: subproc/sub_proc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-sub_proc.o -MD -MP -MF $(DEPDIR)/libw32_a-sub_proc.Tpo -c -o libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-sub_proc.Tpo $(DEPDIR)/libw32_a-sub_proc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/sub_proc.c' object='libw32_a-sub_proc.o' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-sub_proc.o: subproc/sub_proc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-sub_proc.o -MD -MP -MF subproc/$(DEPDIR)/libw32_a-sub_proc.Tpo -c -o subproc/libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-sub_proc.Tpo subproc/$(DEPDIR)/libw32_a-sub_proc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/sub_proc.c' object='subproc/libw32_a-sub_proc.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
-libw32_a-sub_proc.obj: subproc/sub_proc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-sub_proc.obj -MD -MP -MF $(DEPDIR)/libw32_a-sub_proc.Tpo -c -o libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-sub_proc.Tpo $(DEPDIR)/libw32_a-sub_proc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/sub_proc.c' object='libw32_a-sub_proc.obj' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-sub_proc.obj: subproc/sub_proc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-sub_proc.obj -MD -MP -MF subproc/$(DEPDIR)/libw32_a-sub_proc.Tpo -c -o subproc/libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-sub_proc.Tpo subproc/$(DEPDIR)/libw32_a-sub_proc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/sub_proc.c' object='subproc/libw32_a-sub_proc.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
-libw32_a-w32err.o: subproc/w32err.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-w32err.o -MD -MP -MF $(DEPDIR)/libw32_a-w32err.Tpo -c -o libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-w32err.Tpo $(DEPDIR)/libw32_a-w32err.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/w32err.c' object='libw32_a-w32err.o' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-w32err.o: subproc/w32err.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-w32err.o -MD -MP -MF subproc/$(DEPDIR)/libw32_a-w32err.Tpo -c -o subproc/libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-w32err.Tpo subproc/$(DEPDIR)/libw32_a-w32err.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/w32err.c' object='subproc/libw32_a-w32err.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
-libw32_a-w32err.obj: subproc/w32err.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-w32err.obj -MD -MP -MF $(DEPDIR)/libw32_a-w32err.Tpo -c -o libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-w32err.Tpo $(DEPDIR)/libw32_a-w32err.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/w32err.c' object='libw32_a-w32err.obj' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-w32err.obj: subproc/w32err.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-w32err.obj -MD -MP -MF subproc/$(DEPDIR)/libw32_a-w32err.Tpo -c -o subproc/libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-w32err.Tpo subproc/$(DEPDIR)/libw32_a-w32err.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/w32err.c' object='subproc/libw32_a-w32err.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
-libw32_a-posixfcn.o: compat/posixfcn.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-posixfcn.o -MD -MP -MF $(DEPDIR)/libw32_a-posixfcn.Tpo -c -o libw32_a-posixfcn.o `test -f 'compat/posixfcn.c' || echo '$(srcdir)/'`compat/posixfcn.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-posixfcn.Tpo $(DEPDIR)/libw32_a-posixfcn.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/posixfcn.c' object='libw32_a-posixfcn.o' libtool=no @AMDEPBACKSLASH@
+compat/libw32_a-posixfcn.o: compat/posixfcn.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compat/libw32_a-posixfcn.o -MD -MP -MF compat/$(DEPDIR)/libw32_a-posixfcn.Tpo -c -o compat/libw32_a-posixfcn.o `test -f 'compat/posixfcn.c' || echo '$(srcdir)/'`compat/posixfcn.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) compat/$(DEPDIR)/libw32_a-posixfcn.Tpo compat/$(DEPDIR)/libw32_a-posixfcn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/posixfcn.c' object='compat/libw32_a-posixfcn.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-posixfcn.o `test -f 'compat/posixfcn.c' || echo '$(srcdir)/'`compat/posixfcn.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compat/libw32_a-posixfcn.o `test -f 'compat/posixfcn.c' || echo '$(srcdir)/'`compat/posixfcn.c
-libw32_a-posixfcn.obj: compat/posixfcn.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-posixfcn.obj -MD -MP -MF $(DEPDIR)/libw32_a-posixfcn.Tpo -c -o libw32_a-posixfcn.obj `if test -f 'compat/posixfcn.c'; then $(CYGPATH_W) 'compat/posixfcn.c'; else $(CYGPATH_W) '$(srcdir)/compat/posixfcn.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-posixfcn.Tpo $(DEPDIR)/libw32_a-posixfcn.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/posixfcn.c' object='libw32_a-posixfcn.obj' libtool=no @AMDEPBACKSLASH@
+compat/libw32_a-posixfcn.obj: compat/posixfcn.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compat/libw32_a-posixfcn.obj -MD -MP -MF compat/$(DEPDIR)/libw32_a-posixfcn.Tpo -c -o compat/libw32_a-posixfcn.obj `if test -f 'compat/posixfcn.c'; then $(CYGPATH_W) 'compat/posixfcn.c'; else $(CYGPATH_W) '$(srcdir)/compat/posixfcn.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) compat/$(DEPDIR)/libw32_a-posixfcn.Tpo compat/$(DEPDIR)/libw32_a-posixfcn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/posixfcn.c' object='compat/libw32_a-posixfcn.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-posixfcn.obj `if test -f 'compat/posixfcn.c'; then $(CYGPATH_W) 'compat/posixfcn.c'; else $(CYGPATH_W) '$(srcdir)/compat/posixfcn.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compat/libw32_a-posixfcn.obj `if test -f 'compat/posixfcn.c'; then $(CYGPATH_W) 'compat/posixfcn.c'; else $(CYGPATH_W) '$(srcdir)/compat/posixfcn.c'; fi`
libw32_a-pathstuff.o: pathstuff.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-pathstuff.o -MD -MP -MF $(DEPDIR)/libw32_a-pathstuff.Tpo -c -o libw32_a-pathstuff.o `test -f 'pathstuff.c' || echo '$(srcdir)/'`pathstuff.c
@@ -401,26 +486,15 @@ libw32_a-pathstuff.obj: pathstuff.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-pathstuff.obj `if test -f 'pathstuff.c'; then $(CYGPATH_W) 'pathstuff.c'; else $(CYGPATH_W) '$(srcdir)/pathstuff.c'; fi`
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -432,15 +506,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -449,6 +519,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -513,6 +598,10 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f compat/$(DEPDIR)/$(am__dirstamp)
+ -rm -f compat/$(am__dirstamp)
+ -rm -f subproc/$(DEPDIR)/$(am__dirstamp)
+ -rm -f subproc/$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -522,7 +611,7 @@ clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR) compat/$(DEPDIR) subproc/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -568,7 +657,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR) compat/$(DEPDIR) subproc/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -588,17 +677,17 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-noinstLIBRARIES ctags distclean distclean-compile \
- distclean-generic distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am
diff --git a/w32/compat/dirent.c b/w32/compat/dirent.c
index bc776dd..56407dd 100644
--- a/w32/compat/dirent.c
+++ b/w32/compat/dirent.c
@@ -1,5 +1,5 @@
/* Directory entry code for Window platforms.
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -27,180 +27,180 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
DIR*
opendir(const char* pDirName)
{
- struct stat sb;
- DIR* pDir;
- char* pEndDirName;
- int nBufferLen;
-
- /* sanity checks */
- if (!pDirName) {
- errno = EINVAL;
- return NULL;
- }
- if (stat(pDirName, &sb) != 0) {
- errno = ENOENT;
- return NULL;
- }
- if ((sb.st_mode & S_IFMT) != S_IFDIR) {
- errno = ENOTDIR;
- return NULL;
- }
-
- /* allocate a DIR structure to return */
- pDir = (DIR *) malloc(sizeof (DIR));
-
- if (!pDir)
- return NULL;
-
- /* input directory name length */
- nBufferLen = strlen(pDirName);
-
- /* copy input directory name to DIR buffer */
- strcpy(pDir->dir_pDirectoryName, pDirName);
-
- /* point to end of the copied directory name */
- pEndDirName = &pDir->dir_pDirectoryName[nBufferLen - 1];
-
- /* if directory name did not end in '/' or '\', add '/' */
- if ((*pEndDirName != '/') && (*pEndDirName != '\\')) {
- pEndDirName++;
- *pEndDirName = '/';
- }
-
- /* now append the wildcard character to the buffer */
- pEndDirName++;
- *pEndDirName = '*';
- pEndDirName++;
- *pEndDirName = '\0';
-
- /* other values defaulted */
- pDir->dir_nNumFiles = 0;
- pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;
- pDir->dir_ulCookie = __DIRENT_COOKIE;
-
- return pDir;
+ struct stat sb;
+ DIR* pDir;
+ char* pEndDirName;
+ int nBufferLen;
+
+ /* sanity checks */
+ if (!pDirName) {
+ errno = EINVAL;
+ return NULL;
+ }
+ if (stat(pDirName, &sb) != 0) {
+ errno = ENOENT;
+ return NULL;
+ }
+ if ((sb.st_mode & S_IFMT) != S_IFDIR) {
+ errno = ENOTDIR;
+ return NULL;
+ }
+
+ /* allocate a DIR structure to return */
+ pDir = (DIR *) malloc(sizeof (DIR));
+
+ if (!pDir)
+ return NULL;
+
+ /* input directory name length */
+ nBufferLen = strlen(pDirName);
+
+ /* copy input directory name to DIR buffer */
+ strcpy(pDir->dir_pDirectoryName, pDirName);
+
+ /* point to end of the copied directory name */
+ pEndDirName = &pDir->dir_pDirectoryName[nBufferLen - 1];
+
+ /* if directory name did not end in '/' or '\', add '/' */
+ if ((*pEndDirName != '/') && (*pEndDirName != '\\')) {
+ pEndDirName++;
+ *pEndDirName = '/';
+ }
+
+ /* now append the wildcard character to the buffer */
+ pEndDirName++;
+ *pEndDirName = '*';
+ pEndDirName++;
+ *pEndDirName = '\0';
+
+ /* other values defaulted */
+ pDir->dir_nNumFiles = 0;
+ pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;
+ pDir->dir_ulCookie = __DIRENT_COOKIE;
+
+ return pDir;
}
void
closedir(DIR *pDir)
{
- /* got a valid pointer? */
- if (!pDir) {
- errno = EINVAL;
- return;
- }
+ /* got a valid pointer? */
+ if (!pDir) {
+ errno = EINVAL;
+ return;
+ }
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
- errno = EINVAL;
- return;
- }
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
+ errno = EINVAL;
+ return;
+ }
- /* close the WINDOWS32 directory handle */
- if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)
- FindClose(pDir->dir_hDirHandle);
+ /* close the WINDOWS32 directory handle */
+ if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)
+ FindClose(pDir->dir_hDirHandle);
- free(pDir);
+ free(pDir);
- return;
+ return;
}
struct dirent *
readdir(DIR* pDir)
{
- WIN32_FIND_DATA wfdFindData;
-
- if (!pDir) {
- errno = EINVAL;
- return NULL;
- }
-
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
- errno = EINVAL;
- return NULL;
- }
-
- if (pDir->dir_nNumFiles == 0) {
- pDir->dir_hDirHandle = FindFirstFile(pDir->dir_pDirectoryName, &wfdFindData);
- if (pDir->dir_hDirHandle == INVALID_HANDLE_VALUE)
- return NULL;
- } else if (!FindNextFile(pDir->dir_hDirHandle, &wfdFindData))
- return NULL;
-
- /* bump count for next call to readdir() or telldir() */
- pDir->dir_nNumFiles++;
-
- /* fill in struct dirent values */
- pDir->dir_sdReturn.d_ino = (ino_t)-1;
- strcpy(pDir->dir_sdReturn.d_name, wfdFindData.cFileName);
-
- return &pDir->dir_sdReturn;
+ WIN32_FIND_DATA wfdFindData;
+
+ if (!pDir) {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ if (pDir->dir_nNumFiles == 0) {
+ pDir->dir_hDirHandle = FindFirstFile(pDir->dir_pDirectoryName, &wfdFindData);
+ if (pDir->dir_hDirHandle == INVALID_HANDLE_VALUE)
+ return NULL;
+ } else if (!FindNextFile(pDir->dir_hDirHandle, &wfdFindData))
+ return NULL;
+
+ /* bump count for next call to readdir() or telldir() */
+ pDir->dir_nNumFiles++;
+
+ /* fill in struct dirent values */
+ pDir->dir_sdReturn.d_ino = (ino_t)-1;
+ strcpy(pDir->dir_sdReturn.d_name, wfdFindData.cFileName);
+
+ return &pDir->dir_sdReturn;
}
void
rewinddir(DIR* pDir)
{
- if (!pDir) {
- errno = EINVAL;
- return;
- }
-
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
- errno = EINVAL;
- return;
- }
-
- /* close the WINDOWS32 directory handle */
- if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)
- if (!FindClose(pDir->dir_hDirHandle))
- errno = EBADF;
-
- /* reset members which control readdir() */
- pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;
- pDir->dir_nNumFiles = 0;
-
- return;
+ if (!pDir) {
+ errno = EINVAL;
+ return;
+ }
+
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
+ errno = EINVAL;
+ return;
+ }
+
+ /* close the WINDOWS32 directory handle */
+ if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)
+ if (!FindClose(pDir->dir_hDirHandle))
+ errno = EBADF;
+
+ /* reset members which control readdir() */
+ pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;
+ pDir->dir_nNumFiles = 0;
+
+ return;
}
int
telldir(DIR* pDir)
{
- if (!pDir) {
- errno = EINVAL;
- return -1;
- }
-
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
- errno = EINVAL;
- return -1;
- }
-
- /* return number of times readdir() called */
- return pDir->dir_nNumFiles;
+ if (!pDir) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* return number of times readdir() called */
+ return pDir->dir_nNumFiles;
}
void
seekdir(DIR* pDir, long nPosition)
{
- if (!pDir)
- return;
+ if (!pDir)
+ return;
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE)
- return;
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE)
+ return;
- /* go back to beginning of directory */
- rewinddir(pDir);
+ /* go back to beginning of directory */
+ rewinddir(pDir);
- /* loop until we have found position we care about */
- for (--nPosition; nPosition && readdir(pDir); nPosition--);
+ /* loop until we have found position we care about */
+ for (--nPosition; nPosition && readdir(pDir); nPosition--);
- /* flag invalid nPosition value */
- if (nPosition)
- errno = EINVAL;
+ /* flag invalid nPosition value */
+ if (nPosition)
+ errno = EINVAL;
- return;
+ return;
}
diff --git a/w32/compat/posixfcn.c b/w32/compat/posixfcn.c
index 1d852f5..b366399 100644
--- a/w32/compat/posixfcn.c
+++ b/w32/compat/posixfcn.c
@@ -1,6 +1,6 @@
/* Replacements for Posix functions and Posix functionality for MS-Windows.
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -454,3 +454,33 @@ dlclose (void *handle)
#endif /* MAKE_LOAD */
+
+/* MS runtime's isatty returns non-zero for any character device,
+ including the null device, which is not what we want. */
+int
+isatty (int fd)
+{
+ HANDLE fh = (HANDLE) _get_osfhandle (fd);
+ DWORD con_mode;
+
+ if (fh == INVALID_HANDLE_VALUE)
+ {
+ errno = EBADF;
+ return 0;
+ }
+ if (GetConsoleMode (fh, &con_mode))
+ return 1;
+
+ errno = ENOTTY;
+ return 0;
+}
+
+char *
+ttyname (int fd)
+{
+ /* This "knows" that Make only asks about stdout and stderr. A more
+ sophisticated implementation should test whether FD is open for
+ input or output. We can do that by looking at the mode returned
+ by GetConsoleMode. */
+ return "CONOUT$";
+}
diff --git a/w32/include/dirent.h b/w32/include/dirent.h
index e75a1b1..13308de 100644
--- a/w32/include/dirent.h
+++ b/w32/include/dirent.h
@@ -1,5 +1,5 @@
/* Windows version of dirent.h
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -36,16 +36,16 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
struct dirent
{
- ino_t d_ino; /* unused - no equivalent on WINDOWS32 */
+ ino_t d_ino; /* unused - no equivalent on WINDOWS32 */
char d_name[NAME_MAX+1];
};
typedef struct dir_struct {
- ULONG dir_ulCookie;
- HANDLE dir_hDirHandle;
- DWORD dir_nNumFiles;
- char dir_pDirectoryName[NAME_MAX+1];
- struct dirent dir_sdReturn;
+ ULONG dir_ulCookie;
+ HANDLE dir_hDirHandle;
+ DWORD dir_nNumFiles;
+ char dir_pDirectoryName[NAME_MAX+1];
+ struct dirent dir_sdReturn;
} DIR;
DIR *opendir(const char *);
diff --git a/w32/include/dlfcn.h b/w32/include/dlfcn.h
index e920703..c64ac7b 100644
--- a/w32/include/dlfcn.h
+++ b/w32/include/dlfcn.h
@@ -1,5 +1,5 @@
/* dlfcn.h replacement for MS-Windows build.
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/w32/include/pathstuff.h b/w32/include/pathstuff.h
index 4e34a13..fb03f12 100644
--- a/w32/include/pathstuff.h
+++ b/w32/include/pathstuff.h
@@ -1,5 +1,5 @@
/* Definitions for Windows path manipulation.
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/w32/include/sub_proc.h b/w32/include/sub_proc.h
index c7d9fee..1e1b213 100644
--- a/w32/include/sub_proc.h
+++ b/w32/include/sub_proc.h
@@ -1,5 +1,5 @@
/* Definitions for Windows process invocation.
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -32,17 +32,17 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
EXTERN_DECL(HANDLE process_init, (VOID_DECL));
EXTERN_DECL(HANDLE process_init_fd, (HANDLE stdinh, HANDLE stdouth,
- HANDLE stderrh));
+ HANDLE stderrh));
EXTERN_DECL(long process_begin, (HANDLE proc, char **argv, char **envp,
- char *exec_path, char *as_user));
+ char *exec_path, char *as_user));
EXTERN_DECL(long process_pipe_io, (HANDLE proc, char *stdin_data,
- int stdin_data_len));
+ int stdin_data_len));
EXTERN_DECL(long process_file_io, (HANDLE proc));
EXTERN_DECL(void process_cleanup, (HANDLE proc));
EXTERN_DECL(HANDLE process_wait_for_any, (int block, DWORD* pdwWaitStatus));
EXTERN_DECL(void process_register, (HANDLE proc));
EXTERN_DECL(HANDLE process_easy, (char** argv, char** env,
- int outfd, int errfd));
+ int outfd, int errfd));
EXTERN_DECL(BOOL process_kill, (HANDLE proc, int signal));
EXTERN_DECL(int process_used_slots, (VOID_DECL));
diff --git a/w32/include/w32err.h b/w32/include/w32err.h
index 938a119..7d72226 100644
--- a/w32/include/w32err.h
+++ b/w32/include/w32err.h
@@ -1,5 +1,5 @@
/* Definitions for Windows error handling.
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
diff --git a/w32/pathstuff.c b/w32/pathstuff.c
index 0e33821..55332ab 100644
--- a/w32/pathstuff.c
+++ b/w32/pathstuff.c
@@ -1,5 +1,5 @@
/* Path conversion for Windows pathnames.
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -27,15 +27,15 @@ convert_vpath_to_windows32(char *Path, char to_delim)
{
char *etok; /* token separator for old Path */
- /*
- * Convert all spaces to delimiters. Note that pathnames which
- * contain blanks get trounced here. Use 8.3 format as a workaround.
- */
- for (etok = Path; etok && *etok; etok++)
- if (isblank ((unsigned char) *etok))
- *etok = to_delim;
+ /*
+ * Convert all spaces to delimiters. Note that pathnames which
+ * contain blanks get trounced here. Use 8.3 format as a workaround.
+ */
+ for (etok = Path; etok && *etok; etok++)
+ if (isblank ((unsigned char) *etok))
+ *etok = to_delim;
- return (convert_Path_to_windows32(Path, to_delim));
+ return (convert_Path_to_windows32(Path, to_delim));
}
/*
@@ -79,7 +79,7 @@ convert_Path_to_windows32(char *Path, char to_delim)
if (etok) {
*etok = to_delim;
p = ++etok;
- } else
+ } else
p += strlen(p);
} else {
/* found another one, no drive letter */
@@ -114,14 +114,14 @@ w32ify(const char *filename, int resolve)
char *
getcwd_fs(char* buf, int len)
{
- char *p = getcwd(buf, len);
+ char *p = getcwd(buf, len);
- if (p) {
- char *q = w32ify(buf, 0);
- strncpy(buf, q, len);
- }
+ if (p) {
+ char *q = w32ify(buf, 0);
+ strncpy(buf, q, len);
+ }
- return p;
+ return p;
}
#ifdef unused
diff --git a/w32/subproc/NMakefile b/w32/subproc/NMakefile
index 5258fa3..ebf516d 100644
--- a/w32/subproc/NMakefile
+++ b/w32/subproc/NMakefile
@@ -1,7 +1,7 @@
# NOTE: If you have no 'make' program at all to process this makefile, run
# 'build.bat' instead.
#
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/w32/subproc/build.bat b/w32/subproc/build.bat
index ecd2ab7..f8604ce 100644
--- a/w32/subproc/build.bat
+++ b/w32/subproc/build.bat
@@ -17,7 +17,7 @@ gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I.. -I. -I../include -I../.. -DWINDOWS3
:BuildEnd
@echo off
-rem Copyright (C) 1996-2013 Free Software Foundation, Inc.
+rem Copyright (C) 1996-2014 Free Software Foundation, Inc.
rem This file is part of GNU Make.
rem
rem GNU Make is free software; you can redistribute it and/or modify it under
diff --git a/w32/subproc/misc.c b/w32/subproc/misc.c
index 1e3f3a1..3f3bdf8 100644
--- a/w32/subproc/misc.c
+++ b/w32/subproc/misc.c
@@ -1,5 +1,5 @@
/* Process handling for Windows
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -24,59 +24,60 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/*
* Description: Convert a NULL string terminated UNIX environment block to
- * an environment block suitable for a windows32 system call
+ * an environment block suitable for a windows32 system call
*
* Returns: TRUE= success, FALSE=fail
*
* Notes/Dependencies: the environment block is sorted in case-insensitive
- * order, is double-null terminated, and is a char *, not a char **
+ * order, is double-null terminated, and is a char *, not a char **
*/
int _cdecl compare(const void *a1, const void *a2)
{
- return _stricoll(*((char**)a1),*((char**)a2));
+ return _stricoll(*((char**)a1),*((char**)a2));
}
bool_t
-arr2envblk(char **arr, char **envblk_out)
+arr2envblk(char **arr, char **envblk_out, int *envsize_needed)
{
- char **tmp;
- int size_needed;
- int arrcnt;
- char *ptr;
+ char **tmp;
+ int size_needed;
+ int arrcnt;
+ char *ptr;
- arrcnt = 0;
- while (arr[arrcnt]) {
- arrcnt++;
- }
+ arrcnt = 0;
+ while (arr[arrcnt]) {
+ arrcnt++;
+ }
- tmp = (char**) calloc(arrcnt + 1, sizeof(char *));
- if (!tmp) {
- return FALSE;
- }
+ tmp = (char**) calloc(arrcnt + 1, sizeof(char *));
+ if (!tmp) {
+ return FALSE;
+ }
- arrcnt = 0;
- size_needed = 0;
- while (arr[arrcnt]) {
- tmp[arrcnt] = arr[arrcnt];
- size_needed += strlen(arr[arrcnt]) + 1;
- arrcnt++;
- }
- size_needed++;
+ arrcnt = 0;
+ size_needed = *envsize_needed = 0;
+ while (arr[arrcnt]) {
+ tmp[arrcnt] = arr[arrcnt];
+ size_needed += strlen(arr[arrcnt]) + 1;
+ arrcnt++;
+ }
+ size_needed++;
+ *envsize_needed = size_needed;
- qsort((void *) tmp, (size_t) arrcnt, sizeof (char*), compare);
+ qsort((void *) tmp, (size_t) arrcnt, sizeof (char*), compare);
- ptr = *envblk_out = calloc(size_needed, 1);
- if (!ptr) {
- free(tmp);
- return FALSE;
- }
+ ptr = *envblk_out = calloc(size_needed, 1);
+ if (!ptr) {
+ free(tmp);
+ return FALSE;
+ }
- arrcnt = 0;
- while (tmp[arrcnt]) {
- strcpy(ptr, tmp[arrcnt]);
- ptr += strlen(tmp[arrcnt]) + 1;
- arrcnt++;
- }
+ arrcnt = 0;
+ while (tmp[arrcnt]) {
+ strcpy(ptr, tmp[arrcnt]);
+ ptr += strlen(tmp[arrcnt]) + 1;
+ arrcnt++;
+ }
- free(tmp);
- return TRUE;
+ free(tmp);
+ return TRUE;
}
diff --git a/w32/subproc/proc.h b/w32/subproc/proc.h
index 259a119..1e4054c 100644
--- a/w32/subproc/proc.h
+++ b/w32/subproc/proc.h
@@ -1,5 +1,5 @@
/* Definitions for Windows
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -19,11 +19,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
typedef int bool_t;
-#define E_SCALL 101
-#define E_IO 102
-#define E_NO_MEM 103
-#define E_FORK 104
+#define E_SCALL 101
+#define E_IO 102
+#define E_NO_MEM 103
+#define E_FORK 104
-extern bool_t arr2envblk(char **arr, char **envblk_out);
+extern bool_t arr2envblk(char **arr, char **envblk_out, int *envsize_needed);
#endif
diff --git a/w32/subproc/sub_proc.c b/w32/subproc/sub_proc.c
index f790ca3..5496c7e 100644
--- a/w32/subproc/sub_proc.c
+++ b/w32/subproc/sub_proc.c
@@ -1,5 +1,5 @@
/* Process handling for Windows.
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -17,7 +17,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdlib.h>
#include <stdio.h>
-#include <io.h> /* for _get_osfhandle */
+#include <io.h> /* for _get_osfhandle */
#ifdef _MSC_VER
# include <stddef.h> /* for intptr_t */
#else
@@ -29,6 +29,8 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <windows.h>
#include "makeint.h"
+#include "filedef.h"
+#include "variable.h"
#include "sub_proc.h"
#include "proc.h"
#include "w32err.h"
@@ -37,21 +39,21 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
static char *make_command_line(char *shell_name, char *exec_path, char **argv);
typedef struct sub_process_t {
- intptr_t sv_stdin[2];
- intptr_t sv_stdout[2];
- intptr_t sv_stderr[2];
- int using_pipes;
- char *inp;
- DWORD incnt;
- char * volatile outp;
- volatile DWORD outcnt;
- char * volatile errp;
- volatile DWORD errcnt;
- pid_t pid;
- int exit_code;
- int signal;
- long last_err;
- long lerrno;
+ intptr_t sv_stdin[2];
+ intptr_t sv_stdout[2];
+ intptr_t sv_stderr[2];
+ int using_pipes;
+ char *inp;
+ DWORD incnt;
+ char * volatile outp;
+ volatile DWORD outcnt;
+ char * volatile errp;
+ volatile DWORD errcnt;
+ pid_t pid;
+ int exit_code;
+ int signal;
+ long last_err;
+ long lerrno;
} sub_process;
/* keep track of children so we can implement a waitpid-like routine */
@@ -67,14 +69,14 @@ static HANDLE jobserver_semaphore = NULL;
int open_jobserver_semaphore(const char* name)
{
jobserver_semaphore = OpenSemaphore(
- SEMAPHORE_ALL_ACCESS, // Semaphore access setting
- FALSE, // Child processes DON'T inherit
- name); // Semaphore name
+ SEMAPHORE_ALL_ACCESS, // Semaphore access setting
+ FALSE, // Child processes DON'T inherit
+ name); // Semaphore name
if (jobserver_semaphore == NULL)
return 0;
- return 1;
+ return 1;
}
/* Create new jobserver semaphore */
@@ -83,15 +85,15 @@ int create_jobserver_semaphore(int tokens)
sprintf(jobserver_semaphore_name, "gmake_semaphore_%d", _getpid());
jobserver_semaphore = CreateSemaphore(
- NULL, // Use default security descriptor
- tokens, // Initial count
- tokens, // Maximum count
- jobserver_semaphore_name); // Semaphore name
+ NULL, // Use default security descriptor
+ tokens, // Initial count
+ tokens, // Maximum count
+ jobserver_semaphore_name); // Semaphore name
if (jobserver_semaphore == NULL)
return 0;
- return 1;
+ return 1;
}
/* Close jobserver semaphore */
@@ -108,8 +110,8 @@ void free_jobserver_semaphore()
int acquire_jobserver_semaphore()
{
DWORD dwEvent = WaitForSingleObject(
- jobserver_semaphore, // Handle to semaphore
- 0); // DON'T wait on semaphore
+ jobserver_semaphore, // Handle to semaphore
+ 0); // DON'T wait on semaphore
return (dwEvent == WAIT_OBJECT_0);
}
@@ -117,10 +119,10 @@ int acquire_jobserver_semaphore()
/* Increment semaphore count */
int release_jobserver_semaphore()
{
- BOOL bResult = ReleaseSemaphore(
- jobserver_semaphore, // handle to semaphore
- 1, // increase count by one
- NULL); // not interested in previous count
+ BOOL bResult = ReleaseSemaphore(
+ jobserver_semaphore, // handle to semaphore
+ 1, // increase count by one
+ NULL); // not interested in previous count
return (bResult);
}
@@ -149,7 +151,7 @@ int wait_for_semaphore_or_child_process()
handles[0] = jobserver_semaphore;
/* Build array of handles to wait for */
- for (i = 0; i < proc_index; i++)
+ for (i = 0; i < proc_index; i++)
{
/* Don't wait on child processes that have already finished */
if (fake_exits_pending && proc_array[i]->exit_code)
@@ -158,11 +160,11 @@ int wait_for_semaphore_or_child_process()
handles[dwHandleCount++] = (HANDLE) proc_array[i]->pid;
}
- dwEvent = WaitForMultipleObjects(
- dwHandleCount, // number of objects in array
- handles, // array of objects
- FALSE, // wait for any object
- INFINITE); // wait until object is signalled
+ dwEvent = WaitForMultipleObjects(
+ dwHandleCount, // number of objects in array
+ handles, // array of objects
+ FALSE, // wait for any object
+ INFINITE); // wait until object is signalled
switch(dwEvent)
{
@@ -186,22 +188,22 @@ int wait_for_semaphore_or_child_process()
static void
process_adjust_wait_state(sub_process* pproc)
{
- int i;
-
- if (!proc_index)
- return;
-
- for (i = 0; i < proc_index; i++)
- if (proc_array[i]->pid == pproc->pid)
- break;
-
- if (i < proc_index) {
- proc_index--;
- if (i != proc_index)
- memmove(&proc_array[i], &proc_array[i+1],
- (proc_index-i) * sizeof(sub_process*));
- proc_array[proc_index] = NULL;
- }
+ int i;
+
+ if (!proc_index)
+ return;
+
+ for (i = 0; i < proc_index; i++)
+ if (proc_array[i]->pid == pproc->pid)
+ break;
+
+ if (i < proc_index) {
+ proc_index--;
+ if (i != proc_index)
+ memmove(&proc_array[i], &proc_array[i+1],
+ (proc_index-i) * sizeof(sub_process*));
+ proc_array[proc_index] = NULL;
+ }
}
/*
@@ -210,44 +212,44 @@ process_adjust_wait_state(sub_process* pproc)
static sub_process *
process_wait_for_any_private(int block, DWORD* pdwWaitStatus)
{
- HANDLE handles[MAXIMUM_WAIT_OBJECTS];
- DWORD retval, which;
- int i;
-
- if (!proc_index)
- return NULL;
-
- /* build array of handles to wait for */
- for (i = 0; i < proc_index; i++) {
- handles[i] = (HANDLE) proc_array[i]->pid;
-
- if (fake_exits_pending && proc_array[i]->exit_code)
- break;
- }
-
- /* wait for someone to exit */
- if (!fake_exits_pending) {
- retval = WaitForMultipleObjects(proc_index, handles, FALSE, (block ? INFINITE : 0));
- which = retval - WAIT_OBJECT_0;
- } else {
- fake_exits_pending--;
- retval = !WAIT_FAILED;
- which = i;
- }
+ HANDLE handles[MAXIMUM_WAIT_OBJECTS];
+ DWORD retval, which;
+ int i;
+
+ if (!proc_index)
+ return NULL;
+
+ /* build array of handles to wait for */
+ for (i = 0; i < proc_index; i++) {
+ handles[i] = (HANDLE) proc_array[i]->pid;
+
+ if (fake_exits_pending && proc_array[i]->exit_code)
+ break;
+ }
+
+ /* wait for someone to exit */
+ if (!fake_exits_pending) {
+ retval = WaitForMultipleObjects(proc_index, handles, FALSE, (block ? INFINITE : 0));
+ which = retval - WAIT_OBJECT_0;
+ } else {
+ fake_exits_pending--;
+ retval = !WAIT_FAILED;
+ which = i;
+ }
/* If the pointer is not NULL, set the wait status result variable. */
if (pdwWaitStatus)
*pdwWaitStatus = retval;
- /* return pointer to process */
+ /* return pointer to process */
if ((retval == WAIT_TIMEOUT) || (retval == WAIT_FAILED)) {
- return NULL;
+ return NULL;
+ }
+ else {
+ sub_process* pproc = proc_array[which];
+ process_adjust_wait_state(pproc);
+ return pproc;
}
- else {
- sub_process* pproc = proc_array[which];
- process_adjust_wait_state(pproc);
- return pproc;
- }
}
/*
@@ -256,9 +258,9 @@ process_wait_for_any_private(int block, DWORD* pdwWaitStatus)
BOOL
process_kill(HANDLE proc, int signal)
{
- sub_process* pproc = (sub_process*) proc;
- pproc->signal = signal;
- return (TerminateProcess((HANDLE) pproc->pid, signal));
+ sub_process* pproc = (sub_process*) proc;
+ pproc->signal = signal;
+ return (TerminateProcess((HANDLE) pproc->pid, signal));
}
/*
@@ -270,8 +272,8 @@ process_kill(HANDLE proc, int signal)
void
process_register(HANDLE proc)
{
- if (proc_index < MAXIMUM_WAIT_OBJECTS)
- proc_array[proc_index++] = (sub_process *) proc;
+ if (proc_index < MAXIMUM_WAIT_OBJECTS)
+ proc_array[proc_index++] = (sub_process *) proc;
}
/*
@@ -280,7 +282,7 @@ process_register(HANDLE proc)
int
process_used_slots(void)
{
- return proc_index;
+ return proc_index;
}
/*
@@ -288,17 +290,17 @@ process_used_slots(void)
* of the children to die and return results. To call this function,
* you must do 1 of things:
*
- * x = process_easy(...);
+ * x = process_easy(...);
*
* or
*
- * x = process_init_fd();
- * process_register(x);
+ * x = process_init_fd();
+ * process_register(x);
*
* or
*
- * x = process_init();
- * process_register(x);
+ * x = process_init();
+ * process_register(x);
*
* You must NOT then call process_pipe_io() because this function is
* not capable of handling automatic notification of any child
@@ -308,18 +310,18 @@ process_used_slots(void)
HANDLE
process_wait_for_any(int block, DWORD* pdwWaitStatus)
{
- sub_process* pproc = process_wait_for_any_private(block, pdwWaitStatus);
-
- if (!pproc)
- return NULL;
- else {
- /*
- * Ouch! can't tell caller if this fails directly. Caller
- * will have to use process_last_err()
+ sub_process* pproc = process_wait_for_any_private(block, pdwWaitStatus);
+
+ if (!pproc)
+ return NULL;
+ else {
+ /*
+ * Ouch! can't tell caller if this fails directly. Caller
+ * will have to use process_last_err()
*/
- (void) process_file_io(pproc);
- return ((HANDLE) pproc);
- }
+ (void) process_file_io(pproc);
+ return ((HANDLE) pproc);
+ }
}
long
@@ -333,14 +335,14 @@ long
process_last_err(HANDLE proc)
{
if (proc == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE;
- return (((sub_process *)proc)->last_err);
+ return (((sub_process *)proc)->last_err);
}
long
process_exit_code(HANDLE proc)
{
if (proc == INVALID_HANDLE_VALUE) return EXIT_FAILURE;
- return (((sub_process *)proc)->exit_code);
+ return (((sub_process *)proc)->exit_code);
}
void
@@ -349,7 +351,7 @@ process_noinherit(int fd)
HANDLE fh = (HANDLE)_get_osfhandle(fd);
if (fh && fh != INVALID_HANDLE_VALUE)
- SetHandleInformation(fh, HANDLE_FLAG_INHERIT, 0);
+ SetHandleInformation(fh, HANDLE_FLAG_INHERIT, 0);
}
/*
@@ -362,183 +364,183 @@ a reasonable error handling for this function.
char *
process_outbuf(HANDLE proc)
{
- return (((sub_process *)proc)->outp);
+ return (((sub_process *)proc)->outp);
}
char *
process_errbuf(HANDLE proc)
{
- return (((sub_process *)proc)->errp);
+ return (((sub_process *)proc)->errp);
}
int
process_outcnt(HANDLE proc)
{
- return (((sub_process *)proc)->outcnt);
+ return (((sub_process *)proc)->outcnt);
}
int
process_errcnt(HANDLE proc)
{
- return (((sub_process *)proc)->errcnt);
+ return (((sub_process *)proc)->errcnt);
}
void
process_pipes(HANDLE proc, int pipes[3])
{
- pipes[0] = ((sub_process *)proc)->sv_stdin[0];
- pipes[1] = ((sub_process *)proc)->sv_stdout[0];
- pipes[2] = ((sub_process *)proc)->sv_stderr[0];
- return;
+ pipes[0] = ((sub_process *)proc)->sv_stdin[0];
+ pipes[1] = ((sub_process *)proc)->sv_stdout[0];
+ pipes[2] = ((sub_process *)proc)->sv_stderr[0];
+ return;
}
*/
- HANDLE
+ HANDLE
process_init()
{
- sub_process *pproc;
- /*
- * open file descriptors for attaching stdin/stdout/sterr
- */
- HANDLE stdin_pipes[2];
- HANDLE stdout_pipes[2];
- HANDLE stderr_pipes[2];
- SECURITY_ATTRIBUTES inherit;
- BYTE sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
-
- pproc = malloc(sizeof(*pproc));
- memset(pproc, 0, sizeof(*pproc));
-
- /* We can't use NULL for lpSecurityDescriptor because that
- uses the default security descriptor of the calling process.
- Instead we use a security descriptor with no DACL. This
- allows nonrestricted access to the associated objects. */
-
- if (!InitializeSecurityDescriptor((PSECURITY_DESCRIPTOR)(&sd),
- SECURITY_DESCRIPTOR_REVISION)) {
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- return((HANDLE)pproc);
- }
-
- inherit.nLength = sizeof(inherit);
- inherit.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR)(&sd);
- inherit.bInheritHandle = TRUE;
-
- // By convention, parent gets pipe[0], and child gets pipe[1]
- // This means the READ side of stdin pipe goes into pipe[1]
- // and the WRITE side of the stdout and stderr pipes go into pipe[1]
- if (CreatePipe( &stdin_pipes[1], &stdin_pipes[0], &inherit, 0) == FALSE ||
- CreatePipe( &stdout_pipes[0], &stdout_pipes[1], &inherit, 0) == FALSE ||
- CreatePipe( &stderr_pipes[0], &stderr_pipes[1], &inherit, 0) == FALSE) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- return((HANDLE)pproc);
- }
-
- //
- // Mark the parent sides of the pipes as non-inheritable
- //
- if (SetHandleInformation(stdin_pipes[0],
- HANDLE_FLAG_INHERIT, 0) == FALSE ||
- SetHandleInformation(stdout_pipes[0],
- HANDLE_FLAG_INHERIT, 0) == FALSE ||
- SetHandleInformation(stderr_pipes[0],
- HANDLE_FLAG_INHERIT, 0) == FALSE) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- return((HANDLE)pproc);
- }
- pproc->sv_stdin[0] = (intptr_t) stdin_pipes[0];
- pproc->sv_stdin[1] = (intptr_t) stdin_pipes[1];
- pproc->sv_stdout[0] = (intptr_t) stdout_pipes[0];
- pproc->sv_stdout[1] = (intptr_t) stdout_pipes[1];
- pproc->sv_stderr[0] = (intptr_t) stderr_pipes[0];
- pproc->sv_stderr[1] = (intptr_t) stderr_pipes[1];
-
- pproc->using_pipes = 1;
-
- pproc->lerrno = 0;
-
- return((HANDLE)pproc);
+ sub_process *pproc;
+ /*
+ * open file descriptors for attaching stdin/stdout/sterr
+ */
+ HANDLE stdin_pipes[2];
+ HANDLE stdout_pipes[2];
+ HANDLE stderr_pipes[2];
+ SECURITY_ATTRIBUTES inherit;
+ BYTE sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
+
+ pproc = malloc(sizeof(*pproc));
+ memset(pproc, 0, sizeof(*pproc));
+
+ /* We can't use NULL for lpSecurityDescriptor because that
+ uses the default security descriptor of the calling process.
+ Instead we use a security descriptor with no DACL. This
+ allows nonrestricted access to the associated objects. */
+
+ if (!InitializeSecurityDescriptor((PSECURITY_DESCRIPTOR)(&sd),
+ SECURITY_DESCRIPTOR_REVISION)) {
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ return((HANDLE)pproc);
+ }
+
+ inherit.nLength = sizeof(inherit);
+ inherit.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR)(&sd);
+ inherit.bInheritHandle = TRUE;
+
+ // By convention, parent gets pipe[0], and child gets pipe[1]
+ // This means the READ side of stdin pipe goes into pipe[1]
+ // and the WRITE side of the stdout and stderr pipes go into pipe[1]
+ if (CreatePipe( &stdin_pipes[1], &stdin_pipes[0], &inherit, 0) == FALSE ||
+ CreatePipe( &stdout_pipes[0], &stdout_pipes[1], &inherit, 0) == FALSE ||
+ CreatePipe( &stderr_pipes[0], &stderr_pipes[1], &inherit, 0) == FALSE) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ return((HANDLE)pproc);
+ }
+
+ //
+ // Mark the parent sides of the pipes as non-inheritable
+ //
+ if (SetHandleInformation(stdin_pipes[0],
+ HANDLE_FLAG_INHERIT, 0) == FALSE ||
+ SetHandleInformation(stdout_pipes[0],
+ HANDLE_FLAG_INHERIT, 0) == FALSE ||
+ SetHandleInformation(stderr_pipes[0],
+ HANDLE_FLAG_INHERIT, 0) == FALSE) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ return((HANDLE)pproc);
+ }
+ pproc->sv_stdin[0] = (intptr_t) stdin_pipes[0];
+ pproc->sv_stdin[1] = (intptr_t) stdin_pipes[1];
+ pproc->sv_stdout[0] = (intptr_t) stdout_pipes[0];
+ pproc->sv_stdout[1] = (intptr_t) stdout_pipes[1];
+ pproc->sv_stderr[0] = (intptr_t) stderr_pipes[0];
+ pproc->sv_stderr[1] = (intptr_t) stderr_pipes[1];
+
+ pproc->using_pipes = 1;
+
+ pproc->lerrno = 0;
+
+ return((HANDLE)pproc);
}
- HANDLE
+ HANDLE
process_init_fd(HANDLE stdinh, HANDLE stdouth, HANDLE stderrh)
{
- sub_process *pproc;
+ sub_process *pproc;
- pproc = malloc(sizeof(*pproc));
- if (pproc) {
- memset(pproc, 0, sizeof(*pproc));
+ pproc = malloc(sizeof(*pproc));
+ if (pproc) {
+ memset(pproc, 0, sizeof(*pproc));
- /*
- * Just pass the provided file handles to the 'child
- * side' of the pipe, bypassing pipes altogether.
- */
- pproc->sv_stdin[1] = (intptr_t) stdinh;
- pproc->sv_stdout[1] = (intptr_t) stdouth;
- pproc->sv_stderr[1] = (intptr_t) stderrh;
+ /*
+ * Just pass the provided file handles to the 'child
+ * side' of the pipe, bypassing pipes altogether.
+ */
+ pproc->sv_stdin[1] = (intptr_t) stdinh;
+ pproc->sv_stdout[1] = (intptr_t) stdouth;
+ pproc->sv_stderr[1] = (intptr_t) stderrh;
- pproc->last_err = pproc->lerrno = 0;
- }
+ pproc->last_err = pproc->lerrno = 0;
+ }
- return((HANDLE)pproc);
+ return((HANDLE)pproc);
}
static HANDLE
find_file(const char *exec_path, const char *path_var,
- char *full_fname, DWORD full_len)
+ char *full_fname, DWORD full_len)
{
- HANDLE exec_handle;
- char *fname;
- char *ext;
- DWORD req_len;
- int i;
- static const char *extensions[] =
- /* Should .com come before no-extension case? */
- { ".exe", ".cmd", ".bat", "", ".com", NULL };
-
- fname = xmalloc(strlen(exec_path) + 5);
- strcpy(fname, exec_path);
- ext = fname + strlen(fname);
-
- for (i = 0; extensions[i]; i++) {
- strcpy(ext, extensions[i]);
- if (((req_len = SearchPath (path_var, fname, NULL, full_len,
- full_fname, NULL)) > 0
- /* For compatibility with previous code, which
- used OpenFile, and with Windows operation in
- general, also look in various default
- locations, such as Windows directory and
- Windows System directory. Warning: this also
- searches PATH in the Make's environment, which
- might not be what the Makefile wants, but it
- seems to be OK as a fallback, after the
- previous SearchPath failed to find on child's
- PATH. */
- || (req_len = SearchPath (NULL, fname, NULL, full_len,
- full_fname, NULL)) > 0)
- && req_len <= full_len
- && (exec_handle =
- CreateFile(full_fname,
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL,
- NULL)) != INVALID_HANDLE_VALUE) {
- free(fname);
- return(exec_handle);
- }
- }
-
- free(fname);
- return INVALID_HANDLE_VALUE;
+ HANDLE exec_handle;
+ char *fname;
+ char *ext;
+ DWORD req_len;
+ int i;
+ static const char *extensions[] =
+ /* Should .com come before no-extension case? */
+ { ".exe", ".cmd", ".bat", "", ".com", NULL };
+
+ fname = xmalloc(strlen(exec_path) + 5);
+ strcpy(fname, exec_path);
+ ext = fname + strlen(fname);
+
+ for (i = 0; extensions[i]; i++) {
+ strcpy(ext, extensions[i]);
+ if (((req_len = SearchPath (path_var, fname, NULL, full_len,
+ full_fname, NULL)) > 0
+ /* For compatibility with previous code, which
+ used OpenFile, and with Windows operation in
+ general, also look in various default
+ locations, such as Windows directory and
+ Windows System directory. Warning: this also
+ searches PATH in the Make's environment, which
+ might not be what the Makefile wants, but it
+ seems to be OK as a fallback, after the
+ previous SearchPath failed to find on child's
+ PATH. */
+ || (req_len = SearchPath (NULL, fname, NULL, full_len,
+ full_fname, NULL)) > 0)
+ && req_len <= full_len
+ && (exec_handle =
+ CreateFile(full_fname,
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL,
+ NULL)) != INVALID_HANDLE_VALUE) {
+ free(fname);
+ return(exec_handle);
+ }
+ }
+
+ free(fname);
+ return INVALID_HANDLE_VALUE;
}
/*
@@ -549,16 +551,16 @@ find_file(const char *exec_path, const char *path_var,
static int
batch_file_with_spaces(const char *fname)
{
- size_t fnlen = strlen(fname);
-
- return (fnlen > 4
- && (_strnicmp(fname + fnlen - 4, ".bat", 4) == 0
- || _strnicmp(fname + fnlen - 4, ".cmd", 4) == 0)
- /* The set of characters in the 2nd arg to strpbrk
- should be the same one used by make_command_line
- below to decide whether an argv[] element needs
- quoting. */
- && strpbrk(fname, " \t") != NULL);
+ size_t fnlen = strlen(fname);
+
+ return (fnlen > 4
+ && (_strnicmp(fname + fnlen - 4, ".bat", 4) == 0
+ || _strnicmp(fname + fnlen - 4, ".cmd", 4) == 0)
+ /* The set of characters in the 2nd arg to strpbrk
+ should be the same one used by make_command_line
+ below to decide whether an argv[] element needs
+ quoting. */
+ && strpbrk(fname, " \t") != NULL);
}
@@ -571,299 +573,333 @@ batch_file_with_spaces(const char *fname)
*/
long
process_begin(
- HANDLE proc,
- char **argv,
- char **envp,
- char *exec_path,
- char *as_user)
+ HANDLE proc,
+ char **argv,
+ char **envp,
+ char *exec_path,
+ char *as_user)
{
- sub_process *pproc = (sub_process *)proc;
- char *shell_name = 0;
- int file_not_found=0;
- HANDLE exec_handle;
- char exec_fname[MAX_PATH];
- const char *path_var = NULL;
- char **ep;
- char buf[256];
- DWORD bytes_returned;
- DWORD flags;
- char *command_line;
- STARTUPINFO startInfo;
- PROCESS_INFORMATION procInfo;
- char *envblk=NULL;
- int pass_null_exec_path = 0;
-
- /*
- * Shell script detection... if the exec_path starts with #! then
- * we want to exec shell-script-name exec-path, not just exec-path
- * NT doesn't recognize #!/bin/sh or #!/etc/Tivoli/bin/perl. We do not
- * hard-code the path to the shell or perl or whatever: Instead, we
- * assume it's in the path somewhere (generally, the NT tools
- * bin directory)
- */
-
- /* Use the Makefile's value of PATH to look for the program to
- execute, because it could be different from Make's PATH
- (e.g., if the target sets its own value. */
- if (envp)
- for (ep = envp; *ep; ep++) {
- if (strncmp (*ep, "PATH=", 5) == 0
- || strncmp (*ep, "Path=", 5) == 0) {
- path_var = *ep + 5;
- break;
- }
- }
- exec_handle = find_file(exec_path, path_var,
- exec_fname, sizeof(exec_fname));
-
- /*
- * If we couldn't open the file, just assume that Windows will be
- * somehow able to find and execute it.
- */
- if (exec_handle == INVALID_HANDLE_VALUE) {
- file_not_found++;
- }
- else {
- /* Attempt to read the first line of the file */
- if (ReadFile( exec_handle,
- buf, sizeof(buf) - 1, /* leave room for trailing NULL */
- &bytes_returned, 0) == FALSE || bytes_returned < 2) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_IO;
- CloseHandle(exec_handle);
- return(-1);
- }
- if (buf[0] == '#' && buf[1] == '!') {
- /*
- * This is a shell script... Change the command line from
- * exec_path args to shell_name exec_path args
- */
- char *p;
-
- /* Make sure buf is NULL terminated */
- buf[bytes_returned] = 0;
- /*
- * Depending on the file system type, etc. the first line
- * of the shell script may end with newline or newline-carriage-return
- * Whatever it ends with, cut it off.
- */
- p= strchr(buf, '\n');
- if (p)
- *p = 0;
- p = strchr(buf, '\r');
- if (p)
- *p = 0;
-
- /*
- * Find base name of shell
- */
- shell_name = strrchr( buf, '/');
- if (shell_name) {
- shell_name++;
- } else {
- shell_name = &buf[2];/* skipping "#!" */
- }
-
- }
- CloseHandle(exec_handle);
- }
-
- flags = 0;
-
- if (file_not_found)
- command_line = make_command_line( shell_name, exec_path, argv);
- else {
- /* If exec_fname includes whitespace, CreateProcess
- behaves erratically and unreliably, and often fails
- if argv[0] also includes whitespace (and thus will
- be quoted by make_command_line below). So in that
- case, we don't pass exec_fname as the 1st arg to
- CreateProcess, but instead replace argv[0] with
- exec_fname (to keep its leading directories and
- extension as found by find_file), and pass NULL to
- CreateProcess as its 1st arg. This works around
- the bugs in CreateProcess, which are probably
- caused by its passing the command to cmd.exe with
- some incorrect quoting. */
- if (!shell_name
- && batch_file_with_spaces(exec_fname)
- && _stricmp(exec_path, argv[0]) == 0) {
- pass_null_exec_path = 1;
- free (argv[0]);
- argv[0] = xstrdup(exec_fname);
- }
- command_line = make_command_line( shell_name, exec_fname, argv);
- }
-
- if ( command_line == NULL ) {
- pproc->last_err = 0;
- pproc->lerrno = E_NO_MEM;
- return(-1);
- }
-
- if (envp) {
- if (arr2envblk(envp, &envblk) ==FALSE) {
- pproc->last_err = 0;
- pproc->lerrno = E_NO_MEM;
- free( command_line );
- return(-1);
- }
- }
-
- if (shell_name || file_not_found || pass_null_exec_path) {
- exec_path = 0; /* Search for the program in %Path% */
- } else {
- exec_path = exec_fname;
- }
-
- /*
- * Set up inherited stdin, stdout, stderr for child
- */
- GetStartupInfo(&startInfo);
- startInfo.dwFlags = STARTF_USESTDHANDLES;
- startInfo.lpReserved = 0;
- startInfo.cbReserved2 = 0;
- startInfo.lpReserved2 = 0;
- startInfo.lpTitle = shell_name ? shell_name : exec_path;
- startInfo.hStdInput = (HANDLE)pproc->sv_stdin[1];
- startInfo.hStdOutput = (HANDLE)pproc->sv_stdout[1];
- startInfo.hStdError = (HANDLE)pproc->sv_stderr[1];
-
- if (as_user) {
- if (envblk) free(envblk);
- return -1;
- } else {
- DB (DB_JOBS, ("CreateProcess(%s,%s,...)\n",
- exec_path ? exec_path : "NULL",
- command_line ? command_line : "NULL"));
- if (CreateProcess(
- exec_path,
- command_line,
- NULL,
- 0, /* default security attributes for thread */
- TRUE, /* inherit handles (e.g. helper pipes, oserv socket) */
- flags,
- envblk,
- 0, /* default starting directory */
- &startInfo,
- &procInfo) == FALSE) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_FORK;
- fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n",
+ sub_process *pproc = (sub_process *)proc;
+ char *shell_name = 0;
+ int file_not_found=0;
+ HANDLE exec_handle;
+ char exec_fname[MAX_PATH];
+ const char *path_var = NULL;
+ char **ep;
+ char buf[MAX_PATH];
+ DWORD bytes_returned;
+ DWORD flags;
+ char *command_line;
+ STARTUPINFO startInfo;
+ PROCESS_INFORMATION procInfo;
+ char *envblk=NULL;
+ int envsize_needed = 0;
+ int pass_null_exec_path = 0;
+
+ /*
+ * Shell script detection... if the exec_path starts with #! then
+ * we want to exec shell-script-name exec-path, not just exec-path
+ * NT doesn't recognize #!/bin/sh or #!/etc/Tivoli/bin/perl. We do not
+ * hard-code the path to the shell or perl or whatever: Instead, we
+ * assume it's in the path somewhere (generally, the NT tools
+ * bin directory)
+ */
+
+ /* Use the Makefile's value of PATH to look for the program to
+ execute, because it could be different from Make's PATH
+ (e.g., if the target sets its own value. */
+ if (envp)
+ for (ep = envp; *ep; ep++) {
+ if (strncmp (*ep, "PATH=", 5) == 0
+ || strncmp (*ep, "Path=", 5) == 0) {
+ path_var = *ep + 5;
+ break;
+ }
+ }
+ exec_handle = find_file(exec_path, path_var,
+ exec_fname, sizeof(exec_fname));
+
+ /*
+ * If we couldn't open the file, just assume that Windows will be
+ * somehow able to find and execute it. If the first character
+ * of the command is '/', assume they set SHELL to a Unixy shell
+ * that have some magic mounts known only to it, and run the whole
+ * command via $SHELL -c "COMMAND" instead.
+ */
+ if (exec_handle == INVALID_HANDLE_VALUE) {
+ if (exec_path[0] == '/') {
+ char *new_argv0;
+ char **argvi = argv;
+ int arglen = 0;
+
+ strcpy(buf, variable_expand ("$(SHELL)"));
+ shell_name = &buf[0];
+ strcpy(exec_fname, "-c");
+ /* Construct a single command string in argv[0]. */
+ while (*argvi) {
+ arglen += strlen(*argvi) + 1;
+ argvi++;
+ }
+ new_argv0 = xmalloc(arglen + 1);
+ new_argv0[0] = '\0';
+ for (argvi = argv; *argvi; argvi++) {
+ strcat(new_argv0, *argvi);
+ strcat(new_argv0, " ");
+ }
+ /* Remove the extra blank at the end. */
+ new_argv0[arglen-1] = '\0';
+ free(argv[0]);
+ argv[0] = new_argv0;
+ argv[1] = NULL;
+ }
+ else
+ file_not_found++;
+ }
+ else {
+ /* Attempt to read the first line of the file */
+ if (ReadFile( exec_handle,
+ buf, sizeof(buf) - 1, /* leave room for trailing NULL */
+ &bytes_returned, 0) == FALSE || bytes_returned < 2) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_IO;
+ CloseHandle(exec_handle);
+ return(-1);
+ }
+ if (buf[0] == '#' && buf[1] == '!') {
+ /*
+ * This is a shell script... Change the command line from
+ * exec_path args to shell_name exec_path args
+ */
+ char *p;
+
+ /* Make sure buf is NULL terminated */
+ buf[bytes_returned] = 0;
+ /*
+ * Depending on the file system type, etc. the first line
+ * of the shell script may end with newline or newline-carriage-return
+ * Whatever it ends with, cut it off.
+ */
+ p= strchr(buf, '\n');
+ if (p)
+ *p = 0;
+ p = strchr(buf, '\r');
+ if (p)
+ *p = 0;
+
+ /*
+ * Find base name of shell
+ */
+ shell_name = strrchr( buf, '/');
+ if (shell_name) {
+ shell_name++;
+ } else {
+ shell_name = &buf[2];/* skipping "#!" */
+ }
+
+ }
+ CloseHandle(exec_handle);
+ }
+
+ flags = 0;
+
+ if (file_not_found)
+ command_line = make_command_line( shell_name, exec_path, argv);
+ else {
+ /* If exec_fname includes whitespace, CreateProcess
+ behaves erratically and unreliably, and often fails
+ if argv[0] also includes whitespace (and thus will
+ be quoted by make_command_line below). So in that
+ case, we don't pass exec_fname as the 1st arg to
+ CreateProcess, but instead replace argv[0] with
+ exec_fname (to keep its leading directories and
+ extension as found by find_file), and pass NULL to
+ CreateProcess as its 1st arg. This works around
+ the bugs in CreateProcess, which are probably
+ caused by its passing the command to cmd.exe with
+ some incorrect quoting. */
+ if (!shell_name
+ && batch_file_with_spaces(exec_fname)
+ && _stricmp(exec_path, argv[0]) == 0) {
+ pass_null_exec_path = 1;
+ free (argv[0]);
+ argv[0] = xstrdup(exec_fname);
+ }
+ command_line = make_command_line( shell_name, exec_fname, argv);
+ }
+
+ if ( command_line == NULL ) {
+ pproc->last_err = 0;
+ pproc->lerrno = E_NO_MEM;
+ return(-1);
+ }
+
+ if (envp) {
+ if (arr2envblk(envp, &envblk, &envsize_needed) == FALSE) {
+ pproc->last_err = 0;
+ pproc->lerrno = E_NO_MEM;
+ free( command_line );
+ if (pproc->last_err == ERROR_INVALID_PARAMETER
+ && envsize_needed > 32*1024) {
+ fprintf (stderr, "CreateProcess failed, probably because environment is too large (%d bytes).\n",
+ envsize_needed);
+ }
+ return(-1);
+ }
+ }
+
+ if (shell_name || file_not_found || pass_null_exec_path) {
+ exec_path = 0; /* Search for the program in %Path% */
+ } else {
+ exec_path = exec_fname;
+ }
+
+ /*
+ * Set up inherited stdin, stdout, stderr for child
+ */
+ GetStartupInfo(&startInfo);
+ startInfo.dwFlags = STARTF_USESTDHANDLES;
+ startInfo.lpReserved = 0;
+ startInfo.cbReserved2 = 0;
+ startInfo.lpReserved2 = 0;
+ startInfo.hStdInput = (HANDLE)pproc->sv_stdin[1];
+ startInfo.hStdOutput = (HANDLE)pproc->sv_stdout[1];
+ startInfo.hStdError = (HANDLE)pproc->sv_stderr[1];
+
+ if (as_user) {
+ free(envblk);
+ return -1;
+ } else {
+ DB (DB_JOBS, ("CreateProcess(%s,%s,...)\n",
+ exec_path ? exec_path : "NULL",
+ command_line ? command_line : "NULL"));
+ if (CreateProcess(
+ exec_path,
+ command_line,
+ NULL,
+ 0, /* default security attributes for thread */
+ TRUE, /* inherit handles (e.g. helper pipes, oserv socket) */
+ flags,
+ envblk,
+ 0, /* default starting directory */
+ &startInfo,
+ &procInfo) == FALSE) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_FORK;
+ fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n",
exec_path ? exec_path : "NULL", command_line);
- if (envblk) free(envblk);
- free( command_line );
- return(-1);
- }
- }
-
- pproc->pid = (pid_t)procInfo.hProcess;
- /* Close the thread handle -- we'll just watch the process */
- CloseHandle(procInfo.hThread);
-
- /* Close the halves of the pipes we don't need */
- if ((HANDLE)pproc->sv_stdin[1] != INVALID_HANDLE_VALUE)
- CloseHandle((HANDLE)pproc->sv_stdin[1]);
- if ((HANDLE)pproc->sv_stdout[1] != INVALID_HANDLE_VALUE)
- CloseHandle((HANDLE)pproc->sv_stdout[1]);
- if ((HANDLE)pproc->sv_stderr[1] != INVALID_HANDLE_VALUE)
- CloseHandle((HANDLE)pproc->sv_stderr[1]);
+ free(envblk);
+ free( command_line );
+ return(-1);
+ }
+ }
+
+ pproc->pid = (pid_t)procInfo.hProcess;
+ /* Close the thread handle -- we'll just watch the process */
+ CloseHandle(procInfo.hThread);
+
+ /* Close the halves of the pipes we don't need */
+ if ((HANDLE)pproc->sv_stdin[1] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stdin[1]);
+ if ((HANDLE)pproc->sv_stdout[1] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stdout[1]);
+ if ((HANDLE)pproc->sv_stderr[1] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stderr[1]);
pproc->sv_stdin[1] = 0;
pproc->sv_stdout[1] = 0;
pproc->sv_stderr[1] = 0;
- free( command_line );
- if (envblk) free(envblk);
- pproc->lerrno=0;
- return 0;
+ free( command_line );
+ free(envblk);
+ pproc->lerrno=0;
+ return 0;
}
-#if 0 /* unused */
+#if 0 /* unused */
static DWORD
proc_stdin_thread(sub_process *pproc)
{
- DWORD in_done;
- for (;;) {
- if (WriteFile( (HANDLE) pproc->sv_stdin[0], pproc->inp, pproc->incnt,
- &in_done, NULL) == FALSE)
- _endthreadex(0);
- // This if should never be true for anonymous pipes, but gives
- // us a chance to change I/O mechanisms later
- if (in_done < pproc->incnt) {
- pproc->incnt -= in_done;
- pproc->inp += in_done;
- } else {
- _endthreadex(0);
- }
- }
- return 0; // for compiler warnings only.. not reached
+ DWORD in_done;
+ for (;;) {
+ if (WriteFile( (HANDLE) pproc->sv_stdin[0], pproc->inp, pproc->incnt,
+ &in_done, NULL) == FALSE)
+ _endthreadex(0);
+ // This if should never be true for anonymous pipes, but gives
+ // us a chance to change I/O mechanisms later
+ if (in_done < pproc->incnt) {
+ pproc->incnt -= in_done;
+ pproc->inp += in_done;
+ } else {
+ _endthreadex(0);
+ }
+ }
+ return 0; // for compiler warnings only.. not reached
}
static DWORD
proc_stdout_thread(sub_process *pproc)
{
- DWORD bufsize = 1024;
- char c;
- DWORD nread;
- pproc->outp = malloc(bufsize);
- if (pproc->outp == NULL)
- _endthreadex(0);
- pproc->outcnt = 0;
-
- for (;;) {
- if (ReadFile( (HANDLE)pproc->sv_stdout[0], &c, 1, &nread, NULL)
- == FALSE) {
-/* map_windows32_error_to_string(GetLastError());*/
- _endthreadex(0);
- }
- if (nread == 0)
- _endthreadex(0);
- if (pproc->outcnt + nread > bufsize) {
- bufsize += nread + 512;
- pproc->outp = realloc(pproc->outp, bufsize);
- if (pproc->outp == NULL) {
- pproc->outcnt = 0;
- _endthreadex(0);
- }
- }
- pproc->outp[pproc->outcnt++] = c;
- }
- return 0;
+ DWORD bufsize = 1024;
+ char c;
+ DWORD nread;
+ pproc->outp = malloc(bufsize);
+ if (pproc->outp == NULL)
+ _endthreadex(0);
+ pproc->outcnt = 0;
+
+ for (;;) {
+ if (ReadFile( (HANDLE)pproc->sv_stdout[0], &c, 1, &nread, NULL)
+ == FALSE) {
+/* map_windows32_error_to_string(GetLastError());*/
+ _endthreadex(0);
+ }
+ if (nread == 0)
+ _endthreadex(0);
+ if (pproc->outcnt + nread > bufsize) {
+ bufsize += nread + 512;
+ pproc->outp = realloc(pproc->outp, bufsize);
+ if (pproc->outp == NULL) {
+ pproc->outcnt = 0;
+ _endthreadex(0);
+ }
+ }
+ pproc->outp[pproc->outcnt++] = c;
+ }
+ return 0;
}
static DWORD
proc_stderr_thread(sub_process *pproc)
{
- DWORD bufsize = 1024;
- char c;
- DWORD nread;
- pproc->errp = malloc(bufsize);
- if (pproc->errp == NULL)
- _endthreadex(0);
- pproc->errcnt = 0;
-
- for (;;) {
- if (ReadFile( (HANDLE)pproc->sv_stderr[0], &c, 1, &nread, NULL) == FALSE) {
- map_windows32_error_to_string(GetLastError());
- _endthreadex(0);
- }
- if (nread == 0)
- _endthreadex(0);
- if (pproc->errcnt + nread > bufsize) {
- bufsize += nread + 512;
- pproc->errp = realloc(pproc->errp, bufsize);
- if (pproc->errp == NULL) {
- pproc->errcnt = 0;
- _endthreadex(0);
- }
- }
- pproc->errp[pproc->errcnt++] = c;
- }
- return 0;
+ DWORD bufsize = 1024;
+ char c;
+ DWORD nread;
+ pproc->errp = malloc(bufsize);
+ if (pproc->errp == NULL)
+ _endthreadex(0);
+ pproc->errcnt = 0;
+
+ for (;;) {
+ if (ReadFile( (HANDLE)pproc->sv_stderr[0], &c, 1, &nread, NULL) == FALSE) {
+ map_windows32_error_to_string(GetLastError());
+ _endthreadex(0);
+ }
+ if (nread == 0)
+ _endthreadex(0);
+ if (pproc->errcnt + nread > bufsize) {
+ bufsize += nread + 512;
+ pproc->errp = realloc(pproc->errp, bufsize);
+ if (pproc->errp == NULL) {
+ pproc->errcnt = 0;
+ _endthreadex(0);
+ }
+ }
+ pproc->errp[pproc->errcnt++] = c;
+ }
+ return 0;
}
@@ -876,158 +912,158 @@ proc_stderr_thread(sub_process *pproc)
*
* Notes/Dependencies:
*/
- long
+ long
process_pipe_io(
- HANDLE proc,
- char *stdin_data,
- int stdin_data_len)
+ HANDLE proc,
+ char *stdin_data,
+ int stdin_data_len)
{
- sub_process *pproc = (sub_process *)proc;
- bool_t stdin_eof = FALSE, stdout_eof = FALSE, stderr_eof = FALSE;
- HANDLE childhand = (HANDLE) pproc->pid;
- HANDLE tStdin = NULL, tStdout = NULL, tStderr = NULL;
- unsigned int dwStdin, dwStdout, dwStderr;
- HANDLE wait_list[4];
- DWORD wait_count;
- DWORD wait_return;
- HANDLE ready_hand;
- bool_t child_dead = FALSE;
- BOOL GetExitCodeResult;
-
- /*
- * Create stdin thread, if needed
- */
- pproc->inp = stdin_data;
- pproc->incnt = stdin_data_len;
- if (!pproc->inp) {
- stdin_eof = TRUE;
- CloseHandle((HANDLE)pproc->sv_stdin[0]);
- pproc->sv_stdin[0] = 0;
- } else {
- tStdin = (HANDLE) _beginthreadex( 0, 1024,
- (unsigned (__stdcall *) (void *))proc_stdin_thread,
- pproc, 0, &dwStdin);
- if (tStdin == 0) {
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done;
- }
- }
-
- /*
- * Assume child will produce stdout and stderr
- */
- tStdout = (HANDLE) _beginthreadex( 0, 1024,
- (unsigned (__stdcall *) (void *))proc_stdout_thread, pproc, 0,
- &dwStdout);
- tStderr = (HANDLE) _beginthreadex( 0, 1024,
- (unsigned (__stdcall *) (void *))proc_stderr_thread, pproc, 0,
- &dwStderr);
-
- if (tStdout == 0 || tStderr == 0) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done;
- }
-
-
- /*
- * Wait for all I/O to finish and for the child process to exit
- */
-
- while (!stdin_eof || !stdout_eof || !stderr_eof || !child_dead) {
- wait_count = 0;
- if (!stdin_eof) {
- wait_list[wait_count++] = tStdin;
- }
- if (!stdout_eof) {
- wait_list[wait_count++] = tStdout;
- }
- if (!stderr_eof) {
- wait_list[wait_count++] = tStderr;
- }
- if (!child_dead) {
- wait_list[wait_count++] = childhand;
- }
-
- wait_return = WaitForMultipleObjects(wait_count, wait_list,
- FALSE, /* don't wait for all: one ready will do */
- child_dead? 1000 :INFINITE); /* after the child dies, subthreads have
- one second to collect all remaining output */
-
- if (wait_return == WAIT_FAILED) {
-/* map_windows32_error_to_string(GetLastError());*/
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done;
- }
-
- ready_hand = wait_list[wait_return - WAIT_OBJECT_0];
-
- if (ready_hand == tStdin) {
- CloseHandle((HANDLE)pproc->sv_stdin[0]);
- pproc->sv_stdin[0] = 0;
- CloseHandle(tStdin);
- tStdin = 0;
- stdin_eof = TRUE;
-
- } else if (ready_hand == tStdout) {
-
- CloseHandle((HANDLE)pproc->sv_stdout[0]);
- pproc->sv_stdout[0] = 0;
- CloseHandle(tStdout);
- tStdout = 0;
- stdout_eof = TRUE;
-
- } else if (ready_hand == tStderr) {
-
- CloseHandle((HANDLE)pproc->sv_stderr[0]);
- pproc->sv_stderr[0] = 0;
- CloseHandle(tStderr);
- tStderr = 0;
- stderr_eof = TRUE;
-
- } else if (ready_hand == childhand) {
-
- DWORD ierr;
- GetExitCodeResult = GetExitCodeProcess(childhand, &ierr);
- if (ierr == CONTROL_C_EXIT) {
- pproc->signal = SIGINT;
- } else {
- pproc->exit_code = ierr;
- }
- if (GetExitCodeResult == FALSE) {
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done;
- }
- child_dead = TRUE;
-
- } else {
-
- /* ?? Got back a handle we didn't query ?? */
- pproc->last_err = 0;
- pproc->lerrno = E_FAIL;
- goto done;
- }
- }
+ sub_process *pproc = (sub_process *)proc;
+ bool_t stdin_eof = FALSE, stdout_eof = FALSE, stderr_eof = FALSE;
+ HANDLE childhand = (HANDLE) pproc->pid;
+ HANDLE tStdin = NULL, tStdout = NULL, tStderr = NULL;
+ unsigned int dwStdin, dwStdout, dwStderr;
+ HANDLE wait_list[4];
+ DWORD wait_count;
+ DWORD wait_return;
+ HANDLE ready_hand;
+ bool_t child_dead = FALSE;
+ BOOL GetExitCodeResult;
+
+ /*
+ * Create stdin thread, if needed
+ */
+ pproc->inp = stdin_data;
+ pproc->incnt = stdin_data_len;
+ if (!pproc->inp) {
+ stdin_eof = TRUE;
+ CloseHandle((HANDLE)pproc->sv_stdin[0]);
+ pproc->sv_stdin[0] = 0;
+ } else {
+ tStdin = (HANDLE) _beginthreadex( 0, 1024,
+ (unsigned (__stdcall *) (void *))proc_stdin_thread,
+ pproc, 0, &dwStdin);
+ if (tStdin == 0) {
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done;
+ }
+ }
+
+ /*
+ * Assume child will produce stdout and stderr
+ */
+ tStdout = (HANDLE) _beginthreadex( 0, 1024,
+ (unsigned (__stdcall *) (void *))proc_stdout_thread, pproc, 0,
+ &dwStdout);
+ tStderr = (HANDLE) _beginthreadex( 0, 1024,
+ (unsigned (__stdcall *) (void *))proc_stderr_thread, pproc, 0,
+ &dwStderr);
+
+ if (tStdout == 0 || tStderr == 0) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done;
+ }
+
+
+ /*
+ * Wait for all I/O to finish and for the child process to exit
+ */
+
+ while (!stdin_eof || !stdout_eof || !stderr_eof || !child_dead) {
+ wait_count = 0;
+ if (!stdin_eof) {
+ wait_list[wait_count++] = tStdin;
+ }
+ if (!stdout_eof) {
+ wait_list[wait_count++] = tStdout;
+ }
+ if (!stderr_eof) {
+ wait_list[wait_count++] = tStderr;
+ }
+ if (!child_dead) {
+ wait_list[wait_count++] = childhand;
+ }
+
+ wait_return = WaitForMultipleObjects(wait_count, wait_list,
+ FALSE, /* don't wait for all: one ready will do */
+ child_dead? 1000 :INFINITE); /* after the child dies, subthreads have
+ one second to collect all remaining output */
+
+ if (wait_return == WAIT_FAILED) {
+/* map_windows32_error_to_string(GetLastError());*/
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done;
+ }
+
+ ready_hand = wait_list[wait_return - WAIT_OBJECT_0];
+
+ if (ready_hand == tStdin) {
+ CloseHandle((HANDLE)pproc->sv_stdin[0]);
+ pproc->sv_stdin[0] = 0;
+ CloseHandle(tStdin);
+ tStdin = 0;
+ stdin_eof = TRUE;
+
+ } else if (ready_hand == tStdout) {
+
+ CloseHandle((HANDLE)pproc->sv_stdout[0]);
+ pproc->sv_stdout[0] = 0;
+ CloseHandle(tStdout);
+ tStdout = 0;
+ stdout_eof = TRUE;
+
+ } else if (ready_hand == tStderr) {
+
+ CloseHandle((HANDLE)pproc->sv_stderr[0]);
+ pproc->sv_stderr[0] = 0;
+ CloseHandle(tStderr);
+ tStderr = 0;
+ stderr_eof = TRUE;
+
+ } else if (ready_hand == childhand) {
+
+ DWORD ierr;
+ GetExitCodeResult = GetExitCodeProcess(childhand, &ierr);
+ if (ierr == CONTROL_C_EXIT) {
+ pproc->signal = SIGINT;
+ } else {
+ pproc->exit_code = ierr;
+ }
+ if (GetExitCodeResult == FALSE) {
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done;
+ }
+ child_dead = TRUE;
+
+ } else {
+
+ /* ?? Got back a handle we didn't query ?? */
+ pproc->last_err = 0;
+ pproc->lerrno = E_FAIL;
+ goto done;
+ }
+ }
done:
- if (tStdin != 0)
- CloseHandle(tStdin);
- if (tStdout != 0)
- CloseHandle(tStdout);
- if (tStderr != 0)
- CloseHandle(tStderr);
-
- if (pproc->lerrno)
- return(-1);
- else
- return(0);
+ if (tStdin != 0)
+ CloseHandle(tStdin);
+ if (tStdout != 0)
+ CloseHandle(tStdout);
+ if (tStderr != 0)
+ CloseHandle(tStderr);
+
+ if (pproc->lerrno)
+ return(-1);
+ else
+ return(0);
}
-#endif /* unused */
+#endif /* unused */
/*
* Purpose: collects output from child process and returns results
@@ -1038,74 +1074,74 @@ process_pipe_io(
*
* Notes/Dependencies:
*/
- long
+ long
process_file_io(
- HANDLE proc)
+ HANDLE proc)
{
- sub_process *pproc;
- HANDLE childhand;
- DWORD wait_return;
- BOOL GetExitCodeResult;
+ sub_process *pproc;
+ HANDLE childhand;
+ DWORD wait_return;
+ BOOL GetExitCodeResult;
DWORD ierr;
- if (proc == NULL)
- pproc = process_wait_for_any_private(1, 0);
- else
- pproc = (sub_process *)proc;
-
- /* some sort of internal error */
- if (!pproc)
- return -1;
-
- childhand = (HANDLE) pproc->pid;
-
- /*
- * This function is poorly named, and could also be used just to wait
- * for child death if you're doing your own pipe I/O. If that is
- * the case, close the pipe handles here.
- */
- if (pproc->sv_stdin[0]) {
- CloseHandle((HANDLE)pproc->sv_stdin[0]);
- pproc->sv_stdin[0] = 0;
- }
- if (pproc->sv_stdout[0]) {
- CloseHandle((HANDLE)pproc->sv_stdout[0]);
- pproc->sv_stdout[0] = 0;
- }
- if (pproc->sv_stderr[0]) {
- CloseHandle((HANDLE)pproc->sv_stderr[0]);
- pproc->sv_stderr[0] = 0;
- }
-
- /*
- * Wait for the child process to exit
- */
-
- wait_return = WaitForSingleObject(childhand, INFINITE);
-
- if (wait_return != WAIT_OBJECT_0) {
-/* map_windows32_error_to_string(GetLastError());*/
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done2;
- }
-
- GetExitCodeResult = GetExitCodeProcess(childhand, &ierr);
- if (ierr == CONTROL_C_EXIT) {
- pproc->signal = SIGINT;
- } else {
- pproc->exit_code = ierr;
- }
- if (GetExitCodeResult == FALSE) {
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- }
+ if (proc == NULL)
+ pproc = process_wait_for_any_private(1, 0);
+ else
+ pproc = (sub_process *)proc;
+
+ /* some sort of internal error */
+ if (!pproc)
+ return -1;
+
+ childhand = (HANDLE) pproc->pid;
+
+ /*
+ * This function is poorly named, and could also be used just to wait
+ * for child death if you're doing your own pipe I/O. If that is
+ * the case, close the pipe handles here.
+ */
+ if (pproc->sv_stdin[0]) {
+ CloseHandle((HANDLE)pproc->sv_stdin[0]);
+ pproc->sv_stdin[0] = 0;
+ }
+ if (pproc->sv_stdout[0]) {
+ CloseHandle((HANDLE)pproc->sv_stdout[0]);
+ pproc->sv_stdout[0] = 0;
+ }
+ if (pproc->sv_stderr[0]) {
+ CloseHandle((HANDLE)pproc->sv_stderr[0]);
+ pproc->sv_stderr[0] = 0;
+ }
+
+ /*
+ * Wait for the child process to exit
+ */
+
+ wait_return = WaitForSingleObject(childhand, INFINITE);
+
+ if (wait_return != WAIT_OBJECT_0) {
+/* map_windows32_error_to_string(GetLastError());*/
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done2;
+ }
+
+ GetExitCodeResult = GetExitCodeProcess(childhand, &ierr);
+ if (ierr == CONTROL_C_EXIT) {
+ pproc->signal = SIGINT;
+ } else {
+ pproc->exit_code = ierr;
+ }
+ if (GetExitCodeResult == FALSE) {
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ }
done2:
- if (pproc->lerrno)
- return(-1);
- else
- return(0);
+ if (pproc->lerrno)
+ return(-1);
+ else
+ return(0);
}
@@ -1113,39 +1149,39 @@ done2:
* Description: Clean up any leftover handles, etc. It is up to the
* caller to manage and free the input, output, and stderr buffers.
*/
- void
+ void
process_cleanup(
- HANDLE proc)
+ HANDLE proc)
{
- sub_process *pproc = (sub_process *)proc;
- int i;
-
- if (pproc->using_pipes) {
- for (i= 0; i <= 1; i++) {
- if ((HANDLE)pproc->sv_stdin[i]
- && (HANDLE)pproc->sv_stdin[i] != INVALID_HANDLE_VALUE)
- CloseHandle((HANDLE)pproc->sv_stdin[i]);
- if ((HANDLE)pproc->sv_stdout[i]
- && (HANDLE)pproc->sv_stdout[i] != INVALID_HANDLE_VALUE)
- CloseHandle((HANDLE)pproc->sv_stdout[i]);
- if ((HANDLE)pproc->sv_stderr[i]
- && (HANDLE)pproc->sv_stderr[i] != INVALID_HANDLE_VALUE)
- CloseHandle((HANDLE)pproc->sv_stderr[i]);
- }
- }
- if ((HANDLE)pproc->pid)
- CloseHandle((HANDLE)pproc->pid);
-
- free(pproc);
+ sub_process *pproc = (sub_process *)proc;
+ int i;
+
+ if (pproc->using_pipes) {
+ for (i= 0; i <= 1; i++) {
+ if ((HANDLE)pproc->sv_stdin[i]
+ && (HANDLE)pproc->sv_stdin[i] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stdin[i]);
+ if ((HANDLE)pproc->sv_stdout[i]
+ && (HANDLE)pproc->sv_stdout[i] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stdout[i]);
+ if ((HANDLE)pproc->sv_stderr[i]
+ && (HANDLE)pproc->sv_stderr[i] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stderr[i]);
+ }
+ }
+ if ((HANDLE)pproc->pid)
+ CloseHandle((HANDLE)pproc->pid);
+
+ free(pproc);
}
/*
* Description:
- * Create a command line buffer to pass to CreateProcess
+ * Create a command line buffer to pass to CreateProcess
*
* Returns: the buffer or NULL for failure
- * Shell case: sh_name a:/full/path/to/script argv[1] argv[2] ...
+ * Shell case: sh_name a:/full/path/to/script argv[1] argv[2] ...
* Otherwise: argv[0] argv[1] argv[2] ...
*
* Notes/Dependencies:
@@ -1156,234 +1192,237 @@ process_cleanup(
static char *
make_command_line( char *shell_name, char *full_exec_path, char **argv)
{
- int argc = 0;
- char** argvi;
- int* enclose_in_quotes = NULL;
- int* enclose_in_quotes_i;
- unsigned int bytes_required = 0;
- char* command_line;
- char* command_line_i;
- int cygwin_mode = 0; /* HAVE_CYGWIN_SHELL */
- int have_sh = 0; /* HAVE_CYGWIN_SHELL */
+ int argc = 0;
+ char** argvi;
+ int* enclose_in_quotes = NULL;
+ int* enclose_in_quotes_i;
+ unsigned int bytes_required = 0;
+ char* command_line;
+ char* command_line_i;
+ int cygwin_mode = 0; /* HAVE_CYGWIN_SHELL */
+ int have_sh = 0; /* HAVE_CYGWIN_SHELL */
#ifdef HAVE_CYGWIN_SHELL
- have_sh = (shell_name != NULL || strstr(full_exec_path, "sh.exe"));
- cygwin_mode = 1;
+ have_sh = (shell_name != NULL || strstr(full_exec_path, "sh.exe"));
+ cygwin_mode = 1;
#endif
- if (shell_name && full_exec_path) {
- bytes_required
- = strlen(shell_name) + 1 + strlen(full_exec_path);
- /*
- * Skip argv[0] if any, when shell_name is given.
- */
- if (*argv) argv++;
- /*
- * Add one for the intervening space.
- */
- if (*argv) bytes_required++;
- }
-
- argvi = argv;
- while (*(argvi++)) argc++;
-
- if (argc) {
- enclose_in_quotes = (int*) calloc(1, argc * sizeof(int));
-
- if (!enclose_in_quotes) {
- return NULL;
- }
- }
-
- /* We have to make one pass through each argv[i] to see if we need
- * to enclose it in ", so we might as well figure out how much
- * memory we'll need on the same pass.
- */
-
- argvi = argv;
- enclose_in_quotes_i = enclose_in_quotes;
- while(*argvi) {
- char* p = *argvi;
- unsigned int backslash_count = 0;
-
- /*
- * We have to enclose empty arguments in ".
- */
- if (!(*p)) *enclose_in_quotes_i = 1;
-
- while(*p) {
- switch (*p) {
- case '\"':
- /*
- * We have to insert a backslash for each "
- * and each \ that precedes the ".
- */
- bytes_required += (backslash_count + 1);
- backslash_count = 0;
- break;
+ if (shell_name && full_exec_path) {
+ bytes_required
+ = strlen(shell_name) + 1 + strlen(full_exec_path);
+ /*
+ * Skip argv[0] if any, when shell_name is given.
+ * The special case of "-c" in full_exec_path means
+ * argv[0] is not the shell name, but the command string
+ * to pass to the shell.
+ */
+ if (*argv && strcmp(full_exec_path, "-c")) argv++;
+ /*
+ * Add one for the intervening space.
+ */
+ if (*argv) bytes_required++;
+ }
+
+ argvi = argv;
+ while (*(argvi++)) argc++;
+
+ if (argc) {
+ enclose_in_quotes = (int*) calloc(1, argc * sizeof(int));
+
+ if (!enclose_in_quotes) {
+ return NULL;
+ }
+ }
+
+ /* We have to make one pass through each argv[i] to see if we need
+ * to enclose it in ", so we might as well figure out how much
+ * memory we'll need on the same pass.
+ */
+
+ argvi = argv;
+ enclose_in_quotes_i = enclose_in_quotes;
+ while(*argvi) {
+ char* p = *argvi;
+ unsigned int backslash_count = 0;
+
+ /*
+ * We have to enclose empty arguments in ".
+ */
+ if (!(*p)) *enclose_in_quotes_i = 1;
+
+ while(*p) {
+ switch (*p) {
+ case '\"':
+ /*
+ * We have to insert a backslash for each "
+ * and each \ that precedes the ".
+ */
+ bytes_required += (backslash_count + 1);
+ backslash_count = 0;
+ break;
#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
- case '\\':
- backslash_count++;
- break;
+ case '\\':
+ backslash_count++;
+ break;
#endif
- /*
- * At one time we set *enclose_in_quotes_i for '*' or '?' to suppress
- * wildcard expansion in programs linked with MSVC's SETARGV.OBJ so
- * that argv in always equals argv out. This was removed. Say you have
- * such a program named glob.exe. You enter
- * glob '*'
- * at the sh command prompt. Obviously the intent is to make glob do the
- * wildcarding instead of sh. If we set *enclose_in_quotes_i for '*' or '?',
- * then the command line that glob would see would be
- * glob "*"
- * and the _setargv in SETARGV.OBJ would _not_ expand the *.
- */
- case ' ':
- case '\t':
- *enclose_in_quotes_i = 1;
- /* fall through */
-
- default:
- backslash_count = 0;
- break;
- }
-
- /*
- * Add one for each character in argv[i].
- */
- bytes_required++;
-
- p++;
- }
-
- if (*enclose_in_quotes_i) {
- /*
- * Add one for each enclosing ",
- * and one for each \ that precedes the
- * closing ".
- */
- bytes_required += (backslash_count + 2);
- }
-
- /*
- * Add one for the intervening space.
- */
- if (*(++argvi)) bytes_required++;
- enclose_in_quotes_i++;
- }
-
- /*
- * Add one for the terminating NULL.
- */
- bytes_required++;
-
- command_line = (char*) malloc(bytes_required);
-
- if (!command_line) {
- if (enclose_in_quotes) free(enclose_in_quotes);
- return NULL;
- }
-
- command_line_i = command_line;
-
- if (shell_name && full_exec_path) {
- while(*shell_name) {
- *(command_line_i++) = *(shell_name++);
- }
-
- *(command_line_i++) = ' ';
-
- while(*full_exec_path) {
- *(command_line_i++) = *(full_exec_path++);
- }
-
- if (*argv) {
- *(command_line_i++) = ' ';
- }
- }
-
- argvi = argv;
- enclose_in_quotes_i = enclose_in_quotes;
-
- while(*argvi) {
- char* p = *argvi;
- unsigned int backslash_count = 0;
-
- if (*enclose_in_quotes_i) {
- *(command_line_i++) = '\"';
- }
-
- while(*p) {
- if (*p == '\"') {
- if (cygwin_mode && have_sh) { /* HAVE_CYGWIN_SHELL */
- /* instead of a \", cygwin likes "" */
- *(command_line_i++) = '\"';
- } else {
-
- /*
- * We have to insert a backslash for the "
- * and each \ that precedes the ".
- */
- backslash_count++;
-
- while(backslash_count) {
- *(command_line_i++) = '\\';
- backslash_count--;
- };
- }
+ /*
+ * At one time we set *enclose_in_quotes_i for '*' or '?' to suppress
+ * wildcard expansion in programs linked with MSVC's SETARGV.OBJ so
+ * that argv in always equals argv out. This was removed. Say you have
+ * such a program named glob.exe. You enter
+ * glob '*'
+ * at the sh command prompt. Obviously the intent is to make glob do the
+ * wildcarding instead of sh. If we set *enclose_in_quotes_i for '*' or '?',
+ * then the command line that glob would see would be
+ * glob "*"
+ * and the _setargv in SETARGV.OBJ would _not_ expand the *.
+ */
+ case ' ':
+ case '\t':
+ *enclose_in_quotes_i = 1;
+ /* fall through */
+
+ default:
+ backslash_count = 0;
+ break;
+ }
+
+ /*
+ * Add one for each character in argv[i].
+ */
+ bytes_required++;
+
+ p++;
+ }
+
+ if (*enclose_in_quotes_i) {
+ /*
+ * Add one for each enclosing ",
+ * and one for each \ that precedes the
+ * closing ".
+ */
+ bytes_required += (backslash_count + 2);
+ }
+
+ /*
+ * Add one for the intervening space.
+ */
+ if (*(++argvi)) bytes_required++;
+ enclose_in_quotes_i++;
+ }
+
+ /*
+ * Add one for the terminating NULL.
+ */
+ bytes_required++;
+
+ command_line = (char*) malloc(bytes_required);
+
+ if (!command_line) {
+ free(enclose_in_quotes);
+ return NULL;
+ }
+
+ command_line_i = command_line;
+
+ if (shell_name && full_exec_path) {
+ while(*shell_name) {
+ *(command_line_i++) = *(shell_name++);
+ }
+
+ *(command_line_i++) = ' ';
+
+ while(*full_exec_path) {
+ *(command_line_i++) = *(full_exec_path++);
+ }
+
+ if (*argv) {
+ *(command_line_i++) = ' ';
+ }
+ }
+
+ argvi = argv;
+ enclose_in_quotes_i = enclose_in_quotes;
+
+ while(*argvi) {
+ char* p = *argvi;
+ unsigned int backslash_count = 0;
+
+ if (*enclose_in_quotes_i) {
+ *(command_line_i++) = '\"';
+ }
+
+ while(*p) {
+ if (*p == '\"') {
+ if (cygwin_mode && have_sh) { /* HAVE_CYGWIN_SHELL */
+ /* instead of a \", cygwin likes "" */
+ *(command_line_i++) = '\"';
+ } else {
+
+ /*
+ * We have to insert a backslash for the "
+ * and each \ that precedes the ".
+ */
+ backslash_count++;
+
+ while(backslash_count) {
+ *(command_line_i++) = '\\';
+ backslash_count--;
+ };
+ }
#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
- } else if (*p == '\\') {
- backslash_count++;
- } else {
- backslash_count = 0;
+ } else if (*p == '\\') {
+ backslash_count++;
+ } else {
+ backslash_count = 0;
#endif
- }
+ }
- /*
- * Copy the character.
- */
- *(command_line_i++) = *(p++);
- }
+ /*
+ * Copy the character.
+ */
+ *(command_line_i++) = *(p++);
+ }
- if (*enclose_in_quotes_i) {
+ if (*enclose_in_quotes_i) {
#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
- /*
- * Add one \ for each \ that precedes the
- * closing ".
- */
- while(backslash_count--) {
- *(command_line_i++) = '\\';
- };
+ /*
+ * Add one \ for each \ that precedes the
+ * closing ".
+ */
+ while(backslash_count--) {
+ *(command_line_i++) = '\\';
+ };
#endif
- *(command_line_i++) = '\"';
- }
-
- /*
- * Append an intervening space.
- */
- if (*(++argvi)) {
- *(command_line_i++) = ' ';
- }
-
- enclose_in_quotes_i++;
- }
-
- /*
- * Append the terminating NULL.
- */
- *command_line_i = '\0';
-
- if (enclose_in_quotes) free(enclose_in_quotes);
- return command_line;
+ *(command_line_i++) = '\"';
+ }
+
+ /*
+ * Append an intervening space.
+ */
+ if (*(++argvi)) {
+ *(command_line_i++) = ' ';
+ }
+
+ enclose_in_quotes_i++;
+ }
+
+ /*
+ * Append the terminating NULL.
+ */
+ *command_line_i = '\0';
+
+ free(enclose_in_quotes);
+ return command_line;
}
/*
* Description: Given an argv and optional envp, launch the process
* using the default stdin, stdout, and stderr handles.
* Also, register process so that process_wait_for_any_private()
- * can be used via process_file_io(NULL) or
- * process_wait_for_any().
+ * can be used via process_file_io(NULL) or
+ * process_wait_for_any().
*
* Returns:
*
@@ -1391,10 +1430,10 @@ make_command_line( char *shell_name, char *full_exec_path, char **argv)
*/
HANDLE
process_easy(
- char **argv,
- char **envp,
- int outfd,
- int errfd)
+ char **argv,
+ char **envp,
+ int outfd,
+ int errfd)
{
HANDLE hIn = INVALID_HANDLE_VALUE;
HANDLE hOut = INVALID_HANDLE_VALUE;
@@ -1403,8 +1442,8 @@ process_easy(
DWORD e;
if (proc_index >= MAXIMUM_WAIT_OBJECTS) {
- DB (DB_JOBS, ("process_easy: All process slots used up\n"));
- return INVALID_HANDLE_VALUE;
+ DB (DB_JOBS, ("process_easy: All process slots used up\n"));
+ return INVALID_HANDLE_VALUE;
}
/* Standard handles returned by GetStdHandle can be NULL or
INVALID_HANDLE_VALUE if the parent process closed them. If that
@@ -1412,25 +1451,25 @@ process_easy(
CreateProcess as the corresponding handle to inherit. */
tmpIn = GetStdHandle(STD_INPUT_HANDLE);
if (DuplicateHandle(GetCurrentProcess(),
- tmpIn,
- GetCurrentProcess(),
- &hIn,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS) == FALSE) {
+ tmpIn,
+ GetCurrentProcess(),
+ &hIn,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE) {
if ((e = GetLastError()) == ERROR_INVALID_HANDLE) {
tmpIn = CreateFile("NUL", GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (tmpIn != INVALID_HANDLE_VALUE
- && DuplicateHandle(GetCurrentProcess(),
- tmpIn,
- GetCurrentProcess(),
- &hIn,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS) == FALSE)
- CloseHandle(tmpIn);
+ && DuplicateHandle(GetCurrentProcess(),
+ tmpIn,
+ GetCurrentProcess(),
+ &hIn,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE)
+ CloseHandle(tmpIn);
}
if (hIn == INVALID_HANDLE_VALUE) {
fprintf(stderr, "process_easy: DuplicateHandle(In) failed (e=%ld)\n", e);
@@ -1442,25 +1481,25 @@ process_easy(
else
tmpOut = GetStdHandle (STD_OUTPUT_HANDLE);
if (DuplicateHandle(GetCurrentProcess(),
- tmpOut,
- GetCurrentProcess(),
- &hOut,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS) == FALSE) {
+ tmpOut,
+ GetCurrentProcess(),
+ &hOut,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE) {
if ((e = GetLastError()) == ERROR_INVALID_HANDLE) {
tmpOut = CreateFile("NUL", GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (tmpOut != INVALID_HANDLE_VALUE
- && DuplicateHandle(GetCurrentProcess(),
- tmpOut,
- GetCurrentProcess(),
- &hOut,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS) == FALSE)
- CloseHandle(tmpOut);
+ && DuplicateHandle(GetCurrentProcess(),
+ tmpOut,
+ GetCurrentProcess(),
+ &hOut,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE)
+ CloseHandle(tmpOut);
}
if (hOut == INVALID_HANDLE_VALUE) {
fprintf(stderr, "process_easy: DuplicateHandle(Out) failed (e=%ld)\n", e);
@@ -1472,25 +1511,25 @@ process_easy(
else
tmpErr = GetStdHandle(STD_ERROR_HANDLE);
if (DuplicateHandle(GetCurrentProcess(),
- tmpErr,
- GetCurrentProcess(),
- &hErr,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS) == FALSE) {
+ tmpErr,
+ GetCurrentProcess(),
+ &hErr,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE) {
if ((e = GetLastError()) == ERROR_INVALID_HANDLE) {
tmpErr = CreateFile("NUL", GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (tmpErr != INVALID_HANDLE_VALUE
- && DuplicateHandle(GetCurrentProcess(),
- tmpErr,
- GetCurrentProcess(),
- &hErr,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS) == FALSE)
- CloseHandle(tmpErr);
+ && DuplicateHandle(GetCurrentProcess(),
+ tmpErr,
+ GetCurrentProcess(),
+ &hErr,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE)
+ CloseHandle(tmpErr);
}
if (hErr == INVALID_HANDLE_VALUE) {
fprintf(stderr, "process_easy: DuplicateHandle(Err) failed (e=%ld)\n", e);
diff --git a/w32/subproc/w32err.c b/w32/subproc/w32err.c
index facfabc..9ff4f4c 100644
--- a/w32/subproc/w32err.c
+++ b/w32/subproc/w32err.c
@@ -1,5 +1,5 @@
/* Error handling for Windows
-Copyright (C) 1996-2013 Free Software Foundation, Inc.
+Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
@@ -45,41 +45,41 @@ map_windows32_error_to_string (DWORD ercode) {
* the corresponding GCC qualifier is '__thread'.)
*/
static char szMessageBuffer[128];
- /* Fill message buffer with a default message in
- * case FormatMessage fails
- */
+ /* Fill message buffer with a default message in
+ * case FormatMessage fails
+ */
wsprintf (szMessageBuffer, "Error %ld\n", ercode);
- /*
- * Special code for winsock error handling.
- */
- if (ercode > WSABASEERR) {
+ /*
+ * Special code for winsock error handling.
+ */
+ if (ercode > WSABASEERR) {
#if 0
- HMODULE hModule = GetModuleHandle("wsock32");
- if (hModule != NULL) {
- FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,
- hModule,
- ercode,
- LANG_NEUTRAL,
- szMessageBuffer,
- sizeof(szMessageBuffer),
- NULL);
- FreeLibrary(hModule);
- }
+ HMODULE hModule = GetModuleHandle("wsock32");
+ if (hModule != NULL) {
+ FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,
+ hModule,
+ ercode,
+ LANG_NEUTRAL,
+ szMessageBuffer,
+ sizeof(szMessageBuffer),
+ NULL);
+ FreeLibrary(hModule);
+ }
#else
- fatal(NILF, szMessageBuffer);
+ O (fatal, NILF, szMessageBuffer);
#endif
- } else {
- /*
- * Default system message handling
- */
- FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- ercode,
- LANG_NEUTRAL,
- szMessageBuffer,
- sizeof(szMessageBuffer),
- NULL);
- }
+ } else {
+ /*
+ * Default system message handling
+ */
+ FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL,
+ ercode,
+ LANG_NEUTRAL,
+ szMessageBuffer,
+ sizeof(szMessageBuffer),
+ NULL);
+ }
return szMessageBuffer;
}