History log of /src/usr.bin/make/make.1 |
Revision | | Date | Author | Comments |
1.387 |
| 02-Jul-2025 |
rillig | make: shorten diagnostic for invalid -J option
In the manual page, there's more space to properly explain the complexity behind the warning.
|
1.386 |
| 28-Jun-2025 |
rillig | make: add POSIX $^ support
POSIX 2024 [1] introduced the $^ internal macro. Implement it as an alias for $> (.ALLSRC), following the suggestion from defect 1520 [2].
[1]: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/make.html [2]: https://www.austingroupbugs.net/view.php?id=1520
Patch provided by Diogo Santos in PR bin/59018.
|
1.385 |
| 13-Jun-2025 |
rillig | make: add on-demand inter-process stack traces
When debugging a build that heavily uses nested calls to sub-makes, the chain of calls is useful to quickly assess the situation. If explicitly requested, include the actions from any parent processes in the stack traces.
Reviewed by: sjg
|
1.384 |
| 04-Apr-2025 |
sjg | make.1: elaborate on use of .OODATE:M
|
1.383 |
| 04-Apr-2025 |
sjg | make.1 further describe meta mode
This is long overdue. Explain how meta mode affects the behavior of make.
|
1.382 |
| 30-Mar-2025 |
sjg | make: POSIX mode, check for sysV style modifiers first
A POSIX compatible makefile should not be using any of our native modifiers, so give preference to the sysV style modifier and only check the others as a fallback.
Reviewed by: rillig
|
1.381 |
| 14-Nov-2024 |
sjg | make.1 clarify use of MAKEOBJDIRPREFIX
Note that MAKEOBJDIRPREFIX should be an absolute path. Also that MAKEOBJDIRPREFIX and MAKEOBJDIR *can* be set via makefile variables, but that care is needed to avoid unwanted side effects.
|
1.380 |
| 10-Nov-2024 |
sjg | make: allow -f .../Makefile
If the arg to -f or an entry in .MAKE.MAKEFILE_PREFERENCE starts with ".../" look for the rest of the path in .CURDIR and above.
Reviewed by: rillig
|
1.379 |
| 21-Sep-2024 |
sjg | Only list the defaults for MAKEFILE_PREFERENCE once
|
1.378 |
| 01-Jul-2024 |
sjg | make: add :tc to capitalize first letter of each word
This is very hard to do without :tc
Reviewed by: rillig
|
1.377 |
| 01-Jun-2024 |
sjg | make: add .export-all
An explicit syntax for exporting all global variables is much safer than allowing .export with no argument to do the same.
Add .export-all and have .export with no argument throw a warning saying to use .export-all
Reviewed by: rillig
|
1.376 |
| 28-May-2024 |
sjg | make: allow debugging the warning about .OBJDIR
When make complains about an unwritable .OBJDIR it is not always obvious how we derrived that value.
If MAKE_DEBUG_OBJDIR_CHECK_WRITABLE is enabled call PrintOnError so we can examine variables that are likely relevant.
Fix description of MAKE_OBJDIR_CHECK_WRITABLE in make.1
|
1.375 |
| 10-Mar-2024 |
sjg | make: record exit status in GNode
SetErrorVars can now set .ERROR_EXIT which allows a .ERROR target to ignore the case of .ERROR_EXIT == 6 which means failure happened elsewhere.
Reviewed by:
|
1.374 |
| 25-Jan-2024 |
sjg | Note that in both :U and :D newval may be empty
|
1.373 |
| 25-Jan-2024 |
sjg | Indicate that for :U newval is optional
|
1.372 |
| 24-Dec-2023 |
sjg | Compat_RunCommand call Shell_Init is shellPath is NULL
Since .SHELL is potentially used in compat mode as well, the man page description should not imply it is only used in jobs mode.
Remove path="sh" from shell-sh unit-test - and it would have detected this bug.
Reviewed by: rillig
|
1.371 |
| 10-Sep-2023 |
rillig | make: fix typo
|
1.370 |
| 09-Sep-2023 |
sjg | Add .MAKE.JOBS.C to indicate wether -jC is supported
|
1.369 |
| 09-Sep-2023 |
sjg | make: allow -j to compute a multiple of ncpu
If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating point number or ends in 'C' compute .MAKE.JOBS as a multiple of _SC_NPROCESSORS_ONLN
Based on a suggestion from des at freebsd.org Discussed with: rillig, christos
|
1.368 |
| 20-Aug-2023 |
sjg | make.1: note that %s should only be used with :localtime
|
1.367 |
| 28-Jun-2023 |
rillig | make.1: clean up wording, clarify scope of '!' in conditions
|
1.366 |
| 10-May-2023 |
sjg | Make :mtime operate on each word in variable value.
Reviewed by: rillig
|
1.365 |
| 09-May-2023 |
sjg | make: :mtime=error throw error on stat(2) failure
Sometimes we want fatal error if stat fails on the presumed pathname.
|
1.364 |
| 09-May-2023 |
sjg | make: add :mtime to provide mtime of file
The value of the variable is passed to stat(2) and st_mtime is new value. An optional arg can be used if stat(2) fails, otherwise the current time is used.
See varmod-mtime.mk for usage examples.
|
1.363 |
| 07-May-2023 |
sjg | make.1: lose the trailing blank lines
|
1.362 |
| 07-May-2023 |
sjg | make: fix description of .PREFIX
For at least 20 years, the setting of .PREFIX in make has not matched the documentation. Since the documented behavior does not match reality or POSIX make, fix the documentation.
In FindDepsRegularPath str_basename is applied to .PREFIX this is wrong, but I was unable to verify fixing it was benign in NetBSD build - my NetBSD box (7.2) was unable to build known-good src with or without any patches.
For now just document the behavior more accurately.
|
1.361 |
| 23-Mar-2023 |
sjg | Document unexplained *** Error code 6
|
1.360 |
| 26-Jan-2023 |
sjg | make: some variables should be read-only
Make variables like .newline and .MAKE.{GID,PID,PPID,UID} read-only.
Reviewed by: rillig
|
1.359 |
| 24-Jan-2023 |
sjg | make: .SYSPATH: to add dirs to sysIncPath
.SYSPATH: with no sources will clear sysIncPath otherwise sources are added
Reviewed by: rillig
|
1.358 |
| 23-Jan-2023 |
sjg | make: .[NO]READONLY for control of read-only variables
Reviewed by: rillig
|
1.357 |
| 01-Jan-2023 |
rillig | make.1: bump date
|
1.356 |
| 01-Jan-2023 |
rillig | make.1: fix markup
|
1.355 |
| 01-Jan-2023 |
rillig | make.1: sync list of built-in variables with reality
Fixes PR 57029.
|
1.354 |
| 01-Jan-2023 |
rillig | make.1: sort list of built-in variables
|
1.353 |
| 01-Jan-2023 |
rillig | make.1: use consistent markup for boolean flags
|
1.352 |
| 01-Jan-2023 |
rillig | make.1: move description of .MAKE.MODE below the .MAKE.META block
|
1.351 |
| 01-Jan-2023 |
rillig | make.1: reduce indentation of the long list of variable names
|
1.350 |
| 29-Nov-2022 |
rillig | branches: 1.350.2; make.1: clarify in which case an expression may omit braces
|
1.349 |
| 15-Nov-2022 |
rillig | make.1: make horizontal and vertical spacing more consistent
|
1.348 |
| 02-Oct-2022 |
rillig | make.1: clean up style, typography, accuracy
In a code example, replace the deprecated `pwd` with the preferred form $$(pwd).
Shorten the paragraph about escaping a dollar in modifiers, as the various escaping mechanisms are described in the section 'Expansion of variables'.
Summarize the previously many cases of the ':from=to' modifier to be simpler to understand, actually mention what the pattern matching character '%' can match.
Describe the syntax of function call expressions in conditionals. Previously, only the function names had been documented.
|
1.347 |
| 15-Sep-2022 |
uwe | make(1): fix and simplify optional negation on conditional
|
1.346 |
| 15-Sep-2022 |
uwe | make(1): use .Dl for one-line literal display
|
1.345 |
| 14-Sep-2022 |
rillig | make.1: make typography more consistent
|
1.344 |
| 14-Sep-2022 |
rillig | make.1: fix typography, especially spacing
|
1.343 |
| 12-Sep-2022 |
rillig | make.1: fix style of ellipsis
In most places, '...' is not intended to be entered verbatim, instead it is a placeholder, so don't use a fixed-width font for it.
|
1.342 |
| 12-Sep-2022 |
rillig | make.1: remove extraneous .El, update date
|
1.341 |
| 12-Sep-2022 |
rillig | make.1: split section on directives into several subsections
Directives such as .error or .undef are not conditionals. Having these directives mixed in a single list made it more difficult to see how the directives relate.
|
1.340 |
| 09-Sep-2022 |
uwe | make(1): add space before the punctuation argument
|
1.339 |
| 09-Sep-2022 |
rillig | make.1: clean up and make the description more accurate
Most changes are editorial. Notable exceptions are:
The ':Q' in MAKE_PRINT_VAR_ON_ERROR was wrongly added in the previous commit. As that variable does not produce a shell command, there is no point in quoting the characters.
Since 2012.10.07.19.17.31, make doesn't complain anymore if a shell command in compat mode expands to an empty string, which removes the need to "keep make happy".
|
1.338 |
| 09-Sep-2022 |
rillig | make.1: only use .Pa for actual pathnames
|
1.337 |
| 08-Sep-2022 |
rillig | make.1: rewrite many details in a more precise way
|
1.336 |
| 07-Sep-2022 |
rillig | make.1: clean up style, grammar, punctuation, improve clarity
|
1.335 |
| 07-Sep-2022 |
rillig | make.1: remove redundant 'then' from conditional sentences.
|
1.334 |
| 07-Sep-2022 |
rillig | make.1: use present tense in conditional sentences
These sentences are about general, timeless rules, rather than about predictions about the future.
|
1.333 |
| 05-Sep-2022 |
rillig | make.1: clarify interpretation of conditionals
String literals in quotes are never interpreted as numbers.
The operators '<', '<=', '>', '>=' are only allowed in numeric comparisons.
Avoid the term 'C relational operators' since in C, the relational operators exclude '==' and '!=', which are called equality operators instead.
|
1.332 |
| 03-Sep-2022 |
rillig | make: clean up handling of .break in .for loops
Move For_Break further up, as the functions in that file are sorted from small to big. The cast from size_t to unsigned int is required by lint.
In parse.c, move the code into a separate function to keep ParseDirective small. Its only job is to parse the directive and then delegate to another function doing the actual work.
In the manual page, remove empty lines.
In the test, ensure that .break stops processing of the .for loop immediately; anything after the .break is not processed anymore. Replace ':=' with '=', as there is no need to evaluate '$i' early. Check the expected value in the .mk file instead of the .exp file, to keep the reading scope as small as possible.
|
1.331 |
| 02-Sep-2022 |
sjg | make: add .break to terminate .for loop early
When .break is encountered within a .for loop it causes immediate termination.
Outside of a .for loop .break causes a parse error.
Reviewed by: christos
|
1.330 |
| 14-Aug-2022 |
uwe | make(1): mark up the variable expansion example
|
1.329 |
| 14-Aug-2022 |
uwe | make(1): use .Dl for .MAKE.JOB.PREFIX examples
|
1.328 |
| 14-Aug-2022 |
uwe | make(1): prettify .for index variable example
|
1.327 |
| 14-Aug-2022 |
uwe | make(1): more .Va fixes
|
1.326 |
| 14-Aug-2022 |
uwe | make(1): mark up FRC in BUGS
|
1.325 |
| 14-Aug-2022 |
uwe | make(1): Use .Dq instead of literal ASCII quotes
|
1.324 |
| 14-Aug-2022 |
uwe | make(1): Be consistent about using .Va for make variables
|
1.323 |
| 14-Aug-2022 |
rillig | make.1: fix accidental removal of the directive 'export'
|
1.322 |
| 14-Aug-2022 |
uwe | make(1): more .Ar fixes
|
1.321 |
| 14-Aug-2022 |
uwe | make(1): ".../" in -m option description is literal ".../"
|
1.320 |
| 14-Aug-2022 |
uwe | make(1): Consistent formatting for -i and -s descriptions.
|
1.319 |
| 14-Aug-2022 |
uwe | make(1): Fix markup of the -d[flags] section.
The debug flags are literals, not syntactic variables (.Ar). While here use .Dq for quoted words in the text.
|
1.318 |
| 14-Aug-2022 |
uwe | make(1): Fix some obviously wrong uses of .Va
|
1.317 |
| 14-Aug-2022 |
rillig | make.1: clean up formatting and grammar, be more accurate
|
1.316 |
| 14-Aug-2022 |
rillig | make.1: not every '-' is a flag
|
1.315 |
| 12-Jul-2022 |
rillig | make.1: fix markup for variable modifiers, add italic correction
|
1.314 |
| 12-Jul-2022 |
rillig | make.1: fix markup for options, they are not arguments
|
1.313 |
| 12-Jul-2022 |
rillig | make.1: fix ugly line break in PostScript output
|
1.312 |
| 12-Jul-2022 |
rillig | make.1: fix markup
Not all square brackets are options, some are wildcards.
|
1.311 |
| 12-Jul-2022 |
rillig | make.1: replace redundant .Ql with .Sq
|
1.310 |
| 12-Jul-2022 |
rillig | make: describe variable assignment and evaluation more precisely
Variables in make are not "much like variables in the shell", they only look that way. Their behavior is more similar to C preprocessor macros.
The spaces around a variable value are removed when parsing the variable assignment, not after evaluating it.
Before describing the variable assignment operators, introduce the general syntax of a variable assignment.
Add a separate subsection "Expansion of variables", since assignment and expansion are unrelated. Illustrate how variable expansions look instead of describing it in many words.
Describe how variables are expanded in conditionals, since that is different from everywhere else.
|
1.309 |
| 07-May-2022 |
rillig | make: allow to randomize build order of targets
In complex dependency structures, when a build fails, a probable cause is a missing dependency declaration between some files. In compat mode, the build order is deterministic, in jobs mode, it is somewhat deterministic. To explore more edge cases, add the line ".MAKE.MODE += randomize-targets" somewhere in the makefile.
Fixes PR bin/45226 by riastradh. Reviewed by christos.
|
1.308 |
| 18-Apr-2022 |
rillig | make: only switch to POSIX mode if '.POSIX:' is the first line
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html says that in order to make a makefile POSIX-conforming, its first non-comment line must be the special dependency line '.POSIX:' without any source dependencies.
Previously, make switched to POSIX mode even if such a line occurred anywhere else, which was allowed by POSIX but was deep in the "unspecified behavior" area. For NetBSD make, there is no big difference since it doesn't ship any <posix.mk> file, this change mainly affects the bmake distribution.
Previously, makefiles that contain '.POSIX:' somewhere in the middle could fail due to <posix.mk> resetting .SUFFIXES, among other things.
Suggested by Simon J. Gerraty, who also reviewed an earlier version of this change.
|
1.307 |
| 26-Mar-2022 |
sjg | Mention 'make -r' with .POSIX
|
1.306 |
| 25-Mar-2022 |
sjg | Include posix.mk when .POSIX: first encountered
Since .POSIX: is required to be the first non-comment line in a Makefile, including ${MAKE_POSIX_MK} or whatever _PATH_POSIX_MK is set to at this point is equivalent to an extension of sys.mk
This is a minimal change that can allow a better approximation of POSIX compliance
Reviewed by: rillig
|
1.305 |
| 09-Feb-2022 |
rillig | make: fix mistakes, spelling and typos in comments and manual page
No binary change for -DNDEBUG.
|
1.304 |
| 29-Jan-2022 |
sjg | Tweak description of local variable assignments
|
1.303 |
| 29-Jan-2022 |
sjg | Document quirks of target local variable assignments
|
1.302 |
| 27-Jan-2022 |
sjg | Allow local variable assignments in dependency lines
The variable is set in the context of the target. This syntax has been supported by gmake for ~ever. If necessary a makefile can set .MAKE.TARGET_LOCAL_VARIABLES=false to disable this.
Expose GetBooleanExpr so parse.c can use it.
|
1.301 |
| 13-Jan-2022 |
sjg | meta.c: add .MAKE.META.CMP_FILTER
On rare occasions it is useful to be able to filter command lines before comparison.
|
1.300 |
| 12-Dec-2021 |
sjg | Add .SUFFIXES as read-only variable.
References to ${.SUFFIXES} are handled dynamically in ParseVarnameLong by calling Suff_NamesStr.
The variable cannot be set normally.
Reviewed by: rillig
|
1.299 |
| 03-Aug-2021 |
wiz | Document :On modifiers in more detail.
|
1.298 |
| 30-Jul-2021 |
rillig | make: fix typo in manual page, add more tests for the new ':On'
|
1.297 |
| 30-Jul-2021 |
sjg | Add :On for numeric sort
Reviewed by: christos rillig
|
1.296 |
| 04-Feb-2021 |
rillig | make: rename context and ctxt to scope
This continues the previous commit, in which VAR_GLOBAL, VAR_INTERNAL and VAR_CMDLINE were renamed.
Renaming the variable 'ctxt' was trivial since that word is used nowhere else. In the comments though, each occurrence of the word 'context' had to be checked individually since the word 'context' was not only used for referring to a variable scope. It is also used to distinguish different situations where characters are escaped in a certain way ('parsing context') and in a few other expressions.
|
1.295 |
| 23-Dec-2020 |
rillig | make(1): remove trailing whitespace in manual page
|
1.294 |
| 22-Dec-2020 |
rillig | make(1): allow .undef to undefine multiple variables at once
Since make doesn't support variable names containing spaces, this edge case is not enough reason to stop this feature. Having multiple variable names as arguments nicely aligns with other directives such as .for and .export.
|
1.293 |
| 25-Nov-2020 |
sjg | Add .MAKE.UID and .MAKE.GID
|
1.292 |
| 14-Nov-2020 |
rillig | make(1): document the -S option
This option has been available at least since 1993-03-21, and for the same time it has been undocumented.
|
1.291 |
| 12-Nov-2020 |
sjg | Pass a writable flag to Main_SetObjdir to control writable check
For curdir and an explicit .OBJDIR target, we allow for the directory to be read-only. During InitObjdir we otherwise default to requiring objdir to be writable - this can be controlled by env variable MAKE_OBJDIR_CHECK_WRITABLE
Add unit-tests/objdir-writable
Reviewed by: christos rillig
|
1.290 |
| 01-Nov-2020 |
rillig | make(1): fix manual page regarding numerical comparisons
Make uses double, not int, for comparing things.
|
1.289 |
| 28-Aug-2020 |
rillig | make(1): fix manual page about the modifiers of the :C modifier
|
1.288 |
| 22-Aug-2020 |
sjg | Add .SHELL as read-only variable
The .SHELL variable represents the shellPath used to run scripts.
Reviewed by: rillig, christos
|
1.287 |
| 19-Aug-2020 |
rillig | make(1): fix a few inconsistencies in the manual page
|
1.286 |
| 05-Aug-2020 |
dholland | Also mention that make dependency operators must be uniform.
This wasn't previously documented, I think.
|
1.285 |
| 05-Aug-2020 |
dholland | Rework the description of the :, !, and :: dependence operators to make sense.
Bump date.
|
1.284 |
| 31-Jul-2020 |
sjg | Add -dL for LINT
When parsing variable assignments other than := and if value contains '$' attempt Var_Subst the same as for :=, if the value does not parse correctly, we get a fatal error including file an line number.
This can greatly help with finding the cause of problems.
Reviewed by: christos
|
1.283 |
| 18-Jul-2020 |
sjg | Add -dh for DEBUG_HASH
Allow tracking of max chain length, to see how well the hash tables are working. Pull the actual hash operation into a marco so it can be easily changed - for experimenting.
The current hash, is pretty good.
Reviewed by: christos
|
1.282 |
| 06-Jun-2020 |
wiz | Remove trailing whitespace.
|
1.281 |
| 05-Jun-2020 |
sjg | make: add :Or for reverse sort
:Or is more efficient than :O:[-1..1]
Reviewed by: christos
|
1.280 |
| 27-Apr-2020 |
christos | document the SYSV ${VAR:old=new} corner cases.
|
1.279 |
| 04-Feb-2020 |
wiz | Remove trailing whitespace.
|
1.278 |
| 03-Feb-2020 |
uwe | Make delimiters in <file> and "file" literal.
|
1.277 |
| 03-Feb-2020 |
kamil | Fix usage of angle-brackets and quotes in make(1) manpage
make(1) has commands .include <file> and .include "file", but the manpage was (inconsistently) rendering <file> with angle-brackets (e.g. in UTF8 ) and "file" with curly-quotes in HTML output (but not text).
This is an attempt to fix that and output only literal <file> and "file" as is actually required in the makefile.fileoutput,
https://reviews.freebsd.org/D21470
Submitted by Mateusz Piotrowski (FreeBSD)
|
1.276 |
| 19-Dec-2019 |
maxv | Revert the filemon removal in bmake, as pointed out by maya we do care about not introducing divergence with FreeBSD, and the cost of unused is acceptable here.
|
1.275 |
| 18-Dec-2019 |
maxv | Retire filemon, discussed on tech-kern@.
|
1.274 |
| 16-Feb-2019 |
gutteridge | make(1): minor grammar fixes in BUGS section
|
1.273 |
| 27-May-2018 |
christos | branches: 1.273.2; - Introduce :q modifier for make variables and make it double escape $'s so that passing variables to recursive makes with :q works as expected. - Revert :Q to work as before. - Adjust makefiles that use recursive make to use :q
Discussed on tech-toolchain@ XXX: pullup 8
|
1.272 |
| 02-Apr-2018 |
dholland | Fix bad markup.
|
1.271 |
| 03-Jul-2017 |
wiz | branches: 1.271.4; Remove workaround for ancient HTML generation code.
|
1.270 |
| 22-Jun-2017 |
dholland | Improve description of -V. Can probably be improved further.
|
1.269 |
| 22-Jun-2017 |
wiz | Whitespace fixes.
|
1.268 |
| 22-Jun-2017 |
dholland | Document what the magic variable .MAKE.EXPAND_VARIABLES actually does.
|
1.267 |
| 19-Jun-2017 |
christos | Add -v variable that always expands variables; restore -V the way it was.
|
1.266 |
| 01-Feb-2017 |
sjg | branches: 1.266.4; Since we are avoiding VAR_INTERNAL, allow the variable :_ stores to to be specified, also allows for multiple stages of modification to be stashed.
|
1.265 |
| 30-Jan-2017 |
sjg | Add :range and :_
:range replaces var value with an integer sequence one per word in the current var value.
:_ stores the current var value in $_ so that it can be referred to later in the modifier series.
Reviewed by: christos
|
1.264 |
| 14-Jan-2017 |
sjg | branches: 1.264.2; Allow providing a utc value to :{gm,local}time
Reviewed by: christos
|
1.263 |
| 26-Aug-2016 |
dholland | Document .DELETE_ON_ERROR.
|
1.262 |
| 18-Aug-2016 |
wiz | Whitespace.
|
1.261 |
| 15-Aug-2016 |
sjg | Add .MAKE.META.IGNORE_FILTER to allow more complicated filtering of filemon data.
The filter is applied to paths Read or Excuted, and if it expands to nothing, the entry is skipped.
For example; dirdeps.mk can set this to:
.MAKE.META.IGNORE_FILTER = M*/${.MAKE.DEPENDFILE_PREFIX}*
when checking if DIRDEPS_CACHE is up to date, where only Makefile.depend* are of interest.
|
1.260 |
| 10-Aug-2016 |
sjg | Set .ERROR_CMD if we can
|
1.259 |
| 03-Jun-2016 |
wiz | branches: 1.259.2; Fix typo in width argument; end sentence with dot.
|
1.258 |
| 03-Jun-2016 |
sjg | Refactor the logic for deciding when a .meta file is needed.
Both meta_create() and meta_oodate() now share meta_needed() to indicate if a .meta file is needed.
This allows for deciding that missing .meta file is cause of out-of-date. The new knob 'missing-meta' controlls this, and is off by default since the side effect files of generators like yacc will typically need .NOMETA to avoid problems.
This however makes it much easier for folk to switch back and forth with meta mode (eg. FreeBSD's normal build can leverage meta mode for improved reliablility without need to clean).
Also if .MAKE.MODE does not contain 'nofilemon', the knob 'missing-filemon' allows control as to whether missing filemon data should cause the target to be out-of-date. Again off by default.
|
1.257 |
| 10-May-2016 |
sjg | Allow for ignoring paths that match a set of patterns. This can be expensive, so use with caution.
|
1.256 |
| 16-Mar-2016 |
sjg | Fix syntax
|
1.255 |
| 14-Mar-2016 |
matthias | make $@ an alias for $! in archive member rules (compatibility with other makes).
|
1.254 |
| 20-Feb-2016 |
wiz | Spelling fixes.
|
1.253 |
| 20-Feb-2016 |
sjg | Add a knob .MAKE.SAVE_DOLLARS to control the behavior of $$ during :=
If TRUE '$$' are not consumed (saved). If FALSE '$$' becomes '$' just like normal expansion rules.
default is TRUE.
Reviewed by: christos
|
1.252 |
| 18-Feb-2016 |
sjg | Add .export-literal to avoid the need for $$ dance when trying to put unexpanded variables into environment.
Reviewed by: christos
|
1.251 |
| 18-Feb-2016 |
sjg | It's 2016
|
1.250 |
| 18-Feb-2016 |
sjg | Add support for .dinclude
Like .sinclude missing file will be ignored. Like .depend stale dependencies will be ignored. Allows better implementation of auto depend.
Reviewed by: christos Requested by: Bryan Drewery at FreeBSD.
|
1.249 |
| 05-Jun-2015 |
wiz | Drop trailing whitespace.
|
1.248 |
| 05-Jun-2015 |
sjg | Document .OBJDIR target.
|
1.247 |
| 10-Apr-2015 |
wiz | It's 2015.
|
1.246 |
| 10-Apr-2015 |
wiz | Remove trailing whitespace.
|
1.245 |
| 09-Apr-2015 |
sjg | Forgot to tweak date
|
1.244 |
| 09-Apr-2015 |
sjg | jobs mode handles '-' very differently to compat mode, but this is not reflected in make.1 Also fix handling to match the behavior described in the comment of JobPrintCommand (only matters if shell sets hasErrCtl).
A better long term solution is needed since the current behavior is sub-optimal wrt '-' and different from all other makes.
Reviewed by: christos
|
1.243 |
| 14-Sep-2014 |
apb | Small markup fixes: * Use \e instead of \\ to represent a backslash; * Dont' start a line with .SUFFIXES.
|
1.242 |
| 14-Sep-2014 |
dholland | bump date; I think I'm done for tonight
|
1.241 |
| 14-Sep-2014 |
dholland | Add some notes on compatibility with other make dialects.
I was originally intending to preserve some of Jarmo Jaakkola's notes on POSIX make from the PR 49085 changes... but really there's no point wandering into details about $? and such when the big picture is "almost everything in this manual works only in BSD make".
Maybe the exact details can be stuffed into a chapter of the mythical make reference manual if that ever gets (re)written.
|
1.240 |
| 14-Sep-2014 |
dholland | Improve the documentation of rule-local variables. Cherry-picked from the PR 49085 changes, with some adjustments by me.
|
1.239 |
| 14-Sep-2014 |
dholland | Improvements pertaining to shell commands and chdir. Some of this appeared in the PR 49085 changes, even though it's not actually relevant there except tangentially. However, I've reworked most of that for clarity and added some more.
|
1.238 |
| 09-Sep-2014 |
dholland | Restore -r1.234 of make.1, which was an unrelated fix from sjg pertaining to the docs for the -w option.
|
1.237 |
| 09-Sep-2014 |
dholland | Revert the man page as well. (hi joerg)
Revert it to 20140823 (-r1.230), before the controversial commits, which changed it a good deal.
|
1.236 |
| 05-Sep-2014 |
wiz | Reduce pirate slang.
|
1.235 |
| 04-Sep-2014 |
christos | document commented out .INVISIBLE and .JOIN.
|
1.234 |
| 28-Aug-2014 |
sjg | Enter/leave flag is -w not -dw
|
1.233 |
| 23-Aug-2014 |
christos | PR/46096: Jarmo Jaakkola: fix many problems with dependencies (PR 49086)
Quite extensive rewrite of the Suff module. Some ripple effects into Parse and Targ modules too.
Dependency searches in general were made to honor explicit rules so implicit and explicit sources are no longer applied on targets that do not invoke a transformation rule.
Archive member dependency search was rewritten. Explicit rules now work properly and $(.TARGET) is set correctly. POSIX semantics for lib(member.o) and .s1.a rules are supported.
.SUFFIXES list maintenance was rewritten so that scanning of existing rules works when suffixes are added and that clearing the suffix list removes single suffix rules too. Transformation rule nodes are now mixed with regular nodes so they are available as regular targets too if needed (especially after the known suffixes are cleared).
The .NULL target was documented in the manual page, especially to warn against using it when a single suffix rule would work. A deprecation warning was also added to the manual and make also warns the user if it encounters .NULL.
Search for suffix rules no longer allows the explicit dependencies to override the selected transformation rule. A check is made in the search that the transformation that would be tried does not already exist in the chain. This prevents getting stuck in an infinite loop under specific circumstances. Local variables are now set before node's children are expanded so dynamic sources work in multi-stage transformations. Make_HandleUse() no longer expands the added children for transformation nodes, preventing triple expansion and allowing the Suff module to properly postpone their expansion until proper values are set for the local variables.
Directory prefix is no longer removed from $(.PREFIX) if the target is found via directory search.
The last rule defined is now used instead of the first one (POSIX requirement) in case a rule is defined multiple times. Everything defined in the first instance is undone, but things added "globally" are honored. To implement this, each node tracks attribute bits which have been set by special targets (global) instead of special sources (local). They also track dependencies that were added by a rule with commands (local) instead of rule with no commands (global).
New attribute, OP_FROM_SYS_MK is introduced. It is set on all targets found in system makefiles so that they are not eligible to become the main target. We cannot just set OP_NOTMAIN because it is one of the attributes inherited from transformation and .USE rules and would make any eligible target that uses a built-in inference rule ineligible.
The $(.IMPSRC) local variable now works like in gmake: it is set to the first prerequisite for explicit rules. For implicit rules it is still the implied source.
The manual page is improved regarding the fixed features. Test cases for the fixed problems are added.
Other improvements in the Suff module include: - better debug messages for transformation rule search (length of the chain is now visualized by indentation) - Suff structures are created, destroyed and moved around by a set of maintenance functions so their reference counts are easier to track (this also gets rid of a lot of code duplication) - some unreasonably long functions were split into smaller ones - many local variables had their names changed to describe their purpose instead of their type
|
1.232 |
| 23-Aug-2014 |
wiz | Bump date for previous.
|
1.231 |
| 23-Aug-2014 |
christos | PR/49085: Jarmo Jaakkola: fix several parsing errors
Don't exit from var.c:Var_Parse() before possible modifiers are handled on D and F modified versions of local variables. Properly expand $(?D) and $(?F) too.
Make line continuations in rule's commands POSIX compliant.
Fix the syntax error caused by lib(member) as the last target before a dependency operator.
Document the line continuation change in the manual page. Also talk more about the POSIX style local variables and their modifiers.
Add tests covering the fixed problems into d_posix.mk. The test is a known failure at the moment because of PR 49086 and PR 49092.
[XXX: unconverted tests]
|
1.230 |
| 15-Feb-2014 |
sjg | Put .INCLUDEDFROM* in the right section
|
1.229 |
| 19-Jan-2014 |
apb | Emphasise the fact that the regexp and replacement in :C/// are subjected to variable expansion before regexp parsing. This was already documented if you read carefully enough, but more emphasis would have helped me to figure out why I needed three or four backslashes where I expected to need only two.
|
1.228 |
| 10-Jan-2014 |
wiz | Bump date for previous.
|
1.227 |
| 10-Jan-2014 |
christos | add .INCLUDEDFROM{FILE,DIR}
|
1.226 |
| 07-Nov-2013 |
dholland | apostrophe's do not make plural's.
|
1.225 |
| 27-Oct-2013 |
wiz | Remove trailing whitespace.
|
1.224 |
| 25-Oct-2013 |
apb | Explain that ${VAR:M*} will normalise the inter-word spacing.
|
1.223 |
| 25-Oct-2013 |
apb | The :C/// modifier takes an extendedregular expression.
|
1.222 |
| 11-Aug-2013 |
apb | Use Va markup to show that the "suffix" part of ".PATH.suffix" is a placeholder, not a literal string. Also bump date.
|
1.221 |
| 11-Aug-2013 |
dholland | Document .PATH.suffix:. Noted by apb back in December of 2008 (that's how long my queue is...)
|
1.220 |
| 30-Jul-2013 |
sjg | Allow an empty .MAKE.JOB.PREFIX to supress output of --- job --- tokens
|
1.219 |
| 16-Jul-2013 |
christos | 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.
|
1.218 |
| 26-Jun-2013 |
agc | fix a typo
|
1.217 |
| 25-Jun-2013 |
wiz | Remove trailing whitespace.
|
1.216 |
| 25-Jun-2013 |
sjg | Add .MAKE.META.IGNORE_PATHS to facilitate local additions to the paths which should be ignored by meta_oodate().
|
1.215 |
| 22-May-2013 |
christos | improve wording
|
1.214 |
| 22-May-2013 |
christos | put a note on what FRC means.
|
1.213 |
| 31-Mar-2013 |
sjg | 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.
|
1.212 |
| 23-Mar-2013 |
sjg | If built with filemon support, set .MAKE.PATH_FILEMON to _PATH_FILEMON so that makefiles can test for it.
|
1.211 |
| 05-Mar-2013 |
christos | Add a .STALE special target that gets invoked when dependency files contain stail entries.
|
1.210 |
| 27-Jan-2013 |
sjg | 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).
|
1.209 |
| 08-Oct-2012 |
christos | It is Sprite, not Sprint; pointed out by Todd Miller.
|
1.208 |
| 17-Sep-2012 |
christos | spelling
|
1.207 |
| 17-Sep-2012 |
sjg | Document the fact that lack of shell meta chars in a command results in direct exec in compat mode.
|
1.206 |
| 30-Aug-2012 |
wiz | branches: 1.206.2; Add an s.
|
1.205 |
| 30-Aug-2012 |
sjg | 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.
|
1.204 |
| 24-Apr-2012 |
sjg | Restore previous behavior - supressing duplicate entries in .MAKE.MAKEFILES - it is more efficient.
|
1.203 |
| 20-Apr-2012 |
sjg | Fix some typos in/around ParseGmakeExport. Remove the suppresssion of duplicate entries in .MAKE.MAKEFILES
|
1.202 |
| 08-Apr-2012 |
wiz | Remove unnecessary Bk/Ek pairs from SYNOPSIS. No effective change except where I used the opportunity to sort options and/or option descriptions.
|
1.201 |
| 31-Mar-2012 |
christos | document gmake export command
|
1.200 |
| 03-Feb-2012 |
sjg | Fix description of 'silent' in .MAKE.MODE Also document 'env' in that context.
|
1.199 |
| 23-Dec-2011 |
sjg | Mention limits of :P
|
1.198 |
| 17-Dec-2011 |
sjg | 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.
|
1.197 |
| 13-Nov-2011 |
dholland | Fix xref to the PSD; PR 45568 from Petri Laakso.
|
1.196 |
| 06-Nov-2011 |
christos | explain how to use .PARSEDIR and .PARSEFILE
|
1.195 |
| 28-Aug-2011 |
sjg | branches: 1.195.2; 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.
|
1.194 |
| 18-Aug-2011 |
sjg | Make some dashes em-dashes (based on patch from Andrew O. Shadoura). Note behavior of .META flag wrt out-of-date.
|
1.193 |
| 30-Jun-2011 |
wiz | dependant -> dependent
|
1.192 |
| 28-May-2011 |
cheusov | fix bug in section .ORDER of make.1
|
1.191 |
| 04-May-2011 |
wiz | Remove trailing whitespace.
|
1.190 |
| 04-May-2011 |
christos | Document what I wrote for PR/40115
|
1.189 |
| 04-May-2011 |
sjg | 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.
|
1.188 |
| 11-Apr-2011 |
wiz | Remove trailing whitespace.
|
1.187 |
| 11-Apr-2011 |
sjg | Add :localtime and :gmtime which use value as format string for strftime.
|
1.186 |
| 07-Apr-2011 |
joerg | 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.
|
1.185 |
| 27-Mar-2011 |
sjg | Use curdirOk as the token
|
1.184 |
| 27-Mar-2011 |
sjg | When .MAKE.MODE inlcudes 'meta'; 'curdir=true' enables creating .meta files in .CURDIR - such as when running make in .OBJDIR with a generated makefile.
|
1.183 |
| 26-Feb-2011 |
sjg | Fix rendering of :? example
|
1.182 |
| 14-Sep-2010 |
wiz | branches: 1.182.2; Remove trailing spaces, add a few serial commas.
|
1.181 |
| 13-Sep-2010 |
sjg | Bump date
|
1.180 |
| 13-Sep-2010 |
sjg | 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).
|
1.179 |
| 30-Jun-2010 |
dholland | 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.
|
1.178 |
| 27-Jun-2010 |
dholland | fix previous, the source isn't exactly crystal clear and there's a bug that makes the behavior misleading.
|
1.177 |
| 27-Jun-2010 |
dholland | Clarify $(.PREFIX) / $*. Bump date.
|
1.176 |
| 10-Jun-2010 |
wiz | Whitespace.
|
1.175 |
| 09-Jun-2010 |
christos | Explain variable expansion better. Requested by Aleksey Cheusov
|
1.174 |
| 06-Jun-2010 |
wiz | Bump date for previous.
|
1.173 |
| 06-Jun-2010 |
sjg | Add .export-env which tells make to export a variable to the environment but not to track it - as is done for .export This allows the variable to be updated without affecting what was put into the environment. Older versions of make will simply treat this as .export
|
1.172 |
| 13-May-2010 |
joerg | Drop trailing white space. Use .Oo / .Oc explicitly to annotate that the empty content is intended.
|
1.171 |
| 22-Apr-2010 |
sjg | PR: 42850 Reviewed by:
modmisc: since we apply an exists() test to $paths, be conservative in what we expect.
Run the unit tests with -r -m / so that we do not fail if there is no sys.mk present.
|
1.170 |
| 15-Apr-2010 |
sjg | Add :tA to attempt to resolve to absoute path using realpath().
|
1.169 |
| 07-Apr-2010 |
wiz | Sort a bit more.
|
1.168 |
| 07-Apr-2010 |
sjg | Add:
.error "message" .warning "message" based on FreeBSD implementation. add .info while were at it.
.ERROR: a target to run on error. We pass the failing GNode to PrintOnError so it can set .ERROR_TARGET.
.MAKE.MAKEFILE_PREFERENCE As a means to control make's list of prefered makefile names. (Default: "makefile Makefile")
.MAKE.DEPENDFILE Names the file to read dependencies from (Default ".depend")
.MAKE.MODE Processed after all makefiles are read. Can put make into "compat" mode (more to come).
Fix:
compat.c: Error code should not be sent to debug_file. Make_DoAllVar: use DONE_ALLSRC to avoid processing a node multiple times. ReadMakefile: we can simply use doing_depend to control setting MAKEFILE.
|
1.167 |
| 22-Feb-2010 |
joerg | \\ -> \e
|
1.166 |
| 19-Nov-2009 |
wiz | New sentence, new line; remove trailing whitespace.
|
1.165 |
| 19-Nov-2009 |
sjg | Add .unexport - the exact opposite of .export and .unexport-env which unexport's all previously .export'd globals as well as clearing environ[]. Allow's sys.mk near total controll.
Reviewed by: apb
|
1.164 |
| 15-Oct-2009 |
joerg | Do not work around ancient groff limits with .Xo/.Xc.
|
1.163 |
| 02-Oct-2009 |
wiz | Remove trailing whitespace.
|
1.162 |
| 01-Oct-2009 |
dsl | Add example of how to use the ?: modifier properly.
|
1.161 |
| 08-Sep-2009 |
sjg | Reviewed by: apb
Use .MAKE.LEVEL to track recursion. The first instance of make will have .MAKE.LEVEL 0, which can be handy for excluding rules which should not apply in a sub-make. gmake and freebsd's make have a similar mechanism, but each uses a different variable to track it. Since we cannot be compatible with both, we allow the makefiles to cope if they want by handling the export of .MAKE.LEVEL+1 in Var_Set().
|
1.160 |
| 26-Aug-2009 |
sjg | Bump date
|
1.159 |
| 26-Aug-2009 |
sjg | Add -C directory, same as gmake and freebsd make.
|
1.158 |
| 01-Jun-2009 |
sjg | Missing ':' in .ORDER example
|
1.157 |
| 13-May-2009 |
wiz | Whitespace fix.
|
1.156 |
| 11-Apr-2009 |
snj | Typo fix: many file -> many files.
|
1.155 |
| 11-Apr-2009 |
wiz | Bump date for previous.
|
1.154 |
| 11-Apr-2009 |
apb | Honour the TMPDIR environment variable instead of always using /tmp as a place to store temporary files.
|
1.153 |
| 24-Jan-2009 |
wiz | branches: 1.153.2; Sort sections. Fix typo (last line).
|
1.152 |
| 24-Jan-2009 |
dsl | Correct the definition of the :? modifier - in particular the modifier applies to the variable name, not its value! Remove the set of examples that were recently added that failed to explain why some worked and some didn't. Add a not to the compatability section about the change in .for loop substitution post 5.0. Add a BUGS section. XXX the BUGS section needs more entries :-)
|
1.151 |
| 12-Jan-2009 |
dholland | Fix blatantly wrong exposition of .WAIT example. PR bin/40372 from Gao Ya'nan.
|
1.150 |
| 21-Dec-2008 |
dsl | Note that an unrecognised word in a .if is the same as in .ifdef and that such a word has to be white-space separated. From PR bin/30967 bin/37222 and maybe others!
|
1.149 |
| 21-Dec-2008 |
dsl | Add some notes about recursive expansion and expansion of variable names. Note that any of "${}()" in variable names will be griefsome! Remove the example of using ::= to apply a modifier to a .for loop variable as that is no longer necessary. Remember to change the date :-)
|
1.148 |
| 07-Dec-2008 |
christos | explain compatibility mode better.
|
1.147 |
| 07-Dec-2008 |
christos | add debug flag for cwd.
|
1.146 |
| 26-Nov-2008 |
wiz | I think ':' is called "colon", not "column" :)
|
1.145 |
| 25-Nov-2008 |
christos | PR/40026: Aleksej Saushev: make(1) doesn't document VPATH, document it.
|
1.144 |
| 30-Oct-2008 |
wiz | branches: 1.144.2; Whitespace.
|
1.143 |
| 30-Oct-2008 |
sjg | Update the modification date
|
1.142 |
| 29-Oct-2008 |
sjg | Add some examples of how to use :?
|
1.141 |
| 22-Oct-2008 |
apb | Send debugging output to stderr by default, not to stderr. If you really want debugging to stdout, specify "-dFstdout" in MAKEFLAGS or on the command line.
Discussed in tech-userlevel.
|
1.140 |
| 19-Oct-2008 |
wiz | Add missing dot before macro.
|
1.139 |
| 19-Oct-2008 |
apb | Always make the debugging output unbuffered; in addition, if debugging is enabled but debugging output is not directed to stdout, then make stdout line buffered.
Previously, the code to make debug output unbuffered applied only if debugging to a file, not if debugging to stdout or stderr. Making stdout line buffered when debugging was suggested by Steven Bellovin.
|
1.138 |
| 18-Oct-2008 |
apb | Document how "-dF[+]filename" works.
|
1.137 |
| 10-Aug-2008 |
wiz | Drop trailing whitespace. Use .Dq.
|
1.136 |
| 10-Aug-2008 |
cube | Clarify a bit .SUFFIXES and .IMPSRC. Should fix PR#37822.
|
1.135 |
| 19-Jan-2008 |
sjg | branches: 1.135.6; Implement -dl (aka LOUD) to override '@' at the start of script lines. Based on supplied patch.
PR: 37202
|
1.134 |
| 08-Oct-2007 |
sjg | Use .MAKE.MAKEFILES to track all the makefiles that have been read so they can be used in dependency rules.
|
1.133 |
| 05-Oct-2007 |
sjg | Add the ability to .export variables to the environment.
|
1.132 |
| 01-Oct-2007 |
sjg | Add the ability to tweak the token output before targets in job mode. Eg. .MAKE.JOB.PREFIX=${.newline}---${.MAKE:T}[${.MAKE.PID}] would produce ---make[1234] target ---
|
1.131 |
| 13-Aug-2007 |
rillig | branches: 1.131.2; A small word can sometimes express things clearer ...
|
1.130 |
| 23-Jan-2007 |
wiz | 4 -> 4.0, since Nx does not accept all arguments without complaint.
|
1.129 |
| 23-Dec-2006 |
wiz | Fix a typo. Use Nx.
|
1.128 |
| 19-Nov-2006 |
dsl | branches: 1.128.2; 1.128.4; Update information on .ORDER and .WAIT. Document the -d-flags and -dFfilename.%d options. Mention MAKEFLAGS at the top, reword to make it clear that makefile and Makefile are only used if no -f makefile is given.
|
1.127 |
| 29-Jun-2006 |
rillig | Fixed the bug reported in PR 33866, which is that the :Q operator does not handle newlines correctly. Ok'ed by christos.
|
1.126 |
| 17-Jun-2006 |
reed | Fix mispelling.
|
1.125 |
| 19-Mar-2006 |
wiz | branches: 1.125.2; New sentence, new line.
|
1.124 |
| 19-Mar-2006 |
sjg | Document an interesting kwirk in := handling of undefined variables.
|
1.123 |
| 11-Mar-2006 |
wiz | Markup fixes.
|
1.122 |
| 26-Feb-2006 |
apb | Make ".WAIT" apply recursively to all children of nodes on the right hand side of the .WAIT, except when the recursive interpretation would cause a cycle in the dependency graph.
Discussed in tech-toolchain. Reviewed by christos, sjg.
|
1.121 |
| 26-Feb-2006 |
wiz | Fix typo.
|
1.120 |
| 26-Feb-2006 |
sjg | Update man page and add test case for specifying modifiers via variable. Also allow said variable to appear anywhere in the modifier list.
|
1.119 |
| 22-Jan-2006 |
dsl | Make .NOTPARALLEL stop the job engine issuing more than one token (instead of trying to de-jobify the make. You can now put .NOTPARALLEL in a submake of a recursive make (where it is using a job-token pipe from the outer make and have it only run a single job. You can also specify .NOTPARRALEL in the root makefile of a large recursive make and have the submakes run multiple commands. Add some diagnostics printfs (enabled with -dp) to the parser.
|
1.118 |
| 27-Jun-2005 |
wiz | Consistency. Use Pp instead of br.
|
1.117 |
| 27-Jun-2005 |
lukem | Restore the rework from rev 1.115 and expand the description of .OBJDIR to document the behaviour that is currently in use (the "./obj" and "/usr/obj/`pwd`" behaviour). Hopefully the existing .OBJDIR behaviour is clearer now.
|
1.116 |
| 26-Jun-2005 |
wiz | Since the obj dir handling changes in the code have been reverted, revert them in the man page too (i.e., revert v1.115).
|
1.115 |
| 23-Jun-2005 |
lukem | Deprecate support for automagically setting the .OBJDIR to ./obj.${MACHINE} ./obj /usr/obj/${PWD}
The rules for the default .OBJDIR setting are now simplified to (and documented as) trying the chdir to the following (if the appropriate variable is defined): ${MAKEOBJDIRPREFIX}${.CURDIR} ${MAKEOBJDIR} ${.CURDIR}
.OBJDIR can be overridden in the makefile. <bsd.obj.mk> uses this to provide the "culled" .OBJDIR semantics for NetBSD's /usr/src builds.
MAKEOBJDIRPREFIX & MAKEOBJDIR still can only be provided in the environment or on make(1)'s command line.
Per discussion on tech-toolchain. This should reduce a lot of lossage people have experienced over the years with various .OBJDIR setups.
|
1.114 |
| 19-Jun-2005 |
wiz | Fix an article, and drop trailing whitespace.
|
1.113 |
| 18-Jun-2005 |
rpaulo | Change "non-escaped" to "unescaped". Reviewed by hubertf.
|
1.112 |
| 17-Jun-2005 |
wiz | Bump date for -jn, and add some formatting.
|
1.111 |
| 17-Jun-2005 |
jmc | Add new debugging option '-dn' which will leave the scripts fed into make on -j jobs in /tmp for debugging purposes. Add a note to the man page that this could cause problems if run a lot (due to the number of files created)
|
1.110 |
| 15-Jun-2005 |
rpaulo | We now support comments until the end of a non-escaped line. Ok'ed by hubertf.
|
1.109 |
| 01-Jun-2005 |
wiz | New sentence, new line; grammar improvements.
|
1.108 |
| 01-Jun-2005 |
sjg | Add :Ox for random ordering, based on patch from Mike M. Volokhov <mishka@apk.od.ua>
|
1.107 |
| 08-May-2005 |
christos | Now that dependencies in .BEGIN, .END, and .INTERRUPT work, allow them.
|
1.106 |
| 01-May-2005 |
christos | PR/9566: Arne H. Juul: Document special targets that do not obey dependencies.
|
1.105 |
| 23-Feb-2005 |
sjg | branches: 1.105.2; In the case of :? modifier, variable can be an expression - say so.
|
1.104 |
| 13-Jul-2004 |
wiz | Sort options in synopsis.
|
1.103 |
| 07-May-2004 |
wiz | Add comma in enumerations; fix a sentence; plural needs no apostrophe.
|
1.102 |
| 07-May-2004 |
sjg | Remove use of sh -e when running in compat mode. Its not posix compliant and serves very little purpose. With this change compat and jobs modes are consistent wrt how they treat each line of a script.
Add support for the '+' command line prefix as required by posix. Lines prefixed with '+' are executed even when -n is given. [Actually posix says they should also be done for -q and -t]
PR: Reviewed by: jmc
|
1.101 |
| 05-Feb-2004 |
wiz | branches: 1.101.2; Bump date; uppercase POSIX.
|
1.100 |
| 05-Feb-2004 |
ross | Briefly document the posix command line order and add that this is (unfortunately) not enforced.
|
1.99 |
| 04-Feb-2004 |
wiz | Use more mdoc macros; new sentence, new line; bump date for previous.
|
1.98 |
| 03-Feb-2004 |
chuck | add parent directory search for make as discussed on tech-toolchain. - new dir.c function: Dir_FindHereOrAbove: Search for a path in the current directory and then all the directories above it in turn until the path is found or we reach the root ("/"). - add hooks to use it in main.c for -m and syspath (compiled in _PATH_DEFSYSPATH and $MAKESYSPATH). - updated man page
|
1.97 |
| 27-Jan-2004 |
lukem | Document more SPECIAL SOURCES (aka ATTRIBUTES). Improve description of variable modifiers. In the variable list, be more specific referring to "environment variables" rather than just relying upon the formatting difference between .Ev and .Va.
|
1.96 |
| 26-Dec-2003 |
wiz | Bump date for previous; use macros for marking up the dollar sign.
|
1.95 |
| 26-Dec-2003 |
jmc | Note that variable expansion can occur within SYSV style = substitions.
|
1.94 |
| 07-Dec-2003 |
wiz | Drop trailing spaces.
|
1.93 |
| 07-Dec-2003 |
dsl | Add back 'on error' that got deleted by mistake.
|
1.92 |
| 07-Dec-2003 |
dsl | Add a -Dg3 which outputs the 'input graph' only on error exit. Lets you see the wood for the trees...
|
1.91 |
| 07-Nov-2003 |
lukem | Add some subsections in the VARIABLE ASSIGNMENTS section.
In the "modifier description" list, show each modifier with the leading `:'. Rationale: it's hard to search for modifiers without it, and we already do the same thing in the -options and .makecommands lists. I now find it much easier to find the description for a modifier in the man page.
|
1.90 |
| 09-Oct-2003 |
jdolecek | properly dottify .\" comments; this fixes output of [range] paragraph
|
1.89 |
| 27-Sep-2003 |
sjg | Implement :[] modifier to allow picking a range of words out of a variable. Also :tW and a W flag to :C and :S to allow treating value as a single word. Add unit tests for the above, and fix some corner cases. Based on patches supplied by Alan Barrett <apb@cequrux.com>
|
1.88 |
| 10-Sep-2003 |
jmmv | Add the 'e' debug flag (i.e., '-d e'): when enabled, show the "target failed" and "command failed" messages added recently. These introduce too much noise when debugging some kind of problems, specially in pkgsrc.
|
1.87 |
| 10-Sep-2003 |
jmmv | Document the '-d f' flag.
|
1.86 |
| 05-Sep-2003 |
wiz | Whitespace nits.
|
1.85 |
| 05-Sep-2003 |
sjg | Allow -V '${FOO}' to print the expanded version of FOO. A side effect of adding and removing a -E option for the above is that the cases in MainParseArgs are now ordered correctly?
|
1.84 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
|
1.83 |
| 01-Aug-2003 |
sjg | Allow .SHELL: to control the shell used by compat mode too. Add a shell spec for ksh - a nice portable posix shell. Document .SHELL:
|
1.82 |
| 16-Jul-2003 |
wiz | Bump date for tu addition; drop trailing space; sort a bit.
|
1.81 |
| 14-Jul-2003 |
sjg | Add a :ts[c] modifier to allow controlling the separator used between words in a variable expansion. If 'c' is omitted no separator is used.
|
1.80 |
| 26-Jun-2003 |
wiz | Misc mdoc fixes (mostly quoting).
|
1.79 |
| 23-May-2003 |
wiz | New sentence, new line; bump date for last.
|
1.78 |
| 23-May-2003 |
christos | PR/10917: John Hawkinson: Document $MAKE and say which one we want to be using.
|
1.77 |
| 16-Apr-2003 |
wiz | Bump date for last.
|
1.76 |
| 01-Apr-2003 |
jrf | Added MAKESYSPATH environment variable as per jmmv's suggestion in PR 18030
|
1.75 |
| 14-Mar-2003 |
thorpej | Add a -X option, which prevents make(1) from putting variables set on the command line into the environment individually. This can be useful on systems which have a tight limit on the size of the argument space.
|
1.74 |
| 25-Feb-2003 |
wiz | .Nm does not need a dummy argument ("") before punctuation or for correct formatting of the SYNOPSIS any longer.
|
1.73 |
| 04-Feb-2003 |
perry | "Utilize" has exactly the same meaning as "use," but it is more difficult to read and understand. Most manuals of English style therefore say that you should use "use".
|
1.72 |
| 09-Jan-2003 |
uebayasi | Be more specific how to call arguments of modifiers.
Reviewed By: wiz
|
1.71 |
| 03-Jan-2003 |
mjl | Tyop fixes
|
1.70 |
| 29-Nov-2002 |
wiz | Bump date for .PATH description; begin sentence with upper case letter; new sentence, new line.
|
1.69 |
| 26-Nov-2002 |
sjg | Whenever we update .PATH, set the variable ${.PATH} to reflect the search list that will be used. Thus 'dot' and 'cur' will appear in ${.PATH} either at the start or end depending on .DOTLAST even though they are not strictly in dirSearchPath.
When .CURDIR is assigned to - re-set the 'cur' Path.
Finally, when checking subdirs, look in 'dot' and 'cur' (first or last depending on .DOTLAST) just as we do in other situations.
|
1.68 |
| 02-Nov-2002 |
perry | environment variables, not environmental variables
|
1.67 |
| 30-Sep-2002 |
grant | New sentence, new line.
|
1.66 |
| 24-Sep-2002 |
wiz | Fix an Xr, add a comma and join two short lines. In short, minor changes :)
|
1.65 |
| 24-Sep-2002 |
christos | add missing Lt.
|
1.64 |
| 19-Aug-2002 |
wiz | End some sentences with a dot. bin/17987 by Julio Merino.
|
1.63 |
| 19-Mar-2002 |
lukem | clarify how :U works
|
1.62 |
| 08-Feb-2002 |
ross | Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
|
1.61 |
| 07-Feb-2002 |
ross | Edit -mdoc usage.
* There is no -indent option to .Bd or .Bl, although you would never know that from its frequent use in this tree. There is a "-offset indent" combination that makes sense, and you can certainly say "-width indent".
* Also, you can't markup the -width option argument, tho you CAN use a callable macro. So "-width Ar filename" doesn't make sense, but either "-width Ar" or "-width filename" does, as might something like "-width xxfilename" for a little extra space.
* There are a lot of needlessly complex hanging tag macros in man4 used to create simple item lists. Those should be simplified one of these days before someone copies and edits yet another man4 page.
|
1.60 |
| 06-Feb-2002 |
pk | Add `tu' and `tl' variable expansion modifiers, which transform the value to uppercase and lowercase, respectively. From Kevin Neal from FreeBSD.
|
1.59 |
| 01-Feb-2002 |
bgrayson | - Several paragraphs were indented one level further than needed. - The endfor example needed some spacing readjustments.
|
1.58 |
| 23-Dec-2001 |
lukem | outdent description of variable expansion modifiers
|
1.57 |
| 12-Nov-2001 |
wiz | Whitespace/punctuation nits.
|
1.56 |
| 12-Nov-2001 |
tv | Add new make variable .ALLTARGETS, which lists all targets in the Makefile. (Makes it possible to search the target list for particular things and apply attributes to all the relevant targets.)
|
1.55 |
| 12-Nov-2001 |
tv | Sort list of make variables.
|
1.54 |
| 23-Oct-2001 |
jmc | Fix typo in definition of PARSEFILE. It should refer to PARSEDIR (and not itself twice) when describing the variables lifetime
|
1.53 |
| 13-Aug-2001 |
ad | Nit.
|
1.52 |
| 03-Jul-2001 |
christos | add .USEBEFORE Attribute
|
1.51 |
| 10-Jun-2001 |
sjg | Simplify the exporting of VAR_CMD's via MAKEFLAGS. We now just list the names of such variables in .MAKEOVERRIDES. When we come to export MAKEFLAGS we quote the value of each exported variable using :Q, using: ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} The :O:u suppresses duplicate names. Also modifed Parse_DoVar to re-export MAKEFLAGS whenever .MAKEOVERRIDES is assigned to so .MAKEOVERRIDES+= PATH will export PATH=${PATH:Q} to the environment, while .MAKEOVERRIDES= will disable export of VAR_CMD's.
|
1.50 |
| 09-Jun-2001 |
sjg | Mention .MAKEOVERRIDES
|
1.49 |
| 01-Jun-2001 |
sjg | A number of semi-related changes. 1. make -dx turns on DEBUG_SHELL which causes sh -x to be used where possible. 2. PrintOnError() is now called when make is stopping due to an error. This routine reports the curdir and the value of any variables listed in MAKE_PRINT_VAR_ON_ERROR. 3. Variables set via command line, are propagated to child-makes via MAKEFLAGS. This behaviour appears to be necessary for POSIX (according to the GNU folk anyway). 4. Do not reset MAKEFILE when reading ".depend" as this rather eliminates the usefulness of ${MAKEFILE}. 5. Added ${.newline} as a simple means of being able to include \n in the result of a :@ loop expansion. 6. Set ${MAKE_VERSION} if defined. Need to come up with a useful value.
Reviewed: christos
|
1.48 |
| 04-Apr-2001 |
wiz | getcwd lives in 3, not 2. Whitespace fixes.
|
1.47 |
| 14-Jan-2001 |
christos | Provide a new .if commands(<target>) primitive that returns true if the target has commands associated with it.
|
1.46 |
| 10-Jan-2001 |
christos | PR/11800: Chris Demetriou: Add -W flag to exit on parse warnings. While I am here, s/make:.*"/%s:\1", progname/
|
1.45 |
| 01-Jan-2001 |
sommerfeld | Delete forceSerial; just use compatMake for that. Add -N flag to *really* not execute any commands (useful when using the -d flags to debug usr/src/Makefile) Document -N Update documentation of -n to mention that it still executes commands for targets marked .MAKE so that the -N/-n distinction is clear.
|
1.44 |
| 30-Dec-2000 |
sommerfeld | Add a token-passing scheme to allow a recursive make to successfully use -j; all make's in a recursive build cooperate to limit the total number of jobs, using a token-passing scheme.
The current token passing algorithm is similar to the one implemented by gmake; there is a single pipe which is inherited through the entire process hierarchy; tokens are obtained by reading a byte from the "read end" of the pipe, and are returned by writing them to the "write end". This exact algorithm is likely to change in the future.
Implementation details: - Use the new trace facility to allow measurement of the effectiveness of different token-passing schemes - Get a token in MakeStartJobs(), return it in Make_Update() - Eliminate Job_Full() and the jobFull global since they are redundant with token system. - Add an "internal" -J option (to pass the token pipe fd's down to submakes) and a -T option for tracing. - Change how compatMake is forced so that -j means something when inherited by submakes. - When waiting for a token, poll the token-passing pipe as well as the output pipes of existing jobs.
|
1.43 |
| 05-Sep-2000 |
christos | :u modifier a'la uniq(1) [from der Mouse]
|
1.42 |
| 01-Jun-2000 |
sjg | branches: 1.42.2; Rats! ${FOO:=bar} is a common usage of the SysV = modifier. To avoid that, we now do ::[+?!]*= but the SysV = modifier can conflict with any new modifier. At there are currently no Makefiles in our tree that use ${FOO::=bar}
|
1.41 |
| 30-May-2000 |
sjg | Implemented a set of assignment modifiers. These solve obscure problems such as using modifiers on .for loop iterators derived from local variables (eg .TARGET). Unless the variable already exists in a global context, these assignments are local to the current context (this is usually what is wanted).
|
1.40 |
| 29-Apr-2000 |
sjg | branches: 1.40.2; Added the :U :D :L :P :! and :@ modifiers as used by ODE make. These allow some very useful magic in the makefiles. The comment in var.c describing their behaviour is mostly lifted from ODE make, but the implementation of the modifiers themselves is quite different (much simpler) due to divergence of our code base.
|
1.39 |
| 16-Apr-2000 |
christos | PR/9899: David A. Holland: multi-variable .for constructs in make
|
1.38 |
| 08-Feb-2000 |
sjg | Mention MAKEOBJDIRPREFIX and explain how it or MAKEOBJDIR are used. Also fixed a typo in the .SUFFIXES bit.
|
1.37 |
| 08-Oct-1999 |
msaitoh | s/ the the / the /
|
1.36 |
| 12-Sep-1999 |
christos | branches: 1.36.2; Add :O var modifier, that sorts the words in a variable.
|
1.35 |
| 09-Aug-1999 |
aidan | Added .PARSEDIR and .PARSEFILE variables to make(1).
|
1.34 |
| 12-Jul-1999 |
thorpej | Fix a typo.
|
1.33 |
| 11-Jul-1999 |
thorpej | Add a mechanism for specifying that ${.CURDIR} will be searched last in the presence of .PATH directives by specifying:
.PATH: .DOTLAST
This will be used to fixup the build system to work with both crypto-us and crypto-intl sub-trees.
Make(1) changes by Christos Zoulas, after much badgering by me :-)
|
1.32 |
| 10-Mar-1999 |
erh | Add missing .El line.
|
1.31 |
| 09-Mar-1999 |
ross | Missing .El.
|
1.30 |
| 07-Mar-1999 |
mycroft | Clean up SYNOPSIS formatting.
|
1.29 |
| 17-Nov-1998 |
ross | Fix a bug that apparently prevented, since day 1, the .-include / .sinclude feature from ever working. Also, fix the man page that incorrectly described the syntax of the feature that didn't work.
|
1.28 |
| 06-Aug-1998 |
christos | - Add {.,}[s-]include for silent include file failures - Make traditional include statement include more than one file if present on the line.
Keeping up with the other's :-)
|
1.27 |
| 01-Apr-1998 |
christos | Add conditional variable evaluation from Alistair Crooks.
|
1.26 |
| 24-Feb-1998 |
hubertf | Fix typos from PR 5055 by NAKAJIMA Yoshihiro <nakayosh@kcn.or.jp>.
|
1.25 |
| 19-Oct-1997 |
lukem | branches: 1.25.2; fix up .Nm usage
|
1.24 |
| 12-Oct-1997 |
mikel | add missing .Nm argument
|
1.23 |
| 26-May-1997 |
pk | Erase spurious character.
|
1.22 |
| 26-May-1997 |
pk | Minor formatting glitch.
|
1.21 |
| 08-May-1997 |
mycroft | Fix description of .NOPATH.
|
1.20 |
| 08-May-1997 |
gwr | Add the new .NOPATH feature which can be used to disable .PATH search for particular targets, i.e. .depend, objects, etc. (from Christos).
|
1.19 |
| 06-May-1997 |
mycroft | Document .PHONY better.
|
1.18 |
| 10-Mar-1997 |
christos | Add a .MADE directive to indicated that the children of a target are up-to-date, even when they are not. This is to simulate our current make install behavior with proper dependencies.
|
1.17 |
| 24-Dec-1996 |
christos | [initial version of the substitution/regexp changes were courtesy of Der Mouse]
- fix the variable substitution code in make [PR/2748] 1. change s/a/b/ so that it substitutes the first occurance of the pattern on each word, not only the first word. 2. add flag '1' to the variable substitution so that the substitutions get performed only once.
***THIS IS AN INCOMPATIBLE CHANGE!***
Unfortunately there was no way to make things consistent without modifying the current behavior. Fortunately none of our Makefiles depended on this.
OLD:
VAR = aa1 aa2 aa3 aa4
S/a/b/ = ba1 aa2 aa3 aa4 S/a/b/g = bb1 bb2 bb3 bb4
NEW:
VAR = aa1 aa2 aa3 aa4
S/a/b/ = ba1 ba2 ba3 ba4 S/a/b/1 = ba1 aa2 aa3 aa4 S/a/b/g = bb1 bb2 bb3 bb4 S/a/b/1g = bb1 aa2 aa3 aa4
- add regexp variable substitution via 'C/foo/bar/' [PR/2752]
- add variable quoting via the ${VAR:Q} modifier. This is useful when running recursive invocations of make(1):
make VAR=${VAR:Q}
will always work... (This may prove useful in the kernel builds...) [PR/2981]
|
1.16 |
| 06-Nov-1996 |
christos | - Merge in FreeBSD and Lite2 changes. - Fix bug where a non-archive target with a .a suffix would always be considered to be out of date, since it does not have a TOC.
|
1.15 |
| 30-Aug-1996 |
thorpej | Tidy up some RCS ids a bit.
|
1.14 |
| 15-Mar-1996 |
christos | branches: 1.14.4; Add PHONY attribute and target. This is the first step to cleanup the xinstall and xlint crud.
|
1.13 |
| 06-Mar-1996 |
christos | Fix PR/2118; apply sysincludes patch.
|
1.12 |
| 16-Dec-1995 |
christos | - Added .WAIT to synchronize between sources like other pmake variants. - Updated documentation to include .ORDER .PARALLEL .NO_PARALLEL .NONPARALLEL
|
1.11 |
| 08-Nov-1995 |
christos | - Turn compat mode on by default. It gets turned off when the -j without the -B flag is specified. [Thus you can use -j 1 to turn it off]. - Fix malloc -> emalloc as Gordon noted.
|
1.10 |
| 02-Nov-1995 |
christos | Minor: - ${.PREFIX} should never contain a full pathname - Fixed gcc -Wall warnings Major: - compatMake is now FALSE. This means that we are now running in full pmake mode: * rules on dependency lines can be executed in parallel and or out of sequence:
foo: bar baz
can fire the rule for baz before the rule for bar is fired. To enforce bar to be fired before baz, another rule needs to be added. [bar: baz] * adjacent shell commands in a target are now executed by a single invocation of the shell, not one invocation of the shell per line (compatMake can be turned off using the -B flag) - The -j flag now works... I.e. make -j 4 will fork up to four jobs in parallel when it can. The target name is printed before each burst of output caused by the target execution as '--- target ---', when j > 1 - I have changed all the Makefiles so that they work with make -j N, and I have tested the whole netbsd by: 'make -j 4 cleandir; make -j 4 depend; make -j 4; make -j 4 install' - I have not compiled or tested this version of make with -DREMOTE.
|
1.9 |
| 14-Jun-1995 |
christos | branches: 1.9.2; - $NetBSD$ rcsids - Fixed so that .[A-Z]* targets that do not match keywords are ignored as Posix mandates - Added .PHONY target keyword
|
1.8 |
| 29-Apr-1995 |
christos | Fix small typo; from Chris Torek
|
1.7 |
| 23-Jan-1995 |
mycroft | Fix 4 typos pointed out by Jordan, and 1 by me.
|
1.6 |
| 05-Mar-1994 |
cgd | fixes/improvements from Christos Zoulas <christos@deshaw.com>.
|
1.5 |
| 10-Feb-1994 |
jtc | Fix typos & spelling errors
|
1.4 |
| 22-Dec-1993 |
pk | Introduced ${.OBJDIR}. The variable is similar to .CURDIR but points at the directory where make builds the targets. It can be used to clean up those cumbersome Makefiles that have to guess at the "obj" directory.
|
1.3 |
| 01-Aug-1993 |
mycroft | Add RCS indentifiers.
|
1.2 |
| 22-Apr-1993 |
mycroft | Fix various bugs in man pages (from 386BSD patch 130).
|
1.1 |
| 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.2 |
| 28-Dec-1996 |
tls | Import 4.4BSD-Lite2 sources onto CSRG branch (already merged at head)
|
1.1.1.1 |
| 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.9.2.1 |
| 05-Dec-1995 |
jtc | environmental -> environment
|
1.14.4.1 |
| 26-Jan-1997 |
rat | Update make(1) from trunk, by request from Christos Zoulas. Fixes many bugs.
|
1.25.2.1 |
| 08-May-1998 |
mycroft | Sync with trunk, per request of christos.
|
1.36.2.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.40.2.1 |
| 23-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.42.2.1 |
| 26-Apr-2001 |
he | Pull up revision 1.48 (via patch, requested by wiz): Correct getcwd reference, plus whitespace fixes.
|
1.101.2.2 |
| 10-May-2004 |
tron | Pull up revision 1.103 (requested by sjg in ticket #282): Add comma in enumerations; fix a sentence; plural needs no apostrophe.
|
1.101.2.1 |
| 10-May-2004 |
tron | Pull up revision 1.102 (requested by sjg in ticket #282): Remove use of sh -e when running in compat mode. Its not posix compliant and serves very little purpose. With this change compat and jobs modes are consistent wrt how they treat each line of a script. Add support for the '+' command line prefix as required by posix. Lines prefixed with '+' are executed even when -n is given. [Actually posix says they should also be done for -q and -t] PR: Reviewed by: jmc
|
1.105.2.4 |
| 02-Jul-2005 |
tron | Pull up revision 1.113 (requested by rpaulo in ticket #491): Change "non-escaped" to "unescaped". Reviewed by hubertf.
|
1.105.2.3 |
| 02-Jul-2005 |
tron | Pull up revision 1.110 (requested by rpaulo in ticket #491): We now support comments until the end of a non-escaped line. Ok'ed by hubertf.
|
1.105.2.2 |
| 16-Jun-2005 |
tron | Backout ticket 458, it causes PR toolchain/30536.
|
1.105.2.1 |
| 16-Jun-2005 |
tron | Pull up revision 1.110 (requested by rpaulo in ticket #458): We now support comments until the end of a non-escaped line. Ok'ed by hubertf.
|
1.125.2.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.128.4.1 |
| 03-Sep-2007 |
wrstuden | Sync w/ NetBSD-4-RC_1
|
1.128.2.2 |
| 15-Jan-2009 |
bouyer | Pull up following revision(s) (requested by dholland in ticket #1262): usr.bin/make/make.1: revision 1.151 Fix blatantly wrong exposition of .WAIT example. PR bin/40372 from Gao Ya'nan.
|
1.128.2.1 |
| 05-Jun-2007 |
bouyer | branches: 1.128.2.1.2; Apply patch (requested by tron in ticket #696): usr.bin/make/compat.c patch usr.bin/make/cond.c patch usr.bin/make/dir.c patch usr.bin/make/for.c patch usr.bin/make/main.c patch usr.bin/make/make.1 patch usr.bin/make/make.c patch usr.bin/make/make.h patch usr.bin/make/nonints.h patch usr.bin/make/parse.c patch usr.bin/make/str.c patch usr.bin/make/targ.c patch usr.bin/make/util.c patch usr.bin/make/var.c patch
Synchronize make(1) with HEAD branch to increase perfomance and improve stability.
|
1.128.2.1.2.1 |
| 15-Jan-2009 |
bouyer | Pull up following revision(s) (requested by dholland in ticket #1262): usr.bin/make/make.1: revision 1.151 Fix blatantly wrong exposition of .WAIT example. PR bin/40372 from Gao Ya'nan.
|
1.131.2.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.131.2.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.135.6.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.144.2.3 |
| 16-Jan-2009 |
bouyer | Pull up following revision(s) (requested by dholland in ticket #271): usr.bin/make/make.1: revision 1.151 Fix blatantly wrong exposition of .WAIT example. PR bin/40372 from Gao Ya'nan.
|
1.144.2.2 |
| 28-Nov-2008 |
snj | Pull up following revision(s) (requested by christos in ticket #135): usr.bin/make/make.1: revision 1.146 I think ':' is called "colon", not "column" :)
|
1.144.2.1 |
| 28-Nov-2008 |
snj | Pull up following revision(s) (requested by christos in ticket #135): usr.bin/make/make.1: revision 1.145 PR/40026: Aleksej Saushev: make(1) doesn't document VPATH, document it.
|
1.153.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.182.2.1 |
| 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.195.2.5 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.195.2.4 |
| 30-Oct-2012 |
yamt | sync with head
|
1.195.2.3 |
| 23-May-2012 |
yamt | sync with head.
|
1.195.2.2 |
| 17-Apr-2012 |
yamt | sync with head
|
1.195.2.1 |
| 10-Nov-2011 |
yamt | sync with head
|
1.206.2.4 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.206.2.3 |
| 23-Jun-2013 |
tls | resync from head
|
1.206.2.2 |
| 25-Feb-2013 |
tls | resync with head
|
1.206.2.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.259.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.264.2.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.266.4.2 |
| 09-Jun-2018 |
martin | Pull up following revision(s) (requested by christos in ticket #870):
sys/lib/libgnuefi/Makefile.inc: revision 1.5 external/mit/xorg/xorg-pkg-ver.mk: revision 1.9 sys/arch/i386/stand/lib/Makefile.inc: revision 1.17 sys/compat/common/Makefile.inc: revision 1.25 usr.bin/make/unit-tests/varquote.exp: revision 1.1, 1.2 sys/lib/libsa/Makefile.inc: revision 1.24 usr.bin/make/var.c: revision 1.220 sys/arch/ia64/stand/efi/libefi/Makefile.inc: revision 1.5 sys/arch/hppa/spmath/Makefile.inc: revision 1.10 usr.bin/make/unit-tests/varquote.mk: revision 1.1, 1.2 usr.bin/make/unit-tests/Makefile: revision 1.53 sys/lib/libkern/Makefile.inc: revision 1.45 sys/arch/acorn32/stand/lib/Makefile.inc: revision 1.4 sys/arch/m68k/fpsp/Makefile.inc: revision 1.21 usr.bin/make/make.1: revision 1.273 sys/lib/libz/Makefile.inc: revision 1.17
- Introduce :q modifier for make variables and make it double escape $'s so that passing variables to recursive makes with :q works as expected. - Adjust makefiles that use recursive make to use :q
Discussed on tech-toolchain@
XXX: pullup 8
|
1.266.4.1 |
| 18-Jul-2017 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #113): usr.bin/make/main.c: 1.266-1.272 usr.bin/make/make.1: revision 1.267 move some code out of the gigantic main function; no functional change. -- -V: try to expand the variable again if the value contains a variable. -- simplify -- a variable that starts with \\ is not expanded. -- Remove previous variable expansion code; sjg had already added the code to do it. Note that the manual page already documents this behavior and does not need to change: -dV -V VAR: prints the raw variable -V VAR: prints the expanded variable -- make the code look like to 1.266 -- Add -v variable that always expands variables; restore -V the way it was.
|
1.271.4.2 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|
1.271.4.1 |
| 07-Apr-2018 |
pgoyette | Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
|
1.273.2.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.273.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.350.2.1 |
| 02-Jan-2023 |
martin | Pull up following revision(s) (requested by rillig in ticket #31):
usr.bin/make/make.1: revision 1.351 usr.bin/make/make.1: revision 1.352 usr.bin/make/make.1: revision 1.353 usr.bin/make/make.1: revision 1.354 usr.bin/make/make.1: revision 1.355 usr.bin/make/make.1: revision 1.356
make.1: reduce indentation of the long list of variable names
make.1: move description of .MAKE.MODE below the .MAKE.META block
make.1: use consistent markup for boolean flags
make.1: sort list of built-in variables
make.1: sync list of built-in variables with reality Fixes PR 57029.
make.1: fix markup
|