| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Pointed out by: ru
|
|
|
|
|
| |
out-of-date print not only "modified before source" message
but also the path of youngest source.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
to globals, as per documentation.
Nudged by: Jeremie Le Hen
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
PR: docs/107306
Submitted by: Tomas Mozes
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
preceed -> precede,
preceeded -> preceded,
preceeding -> preceding.
Submitted by: Andre Guibert de Bruet <andy@siliconlandmark.com>
|
|
|
|
|
|
| |
PR: bin/99985
Submitted by: Nate Eldredge
MFC after: 3 days
|
| |
|
| |
|
| |
|
|
|
|
| |
in the case the var already exists.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Reviewed by: harti
Obtained from: NetBSD (mostly)
|
|
|
|
| |
Reviewed by: nyan
|
|
|
|
|
| |
free()ing stack memory which causes the program to abort,
and I can no longer make buildworld.
|
|
|
|
|
|
|
|
|
| |
than strlen(var) + 1)
- ReadMakeFile: prevent `fname' memory leak
- ReadMakeFile: prevent double free (caused by double fclose) --
ParsePopInput() closes input file
Reviewed by: harti
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
a FreeBSD extension of sys.mk. A xref to make.conf(5)
will be enough here.
Requested by: ru
|
|
|
|
| |
MFC after: 2 weeks
|
|
|
|
| |
exits due to a signal.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
whine when the file cannot be found and opened.
|
|
|
|
|
|
|
|
| |
type should be int rather than Boolean.
PR: bin/84528
Submitted by: Max Okumoto <okumoto@ucsd.edu>
MFC after: 3 weeks
|
|
|
|
|
|
|
|
| |
that have at least 3 characters.
MFC after: 1 week
Thanks to: Music band ``Chingon''
for keeping me company while searching for these.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Approved by: re (blanket)
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Makefile.
Requested by: ru
|
|
|
|
|
|
| |
this clear by constifying the return value.
Obtained from: DragonFlyBSD
|
|
|
|
|
|
| |
to has always been set to NULL for some time now.
Obtained from: DragonFlyBSD
|
|
|
|
| |
the default shell in the Makefile.
|
| |
|
|
|
|
| |
with %jd.
|
|
|
|
|
|
| |
consistency with the rest of make.
Obtained from: DragonFlyBSD (except for the rename)
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
| |
the default shell.
Idea from: DragonFlyBSD
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
target.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|