Parent Directory | Revision Log
Links to HEAD: | (view) (download) (as text) (annotate) |
Sticky Tag: |
Implement new "load" directive. Provides support for dynamically loadable objects in GNU make, as a "technology preview".
Modify backslash/newline handling for POSIX. We fixed Savannah 16670 but that broke previously-working makefiles that relied on the GNU make behavior. The POSIX behavior doesn't seem to me to be better, and can be obtained using GNU make as well, so put it back as the default behavior and require .POSIX to get the POSIX behavior. Add a new section to the manual discussing backslash/newline handling. Update the test suite.
Add support for "::=" simple assignment operator. The next POSIX standard will define "::=" to have the same behavior as GNU make's ":=", so add support for this new operator.
Create a new function $(file ...)
Disallow whitespace in variable names.
Update copyright notices.
Add GNU Guile as an optional embedded scripting language for make. On configure-enabled systems, configure will detect Guile installed (using pkg-config, which is how GNU Guile is distributed) and enable it if so. On all non-configure-enabled systems, currently, the default is for Guile support to be disabled.
Ensure variables defined in $(call ...) have global scope Add a note about using #!/usr/bin/make -f to the manual. Clean up the w32 subdirectory in the dist tarball.
Updated documentation to fix Savannah bugs #32058 and #31582
Add new feature: != shell assignment for portability with BSD make. Feature submitted by David Wheeler.
* Fixups to the make man page * Minor syntax cleanups in the manual * In non-maintainer mode set NDEBUG to disable assert() * Performance improvements in strcache: Build Info 1000 2000 4000 3.82 -g 2.61s 8.85s 33.52s 3.82 -O2 1.90s 7.62s 27.82s New -g (with asserts) 1.03s 2.31s 5.79s New -O2 (no asserts) 0.65s 1.50s 3.52s
Check if the target-specific variable is the same as the global variable, and if so don't try to update it. Savannah bug #31743.
Improve backslash/newline handling to adhere to POSIX requirements.
Bump the version to 3.82.90. Fix some doc bugs. Implement the --trace flag. Show filename/linenumber on error.
- Many fixup patches from Savannah. - Fix the test suite on Solaris (from Boris) - Update the manual for .ONESHELL
- Enhance .POSIX to set -e when invoking shells, as demanded by a backward-incompatible change in the 2008 POSIX specification. - Add the .SHELLFLAGS variable so people can choose their own shell flags. - Add tests for this. - Add documentation for this.
Implement linker-compatible library search.
New command line option: --eval=STRING will cause STRING to be evaluated as a makefile statement before the first makefile is read.
Implement the new undefine directive.
- Update manual description for pattern rule search algorithm - Add new "-all" flag to the test suite to run tests that don't pass yet - Add some non-passing tests - Fix from Andreas Buening for OS/2.
Implement the shortest stem first search order for pattern-specific variables and pattern rules.
- Fix Savannah bug #21824: don't loop through NULL cmds pointer - Fix Savannah bugs #24509, 18963: doc enhancements
- Fix Savannah bug #27093 - Fix Savannah bug #27143 - Fix Savannah bug #23960 - Fix Savannah bug #27148
Changes from Ralf Wildenhues.
- Fix Savannah bug #13401
- Modify access of config and gnulib Savannah modules to use GIT - Fix Savannah bug #24655. - Fix Savannah bug #24588. - Fix Savannah bug #24277. - Fix Savannah bug #25697. - Fix Savannah bug #25694. - Fix Savannah bug #25460. - Fix Savannah bug #26207. - Fix Savannah bug #25712. - Fix Savannah bug #26593. - Fix various doc issues.
Add 'private' variable modifier, feature submitted by Ramon Garcia. Rework the parser for variables to allow multiple modifiers and also allow for variables and targets with modifier names, like "export" and "private".
We had the incorrect ISBN in the manual; not sure what happened here but the FSF confirmed that we had the wrong one.
Manual typo. New translation.
New special variable: .RECIPEPREFIX Allows the user to reset the prefix character for introducing recipe lines from the default (tab) to any other single character, and back again. Also, reworked the manual to consistently use the word "recipe" to describe the set of commands we use to update a target, instead of the various phrases used in the past: "commands", "command lines", "command scripts", etc.
Incorporate Icarus Sparry's fix for 3330 and 15919, and test cases. One of our translations disappeared from the translations site so remove it. The fdl.texi file was changed to not contain any @node entries, so add some around it in make.texi.
* Update to GPLv3 * Update copyright to 2007 * Fix download URL for translation files (thanks to Thiemo Seufer)
Fix a core dump when reading_file is 0 (20033). Fix some manual typos (20018).
Fix some documentation gitches. Fix an uninitialized variable. Add builtin rules for Objective C. Add a new debug line that shows where the commands that are about to be run were defined.
Fixed a number of documentation bugs, plus some build/install issues: 16304, 16468, 16577, 17701, 17880, 16051, 16652, 16698 Plus some from the mailing list. Imported a patch from Eli to allow Cygwin builds to support DOS-style pathnames.
Release GNU make 3.81. Update NEWS docs. Enhance the manual to use automake version.texi, and use the canonical FSF copyright features and statement. Some $(realpath ...) tests won't work on Windows; leave them out The jobserver filedescriptor test might fail if some FDs are reserved, so for now comment out that check.
Some memory leak cleanups (found with valgrind).
Update copyright and license notices on all files. Added new file strcache.c to various non-UNIX makefiles and build scripts.
- New code capability: a read-only string cache. Start of solution for Savannah bug #15182, but not much uses it yet. Coming shortly. - Added short-circuiting $(and ..) and $(or ...) functions.
Fix Savannah bugs # 15341, 15534, and 15533. Rewrite large chunks of the "Commands" section of the manual to better describe then backslash-newline handling, the SHELL variable, etc.
Various updates, mainly to the Windows port, from Eli Zaretskii and Markus Maurhart.
Various changes getting ready for the release of 3.81. - Updates to make.texi and make.1 and other documentation - Some VMS patches - Fix minor bugs reported on the mailing list and from Debian.
Implemented the flavor function which returns the flavor of a variable ('simple', 'recursive', or 'undefined').
Implemented the .INCLUDE_DIRS special variable. It expands to a list of directories that make searches for included makefiles.
Make second expansion optional (partial implementation). I decided this feature was too impacting to make the permanent default behavior. This set of changes makes the default behavior of make the old behavior (no second expansion). If you want second expansion, you must define the .SECONDEXPANSION: special target before the first target that needs it. This set of changes ONLY fixes explicit and static pattern rules to work like this. Implicit rules still have second expansion enabled all the time: I'll work on that next. Note that there is still a backward-incompatibility: now to get the old SysV behavior using $$@ etc. in the prerequisites list you need to set .SECONDEXPANSION: as well.
- Fixed a bug reported by Michael Matz regarding handling of parallel jobs after a failed job. - Enhancements to WINDOWS32 code from Eli Zaretskii. - Add Microsoft Project files from J. Grant.
Fix strerror() handling for systems which set ANSI_STRING. Don't print errors if "include" is specified with no arguments. New test suite for the $(shell ...) function.
Fix Savannah bug # 1332: handle backslash-newline pairs in command scripts according to POSIX rules.
Add a new variable: MAKE_RESTARTS, to count how many times make has re-exec'd. When rebuilding makefiles, unset -B if MAKE_RESTARTS is >0.
Fix Savannah bug # 1328: if stdout is redirected to a full filesystem, we check for this and exit with an error. The closeout.c version from gnulib pulls in too much other stuff, and gnulib requires an ANSI C 89 compliant compiler, while GNU make (so far) still wants to work on K&R.
Implement new "if... else if... endif" semantics.
Document the secondary expansion method. Also, some other documentation cleanups. If we find a make error (invalid makefile syntax or something like that) write back any tokens we have before we exit. If we have waiting jobs (using -j + -l) set an alarm before we sleep on the read() system call, so we can wake up to check the load and start waiting jobs, if there are long-running jobs we would otherwise be waiting for. Suggested by Grant Taylor.
Fix problems with losing tokens in the jobserver, reported by Grant Taylor. There are two forms of this: first, it was possible to lose tokens when using -j and -l at the same time, because waiting jobs were not checked when determining whether any jobs were outstanding. Second, if you had an exported recursive variable that contained a $(shell ...) function there is a possibility to lose tokens, since a token was taken but the child list was not updated until after the shell function was complete. To resolve this I introduced a new variable that counted the number of tokens we have obtained, rather than checking whether there were any children on the list. I also added some sanity checks to make sure we weren't writing back too many or not enough tokens. And, the master make will drain the token pipe before exiting and compare the count of tokens at the end to what was written there at the beginning. Also: * Ensure a bug in the environment (missing "=") doesn't cause make to core. * Rename the .DEFAULT_TARGET variable to .DEFAULT_GOAL, to match the terminology in the documentation and other variables like MAKECMDGOALS. * Add documentation of the .DEFAULT_GOAL special variable. Still need to document the secondary expansion stuff...
Fix some Savannah bugs. Updates to docs (still need more work here) and NEWS file. New language.
- Missing docs for $| - Update NEWS and AUTHORS files. - Fix support request #103195. - Apply patch #3679 - Fix handling of sys_siglist in autoconf/etc.
* New feature: -L option * New function: $(info ...) * Disallow $(eval ...) to create prereq relationships inside command scripts (caused core dumps) * Try to allow more tests to succeed in Windows/DOS by sanitizing CRLF and \ * Various bug fixes and code cleanups (see the ChangeLog entry)
Add a patch from Paul Eggert that's been lying around in my directory for a long time, disabling stack size limits where possible. Update version to beta2.
Handle build.sh in a better way (recommendation from the automake mailing list).
Implemented `realpath' and `abspath' built-in functions.
Fix for bug #1276: Handle SHELL according to POSIX requirements. POSIX requires that the value of SHELL in the makefile NOT be exported to sub-commands. Instead, the value in the environment when make was invoked should be passed to the environment of sub-commands. Note that make still uses SHELL to _run_ sub-commands; it just doesn't change the value of the SHELL variable in the environment of sub-commands. As an extension to POSIX, if the makefile explicitly exports SHELL then GNU make _will_ use it in the environment of sub-commands.
New $(lastword ) built-in function: implementation, documentation and tests.
Various enhancements - OS/2 Patches - OpenVMS updates - Sanitize the handling of -include/sinclude with and without -k - Fix the setting of $< for order-only rules.
Numerous fixes: patches for OS/2; core for -f ''; makefile updates.
Enhancements to the documentation (fixes bugs #1772 and 4898). Add "!" to the list of shell escape characters: POSIX sh allows it to be used to negate the return value of the command.
Added MINGW32 changes. This commits a number of changes from Earnie Boyd that allows GNU make to build for MINGW32 systems. Only missing from this commit are the changes to configure.in etc.; I'm waiting for Earnie to sign papers for those new files. Also not here is any README.mingw32 etc. which would explain how to use this port.
Build fixes due to changes in the FSF web site. Add new language support. Minor configure, etc. cleanups.
Updated for autoconf 2.57, automake 1.7.6, and gettext 0.12.1. Fixed problems with the dist target (adding missing files). Workaround for a bug in gettext 0.12.1 po/Makefile.in.in where distclean wasn't cleaning everything, which caused distcheck to fail.
Minor updates for Windows and OS/2.
- Fix bug #1405: allow multiple pattern-specific variables to match a target. - Fix some uncleanliness about the implementation of patterns-specific vars. - Some enhancements to the OS/2 port.
A few minor fixes to the manual and automake files.
Fix bug#1379: don't use alloca() where it could overrun the stack size. Implemented enhancement #1391: allow "export" in target-specific variable definitions. Change the Info name of the "Automatic" node to "Automatic Variables". Add text clarifying the scope of automatic variables to that section.
Fix a bug exporting/unexporting multiple variables in one command. Update the text about reporting bugs.
Add some indexing to the manual. Fix a few simple casting warnings, etc.
Add support for broken SA_RESTART on PTX. Fix bug #103: allow ifdef, export, and unexport to expand their arguments.
Fix for complex situations where directories are declared as prerequisites. Info on this fix from barkalow@reputation.com: thanks! Some updates/cleanups of some of the tests; added a forgotten -t test, etc.
Incorporate some VMS fixes. Add -B option docs. Add .VARIABLES variable. Add a few new tests. Add a new translation: Swedish
New variables, .VARIABLES and .TARGETS.
Implement SysV-style $$@ support. I looked at E.Parmelan's patch but decided to implement this a different way, and didn't use it.
Documentation and tests for order-only prerequisites. Add a new test suite for automatic variables.
Major updates in preparation for 3.80. New version of the manual, put into the doc subdir. Enhancements: $(eval ...) and $(value ...) functions, various bug fixes, etc. See the ChangeLog. More to come.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
savannah-hackers-public@gnu.org | ViewVC Help |
Powered by ViewVC 1.1.26 |