- Update NEWS and AUTHORS files.
- Fix support request #103195.
- Apply patch #3679
- Fix handling of sys_siglist in autoconf/etc.
Development starting with GNU make 3.76 by:
Paul D. Smith <psmith@gnu.org>
+ Additional development starting with GNU make 3.81 by:
+ Boris Kolpackov <boris@kolpackov.net>
GNU Make User's Manual
Port to VMS by:
Klaus Kaempf <kkaempf@progis.de>
+ Hartmut Becker <Hartmut.Becker@hp.com>
Archive support/Bug fixes by:
John W. Eaton <jwe@bevo.che.wisc.edu>
Martin Zinser <zinser@decus.decus.de>
Port to Amiga by:
Aaron Digulla <digulla@fh-konstanz.de>
-
- Port to MS-DOS (DJGPP) and MS-Windows 95/NT by:
+ Port to MS-DOS (DJGPP), OS/2, and MS-Windows (native/MinGW) by:
DJ Delorie <dj@delorie.com>
Rob Tulloh <rob_tulloh@tivoli.com>
Eli Zaretskii <eliz@is.elta.co.il>
+ Jonathan Grant <jg@jguk.org>
+ Andreas Beuning <andreas.buening@nexgo.de>
+ Earnie Boyd <earnie@uses.sf.net>
-----------------------------------
Other contributors:
Jim Kelton <jim_kelton@tivoli.com>
David Lubbren <uhay@rz.uni-karlsruhe.de>
Tim Magill <tim.magill@telops.gte.com>
+ Markus Mauhart <qwe123@chello.at>
Greg McGary <greg@mcgary.org>
+ Thomas Riedl <thomas.riedl@siemens.com>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Carl Staelin (Princeton University)
-Thu Mar 3 18:28:15 2005 Boris Kolpackov <boris@kolpackov.net>
+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 $*.
in dependency list replace it with $*. This fixes stem
triple expansion bug.
-Tue Mar 1 10:12:20 2005 Boris Kolpackov <boris@kolpackov.net>
+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.
GNU make NEWS -*-indented-text-*-
History of user-visible changes.
- 16 February 2005
+ 3 March 2005
Copyright (C) 2002,2003,2004,2005 Free Software Foundation, Inc.
See the end for copying conditions.
See the README file and the GNU make manual for instructions for
reporting bugs.
\f
-Version 3.81beta2
+Version 3.81beta3
* GNU make is ported to OS/2.
* GNU make is ported to MinGW.
+* WARNING: Backward-incompatibility!
+ GNU make now implements a generic "second expansion" feature on the
+ prerequisites of both explicit and implicit (pattern) targets. After
+ the rule has been parsed, the prerequisites are expanded a second
+ time, this time with all the automatic variables in scope. This means
+ that in addition to using standard SysV $$@ in prerequisites lists,
+ you can also use complex functions such as $$(patsubst f%r,b%o,$$@) etc.
+ This behavior applies to implicit rules, as well, where the second
+ expansion occurs after the rule is matched.
+ However, this means that you need to double-quote any "$" in your
+ filenames; instead of "foo: boo$$bar" you must write "foo: foo$$$$bar"
+
* New command-line option: -L (--check-symlink-times). On systems that
support symbolic links, if this option is given then GNU make will
use the most recent modification time of any symbolic links that are
- .DEFAULT_TARGET: Contains the name of the default target make will
use if no targets are provided on the command line. It can be set
to change the default target.
+ - New automatic variable: $| (added in 3.80, actually): contains all
+ the order-only prerequisites defined for the target.
* New functions available in this release:
- $(lastword ...) returns the last word in the list. This gives
exit (EXIT_FAILURE);
#endif
+#ifdef WINDOWS32
+ /* Cannot call W32_kill with a pid (it needs a handle) */
+ exit (EXIT_FAILURE);
+#else
/* Signal the same code; this time it will really be fatal. The signal
will be unblocked when we return and arrive then to kill us. */
if (kill (getpid (), sig) < 0)
pfatal_with_name ("kill");
+#endif /* not WINDOWS32 */
#endif /* not Amiga */
#endif /* not __MSDOS__ */
}
# Process this file with autoconf to produce a configure script.
-AC_INIT([GNU make],[3.81rc1],[bug-make@gnu.org])
+AC_INIT([GNU make],[3.81beta3],[bug-make@gnu.org])
AC_PREREQ(2.59)
AC_REVISION([[$Id$]])
fi
fi
-AC_CHECK_DECLS([sys_siglist])
+AC_CHECK_DECLS([sys_siglist],,,
+[#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h. */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+])
# Check out the wait reality.
@cindex selecting word lists
Returns the list of words in @var{text} starting with word @var{s} and
ending with word @var{e} (inclusive). The legitimate values of @var{s}
-and @var{e} start from 1. If @var{s} is bigger than the number of words
-in @var{text}, the value is empty. If @var{e} is bigger than the number
-of words in @var{text}, words up to the end of @var{text} are returned.
-If @var{s} is greater than @var{e}, nothing is returned. For example,
+start from 1; @var{e} may start from 0. If @var{s} is bigger than the
+number of words in @var{text}, the value is empty. If @var{e} is
+bigger than the number of words in @var{text}, words up to the end of
+@var{text} are returned. If @var{s} is greater than @var{e}, nothing
+is returned. For example,
@example
$(wordlist 2, 3, foo bar baz)
(@pxref{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 @code{$^} contains just one copy of the name.
+the value of @code{$^} contains just one copy of the name. This list
+does @strong{not} contain any of the order-only prerequisites; for those
+see the @samp{$|} variable, below.
@cindex prerequisites, list of all
@cindex list of all prerequisites
primarily useful for use in linking commands where it is meaningful to
repeat library file names in a particular order.
+@vindex $|
+@vindex | @r{(automatic variable)}
+@item $|
+The names of all the order-only prerequisites, with spaces between
+them.
+
@vindex $*
@vindex * @r{(automatic variable)}
@item $*
start = atoi (argv[0]);
if (start < 1)
- fatal (reading_file, "invalid first argument to `wordlist' function: '%d'",
- message, start);
+ fatal (reading_file,
+ "invalid first argument to `wordlist' function: `%d'", start);
count = atoi (argv[1]) - start + 1;
Otherwise create our own.
*/
-#if !defined(SYS_SIGLIST_DECLARED)
+#if !defined(HAVE_DECL_SYS_SIGLIST)
/* Some systems do not define NSIG in <signal.h>. */
#ifndef NSIG
return 1;
}
-#endif /* SYS_SIGLIST_DECLARED */
+#endif /* HAVE_DECL_SYS_SIGLIST */
char *
{
static char buf[] = "Signal 12345678901234567890";
-#if !defined(SYS_SIGLIST_DECLARED)
+#if !defined(HAVE_DECL_SYS_SIGLIST)
static char sig_initted = 0;
if (!sig_initted)
-Thu Mar 3 18:34:06 2005 Boris Kolpackov <boris@kolpackov.net>
+2005-03-03 Boris Kolpackov <boris@kolpackov.net>
* scripts/features/se_implicit: Add a test for stem
termination bug. Add a test for stem triple-expansion bug.
new way empty prerequisite list is handled.
-Tue Mar 1 10:15:25 2005 Boris Kolpackov <boris@kolpackov.net>
+2005-03-01 Boris Kolpackov <boris@kolpackov.net>
* scripts/features/statipattrules: Add a test for
Savannah bug #12180.