summaryrefslogtreecommitdiff
path: root/filedef.h
AgeCommit message (Collapse)AuthorFilesLines
2007-07-04* Update to GPLv3Paul Smith1-4/+4
* Update copyright to 2007 * Fix download URL for translation files (thanks to Thiemo Seufer)
2007-03-20This is a major update, which switches virtually every allocated-but-not-freedPaul Smith1-9/+9
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.
2006-04-07Code cleanup: Remove all references to PARAMS() & ansi2knr.Paul Smith1-16/+15
2006-02-11Last of the copyright updates.Paul Smith1-1/+2
2006-02-11Update copyright and license notices on all files.Paul Smith1-14/+11
Added new file strcache.c to various non-UNIX makefiles and build scripts.
2006-02-06Fix Savannah bugs # 15341, 15534, and 15533.Paul Smith1-0/+1
Rewrite large chunks of the "Commands" section of the manual to better describe then backslash-newline handling, the SHELL variable, etc.
2005-10-24Make second expansion optional (partial implementation).Paul Smith1-5/+5
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.
2005-05-03Fix problems with losing tokens in the jobserver, reported by GrantPaul Smith1-1/+1
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...
2005-02-28* New feature: -L optionPaul Smith1-0/+3
* 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 .DEFAULT_TARGET special variable.Boris Kolpackov1-0/+1
2004-02-24Many compiler warning cleanups.Paul Smith1-2/+2
Small fixes for W32 (from Jonathan Grant <jg-make@jguk.org>) Maintainer enhancements to clean up the tree.
2002-08-01New variables, .VARIABLES and .TARGETS.Paul Smith1-0/+1
2002-07-11Install Greg McGary's patches to port the id-utils hashing functions toPaul Smith1-6/+6
GNU make. Also he provides some other performance fixups after doing some profiling of make on large makefiles. Modify the test suite to allow the use of Valgrind to find memory problems.
2000-07-30* Various fixes; see the ChangeLog.Paul Smith1-4/+3
2000-07-07* Minor code cleanupsPaul Smith1-3/+3
* Fix for PR/1811, from Paul Eggert.
2000-06-20* More updates and fixes.Paul Smith1-7/+0
2000-06-13* Some timestamp fixes from Paul Eggert.Paul Smith1-31/+44
* Fix compilation on Linux; use libintl.h and not gettext.h when using the system gettext.
2000-03-26* Ignore attempt to change a file into itself.Paul Smith1-2/+2
* Define COFLAGS to avoid unknown variable warning. * Fix some usec problems on UnixWare. * Don't remove .INTERMEDIATE targets specified on the command line.
2000-02-05* Fix PR/1407.Paul Smith1-4/+4
* Keep filename/lineno information for variables, for debugging.
2000-01-23* A few fixes.Paul Smith1-2/+0
1999-07-22* Installed new versions of GLIBC glob library.Paul Smith1-0/+6
* Installed Tim Magill's "graph pruning" performance enhancement. * Update version to 3.77.90 for the release. * Require automake 1.4.
1999-07-15* Fix up and document $(apply ...) function.Paul Smith1-0/+2
1999-07-06* Various bugfixes/updates. See ChangeLog.Paul Smith1-3/+4
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-13/+66
1998-07-30GNU make release 3.77.Paul Smith1-0/+7
1997-08-27Updates for GNU make 3.75.92.Paul Smith1-4/+9
1997-08-18Bug fixes and automake changes.Paul Smith1-1/+1
1997-04-07Changes for make 3.75.1Paul Smith1-7/+7
1996-03-20Tue Mar 19 20:21:34 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>Roland McGrath1-0/+120
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.