Lines Matching +refs:csh +refs:line +refs:to +refs:string
13 bbmmaakkee is a program designed to simplify the maintenance of other
14 programs. Its input is a list of specifications as to the files upon
17 …(default `_m_a_k_e_f_i_l_e', `_M_a_k_e_f_i_l_e') in order to find the specificatio…
21 thorough description of bbmmaakkee and makefiles, please refer to _P_M_a_k_e _- _A
24 bbmmaakkee prepends the contents of the MAKEFLAGS environment variable to the
25 command line arguments before parsing them.
29 --BB Try to be backwards compatible by executing a single shell per
30 command and by making the sources of a dependency line in
34 Change to _d_i_r_e_c_t_o_r_y before reading the makefiles or doing
36 interpreted relative to the previous one: --CC _/ --CC _e_t_c is
37 equivalent to --CC _/_e_t_c.
40 Define _v_a_r_i_a_b_l_e to be 1, in the global scope.
43 Turn on debugging, and specify which portions of bbmmaakkee are to
45 `-', they are added to the MAKEFLAGS environment variable and are
46 passed on to any child make processes. By default, debugging
47 information is printed to standard error, but this can be changed
50 output is not directed to standard output, the standard output is
51 line buffered. The available _f_l_a_g_s are:
53 AA Print all possible debugging information; equivalent to
76 `stderr', debugging output is written to the standard
79 to the named file. If the file name ends with `.%d', the
98 assignment, so the file and line number are available.
112 the directory referred to by the TMPDIR environment
113 variable, or in _/_t_m_p if TMPDIR is unset or set to the
114 empty string. The temporary scripts are created by
127 VV Force the --VV option to print raw values of variables,
141 Specify a makefile to read instead of one of the defaults listed
143 is read. If _m_a_k_e_f_i_l_e starts with the string `.../', bbmmaakkee
149 Specify a directory in which to search for makefiles and included
154 Equivalent to specifying `-' before each command line in the
161 passed by a make to child makes to allow all the make processes
162 in the build to cooperate to avoid overloading the system.
172 invocation as opposed to the traditional one shell invocation per
173 line. This can break traditional scripts which change
174 directories on each command invocation and then expect to start
175 with a fresh environment on the next line. It is more efficient
176 to correct the scripts rather than turn backwards compatibility
179 A job token pool with _m_a_x___j_o_b_s tokens is used to control the
188 Specify a directory in which to search for _s_y_s_._m_k and makefiles
190 can be used multiple times to form a search path. This path
192 Furthermore, the system include path is appended to the search
198 environment variable) starts with the string `.../', bbmmaakkee
200 remaining part of the argument string. The search starts with
204 This feature allows bbmmaakkee to easily search in the current source
217 targets are up to date, and 1 otherwise.
224 --ss Do not echo any commands as they are executed. Equivalent to
225 specifying `@@' before each command line in the makefile.
228 When used with the --jj flag, append a trace record to _t_r_a_c_e_f_i_l_e
232 create it or update its modification time to make it appear up-
233 to-date.
238 printed one per line, with a blank line for each null or
247 …_._M_A_K_E_._E_X_P_A_N_D___V_A_R_I_A_B_L_E_S is set to true and the --ddV…
248 been used to override it.
253 mode can be used to see these at the cost of generating
257 Like --VV, but all printed variables are always expanded to their
266 --XX Don't export variables passed on the command line to the
267 environment individually. Variables passed on the command line
273 … Set the value of the variable _v_a_r_i_a_b_l_e to _v_a_l_u_e. Normally, all
274 values passed on the command line are also exported to sub-makes
283 Lines may be continued from one line to the next by ending them with a
285 on the following line are compressed into a single space.
299 are run to create or re-create the target. If bbmmaakkee is
305 :::: Any dependency line may have attached shell commands, but each one
308 respect to (only) those sources. Thus, different groups of the
320 The value `{}' need not necessarily be used to describe existing files.
325 commands, normally used to create the target. Each of the lines in this
332 Each line is treated as a separate shell command, unless the end of line
333 is escaped with a backslash `\', in which case that line and the next are
337 @@ causes the command not to be echoed before it is executed.
339 ++ causes the command to be executed even when --nn is given.
340 This is similar to the effect of the _._M_A_K_E special source,
341 except that the effect can be limited to a single line of a
345 the command line to be ignored.
348 the target is fed to a single instance of the shell. In compatibility
351 is passed to the shell; otherwise bbmmaakkee attempts direct execution. If a
352 line starts with `--' and the shell has ErrCtl enabled, failure of the
353 command line is ignored as in compatibility mode. Otherwise `--' affects
354 the entire job; the script stops at the first command line that fails,
355 but the target is not deemed to have failed.
361 force the use of a single shell, escape the line breaks so as to make the
374 Since bbmmaakkee changes the current working directory to `_._O_B_J_D_I_R' before
389 _v_a_l_u_e is interpreted according to the variable assignment
394 VVaarriiaabbllee aassssiiggnnmmeenntt ooppeerraattoorrss
395 The five operators that assign values to variables are:
397 == Assign the value to the variable. Any previous value is
400 ++== Append the value to the current value of the variable, separating
403 ??== Assign the value to the variable if it is not already defined.
405 ::== Expand the value, then assign it to the variable.
407 _N_O_T_E: References to undefined variables are _n_o_t expanded. This
410 !!== Expand the value and pass it to the shell for execution, then
411 assign the output from the child's standard output to the
415 In most contexts where variables are expanded, `$$' expands to a single
416 dollar sign. In other contexts (most variable modifiers, string literals
417 in conditions), `\$' expands to a single dollar sign.
419 References to variables have the form $${{_n_a_m_e[::_m_o_d_i_f_i_e_r_s]}} or
431 sign (`$'), the result is subject to further expansion.
436 1. Variables in dependency lines are expanded as the line is read.
439 as necessary to determine the result of the conditional.
465 _a contains `${:U1} ${:U2} ${:U3}', which expands to `1 2
468 _j contains `${:U3}', which expands to `3'.
470 _b contains `${j} ${j} ${j}', which expands to `${:U3}
471 ${:U3} ${:U3}' and further to `3 3 3'.
483 Command line variables
484 Variables defined as part of the command line.
487 Variables that are defined specific to a certain target.
489 Local variables can be set on a dependency line, unless
490 …R_G_E_T___L_O_C_A_L___V_A_R_I_A_B_L_E_S is set to `false'. The rest of the line
504 ++== Only appends to a previous local assignment for the same
507 ::== Is redundant with respect to global variables, which have
518 source from which the target is to be transformed (the
539 `D' or `F', e.g. `$(@D)', are legacy forms equivalent to using the `:H'
544 because they expand to the proper value for each target on the line.
556 A path to the directory where bbmmaakkee was executed. Refer to the
589 _._M_A_K_E The same as _M_A_K_E, for compatibility. The preferred variable to
599 If set to `true', do not print error information at the end.
612 command line.
616 may be specified on bbmmaakkee's command line. Anything specified on
617 … bbmmaakkee's command line is appended to the _._M_A_K_E_F_L_A_G_S variable,
618 which is then added to the environment for all programs that
630 setting _._M_A_K_E_._J_O_B_._P_R_E_F_I_X to
634 making it easier to track the degree of parallelism being
638 The argument to the --jj option.
647 This allows tests like: .if ${.MAKE.LEVEL} == 0 to protect things
653 nested calls to bbmmaakkee.
671 In "meta" mode, it can (very rarely!) be useful to filter command
672 lines before comparison. This variable can be set to a set of
673 modifiers that are applied to each line of the old and new
679 files updated. If not empty, it can be used to trigger
684 files used (updated or not). This list can be used to process
685 the meta files to extract dependency information.
688 Provides a list of variable modifiers to apply to each pathname.
689 Ignore if the expansion is an empty string.
693 the contents are expected to change over time. The default list
697 Provides a list of patterns to match against pathnames. Ignore
712 for each target to capture the commands run, the output
714 calls which are of interest to bbmmaakkee. The captured
717 bbmmaakkee will use the information in the meta file to help
721 First, the commands to be executed, will be compared to
727 for targets to depend on makefiles just in-case they set
731 reference to the variable _._O_O_D_A_T_E can be leveraged to
733 `${.OODATE:M}' will expand to nothing and have no impact
734 on the target, its side-effect though, will be to prevent
735 comparison of any command line it appears on. For
740 captured by filemon(4), to check the modification time of
744 Such deep inspection can easily lead to cases where a
747 …A_K_E_._M_E_T_A_._I_G_N_O_R_E___P_A_T_T_E_R_N_S, are provided to limit that
752 `_._C_U_R_D_I_R'. This can be overridden by setting _b_f to a
766 eennvv For debugging, it can be useful to include the
777 This keyword causes them to be ignored for determining
788 This mode can be used to detect undeclared dependencies
792 Used to create files in a separate directory, see _._O_B_J_D_I_R.
800 …e variables listed in _M_A_K_E___P_R_I_N_T___V_A_R___O_N___E_R_R_O_R to help
804 Used to create files in a separate directory, see _._O_B_J_D_I_R. It
811 This variable is used to record the names of variables assigned
812 to on the command line, so that they may be exported as part of
814 … value to `_._M_A_K_E_O_V_E_R_R_I_D_E_S' within a makefile. Extra variables can
815 be exported from a makefile by appending their names to
820 If bbmmaakkee was built with filemon(4) support, this is set to the
821 path of the device node. This allows makefiles to test for this
831 …When bbmmaakkee stops due to an error, it sets `_._E_R_R_O_R___T_A_R_G_E_T' to t…
832 name of the target that failed, `_._E_R_R_O_R___E_X_I_T' to the exit status
833 of the failed target, `_._E_R_R_O_R___C_M_D' to the commands of the failed
834 target, and in "meta" mode, it also sets `_._E_R_R_O_R___C_W_D' to the
835 … getcwd(3), and `_._E_R_R_O_R___M_E_T_A___F_I_L_E' to the path of the meta file
842 default is false, for backwards compatibility. Set to true for
843 compatability with other makes. If set to false, `$$' becomes
847 If set to `false', apparent variable assignments in dependency
856 modifier to put a newline between iterations of the loop rather
862 A path to the directory where the targets are built. Its value
863 is determined by trying to chdir(2) to the following directories
869 the command line.)
874 command line.)
889 `..OOBBJJDDIIRR'. In all cases, bbmmaakkee changes to the specified
890 directory if it exists, and sets `_._O_B_J_D_I_R' and `_P_W_D' to that
896 `MAKE_OBJDIR_CHECK_WRITABLE' to "no".
904 parsed. To retain their current values, assign them to a
913 _P_W_D Alternate path to the current directory. bbmmaakkee normally sets
914 `_._C_U_R_D_I_R' to the canonical path given by getcwd(3). However, if
915 the environment variable `PWD' is set and gives a path to the
916 current directory, bbmmaakkee sets `_._C_U_R_D_I_R' to the value of `PWD'
918 or `MAKEOBJDIR' contains a variable transform. `_P_W_D' is set to
921 _._S_H_E_L_L The pathname of the shell used to run target scripts. It is
929 makefiles, referred to as the system include path. To update
934 The list of targets explicitly specified on the command line, if
958 dollar sign (`$'), these must be doubled to avoid early expansion.
960 Some modifiers interpret the expression value as a single string, others
962 splitting a string into words, whitespace can be escaped using double
978 whitespace and normalizes the inter-word spacing to a single space.
997 referring to the modified variable; use the assignment with
998 expansion `::==' to prevent such behavior. For example,
1009 may produce output similar to:
1017 passed safely to the shell.
1021 … invocations of bbmmaakkee. This is equivalent to `::SS//\\$$//&&&&//gg::QQ'.
1030 The value is interpreted as a format string for strftime(3), using
1039 The value is interpreted as a format string for strftime(3), using
1046 _t_i_m_e_s_t_a_m_p is set to `error', then stat(2) failure will cause an
1049 ::ttAA Attempts to convert the value to an absolute path using realpath(3).
1052 ::ttll Converts the value to lower-case letters.
1057 changes the separator to the character _c. If _c is omitted, no
1061 ::tttt Converts the first character of each word to upper-case, and the
1062 rest to lower-case letters.
1064 ::ttuu Converts the value to upper-case letters.
1066 ::ttWW Causes subsequent modifiers to treat the value as a single word
1069 ::ttww Causes the value to be treated as a list of words. See also `::[[@@]]'.
1073 value, replacing it with _n_e_w___s_t_r_i_n_g. If a `g' is appended to the
1075 replaced. If a `1' is appended to the last delimiter of the
1077 appended to the last delimiter of the pattern, the value is treated
1083 used as the delimiter for the parts of the modifier string. The
1097 modifier causes the substitution to apply to at most one word; the
1098 `g' modifier causes the substitution to apply to as many instances
1100 found in; the `W' modifier causes the value to be treated as a
1103 …e ::SS modifier, the _p_a_t_t_e_r_n and _r_e_p_l_a_c_e_m_e_n_t are subjected to
1112 conditional expression, evaluates to true, return as its value the
1116 variable expansions. A common error is trying to use expressions
1120 match "42", you need to use something like:
1146 time of reference. For each word in the value, assign the word to
1164 Here `$_' is used to save the result of the `:S' modifier which is
1184 variable is used. In order for this modifier to work, the name
1196 wanting to set a variable at a point where a target's shell commands
1197 are being parsed. These assignment modifiers always expand to
1208 Append _s_t_r to the variable.
1211 Assign the output of _c_m_d to the variable.
1215 operations related to the way in which the value is split into
1224 The _r_a_n_g_e is subjected to variable expansion, and the expanded
1230 Selects all words from _s_t_a_r_t to _e_n_d, inclusive. For example,
1231 `::[[22....--11]]' selects all words from the second word to the last
1234 from last to first. If the list is already ordered, this
1235 effectively reverses the list, but it is more efficient to
1238 ** Causes subsequent modifiers to treat the value as a single
1239 word (possibly containing embedded whitespace). Analogous to
1244 @@ Causes subsequent modifiers to treat the value as a sequence
1245 of words delimited by whitespace. Analogous to the effect of
1252 loops. All these directives are identified by a line beginning with a
1258 Variables between the angle brackets or double quotes are expanded to
1260 expected to be in the system makefile directory. If double quotes are
1283 … Appending a variable name to _._M_A_K_E_._E_X_P_O_R_T_E_D is equivalent to
1293 to _._M_A_K_E_._E_X_P_O_R_T_E_D. This allows exporting a value to the
1326 The directives for printing messages to the output are:
1330 line number.
1334 of the makefile and line number.
1338 line number, bbmmaakkee exits immediately.
1383 bbmmaakkee only evaluates a conditional as far as is necessary to determine
1384 its value. Parentheses can be used to override the operator precedence.
1385 The boolean operator `!!' may be used to logically negate an expression,
1392 Evaluates to true if the variable _v_a_r_n_a_m_e has been defined.
1395 Evaluates to true if the target was specified as part of bbmmaakkee's
1396 command line or was declared the default target (either
1397 implicitly or explicitly, see _._M_A_I_N) before the line containing
1401 Evaluates to true if the expansion of the variable, after
1402 applying the modifiers, results in an empty string.
1405 Evaluates to true if the given pathname exists. If relative, the
1409 Evaluates to true if the target has been defined.
1412 Evaluates to true if the target has been defined and has commands
1415 _E_x_p_r_e_s_s_i_o_n may also be an arithmetic or string comparison. Variable
1418 numerically, otherwise lexicographically. A string is interpreted as a
1426 expression evaluates to true if it is nonempty and its numeric value (if
1431 "make" or "defined" function is applied to it, depending on the form of
1436 If the conditional evaluates to true, parsing of the makefile continues
1437 as before. If it evaluates to false, the following lines until the
1441 For loops are typically used to apply a set of rules to a list of files.
1449 of the loop, one word is taken and assigned to each _v_a_r_i_a_b_l_e, in order,
1465 command line, and continue to the end of an unescaped new line.
1474 ..MMAADDEE Mark all sources of this target as being up to date.
1477 or --tt options were specified. Normally used to mark recursive
1493 applies to any command line that uses the variable _._O_O_D_A_T_E,
1510 default target to be built if no target was specified. This
1515 figure out how to create it, it ignores this fact and assumes
1518 ..PPHHOONNYY The target does not correspond to an actual file; it is always
1519 considered to be out of date, and is not created with the --tt
1520 option. Suffix-transformation rules are not applied to ..PPHHOONNYY
1538 ..UUSSEE target's commands are appended to them.
1542 target commands to the target.
1544 ..WWAAIITT If ..WWAAIITT appears in a dependency line, the sources that precede
1545 it are made before the sources that succeed it in the line.
1569 ..BBEEGGIINN Any command lines attached to this target are executed before
1574 as a source) that bbmmaakkee can't figure out any other way to
1576 a target that inherits ..DDEEFFAAUULLTT's commands is set to the
1581 make to delete targets whose commands fail. (By default, only
1584 used to help prevent half-finished or malformed targets from
1587 ..EENNDD Any command lines attached to this target are executed after
1590 ..EERRRROORR Any command lines attached to this target are executed when
1606 This target provides a way to specify flags for bbmmaakkee at the
1607 time when the makefiles are read. The flags are as if typed to
1610 ..NNOOPPAATTHH Apply the ..NNOOPPAATTHH attribute to any specified sources.
1624 changes the current working directory to it and updates the
1628 ordering does not add targets to the list of targets to be made.
1638 ..PPAATTHH The sources are directories which are to be searched for files
1645 Like ..PPAATTHH but applies only to files with a particular suffix.
1648 ..PPHHOONNYY Apply the ..PPHHOONNYY attribute to any specified sources.
1650 ..PPOOSSIIXX If this is the first non-comment line in the main makefile, the
1651 variable _%_P_O_S_I_X is set to the value `1003.2' and the makefile
1652 `<posix.mk>' is included if it exists, to provide POSIX-
1654 only `posix.mk' contributes to the default rules. In POSIX-
1659 Apply the ..PPRREECCIIOOUUSS attribute to any specified sources. If no
1660 sources are specified, the ..PPRREECCIIOOUUSS attribute is applied to
1667 ..SSHHEELLLL Sets the shell that bbmmaakkee uses to execute commands. The sources
1670 name This is the minimal specification, used to select
1671 one of the built-in shell specs; sh, ksh, and csh.
1673 path Specifies the absolute path to the shell.
1677 check The command to turn on error checking.
1679 ignore The command to disable error checking.
1681 echo The command to turn on echoing of commands executed.
1683 quiet The command to turn off echoing of commands
1686 filter The output to filter after issuing the quiet
1687 command. It is typically identical to quiet.
1689 errFlag The flag to pass the shell to enable error checking.
1691 echoFlag The flag to pass the shell to enable command
1694 newline The string literal to pass the shell that results in
1704 … ..SSIILLEENNTT Apply the ..SSIILLEENNTT attribute to any specified sources. If no
1705 sources are specified, the ..SSIILLEENNTT attribute is applied to every
1709 entries, having _._A_L_L_S_R_C set to the name of that dependency file.
1712 Each source specifies a suffix to bbmmaakkee. If no sources are
1723 The sources are directories which are to be added to the system
1734 the command line to bbmmaakkee and not as makefile variables; see the
1735 description of `_._O_B_J_D_I_R' for more details. It is possible to set these
1737 target is used to reset `_._O_B_J_D_I_R', there may be unexpected side effects.
1739 If the MAKE_STACK_TRACE environment variable is set to "yes", any stack
1745 command line
1747 command line
1754 the sub-make processes to limit the number of jobs that run in
1755 parallel. The option is passed to all child processes via the
1761 case, make issues the above warning and falls back to compat
1764 To see the chain of sub-makes that leads to the invalid option,
1765 set the MAKE_STACK_TRACE environment variable to "yes".
1768 the --nn option), add the .MAKE pseudo source to the target. This
1773 "${:D make}" marker to one of the target's commands. This marker
1774 expands to an empty string and thus does not affect the executed
1777 To run the sub-make in compat mode, add the --BB option to its
1779 to print a variable's value using the --vv or --VV options.
1793 so that they still appear to be variable expansions. In particular this
1798 .ORDER and .WAIT apply recursively to the dependent nodes. The
1807 pertaining to parallelization. (GNU make supports
1808 parallelization but lacks the features needed to control it
1820 ++oo Variable modifiers, except for the `:old=new' string
1830 behavior is too ill-defined (and too buggy) to rely upon.
1834 current directory, not trying to chain transformations together, etc.) is
1841 bbmmaakkee is derived from NetBSD make(1). It uses autoconf to facilitate
1842 portability to other platforms.
1846 Berkeley. It was designed to be a parallel distributed make running jobs
1849 Historically the target/dependency FFRRCC has been used to FoRCe rebuilding
1854 The bbmmaakkee syntax is difficult to parse. For instance, finding the end of
1857 and () in order to find the end of a variable expansion.
1863 token pool to abort the build and exit with error code 6. Sometimes the
1864 attempt to suppress a cascade of unnecessary errors, can result in a