summaryrefslogtreecommitdiff
path: root/read.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Inverted the boolean test from what I wanted it to be. Added aPaul Smith2011-05-071-1/+1
| | | | regression test to make sure this continues to work.
* Avoid invoking glob() unless the filename has potential globbingPaul Smith2011-05-021-24/+34
| | | | characters in it, for performance improvements.
* Delay caching of the file name in eval_makefile() until after all theBoris Kolpackov2011-04-291-6/+9
| | | | | | expansions and searches are complete. This fixes an assertion in a situation where the MAKEFILES variable contains a file path that contains tilde.
* Add new feature: != shell assignment for portability with BSD make.Paul Smith2011-04-181-2/+3
| | | | Feature submitted by David Wheeler.
* Check if the target-specific variable is the same as the globalPaul Smith2010-11-301-1/+2
| | | | variable, and if so don't try to update it. Savannah bug #31743.
* Improve backslash/newline handling to adhere to POSIX requirements.Paul Smith2010-11-061-22/+14
|
* - Fix the NEWS file to be accuratePaul Smith2010-08-141-6/+9
| | | | | - Add oneshell to $(.FEATURES) (forgot that!) - Fix Savannah bug #30612: handling of archive references with >1 object
* Update copyrights for 2010.Paul Smith2010-07-131-2/+2
|
* Add the beginning of the .ONESHELL special feature.Paul Smith2010-07-121-0/+4
| | | | Original patch by David Boyce. Modified by Paul Smith.
* - Enhance .POSIX to set -e when invoking shells, as demanded by aPaul Smith2010-07-061-1/+4
| | | | | | | 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.
* Do not consider filenames that contain parens but don't END in a paren,Paul Smith2010-07-031-15/+44
| | | | to be an archive group. Fixes Savannah bug #28525.
* Update copyright years.Paul Smith2009-10-251-2/+2
|
* Various simple code cleanups.Paul Smith2009-10-251-14/+8
|
* Get the old behavior for a situation when no makefile is found in a directory.Boris Kolpackov2009-10-221-1/+1
|
* Minor fix and code rework.Boris Kolpackov2009-10-071-0/+1
|
* Fix savannah bug 25780. Optimize things a bit.Boris Kolpackov2009-10-061-64/+0
|
* Implement the new undefine directive.Boris Kolpackov2009-10-061-4/+44
|
* Fix Savannah bugs #15110, #25493, #12686, and #17740.Boris Kolpackov2009-09-301-1/+1
|
* - Add static pattern targets to the string cache.Paul Smith2009-09-271-7/+7
| | | | - Use specific free_*() calls where appropriate.
* Fix some memory leaks, found with valgrind.Paul Smith2009-09-261-5/+16
|
* - Rework secondary expansion so we only defer it if there's a possibilityPaul Smith2009-09-241-147/+154
| | | | | | it might be needed: for most situations we parse prereqs immediately as we used to. Reduces memory usage. - Fixes Savannah bug #18622.
* - Add xcalloc() and call itPaul Smith2009-09-161-317/+275
| | | | | | | | | - Fix memory errors found by valgrind - Remove multi_glob() and empower parse_file_seq() to do its job: the goal here is to remove the confusing reverse/re-reverse we do on the file lists: needed for future fixes. - Add a prefix arg to parse_file_seq() - Make concat() variadic so it can take arbitrary #'s of strings
* - Fix Savannah bug #13401Paul Smith2009-06-131-2/+4
|
* - Fix Savannah bug 17825Paul Smith2009-06-131-5/+15
| | | | - Fix Savannah bug 21231
* - Fix Savannah bug #18124Paul Smith2009-06-091-0/+1
| | | | | | | - Fix Savannah bug #17521 - Fix Savannah bug #16401 - Fix Savannah bug #16469 - Fix Savannah bug #16473
* - Add a new test suite for LIBPATTERNSPaul Smith2009-06-071-29/+29
| | | | | | - Fix Savannah bug #21198 - Fix Savannah bug #21823 - Fix Savannah bug #22010
* - Work around a bug in glibc glob(3), by avoiding GLOB_NOCHECK.Paul Smith2009-06-061-62/+67
| | | | - Fix issue in very parallel builds found building glibc.
* - Add forgotten variable/define test suitePaul Smith2009-06-051-1/+6
| | | | | | - Skip initial whitespace including formfeeds, vertical tab, etc. - Add tests for that - Fix the variable/SHELL test; it was wrong!
* - Modify access of config and gnulib Savannah modules to use GITPaul Smith2009-06-041-70/+66
| | | | | | | | | | | | | - 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.Paul Smith2009-05-261-190/+184
| | | | | | Rework the parser for variables to allow multiple modifiers and also allow for variables and targets with modifier names, like "export" and "private".
* Found this change in an old CVS workspace: rewrite savestring() to thePaul Smith2009-05-241-3/+3
| | | | more standard xstrndup().
* Update the translation project location for PO files (again)Paul Smith2008-03-281-0/+1
| | | | Apply fix for Savannah bug #22379.
* New special variable: .RECIPEPREFIXPaul Smith2007-11-041-14/+27
| | | | | | | | | 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.
* * Update to GPLv3Paul Smith2007-07-041-4/+4
| | | | | * Update copyright to 2007 * Fix download URL for translation files (thanks to Thiemo Seufer)
* Fix a core dump when reading_file is 0 (20033).Paul Smith2007-06-191-3/+3
| | | | Fix some manual typos (20018).
* This is a major update, which switches virtually every allocated-but-not-freedPaul Smith2007-03-201-203/+254
| | | | | | | | | | | | | | | string into the strcache. As a side-effect, many more structure members and function arguments can/should be declared const. As mentioned in the changelog, unfortunately measurement shows that this change does not yet reduce memory. The problem is with secondary expansion: because of this we store all the prerequisites in the string cache twice. First we store the prerequisite string after initial expansion but before secondary expansion, then we store each individual file after secondary expansion and expand_deps(). I plan to change expand_deps() to be callable in either context (eval or snap_deps) then have non-second-expansion targets call expand_deps() during eval, so that we only need to store that dependency list once.
* Fix from Eli for incorrect value of $(MAKE) on Cygwin.Paul Smith2006-11-181-4/+4
| | | | | | | | | | | | | | | | A few changes from char* to void* where appropriate, and removing of unnecessary casts. Much more work on const-ifying the codebase. This round involves some code changes to make it correct. NOTE!! There will almost certainly be problems on the non-POSIX ports that will need to be addressed after the const changes are finished: they will need to be const-ified properly and there may need to be some changes to allocate memory, etc. as well. The next (last?) big push for this, still to come, is const-ifying the filenames in struct file, struct dep, etc. This will allow us to store file names in the string cache and finally resolve Savannah bug #15182 (make uses too much memory), among other advantages.
* Another round of cleanups:Paul Smith2006-04-091-110/+102
| | | | | | | | - Add more warnings. - Rename variables that mask out-scope vars with the same name. - Remove all casts of return values from xmalloc, xrealloc, and alloca. - Remove casts of the first argument to xrealloc. - Convert all bcopy/bzero/bcmp invocations to use memcp/memmove/memset/memcmp.
* Code cleanup: Remove all references to PARAMS() & ansi2knr.Paul Smith2006-04-071-22/+21
|
* Fixed Savannah bug #16053.Boris Kolpackov2006-03-171-18/+7
|
* Some memory leak cleanups (found with valgrind).Paul Smith2006-02-141-11/+8
|
* Last of the copyright updates.Paul Smith2006-02-111-1/+2
|
* Update copyright and license notices on all files.Paul Smith2006-02-111-13/+10
| | | | Added new file strcache.c to various non-UNIX makefiles and build scripts.
* - New code capability: a read-only string cache. Start of solution forPaul Smith2006-02-101-10/+17
| | | | | Savannah bug #15182, but not much uses it yet. Coming shortly. - Added short-circuiting $(and ..) and $(or ...) functions.
* Various changes getting ready for the release of 3.81.Paul Smith2006-01-041-2/+4
| | | | | | - Updates to make.texi and make.1 and other documentation - Some VMS patches - Fix minor bugs reported on the mailing list and from Debian.
* Fixed record_target_var to initialize variable's export field with v_defaultBoris Kolpackov2005-12-141-2/+1
| | | | | instead of leaving it "initialized" by whatever garbage happened to be on the heap.
* Extend .SECONDEXPANSION to implicit rules. Final fix for bug #13781.Paul Smith2005-12-111-5/+1
|
* Implemented the .INCLUDE_DIRS special variable. It expands to a listBoris Kolpackov2005-11-141-1/+6
| | | | of directories that make searches for included makefiles.
* Fix a crash I introduced last-minute.Paul Smith2005-10-261-4/+8
| | | | Try to avoid extraneous rebuilds of template files.
* Make second expansion optional (partial implementation).Paul Smith2005-10-241-80/+50
| | | | | | | | | | | | | | | | 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.