Commit Graph

224 Commits

Author SHA1 Message Date
apb
e7b5d5dc5f Explain that ${VAR:M*} will normalise the inter-word spacing. 2013-10-25 22:05:00 +00:00
apb
e1debe8414 The :C/// modifier takes an extendedregular expression. 2013-10-25 20:57:02 +00:00
apb
480a3064b0 Use Va markup to show that the "suffix" part of ".PATH.suffix"
is a placeholder, not a literal string.
Also bump date.
2013-08-11 09:53:49 +00:00
dholland
f02a6c3b94 Document .PATH.suffix:. Noted by apb back in December of 2008
(that's how long my queue is...)
2013-08-11 04:40:58 +00:00
sjg
bd8f3e806f Allow an empty .MAKE.JOB.PREFIX to supress output of --- job --- tokens 2013-07-30 19:09:57 +00:00
christos
4f413ffa5d More gmake compatibility:
1. add -w flag to print Entering and Leaving directory name the the beginning
   and the end of processing.
2. export MAKELEVEL=$((MAKELEVEL + 1)) only in the child environment.
3. when printing error messages, prefix them with the program name [$MAKELEVEL]
   for $MAKELEVEL > 0
4. if $MAKEFLAGS consists only of letters assume it is a set of flags (as
   allowed by posix), convert them to -f -l -a -g -s, so that they get parsed
   properly.
With those fixes gmake -> bmake -> gmake -> bmake etc. works as expected.
2013-07-16 14:00:53 +00:00
agc
6a34c4426f fix a typo 2013-06-26 20:20:36 +00:00
wiz
46ad464f12 Remove trailing whitespace. 2013-06-25 07:08:10 +00:00
sjg
adfd644b2f Add .MAKE.META.IGNORE_PATHS to facilitate local additions to the paths
which should be ignored by meta_oodate().
2013-06-25 00:20:54 +00:00
christos
e2bd819f6a improve wording 2013-05-22 19:35:11 +00:00
christos
689b483c53 put a note on what FRC means. 2013-05-22 19:30:35 +00:00
sjg
e570fc4070 Refine the effect of .OODATE on command comparison.
Rather than apply it to the whole script, just the current command line
is affected.   This allows a trick like ${.OODATE:M.NOMETA_CMP}
to cause command comparison to be supressed for one command only.
2013-03-31 05:49:51 +00:00
sjg
03ce90ebea If built with filemon support, set .MAKE.PATH_FILEMON to _PATH_FILEMON
so that makefiles can test for it.
2013-03-23 05:31:29 +00:00
christos
ed82ee44b4 Add a .STALE special target that gets invoked when dependency files contain
stail entries.
2013-03-05 22:01:43 +00:00
sjg
bd0907ac07 In SHELL COMMANDS section, provide some clues about different
behavior in jobs vs non-jobs mode.
Move the comment about when shell is skipped to this discussion
from COMPATABILITY.
Remove the incorrect statement about default mode being somehow
neither jobs mode or compat mode (it is compat mode).
2013-01-27 18:52:01 +00:00
christos
4f166942a1 It is Sprite, not Sprint; pointed out by Todd Miller. 2012-10-08 15:09:48 +00:00
christos
6010f05a86 spelling 2012-09-17 02:10:46 +00:00
sjg
cf6e63e419 Document the fact that lack of shell meta chars in a command
results in direct exec in compat mode.
2012-09-17 01:23:45 +00:00
wiz
d5a95690ed Add an s. 2012-08-30 22:35:37 +00:00
sjg
aede2a76f4 Add a knob to control whether -V fully expands a plain variable by default.
The default retains the traditional NetBSD behavior, but the knob
can be set so that FreeBSD can retain their expected behavior.
This is a compromise to be sure.

Add a debug flag -dV to override the above, so that regardless of
the knob setting, the raw value of a variable can be easily seen.
2012-08-30 22:09:58 +00:00
sjg
845789be8d Restore previous behavior - supressing duplicate entries in
.MAKE.MAKEFILES - it is more efficient.
2012-04-24 20:12:16 +00:00
sjg
7a49f6a73f Fix some typos in/around ParseGmakeExport.
Remove the suppresssion of duplicate entries in .MAKE.MAKEFILES
2012-04-20 05:33:41 +00:00
wiz
1ac719d147 Remove unnecessary Bk/Ek pairs from SYNOPSIS.
No effective change except where I used the opportunity to sort options
and/or option descriptions.
2012-04-08 22:00:37 +00:00
christos
f8c8cd087a document gmake export command 2012-03-31 14:46:16 +00:00
sjg
367aa166aa Fix description of 'silent' in .MAKE.MODE
Also document 'env' in that context.
2012-02-03 21:39:25 +00:00
sjg
25e3dfbf18 Mention limits of :P 2011-12-23 05:01:59 +00:00
sjg
3a4494dc38 The :@ example gives the impression that we encourage the ODE
convention of naming loop variables like .LINK., when in fact
single char variables are far more common in NetBSD.
2011-12-17 04:43:45 +00:00
dholland
9851fd89b4 Fix xref to the PSD; PR 45568 from Petri Laakso. 2011-11-13 18:18:35 +00:00
christos
e8514ab687 explain how to use .PARSEDIR and .PARSEFILE 2011-11-06 19:50:46 +00:00
sjg
09fee58e88 In meta mode, we create .meta files for most targets.
These capture all the interesting data - useful for debugging.
In such cases there is no need to replicate commands in the build log.
Rather than run the entire build .SILENT, allow meta mode to set that flag
per target iff a .meta file is created.
Normal behavior is retained for targets where no .meta file is created,
ensuring that no build data is lost.
2011-08-28 03:54:07 +00:00
sjg
daf6508d3f Make some dashes em-dashes (based on patch from Andrew O. Shadoura).
Note behavior of .META flag wrt out-of-date.
2011-08-18 15:36:51 +00:00
wiz
4cbd24b23f dependant -> dependent 2011-06-30 20:09:15 +00:00
cheusov
a541b13903 fix bug in section .ORDER of make.1 2011-05-28 21:53:54 +00:00
wiz
9e66d3e091 Remove trailing whitespace. 2011-05-04 21:24:59 +00:00
christos
fc29dd21ad Document what I wrote for PR/40115 2011-05-04 21:14:56 +00:00
sjg
48587910e0 Add .MAKE.META.BAILIWICK - to identify the scope of make's control.
meta_oodate: if a file that was written or linked within our bailiwick,
but outside of .OBJDIR is missing, add it to missingFiles.
If we get to the end of the .meta file without seeing it [re]moved,
then consider the target out-of-date.
2011-05-04 20:38:31 +00:00
wiz
2974cb7ffe Remove trailing whitespace. 2011-04-11 06:56:50 +00:00
sjg
b446ef338f Add :localtime and :gmtime which use value as format string for strftime. 2011-04-11 01:44:15 +00:00
joerg
53d81ae021 Add the :hash modifier to compute a 32bit hash of an variable.
This uses MurmurHash3 to get a reasonable collission-free hash with
small code. The result is endian neutral.
2011-04-07 01:40:01 +00:00
sjg
1e444cd2f2 Use curdirOk as the token 2011-03-27 19:47:46 +00:00
sjg
dd0a10eeff When .MAKE.MODE inlcudes 'meta'; 'curdir=true' enables creating .meta
files in .CURDIR - such as when running make in .OBJDIR with a generated
makefile.
2011-03-27 19:39:21 +00:00
sjg
4fab365c37 Fix rendering of :? example 2011-02-26 01:17:24 +00:00
wiz
218cd6edd9 Remove trailing spaces, add a few serial commas. 2010-09-14 11:57:03 +00:00
sjg
c0dfab6508 Bump date 2010-09-13 16:32:00 +00:00
sjg
4db43f7e0c Add meta.c which implements "meta" mode for make.
In this mode, a .meta file is created for each target, capturing
the expanded commands used, any command output, and if filemon(9)
is available, a record of system calls which are of interest.
Not enabled unless USE_META=yes is set when building make.
Also, if FILEMON_H exists, meta.c will be compiled to use filemon(9).
2010-09-13 15:36:57 +00:00
dholland
a472ed2f77 Document that suffix rules are not applied to PHONY targets, and also
document the .TARGETS builtin variable, which has existed since 4.4 days.
Bump date. Arises from discussion in PR 43502.
2010-06-30 01:03:54 +00:00
dholland
563d98c883 fix previous, the source isn't exactly crystal clear and there's a bug that
makes the behavior misleading.
2010-06-27 00:53:32 +00:00
dholland
35590dfabc Clarify $(.PREFIX) / $*. Bump date. 2010-06-27 00:06:32 +00:00
wiz
e2a56e055d Whitespace. 2010-06-10 18:35:22 +00:00
christos
801f2ebf67 Explain variable expansion better. Requested by Aleksey Cheusov 2010-06-09 16:58:22 +00:00