summaryrefslogtreecommitdiff
path: root/implicit.c
AgeCommit message (Collapse)AuthorFilesLines
2005-04-13Fix performance degradation introduced by the second expansion feature.Paul Smith1-11/+13
I did this by adding intelligence into the algorithm such that the second expansion was only actually performed when the prerequisite list contained at least one "$", so we knew it is actually needed. Without this we were using up a LOT more memory, since every single target (even ones never used by make) had their file variables initialized. This also used a lot more CPU, since we needed to create and populate a new variable hash table for every target. There is one issue remaining with this feature: it leaks memory. In pattern_search() we now initialize the file variables for every pattern target, which allocates a hash table, etc. However, sometimes we recursively invoke pattern_search() (for intermediate files) with an automatic variable (alloca() I believe) as the file. When that function returns, obviously, the file variable hash memory is lost.
2005-03-10Fixed Savannah bug #12267.Boris Kolpackov1-4/+18
2005-03-04Fixed Savannah bug #12202.Boris Kolpackov1-0/+2
2005-03-03Fixed stem termination and stem triple-expansion bugs.Boris Kolpackov1-5/+21
2005-02-28* New feature: -L optionPaul Smith1-1/+1
* 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)
2005-02-27Implementation of the second expansion in explicitBoris Kolpackov1-160/+421
rules, static pattern rules and implicit rules.
2004-09-21Fixed bug in implicit rule prerequisite evaluation code. Added test.Boris Kolpackov1-1/+3
2004-01-08Enhancements to the documentation (fixes bugs #1772 and 4898).Paul Smith1-1/+1
Add "!" to the list of shell escape characters: POSIX sh allows it to be used to negate the return value of the command.
2004-01-07Fix order-only prerequisites for pattern rules. (Savannah patch #2349).Paul Smith1-3/+7
Add a regression test for this. Older libraries don't allow *alloc(0), so make sure we don't ever do that.
2003-05-02- Fix bug #1405: allow multiple pattern-specific variables to match a target.Paul Smith1-1/+1
- Fix some uncleanliness about the implementation of patterns-specific vars. - Some enhancements to the OS/2 port.
2002-10-14Convert the source code to use ANSI C style function definitions andPaul Smith1-8/+3
enable the automake ansi2knr capability. Right now this doesn't quite build using a K&R compiler because of a problem with the loadavg test program, but the rest of the code works. I'm asking the automake list about this problem.
2002-09-04Fix for complex situations where directories are declared as prerequisites.Paul Smith1-2/+2
Info on this fix from barkalow@reputation.com: thanks! Some updates/cleanups of some of the tests; added a forgotten -t test, etc.
2002-08-10Update to a new version of automake and gettext.Paul Smith1-1/+1
Invent a new macro HAVE_DOS_PATHS and change various instances of: #if defined(WINDOWS) || defined(__MSDOS__) to use the new macro instead. This should help make the OS/2 port cleaner, as well. Invent a cvs-clean maintainer target that tries to get the workspace back to the state it was in after a CVS checkout. New language.
2002-07-08Various cleanups reported by people using the alpha release.Paul Smith1-0/+3
Incorporate "order-only" prerequisites patch. Wrote a test for it. The test shows what might be a bug in the code; I need to look at it more closely (anyway it doesn't behave as I expected). Also I haven't done the docs yet.
2002-07-08Major updates in preparation for 3.80.Paul Smith1-5/+8
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.
2000-06-20* More updates and fixes.Paul Smith1-1/+0
2000-06-19* Various fixes for problems in the 3.79.0.1 pretest.Paul Smith1-12/+18
2000-01-22* Merge VMS patches by Hartmut Becker.Paul Smith1-1/+5
1999-12-18* Fix problems with double-colon rules.Paul Smith1-6/+1
* Fix problems with INTERMEDIATE rules.
1999-11-22* Add new debugging output level selection feature.Paul Smith1-18/+21
1999-10-15* Fix PR/1394.Paul Smith1-7/+7
* Apply changes from Paul Eggert. * Many other cleanups (index/rindex --> strchr/strrchr, etc.)
1999-09-02* A few W32 fixes for backslash support.Paul Smith1-1/+1
1999-08-24* Terminology change in docs and code.Paul Smith1-4/+5
1999-07-28* Add gettext macros to start i18n support.Paul Smith1-11/+11
1999-07-21* Add configure option to enable dmalloc library.Paul Smith1-5/+5
* Various code cleanups.
1999-07-20* Fix memory leaks, fd leaks, and some long-standing bugs recognizing whenPaul Smith1-3/+6
targets need to have their modtimes rechecked (-n, etc.)
1999-03-05* Update FSF address info in copyright notices.Paul Smith1-1/+2
* Update maintainers build process; remove GNUmakefile. Require builders to run automake && autoreconf by hand. * Use AC_SUBST_FILE to get the maintMakefile included, rather than GNU make's include directive, which conflicts with automake 1.4's include directive.
1998-10-03Checkpoint changes. Bug fixes, mostly.Paul Smith1-3/+8
1998-07-30GNU make release 3.77.Paul Smith1-3/+3
1997-08-27Updates for GNU make 3.75.92.Paul Smith1-1/+1
1997-04-07Changes for make 3.75.1Paul Smith1-5/+18
1996-03-20Tue Mar 19 20:21:34 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>Roland McGrath1-2/+11
Merged VMS port from Klaus Kaempf <kkaempf@didymus.rmi.de>. * make.h (PARAMS): New macro. * config.h-vms: New file. * makefile.com: New file. * makefile.vms: New file. * readme.vms: New file. * vmsdir.h: New file. * vmsfunctions.c: New file. * vmsify.c: New file. * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr. * ar.c: Added prototypes and changes for VMS. * commands.c: Likewise. * commands.h: Likewise. * default.c: Likewise. * dep.h: Likewise. * dir.c: Likewise. * expand.c: Likewise. * file.c: Likewise. * function.c: Likewise. * implicit.c: Likewise. * job.c: Likewise. * job.h: Likewise. * main.c: Likewise. * make.h: Likewise. * misc.c: Likewise. * read.c: Likewise. * remake.c: Likewise. * remote-stub.c: Likewise. * rule.c: Likewise. * rule.h: Likewise. * variable.c: Likewise. * variable.h: Likewise. * vpath.c: Likewise. * compatMakefile (srcs): Rename file.h to filedef.h.
1994-09-29Comment fix.Roland McGrath1-1/+1
1994-04-21(pattern_search): Always allocate new storage for FILE->stem.Roland McGrath1-2/+4
It is not safe to store STEM's address because it might be auto storage.
1993-11-03entered into RCSRoland McGrath1-1/+9
1993-06-30Formerly implicit.c.~14~Roland McGrath1-25/+16
1993-06-04Formerly implicit.c.~13~Roland McGrath1-1/+4
1993-05-27Formerly implicit.c.~12~Roland McGrath1-1/+8
1993-03-10Formerly implicit.c.~11~Roland McGrath1-1/+1
1993-02-21Formerly implicit.c.~10~Roland McGrath1-3/+14
1993-02-08Formerly implicit.c.~9~Roland McGrath1-1/+1
1993-01-06Formerly implicit.c.~8~Roland McGrath1-7/+7
1992-12-22Formerly implicit.c.~7~Roland McGrath1-2/+0
1992-08-10Formerly implicit.c.~6~Roland McGrath1-2/+1
1992-04-14Formerly implicit.c.~5~Roland McGrath1-4/+6
1991-10-08Formerly implicit.c.~4~Roland McGrath1-34/+17
1991-09-15Initial revisionRoland McGrath1-0/+586