3.82
* Fix PR/1394. * Apply changes from Paul Eggert. * Many other cleanups (index/rindex --> strchr/strrchr, etc.)
- 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.
Implemented the .INCLUDE_DIRS special variable. It expands to a list of directories that make searches for included makefiles.
- Add a new test suite for LIBPATTERNS - Fix Savannah bug #21198 - Fix Savannah bug #21823 - Fix Savannah bug #22010
- Include <alloca.h> even on non-__GNUC__ systems. - Add some tests for unresolved bugs.
* A few script fixes and updates for 3.78.
- Fix Savannah bug #13401
Fix for bug #1276: Handle SHELL according to POSIX requirements.
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.
* 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)
Release GNU make 3.82
- Add forgotten variable/define test suite - Skip initial whitespace including formfeeds, vertical tab, etc. - Add tests for that - Fix the variable/SHELL test; it was wrong!
Fix Savannah bug #106: keep separate track of which variable we are expanding, and use that info when generating error messages instead of the file info, where appropriate.
Add 'private' variable modifier, feature submitted by Ramon Garcia.
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.
Implement the new undefine directive.