summaryrefslogtreecommitdiffstats
path: root/usr.bin/make
Commit message (Collapse)AuthorAgeFilesLines
* Change directory back to ${.CURDIR} when remaking Makefiles.fjoe2007-06-011-1/+9
| | | | Pointed out by: ru
* Improve logging when -dm is specified: if the node is consideredfjoe2007-04-203-8/+7
| | | | | out-of-date print not only "modified before source" message but also the path of youngest source.
* When remaking makefiles check that mtime has actually changed.fjoe2007-04-201-3/+14
| | | | | | | | | | | | | | | | | This fixes infinite restart in the following case: Makefile: foo foo: bar do-something Unlike GNU make, BSD make considers "Makefile" node as remade even if "foo" is up-to-date and was not actually rebuilt. GNU make does not consider nodes without commands as remade if child nodes were not actually rebuilt. Most probably, more proper fix would be to bring BSD make behaviour in-line with GNU make but this would be more intrusive change.
* In .error and .warning, prefer command-line variablesru2007-04-121-1/+1
| | | | | | to globals, as per documentation. Nudged by: Jeremie Le Hen
* Better English.fjoe2007-03-081-1/+1
|
* Implement "Remaking Makefiles" feature:fjoe2007-03-087-27/+279
| | | | | | | | | | | | | | | | | | | | | | | After reading Makefile and all the files that are included using .include or .sinclude directives (source Makefiles) make considers each source Makefile as a target and tries to rebuild it. Both explicit and implicit rules are checked and all source Makefiles are updated if necessary. If any of the source Makefiles were rebuilt, make restarts from clean state. To prevent infinite loops the following source Makefile targets are ignored: - :: targets that have no prerequisites but have commands - ! targets - targets that have .PHONY or .EXEC attributes - targets without prerequisites and without commands When remaking a source Makefile options -t (touch target), -q (query mode), and -n (no exec) do not take effect, unless source Makefile is specified explicitly as a target in make command line. Additionally, system makefiles and .depend are not considered as a Makefiles that can be rebuilt. Reviewed by: harti
* Fix a bug where the standard input (fifoFd == 0) was confused with anwill2007-03-081-1/+1
| | | | | | | | error return from open(2), leading to an erroneous value of maxJobs and a hung make when -f is standard input and -j is used. PR: bin/101232 Submitted by: Nate Eldredge <nge@cs.hmc.edu>
* o Grammar: is appears -> appears.maxim2006-12-311-1/+1
| | | | | | PR: docs/107306 Submitted by: Tomas Mozes MFC after: 1 week
* Fix a group of typos:yar2006-12-291-1/+1
| | | | | | | | preceed -> precede, preceeded -> preceded, preceeding -> preceding. Submitted by: Andre Guibert de Bruet <andy@siliconlandmark.com>
* Don't go beyond the provided string when parsing the `\' character.ru2006-10-091-2/+4
| | | | | | PR: bin/99985 Submitted by: Nate Eldredge MFC after: 3 days
* Markup nit.ru2006-09-291-1/+1
|
* Markup fixes.ru2006-09-291-1/+1
|
* Tell when a .include is processed with '-dd'.obrien2006-07-221-0/+1
|
* VarAdd() already does the debug printing, so Var_Set() only needs to do itobrien2006-07-171-2/+1
| | | | in the case the var already exists.
* whitespace fixingobrien2006-07-171-8/+8
|
* So, what's it supposed to say when you type "make love"?ru2006-05-111-0/+1
|
* Update comment about var modifiers (add 'N' and 'O' descriptions).fjoe2006-04-081-2/+5
|
* Add :u var modifier (remove adjacent duplicate words like uniq(1).fjoe2006-04-082-0/+43
| | | | | Reviewed by: harti Obtained from: NetBSD (mostly)
* Prepare for MACHINE and hw.machine switching to "pc98" on FreeBSD/pc98.ru2005-12-051-16/+11
| | | | Reviewed by: nyan
* Quickly fix brokeness in revision 1.157, that change wasdavidxu2005-12-011-4/+4
| | | | | free()ing stack memory which causes the program to abort, and I can no longer make buildworld.
* - match_var: do not address memory at invalid address (`len' can be greaterfjoe2005-11-302-3/+5
| | | | | | | | | than strlen(var) + 1) - ReadMakeFile: prevent `fname' memory leak - ReadMakeFile: prevent double free (caused by double fclose) -- ParsePopInput() closes input file Reviewed by: harti
* Make sure that files included using ".include <foo>" are reallyru2005-10-171-17/+16
| | | | | | | | looked for in the system make file directory or in the specified -m paths instead of always looking in the other -I and .PATH specified paths. (Commit log shamelessly stolen from NetBSD.) Reviewed by: yar
* Revise the manpage to a certain extent, mostly with respect toyar2005-10-141-32/+68
| | | | | | | make's processing of top-level and included makefiles. Point out at make.conf(5) and __MAKE_CONF when telling about sys.mk. Reviewed by: ru
* __MAKE_CONF doesn't really belong here because it isyar2005-10-121-10/+1
| | | | | | | a FreeBSD extension of sys.mk. A xref to make.conf(5) will be enough here. Requested by: ru
* Clarify the usage and effects of sys.mk, make.conf(5), and __MAKE_CONF.yar2005-10-101-4/+13
| | | | MFC after: 2 weeks
* Make sure that the created fifo gets deleted if the top level make instancescottl2005-10-091-0/+2
| | | | exits due to a signal.
* Remove redundant `\&' escapes.ru2005-09-271-28/+28
|
* Fixup previous commit.ru2005-09-271-3/+2
|
* Please ship the pointy hat to its home position.phk2005-09-261-2/+0
|
* Update coordinates for "mph" hash generator now that it lives in ports.phk2005-09-261-1/+1
|
* Add a .sinclude directive which does the exact same as .include, exceptphk2005-09-264-20/+45
| | | | whine when the file cannot be found and opened.
* Fix the type of the variable 'debug'. It is used as a bitmap, so theharti2005-09-071-1/+1
| | | | | | | | type should be int rather than Boolean. PR: bin/84528 Submitted by: Max Okumoto <okumoto@ucsd.edu> MFC after: 3 weeks
* Fix all the spelling mistakes I could find in the man pages for wordskeramida2005-07-311-1/+1
| | | | | | | | that have at least 3 characters. MFC after: 1 week Thanks to: Music band ``Chingon'' for keeping me company while searching for these.
* Fix the "..." special command. If this command is found all furtherharti2005-07-191-1/+1
| | | | | | | | | | | commands for this target are appended to the .END target instead of beeing executed now. They are executed when the graph is finished. There was a bug with executing the .END target which came in when doing conversion to LST_FOREACH() which caused make to dump core. PR: bin/83698 Submitted by: Max Okumoto <okumoto@ucsd.edu> MFC after: 3 days
* Markup and wording fixes.ru2005-06-141-9/+14
| | | | Approved by: re (blanket)
* Under certain conditions the condition parser would go one past end ofharti2005-05-251-1/+1
| | | | | | the string. Until now this caused no harm, because the buffer code used to tack two NULs onto buffers. With the new, soon to come, parsing code this isn't the case anymore in all cases, so fix this.
* Document why there is a dependency of certain object files from theharti2005-05-251-0/+6
| | | | | | Makefile. Requested by: ru
* The caller of Var_Value() should not change the variable value. Makeharti2005-05-245-14/+15
| | | | | | this clear by constifying the return value. Obtained from: DragonFlyBSD
* Get rid of the third argument to Var_Value() the pointer it pointedharti2005-05-248-65/+26
| | | | | | to has always been set to NULL for some time now. Obtained from: DragonFlyBSD
* Make shell.o dependend on the Makefile just in case someone changesharti2005-05-241-1/+1
| | | | the default shell in the Makefile.
* Bump the warning level to 6.harti2005-05-241-1/+1
|
* Fix a 64-bit warning by casting an int64_t to intmax_t and printing itharti2005-05-241-1/+2
| | | | with %jd.
* Factor out ProcExec() into its own file and rename it to Proc_Exec() forharti2005-05-244-123/+193
| | | | | | consistency with the rest of make. Obtained from: DragonFlyBSD (except for the rename)
* Factor out all the .SHELL parsing related stuff into its own file andharti2005-05-247-477/+588
| | | | | | | rename the function to be consistent with the naming scheme in the rest of make. No functional changes. Obtained from: DragonFlyBSD (idea and most of shell.h)
* Use the name of the default shell instead of a numeric index to selectharti2005-05-243-8/+4
| | | | | | the default shell. Idea from: DragonFlyBSD
* Another shell attribute 'unsetenv' that will cause to unsetenv("ENV")harti2005-05-242-8/+18
| | | | | | before executing the shell. Until now this was done when the default shell was the ksh. This failed if the default shell was sh or csh and the user switched to ksh.
* Describe the meta and builtins attributes for the .SHELL specialharti2005-05-241-0/+14
| | | | target.
* Describe the -x option and the .WARN pseudo-target.harti2005-05-241-0/+33
|
* Before doing any parsing parse the builtin shell specifications andharti2005-05-243-178/+204
| | | | | | | | | | | | | | | | | | | | set the current shell to DEFSHELL. Put all these specifications into a list. Add user specified new shells to this list. If the user just selects one of the already know shells just pick the right one off the list. This let's one do something like: # Full specification of the user's shell. This also selects the shell. .SHELL: name=myshell path=/somewhere/foo echo=loud ... FOO != bar # use myshell here .SHELL: name=sh BAR != baz # use /bin/sh here .SHELL: name=myshell # no need for full spec here. # continue to use the user's special shell.
* Allow the .SHELL target to specify the list of shell meta characters andharti2005-05-241-289/+305
| | | | | | | | | | | | | | the list of shell builtins. Both of these are needed for the compat mode where make directly executes commands if the command line contains neither a shell meta character nor a shell builtin. The list of builtins is not changed, but csh has '@' added as a meta-character. Initialize the default shell by parsing a string as one would specify to the .SHELL target. So we get rid of the CShell clone of struct Shell which just contained const char * where struct Shell had char *. Add a debugging function for dumping a parsed shell description to stdout.
OpenPOWER on IntegriCloud