Lines Matching +refs:csh +refs:line +refs:to +refs:string

13      bmake is a program designed to simplify the maintenance of other pro-
14 grams. Its input is a list of specifications as to the files upon which
16 …bmake tries to open `makefile' then `Makefile' in order to find the spe…
20 …thorough description of bmake and makefiles, please refer to PMake - […
23 bmake prepends the contents of the MAKEFLAGS environment variable to the
24 command line arguments before parsing them.
28 -B Try to be backwards compatible by executing a single shell per
29 command and by making the sources of a dependency line in se-
33 Change to directory before reading the makefiles or doing any-
35 …preted relative to the previous one: -C / -C etc is equivalent…
39 Define variable to be 1, in the global scope.
42 Turn on debugging, and specify which portions of bmake are to
44 `-', they are added to the MAKEFLAGS environment variable and are
45 passed on to any child make processes. By default, debugging in-
46 formation is printed to standard error, but this can be changed
49 put is not directed to standard output, the standard output is
50 line buffered. The available flags are:
52 A Print all possible debugging information; equivalent to
75 `stderr', debugging output is written to the standard
78 the output is written to the named file. If the file
97 signment, so the file and line number are available.
111 the directory referred to by the TMPDIR environment vari-
112 able, or in /tmp if TMPDIR is unset or set to the empty
113 string. The temporary scripts are created by mkstemp(3),
125 V Force the -V option to print raw values of variables,
139 Specify a makefile to read instead of the default makefile or
144 Specify a directory in which to search for makefiles and included
149 lent to specifying `-' before each command line in the makefile.
155 passed by a make to child makes to allow all the make processes
156 in the build to cooperate to avoid overloading the system.
163 are executed in a single shell invocation as opposed to the tra-
164 ditional one shell invocation per line. This can break tradi-
166 tion and then expect to start with a fresh environment on the
167 next line. It is more efficient to correct the scripts rather
175 Specify a directory in which to search for sys.mk and makefiles
177 can be used multiple times to form a search path. This path
179 thermore, the system include path is appended to the search path
183 ronment variable) starts with the string `.../', bmake searches
185 of the argument string. The search starts with the current di-
202 gets are up to date, and 1 otherwise.
209 -s Do not echo any commands as they are executed. Equivalent to
210 specifying `@' before each command line in the makefile.
213 When used with the -j flag, append a trace record to tracefile
217 create it or update its modification time to make it appear up-
218 to-date.
223 printed one per line, with a blank line for each null or unde-
228 value is recursively expanded to its complete resultant text be-
230 .MAKE.EXPAND_VARIABLES is set to true and the -dV option has not
231 been used to override it. Note that loop-local and target-local
234 tion. The -dv debug mode can be used to see these at the cost of
238 Like -V, but all printed variables are always expanded to their
247 -X Don't export variables passed on the command line to the environ-
248 ment individually. Variables passed on the command line are
254 Set the value of the variable variable to value. Normally, all
255 values passed on the command line are also exported to sub-makes
264 Lines may be continued from one line to the next by ending them with a
266 on the following line are compressed into a single space.
280 are run to create or re-create the target. If bmake is inter-
286 :: Any dependency line may have attached shell commands, but each one
289 spect to (only) those sources. Thus, different groups of the at-
300 The value `{}' need not necessarily be used to describe existing files.
305 mands, normally used to create the target. Each of the lines in this
312 Each line is treated as a separate shell command, unless the end of line
313 is escaped with a backslash (`\'), in which case that line and the next
316 command not to be echoed before it is executed. A `+' causes the command
317 to be executed even when -n is given. This is similar to the effect of
318 the .MAKE special source, except that the effect can be limited to a sin-
319 gle line of a script. A `-' in compatibility mode causes any non-zero
320 exit status of the command line to be ignored.
323 the target is fed to a single instance of the shell. In compatibility
326 passed to the shell; otherwise bmake attempts direct execution. If a
327 line starts with `-' and the shell has ErrCtl enabled, failure of the
328 command line is ignored as in compatibility mode. Otherwise `-' affects
329 the entire job; the script stops at the first command line that fails,
330 but the target is not deemed to have failed.
336 force the use of a single shell, escape the line breaks so as to make the
349 Since bmake changes the current working directory to `.OBJDIR' before ex-
364 value is interpreted according to the variable assignment operator.
369 The five operators that assign values to variables are:
371 = Assign the value to the variable. Any previous value is over-
374 += Append the value to the current value of the variable, separating
377 ?= Assign the value to the variable if it is not already defined.
380 to the variable. Normally, expansion is not done until the vari-
383 NOTE: References to undefined variables are not expanded. This
386 != Expand the value and pass it to the shell for execution, then as-
387 sign the output from the child's standard output to the variable.
391 In most contexts where variables are expanded, `$$' expands to a single
392 dollar sign. In other contexts (most variable modifiers, string literals
393 in conditions), `\$' expands to a single dollar sign.
395 …References to variables have the form ${name[:modifiers]} …
406 sign (`$'), the string is subject to further expansion.
411 1. Variables in dependency lines are expanded as the line is read.
414 as necessary to determine the result of the conditional.
439 executed, b contains `${j} ${j} ${j}' which expands to `3 3 3' since
452 Command line variables
453 Variables defined as part of the command line.
456 Variables that are defined specific to a certain target.
458 Local variables can be set on a dependency line, unless
459 .MAKE.TARGET_LOCAL_VARIABLES is set to `false'. The rest of the line
473 += Only appends to a previous local assignment for the same
476 := Is redundant with respect to global variables, which have
487 source from which the target is to be transformed (the
511 `D' or `F', e.g. `$(@D)', are legacy forms equivalent to using the `:H'
516 because they expand to the proper value for each target on the line.
526 .CURDIR A path to the directory where bmake was executed. Refer
527 to the description of `PWD' for more details.
538 The preferred variable to use is the environment variable
556 .MAKE.JOBS The argument to the -j option.
564 is printed. For example, setting .MAKE.JOB.PREFIX to
568 making it easier to track the degree of parallelism being
572 If set to `false', apparent variable assignments in de-
576 that may be specified on bmake's command line. Anything
577 specified on bmake's command line is appended to the
578 MAKEFLAGS variable, which is then added to the environ-
584 == 0 to protect things which should only be evaluated in
604 get to capture the command run, the
607 are of interest to bmake. The cap-
613 be overridden by setting bf to a
624 env For debugging, it can be useful to
637 causes them to be ignored for deter-
648 order. This mode can be used to de-
659 In "meta" mode, it can (very rarely!) be useful to filter
661 set to a set of modifiers that are applied to each line
668 meta files updated. If not empty, it can be used to
674 to process the meta files to extract dependency informa-
679 because the contents are expected to change over time.
684 Provides a list of patterns to match against pathnames.
688 Provides a list of variable modifiers to apply to each
689 pathname. Ignore if the expansion is an empty string.
696 .MAKEOVERRIDES This variable is used to record the names of variables
697 assigned to on the command line, so that they may be ex-
699 abled by assigning an empty value to `.MAKEOVERRIDES'
701 a makefile by appending their names to `.MAKEOVERRIDES'.
707 to the path of the device node. This allows makefiles to
717 to true for compatability with other makes. If set to
725 When bmake stops due to an error, it sets `.ERROR_TARGET'
726 to the name of the target that failed, `.ERROR_CMD' to
728 also sets `.ERROR_CWD' to the getcwd(3), and
729 `.ERROR_META_FILE' to the path of the meta file (if any)
736 to put a newline between iterations of the loop rather
741 .OBJDIR A path to the directory where the targets are built. Its
742 value is determined by trying to chdir(2) to the follow-
748 ment or on the command line.)
753 on the command line.)
769 target `.OBJDIR'. In all cases, bmake changes to the
771 `PWD' to that directory before executing any targets.
776 the environment variable `MAKE_OBJDIR_CHECK_WRITABLE' to
784 ues, assign them to a variable using assignment with ex-
792 PWD Alternate path to the current directory. bmake normally
793 sets `.CURDIR' to the canonical path given by getcwd(3).
795 gives a path to the current directory, bmake sets
796 `.CURDIR' to the value of `PWD' instead. This behavior
798 contains a variable transform. `PWD' is set to the value
801 .SHELL The pathname of the shell used to run target scripts. It
807 line, if any.
831 sign (`$'), these must be doubled to avoid early expansion.
833 Some modifiers interpret the expression value as a single string, others
835 splitting a string into words, whitespace can be escaped using double
853 ter-word spacing to a single space.
872 ferring to the modified variable; use the assignment with expansion
873 `:=' to prevent such behavior. For example,
884 may produce output similar to:
892 passed safely to the shell.
896 tions of bmake. This is equivalent to `:S/\$/&&/g:Q'.
905 The value is interpreted as a format string for strftime(3), using
913 The value is interpreted as a format string for strftime(3), using
917 :tA Attempts to convert the value to an absolute path using realpath(3).
920 :tl Converts the value to lower-case letters.
925 changes the separator to the character c. If c is omitted, no sepa-
929 :tu Converts the value to upper-case letters.
931 :tW Causes subsequent modifiers to treat the value as a single word
934 :tw Causes the value to be treated as a list of words. See also `:[@]'.
938 value, replacing it with new_string. If a `g' is appended to the
940 placed. If a `1' is appended to the last delimiter of the pattern,
941 only the first occurrence is affected. If a `W' is appended to the
948 iter for the parts of the modifier string. The anchoring, ampersand
953 is used to prevent the expansion of a dollar sign (`$'), not a pre-
962 modifier causes the substitution to apply to at most one word; the
963 `g' modifier causes the substitution to apply to as many instances
965 found in; the `W' modifier causes the value to be treated as a sin-
968 … As for the :S modifier, the pattern and replacement are subjected to
978 tional expression, evaluates to true, return as its value the
982 able expansions. A common error is trying to use expressions like
985 match "42", you need to use something like:
994 to be replaced in new_string. If only old_string contains the pat-
1005 is used to prevent the expansion of a dollar sign (`$'), not a pre-
1011 of reference. For each word in the value, assign the word to the
1029 Here `$_' is used to save the result of the `:S' modifier which is
1048 variable is used. In order for this modifier to work, the name
1060 wanting to set a variable at a point where a target's shell commands
1061 are being parsed. These assignment modifiers always expand to noth-
1072 Append str to the variable.
1075 Assign the output of cmd to the variable.
1079 tions related to the way in which the value is split into words.
1087 The range is subjected to variable expansion, and the expanded re-
1093 Selects all words from start to end, inclusive. For example,
1094 `:[2..-1]' selects all words from the second word to the last
1097 from last to first. If the list is already ordered, this ef-
1098 fectively reverses the list, but it is more efficient to use
1101 * Causes subsequent modifiers to treat the value as a single
1102 word (possibly containing embedded whitespace). Analogous to
1107 @ Causes subsequent modifiers to treat the value as a sequence
1108 of words delimited by whitespace. Analogous to the effect of
1115 bmake. All such structures are identified by a line beginning with a
1121 ables between the angle brackets or double quotes are expanded to form
1123 pected to be in the system makefile directory. If double quotes are
1148 Appending a variable name to .MAKE.EXPORTED is equivalent to ex-
1153 to .MAKE.EXPORTED. This allows exporting a value to the environ-
1184 The directives for printing messages to the output are:
1188 line number.
1192 of the makefile and line number.
1196 line number, bmake exits immediately.
1241 bmake only evaluates a conditional as far as is necessary to determine
1242 its value. Parentheses can be used to override the operator precedence.
1243 The boolean operator `!' may be used to logically negate an entire condi-
1248 defined Takes a variable name as an argument and evaluates to true if
1251 make Takes a target name as an argument and evaluates to true if the
1252 target was specified as part of bmake's command line or was de-
1254 .MAIN) before the line containing the conditional.
1256 empty Takes a variable name, with possible modifiers, and evaluates to
1258 string.
1260 exists Takes a file name as an argument and evaluates to true if the
1264 target Takes a target name as an argument and evaluates to true if the
1268 Takes a target name as an argument and evaluates to true if the
1271 Expression may also be an arithmetic or string comparison. Variable ex-
1274 cally, otherwise lexicographically. A string is interpreted as hexadeci-
1282 expression evaluates to true if it is nonempty and its numeric value (if
1287 "make" or "defined" function is applied to it, depending on the form of
1292 If the conditional evaluates to true, parsing of the makefile continues
1293 as before. If it evaluates to false, the following lines are skipped.
1298 For loops are typically used to apply a set of rules to a list of files.
1306 of the loop, one word is taken and assigned to each variable, in order,
1322 mand line, and continue to the end of an unescaped new line.
1331 .MADE Mark all sources of this target as being up to date.
1334 or -t options were specified. Normally used to mark recursive
1350 plies to any command line that uses the variable .OODATE, which
1367 default target to be built if no target was specified. This
1372 ure out how to create it, it ignores this fact and assumes the
1375 .PHONY The target does not correspond to an actual file; it is always
1376 considered to be out of date, and is not created with the -t
1377 option. Suffix-transformation rules are not applied to .PHONY
1395 .USE target's commands are appended to them.
1399 target commands to the target.
1401 .WAIT If .WAIT appears in a dependency line, the sources that precede
1402 it are made before the sources that succeed it in the line.
1426 .BEGIN Any command lines attached to this target are executed before
1431 as a source) that bmake can't figure out any other way to cre-
1433 target that inherits .DEFAULT's commands is set to the target's
1438 make to delete targets whose commands fail. (By default, only
1441 used to help prevent half-finished or malformed targets from be-
1444 .END Any command lines attached to this target are executed after ev-
1447 .ERROR Any command lines attached to this target are executed when an-
1448 other target fails. The .ERROR_TARGET variable is set to the
1463 This target provides a way to specify flags for bmake at the
1464 time when the makefiles are read. The flags are as if typed to
1467 .NOPATH Apply the .NOPATH attribute to any specified sources.
1477 changes the current working directory to it and updates the
1481 ordering does not add targets to the list of targets to be made.
1490 .PATH The sources are directories which are to be searched for files
1497 Like .PATH but applies only to files with a particular suffix.
1500 .PHONY Apply the .PHONY attribute to any specified sources.
1502 .POSIX If this is the first non-comment line in the main makefile, the
1503 variable %POSIX is set to the value `1003.2' and the makefile
1504 `<posix.mk>' is included if it exists, to provide POSIX-compati-
1506 `posix.mk' contributes to the default rules.
1509 Apply the .PRECIOUS attribute to any specified sources. If no
1510 sources are specified, the .PRECIOUS attribute is applied to ev-
1513 .SHELL Sets the shell that bmake uses to execute commands. The sources
1516 name This is the minimal specification, used to select
1517 one of the built-in shell specs; sh, ksh, and csh.
1519 path Specifies the absolute path to the shell.
1523 check The command to turn on error checking.
1525 ignore The command to disable error checking.
1527 echo The command to turn on echoing of commands executed.
1529 quiet The command to turn off echoing of commands exe-
1532 filter The output to filter after issuing the quiet com-
1533 mand. It is typically identical to quiet.
1535 errFlag The flag to pass the shell to enable error checking.
1537 echoFlag The flag to pass the shell to enable command echo-
1540 newline The string literal to pass the shell that results in
1550 .SILENT Apply the .SILENT attribute to any specified sources. If no
1551 sources are specified, the .SILENT attribute is applied to every
1555 tries, having .ALLSRC set to the name of that dependency file.
1558 Each source specifies a suffix to bmake. If no sources are
1574 the command line to bmake and not as makefile variables; see the descrip-
1592 so that they still appear to be variable expansions. In particular this
1597 .ORDER and .WAIT apply recursively to the dependent nodes. The algo-
1606 taining to parallelization. (GNU make supports parallelization
1607 but lacks these features needed to control it effectively.)
1620 string substitution, which does not portably support globbing
1629 havior is too ill-defined (and too buggy) to rely upon.
1633 rent directory, not trying to chain transformations together, etc.) is
1640 bmake is derived from NetBSD make(1). It uses autoconf to facilitate
1641 portability to other platforms.
1645 Berkeley. It was designed to be a parallel distributed make running jobs
1648 Historically the target/dependency FRC has been used to FoRCe rebuilding
1653 The make syntax is difficult to parse without actually acting on the
1656 field. In many places make just counts {} and () in order to find the