summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS60
1 files changed, 36 insertions, 24 deletions
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