summaryrefslogtreecommitdiff
path: root/variable.c
AgeCommit message (Collapse)AuthorFilesLines
2012-03-04Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines.Paul Smith1-9/+9
Fixes Savannah bug #34530.
2012-01-30Add support for "::=" simple assignment operator.Paul Smith1-29/+47
The next POSIX standard will define "::=" to have the same behavior as GNU make's ":=", so add support for this new operator.
2012-01-16Update copyright notices.Paul Smith1-3/+3
2011-04-18Add new feature: != shell assignment for portability with BSD make.Paul Smith1-1/+37
Feature submitted by David Wheeler.
2010-11-06Improve backslash/newline handling to adhere to POSIX requirements.Paul Smith1-7/+45
2010-08-27 variable.c (define_automatic_variables) [__MSDOS__ || WINDOWS32]:Eli Zaretskii1-1/+17
Remove trailing backslashes in $(@D), $(<D), etc., for consistency with forward slashes. Fixes Savannah bug #30795.
2010-07-13Update copyrights for 2010.Paul Smith1-2/+2
2009-10-25Update copyright years.Paul Smith1-2/+2
2009-10-25Various simple code cleanups.Paul Smith1-27/+27
2009-10-06Implement the new undefine directive.Boris Kolpackov1-0/+45
2009-09-28Implement the shortest stem first search order for pattern-specific ↵Boris Kolpackov1-9/+43
variables and pattern rules.
2009-09-16- Add xcalloc() and call itPaul Smith1-5/+9
- 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
2009-08-02- Fix Savannah bug #27093Paul Smith1-9/+14
- Fix Savannah bug #27143 - Fix Savannah bug #23960 - Fix Savannah bug #27148
2009-05-26Add 'private' variable modifier, feature submitted by Ramon Garcia.Paul Smith1-60/+109
Rework the parser for variables to allow multiple modifiers and also allow for variables and targets with modifier names, like "export" and "private".
2009-05-24Found this change in an old CVS workspace: rewrite savestring() to thePaul Smith1-1/+1
more standard xstrndup().
2008-01-26(target_environment): Don't use shell_var if its `value' field is NULL.Eli Zaretskii1-9/+12
2007-12-22configh.dos.template [__DJGPP__]: Replace HAVE_SYS_SIGLIST withEli Zaretskii1-0/+3
HAVE_DECL_SYS_SIGLIST. job.c (child_execute_job): Remove __MSDOS__ because MSDOS/DJGPP build does not use child_execute_job. variable.c (define_automatic_variables) [__MSDOS__]: Always export the SHELL environment variable to the child.
2007-11-04New special variable: .RECIPEPREFIXPaul Smith1-4/+18
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.
2007-10-13Windows: allow SHELL to be set to a more complex value by checking itsPaul Smith1-1/+18
expansion to see if it's a valid shell, not just the unexpanded value.
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-27/+28
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-11-18Fix from Eli for incorrect value of $(MAKE) on Cygwin.Paul Smith1-1/+1
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.
2006-10-01Fixed a number of documentation bugs, plus some build/install issues:Paul Smith1-1/+1
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.
2006-04-09Another round of cleanups:Paul Smith1-23/+22
- 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.
2006-03-08Some test updates for Windows.Paul Smith1-1/+2
Handle SHELL set on the command line properly for windows.
2006-02-21Fix a potential core dump when merging aliases. Might fix bug #15818.Paul Smith1-8/+9
Revert intermediate file free code. Suppress some warnings in VMS builds.
2006-02-17Make sure we don't introduce a circularity into the variable set linkedPaul Smith1-7/+13
list. Fixes Savannah bug #15757.
2006-02-14Some memory leak cleanups (found with valgrind).Paul Smith1-8/+17
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.
2005-09-26Make sure to assign a boolean value to a 1-bit bitfield. Reported onPaul Smith1-1/+1
the bug-make mailing list. Fix Savannah bug # 14527: remember to free temporary line constructor memory if the line is empty.
2005-06-09Fix Savannah bug #11913: ensure that scopes such as foreach, etc. takePaul Smith1-17/+56
precedence over the global scope when they're used in a global context (such as an eval).
2005-04-08Fix some Savannah bugs.Paul Smith1-2/+2
Updates to docs (still need more work here) and NEWS file. New language.
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)
2004-12-05Fix bug with SHELL handling: make sure the variable struct is initialized.Paul Smith1-9/+7
2004-11-28Fix for bug #1276: Handle SHELL according to POSIX requirements.Paul Smith1-9/+17
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.
2004-10-05Moved expansion of simple pattern-specific variables from the rebuild stageBoris Kolpackov1-4/+19
to the read stage.
2004-09-27bugfix for exported pattern-specific variablesBoris Kolpackov1-4/+11
2004-03-22Numerous updates and bug fixes.Paul Smith1-0/+5
A number of W32 cleanups from J.Grant. A number of OS/2 cleanups from Andreas Buening. Various random bug fixes.
2003-05-02- Fix bug #1405: allow multiple pattern-specific variables to match a target.Paul Smith1-20/+155
- Fix some uncleanliness about the implementation of patterns-specific vars. - Some enhancements to the OS/2 port.
2003-03-24Add support for OS/2, contributed by Andreas Buening <andreas.buening@nexgo.de>Paul Smith1-3/+53
Also a small patch from Hartmut Becker <Hartmut.Becker@compaq.com> for VMS.
2002-10-14Convert the source code to use ANSI C style function definitions andPaul Smith1-82/+55
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-10-04Fix K&R-isms found on SunOS 4.1.4 builds.Paul Smith1-3/+7
2002-09-17Fix bug #940 (from the Savannah bug tracker): make sure that target-Paul Smith1-4/+18
specific variables work correctly in conjunction with double-colon targets.
2002-08-08Change the version.Paul Smith1-1/+0
Update to require new gettext. Change hash.c to by K&R. Redo some strings to make i18n simpler.
2002-08-08Incorporate some VMS fixes.Paul Smith1-11/+40
Add -B option docs. Add .VARIABLES variable. Add a few new tests. Add a new translation: Swedish
2002-08-01New variables, .VARIABLES and .TARGETS.Paul Smith1-12/+83
2002-07-11Install Greg McGary's patches to port the id-utils hashing functions toPaul Smith1-305/+200
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.
2002-07-08Major updates in preparation for 3.80.Paul Smith1-140/+176
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.
2002-05-10Fix Debian bug #144306: pass target-specific variables into the environmentPaul Smith1-1/+2
properly. Fix configure: allow cross-compilation; fix getloadavg (still needs _lots_ of work!) Let $(call ...) functions to be self-referencing. Lets us do transitive closures, for example.