Changeset 503 for trunk/src/gmake/NEWS
- Timestamp:
- Sep 15, 2006, 7:09:38 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gmake/NEWS
r281 r503 1 1 GNU make NEWS -*-indented-text-*- 2 2 History of user-visible changes. 3 13 May 2005 4 5 Copyright (C) 2002,2003,2004,2005 Free Software Foundation, Inc. 6 See the end for copying conditions. 3 1 April 2006 4 5 See the end of this file for copyrights and conditions. 7 6 8 7 All changes mentioned here are more fully described in the GNU make … … 12 11 13 12 14 Version 3.81 beta313 Version 3.81 15 14 16 15 * GNU make is ported to OS/2. 17 16 18 * GNU make is ported to MinGW. 17 * GNU make is ported to MinGW. The MinGW build is only supported by 18 the build_w32.bat batch file; see the file README.W32 for more 19 details. 20 21 * WARNING: Future backward-incompatibility! 22 Up to and including this release, the '$?' variable does not contain 23 any prerequisite that does not exist, even though that prerequisite 24 might have caused the target to rebuild. Starting with the _next_ 25 release of GNU make, '$?' will contain all prerequisites that caused 26 the target to be considered out of date. See this Savannah bug: 27 http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=16051 19 28 20 29 * WARNING: Backward-incompatibility! 21 30 GNU make now implements a generic "second expansion" feature on the 22 prerequisites of both explicit and implicit (pattern) rules. After 23 all rules have been parsed the prerequisites are expanded again, this 24 time with all the automatic variables in scope. This means that in 25 addition to using standard SysV $$@ in prerequisites lists, you can 26 also use complex functions such as $$(notdir $$@) etc. This behavior 27 applies to implicit rules, as well, where the second expansion occurs 28 after the rule is matched. However, this means that you need to 31 prerequisites of both explicit and implicit (pattern) rules. In order 32 to enable this feature, the special target '.SECONDEXPANSION' must be 33 defined before the first target which takes advantage of it. If this 34 feature is enabled then after all rules have been parsed the 35 prerequisites are expanded again, this time with all the automatic 36 variables in scope. This means that in addition to using standard 37 SysV $$@ in prerequisites lists, you can also use complex functions 38 such as $$(notdir $$@) etc. This behavior applies to implicit rules, 39 as well, where the second expansion occurs when the rule is matched. 40 However, this means that when '.SECONDEXPANSION' is enabled you must 29 41 double-quote any "$" in your filenames; instead of "foo: boo$$bar" you 30 must write "foo: foo$$$$bar" 42 now must write "foo: foo$$$$bar". Note that the SysV $$@ etc. feature, 43 which used to be available by default, is now ONLY available when the 44 .SECONDEXPANSION target is defined. If your makefiles take advantage 45 of this SysV feature you will need to update them. 46 47 * WARNING: Backward-incompatibility! 48 In order to comply with POSIX, the way in which GNU make processes 49 backslash-newline sequences in command strings has changed. If your 50 makefiles use backslash-newline sequences inside of single-quoted 51 strings in command scripts you will be impacted by this change. See 52 the GNU make manual subsection "Splitting Command Lines" (node 53 "Splitting Lines"), in section "Command Syntax", chapter "Writing the 54 Commands in Rules", for details. 55 56 * WARNING: Backward-incompatibility! 57 Some previous versions of GNU make had a bug where "#" in a function 58 invocation such as $(shell ...) was treated as a make comment. A 59 workaround was to escape these with backslashes. This bug has been 60 fixed: if your makefile uses "\#" in a function invocation the 61 backslash is now preserved, so you'll need to remove it. 31 62 32 63 * New command-line option: -L (--check-symlink-times). On systems that … … 36 67 always has: use the modification time of the actual target file only. 37 68 38 * The "else" conditional line can now be followed by any other legal69 * The "else" conditional line can now be followed by any other valid 39 70 conditional on the same line: this does not increase the depth of the 40 conditional nesting. 71 conditional nesting, so only one "endif" is required to close the 72 conditional. 41 73 42 74 * All pattern-specific variables that match a given target are now used … … 56 88 57 89 * New special variables available in this release: 90 - .INCLUDE_DIRS: Expands to a list of directories that make searches 91 for included makefiles. 58 92 - .FEATURES: Contains a list of special features available in this 59 93 version of GNU make. 60 94 - .DEFAULT_GOAL: Set the name of the default goal make will 61 95 use if no goals are provided on the command line. 96 - MAKE_RESTARTS: If set, then this is the number of times this 97 instance of make has been restarted (see "How Makefiles Are Remade" 98 in the manual). 62 99 - New automatic variable: $| (added in 3.80, actually): contains all 63 100 the order-only prerequisites defined for the target. … … 72 109 provided. The canonical pathname is the absolute pathname, with 73 110 all symbolic links resolved as well. 74 - $(info ...) prints informative messages to stdout. No makefile 75 name or line number info, etc. is printed, just the message. 111 - $(info ...) prints its arguments to stdout. No makefile name or 112 line number info, etc. is printed. 113 - $(flavor ...) returns the flavor of a variable. 114 - $(or ...) provides a short-circuiting OR conditional: each argument 115 is expanded. The first true (non-empty) argument is returned; no 116 further arguments are expanded. Expands to empty if there are no 117 true arguments. 118 - $(and ...) provides a short-circuiting AND conditional: each 119 argument is expanded. The first false (empty) argument is 120 returned; no further arguments are expanded. Expands to the last 121 argument if all arguments are true. 76 122 77 123 * Changes made for POSIX compatibility: … … 82 128 it will be set in the environment, just as before. 83 129 84 * On DOS and MS Windows systems, explicitly setting SHELL to a pathname 85 ending in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to 86 use the DOS command interpreter in batch mode even if a UNIX-like 87 shell could be found on the system. 88 89 * Updated to autoconf 2.59, automake 1.8.2, and gettext 0.14.1. Users 130 * On MS Windows systems, explicitly setting SHELL to a pathname ending 131 in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to use 132 the DOS command interpreter in batch mode even if a UNIX-like shell 133 could be found on the system. 134 135 * On VMS there is now support for case-sensitive filesystems such as ODS5. 136 See the readme.vms file for information. 137 138 * Parallel builds (-jN) no longer require a working Bourne shell on 139 Windows platforms. They work even with the stock Windows shells, such 140 as cmd.exe and command.com. 141 142 * Updated to autoconf 2.59, automake 1.9.5, and gettext 0.14.1. Users 90 143 should not be impacted. 91 144 … … 93 146 Belarusian, Finnish, Kinyarwandan, and Irish. Many updated 94 147 translations. 148 149 A complete list of bugs fixed in this version is available here: 150 151 http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=103 95 152 96 153 … … 172 229 173 230 * Updated to autoconf 2.54 and automake 1.7. Users should not be impacted. 231 232 A complete list of bugs fixed in this version is available here: 233 234 http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=102 235 174 236 175 237 … … 980 1042 981 1043 982 ---------------------------------------------------------------------- 983 Copyright information: 984 985 Permission is granted to anyone to make or distribute verbatim copies 986 of this document as received, in any medium, provided that the 987 copyright notice and this permission notice are preserved, thus 988 giving the recipient permission to redistribute in turn. 989 990 Permission is granted to distribute modified versions of this 991 document, or of portions of it, under the above conditions, provided 992 also that they carry prominent notices stating who last changed them. 1044 ------------------------------------------------------------------------------- 1045 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1046 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 1047 Foundation, Inc. 1048 This file is part of GNU Make. 1049 1050 GNU Make is free software; you can redistribute it and/or modify it under the 1051 terms of the GNU General Public License as published by the Free Software 1052 Foundation; either version 2, or (at your option) any later version. 1053 1054 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 1055 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 1056 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 1057 1058 You should have received a copy of the GNU General Public License along with 1059 GNU Make; see the file COPYING. If not, write to the Free Software 1060 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Note:
See TracChangeset
for help on using the changeset viewer.