summaryrefslogtreecommitdiff
path: root/usr.bin/make/make.1
AgeCommit message (Collapse)Author
2023-06-28make.1: clean up wording, clarify scope of '!' in conditionsrillig
2023-05-10Make :mtime operate on each word in variable value.sjg
Reviewed by: rillig
2023-05-09make: :mtime=error throw error on stat(2) failuresjg
Sometimes we want fatal error if stat fails on the presumed pathname.
2023-05-09make: add :mtime to provide mtime of filesjg
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.
2023-05-07make.1: lose the trailing blank linessjg
2023-05-07make: fix description of .PREFIXsjg
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.
2023-03-23Document unexplained *** Error code 6sjg
2023-01-26make: some variables should be read-onlysjg
Make variables like .newline and .MAKE.{GID,PID,PPID,UID} read-only. Reviewed by: rillig
2023-01-24make: .SYSPATH: to add dirs to sysIncPathsjg
.SYSPATH: with no sources will clear sysIncPath otherwise sources are added Reviewed by: rillig
2023-01-23make: .[NO]READONLY for control of read-only variablessjg
Reviewed by: rillig
2023-01-01make.1: bump daterillig
2023-01-01make.1: fix markuprillig
2023-01-01make.1: sync list of built-in variables with realityrillig
Fixes PR 57029.
2023-01-01make.1: sort list of built-in variablesrillig
2023-01-01make.1: use consistent markup for boolean flagsrillig
2023-01-01make.1: move description of .MAKE.MODE below the .MAKE.META blockrillig
2023-01-01make.1: reduce indentation of the long list of variable namesrillig
2022-11-29make.1: clarify in which case an expression may omit bracesrillig
2022-11-15make.1: make horizontal and vertical spacing more consistentrillig
2022-10-02make.1: clean up style, typography, accuracyrillig
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.
2022-09-15make(1): fix and simplify optional negation on conditionaluwe
2022-09-15make(1): use .Dl for one-line literal displayuwe
2022-09-14make.1: make typography more consistentrillig
2022-09-14make.1: fix typography, especially spacingrillig
2022-09-12make.1: fix style of ellipsisrillig
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.
2022-09-12make.1: remove extraneous .El, update daterillig
2022-09-12make.1: split section on directives into several subsectionsrillig
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.
2022-09-09make(1): add space before the punctuation argumentuwe
2022-09-09make.1: clean up and make the description more accuraterillig
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".
2022-09-09make.1: only use .Pa for actual pathnamesrillig
2022-09-08make.1: rewrite many details in a more precise wayrillig
2022-09-07make.1: clean up style, grammar, punctuation, improve clarityrillig
2022-09-07make.1: remove redundant 'then' from conditional sentences.rillig
2022-09-07make.1: use present tense in conditional sentencesrillig
These sentences are about general, timeless rules, rather than about predictions about the future.
2022-09-05make.1: clarify interpretation of conditionalsrillig
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.
2022-09-03make: clean up handling of .break in .for loopsrillig
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.
2022-09-02make: add .break to terminate .for loop earlysjg
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
2022-08-14make(1): mark up the variable expansion exampleuwe
2022-08-14make(1): use .Dl for .MAKE.JOB.PREFIX examplesuwe
2022-08-14make(1): prettify .for index variable exampleuwe
2022-08-14make(1): more .Va fixesuwe
2022-08-14make(1): mark up FRC in BUGSuwe
2022-08-14make(1): Use .Dq instead of literal ASCII quotesuwe
2022-08-14make(1): Be consistent about using .Va for make variablesuwe
2022-08-14make.1: fix accidental removal of the directive 'export'rillig
2022-08-14make(1): more .Ar fixesuwe
2022-08-14make(1): ".../" in -m option description is literal ".../"uwe
2022-08-14make(1): Consistent formatting for -i and -s descriptions.uwe
2022-08-14make(1): Fix markup of the -d[flags] section.uwe
The debug flags are literals, not syntactic variables (.Ar). While here use .Dq for quoted words in the text.
2022-08-14make(1): Fix some obviously wrong uses of .Vauwe