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
16 given, bbmmaakkee tries to open `_m_a_k_e_f_i_l_e' then `_M_a_k_e_f_i_l_e' in order to find
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 the default _m_a_k_e_f_i_l_e or
146 Specify a directory in which to search for makefiles and included
151 Equivalent to specifying `-' before each command line in the
158 passed by a make to child makes to allow all the make processes
159 in the build to cooperate to avoid overloading the system.
169 invocation as opposed to the traditional one shell invocation per
170 line. This can break traditional scripts which change
171 directories on each command invocation and then expect to start
172 with a fresh environment on the next line. It is more efficient
173 to correct the scripts rather than turn backwards compatibility
176 A job token pool with _m_a_x___j_o_b_s tokens is used to control the
185 Specify a directory in which to search for _s_y_s_._m_k and makefiles
187 can be used multiple times to form a search path. This path
189 Furthermore, the system include path is appended to the search
195 environment variable) starts with the string `.../', bbmmaakkee
197 remaining part of the argument string. The search starts with
201 This feature allows bbmmaakkee to easily search in the current source
214 targets are up to date, and 1 otherwise.
221 --ss Do not echo any commands as they are executed. Equivalent to
222 specifying `@@' before each command line in the makefile.
225 When used with the --jj flag, append a trace record to _t_r_a_c_e_f_i_l_e
229 create it or update its modification time to make it appear up-
230 to-date.
235 printed one per line, with a blank line for each null or
244 _._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 --ddVV option has not
245 been used to override it.
250 mode can be used to see these at the cost of generating
254 Like --VV, but all printed variables are always expanded to their
263 --XX Don't export variables passed on the command line to the
264 environment individually. Variables passed on the command line
270 Set the value of the variable _v_a_r_i_a_b_l_e to _v_a_l_u_e. Normally, all
271 values passed on the command line are also exported to sub-makes
280 Lines may be continued from one line to the next by ending them with a
282 on the following line are compressed into a single space.
296 are run to create or re-create the target. If bbmmaakkee is
302 :::: Any dependency line may have attached shell commands, but each one
305 respect to (only) those sources. Thus, different groups of the
317 The value `{}' need not necessarily be used to describe existing files.
322 commands, normally used to create the target. Each of the lines in this
329 Each line is treated as a separate shell command, unless the end of line
330 is escaped with a backslash `\', in which case that line and the next are
334 @@ causes the command not to be echoed before it is executed.
336 ++ causes the command to be executed even when --nn is given.
337 This is similar to the effect of the _._M_A_K_E special source,
338 except that the effect can be limited to a single line of a
342 the command line to be ignored.
345 the target is fed to a single instance of the shell. In compatibility
348 is passed to the shell; otherwise bbmmaakkee attempts direct execution. If a
349 line starts with `--' and the shell has ErrCtl enabled, failure of the
350 command line is ignored as in compatibility mode. Otherwise `--' affects
351 the entire job; the script stops at the first command line that fails,
352 but the target is not deemed to have failed.
358 force the use of a single shell, escape the line breaks so as to make the
371 Since bbmmaakkee changes the current working directory to `_._O_B_J_D_I_R' before
386 _v_a_l_u_e is interpreted according to the variable assignment
391 VVaarriiaabbllee aassssiiggnnmmeenntt ooppeerraattoorrss
392 The five operators that assign values to variables are:
394 == Assign the value to the variable. Any previous value is
397 ++== Append the value to the current value of the variable, separating
400 ??== Assign the value to the variable if it is not already defined.
402 ::== Expand the value, then assign it to the variable.
404 _N_O_T_E: References to undefined variables are _n_o_t expanded. This
407 !!== Expand the value and pass it to the shell for execution, then
408 assign the output from the child's standard output to the
412 In most contexts where variables are expanded, `$$' expands to a single
413 dollar sign. In other contexts (most variable modifiers, string literals
414 in conditions), `\$' expands to a single dollar sign.
416 References to variables have the form $${{_n_a_m_e[::_m_o_d_i_f_i_e_r_s]}} or
428 sign (`$'), the result is subject to further expansion.
433 1. Variables in dependency lines are expanded as the line is read.
436 as necessary to determine the result of the conditional.
462 _a contains `${:U1} ${:U2} ${:U3}', which expands to `1 2
465 _j contains `${:U3}', which expands to `3'.
467 _b contains `${j} ${j} ${j}', which expands to `${:U3}
468 ${:U3} ${:U3}' and further to `3 3 3'.
480 Command line variables
481 Variables defined as part of the command line.
484 Variables that are defined specific to a certain target.
486 Local variables can be set on a dependency line, unless
487 _._M_A_K_E_._T_A_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
501 ++== Only appends to a previous local assignment for the same
504 ::== Is redundant with respect to global variables, which have
515 source from which the target is to be transformed (the
536 `D' or `F', e.g. `$(@D)', are legacy forms equivalent to using the `:H'
541 because they expand to the proper value for each target on the line.
553 A path to the directory where bbmmaakkee was executed. Refer to the
586 _._M_A_K_E The same as _M_A_K_E, for compatibility. The preferred variable to
596 If set to `true', do not print error information at the end.
609 command line.
613 may be specified on bbmmaakkee's command line. Anything specified on
614 bbmmaakkee's command line is appended to the _._M_A_K_E_F_L_A_G_S variable,
615 which is then added to the environment for all programs that
627 setting _._M_A_K_E_._J_O_B_._P_R_E_F_I_X to
631 making it easier to track the degree of parallelism being
635 The argument to the --jj option.
644 This allows tests like: .if ${.MAKE.LEVEL} == 0 to protect things
650 nested calls to bbmmaakkee.
668 In "meta" mode, it can (very rarely!) be useful to filter command
669 lines before comparison. This variable can be set to a set of
670 modifiers that are applied to each line of the old and new
676 files updated. If not empty, it can be used to trigger
681 files used (updated or not). This list can be used to process
682 the meta files to extract dependency information.
685 Provides a list of variable modifiers to apply to each pathname.
686 Ignore if the expansion is an empty string.
690 the contents are expected to change over time. The default list
694 Provides a list of patterns to match against pathnames. Ignore
709 for each target to capture the command run, the output
711 calls which are of interest to bbmmaakkee. The captured
716 `_._C_U_R_D_I_R'. This can be overridden by setting _b_f to a
730 eennvv For debugging, it can be useful to include the
741 This keyword causes them to be ignored for determining
752 This mode can be used to detect undeclared dependencies
756 Used to create files in a separate directory, see _._O_B_J_D_I_R.
764 report the variables listed in _M_A_K_E___P_R_I_N_T___V_A_R___O_N___E_R_R_O_R to help
768 Used to create files in a separate directory, see _._O_B_J_D_I_R.
774 This variable is used to record the names of variables assigned
775 to on the command line, so that they may be exported as part of
777 value to `_._M_A_K_E_O_V_E_R_R_I_D_E_S' within a makefile. Extra variables can
778 be exported from a makefile by appending their names to
783 If bbmmaakkee was built with filemon(4) support, this is set to the
784 path of the device node. This allows makefiles to test for this
794 When bbmmaakkee stops due to an error, it sets `_._E_R_R_O_R___T_A_R_G_E_T' to the
795 name of the target that failed, `_._E_R_R_O_R___E_X_I_T' to the exit status
796 of the failed target, `_._E_R_R_O_R___C_M_D' to the commands of the failed
797 target, and in "meta" mode, it also sets `_._E_R_R_O_R___C_W_D' to the
798 getcwd(3), and `_._E_R_R_O_R___M_E_T_A___F_I_L_E' to the path of the meta file
805 default is false, for backwards compatibility. Set to true for
806 compatability with other makes. If set to false, `$$' becomes
810 If set to `false', apparent variable assignments in dependency
819 modifier to put a newline between iterations of the loop rather
825 A path to the directory where the targets are built. Its value
826 is determined by trying to chdir(2) to the following directories
832 the command line.)
837 command line.)
852 `..OOBBJJDDIIRR'. In all cases, bbmmaakkee changes to the specified
853 directory if it exists, and sets `_._O_B_J_D_I_R' and `_P_W_D' to that
859 `MAKE_OBJDIR_CHECK_WRITABLE' to "no".
867 parsed. To retain their current values, assign them to a
876 _P_W_D Alternate path to the current directory. bbmmaakkee normally sets
877 `_._C_U_R_D_I_R' to the canonical path given by getcwd(3). However, if
878 the environment variable `PWD' is set and gives a path to the
879 current directory, bbmmaakkee sets `_._C_U_R_D_I_R' to the value of `PWD'
881 or `MAKEOBJDIR' contains a variable transform. `_P_W_D' is set to
884 _._S_H_E_L_L The pathname of the shell used to run target scripts. It is
892 makefiles, referred to as the system include path. To update
897 The list of targets explicitly specified on the command line, if
921 dollar sign (`$'), these must be doubled to avoid early expansion.
923 Some modifiers interpret the expression value as a single string, others
925 splitting a string into words, whitespace can be escaped using double
941 whitespace and normalizes the inter-word spacing to a single space.
960 referring to the modified variable; use the assignment with
961 expansion `::==' to prevent such behavior. For example,
972 may produce output similar to:
980 passed safely to the shell.
984 invocations of bbmmaakkee. This is equivalent to `::SS//\\$$//&&&&//gg::QQ'.
993 The value is interpreted as a format string for strftime(3), using
1002 The value is interpreted as a format string for strftime(3), using
1009 _t_i_m_e_s_t_a_m_p is set to `error', then stat(2) failure will cause an
1012 ::ttAA Attempts to convert the value to an absolute path using realpath(3).
1015 ::ttll Converts the value to lower-case letters.
1020 changes the separator to the character _c. If _c is omitted, no
1024 ::tttt Converts the first character of each word to upper-case, and the
1025 rest to lower-case letters.
1027 ::ttuu Converts the value to upper-case letters.
1029 ::ttWW Causes subsequent modifiers to treat the value as a single word
1032 ::ttww Causes the value to be treated as a list of words. See also `::[[@@]]'.
1036 value, replacing it with _n_e_w___s_t_r_i_n_g. If a `g' is appended to the
1038 replaced. If a `1' is appended to the last delimiter of the
1040 appended to the last delimiter of the pattern, the value is treated
1046 used as the delimiter for the parts of the modifier string. The
1060 modifier causes the substitution to apply to at most one word; the
1061 `g' modifier causes the substitution to apply to as many instances
1063 found in; the `W' modifier causes the value to be treated as a
1066 As for the ::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
1075 conditional expression, evaluates to true, return as its value the
1079 variable expansions. A common error is trying to use expressions
1083 match "42", you need to use something like:
1109 time of reference. For each word in the value, assign the word to
1127 Here `$_' is used to save the result of the `:S' modifier which is
1147 variable is used. In order for this modifier to work, the name
1159 wanting to set a variable at a point where a target's shell commands
1160 are being parsed. These assignment modifiers always expand to
1171 Append _s_t_r to the variable.
1174 Assign the output of _c_m_d to the variable.
1178 operations related to the way in which the value is split into
1187 The _r_a_n_g_e is subjected to variable expansion, and the expanded
1193 Selects all words from _s_t_a_r_t to _e_n_d, inclusive. For example,
1194 `::[[22....--11]]' selects all words from the second word to the last
1197 from last to first. If the list is already ordered, this
1198 effectively reverses the list, but it is more efficient to
1201 ** Causes subsequent modifiers to treat the value as a single
1202 word (possibly containing embedded whitespace). Analogous to
1207 @@ Causes subsequent modifiers to treat the value as a sequence
1208 of words delimited by whitespace. Analogous to the effect of
1215 loops. All these directives are identified by a line beginning with a
1221 Variables between the angle brackets or double quotes are expanded to
1223 expected to be in the system makefile directory. If double quotes are
1246 Appending a variable name to _._M_A_K_E_._E_X_P_O_R_T_E_D is equivalent to
1256 to _._M_A_K_E_._E_X_P_O_R_T_E_D. This allows exporting a value to the
1289 The directives for printing messages to the output are:
1293 line number.
1297 of the makefile and line number.
1301 line number, bbmmaakkee exits immediately.
1346 bbmmaakkee only evaluates a conditional as far as is necessary to determine
1347 its value. Parentheses can be used to override the operator precedence.
1348 The boolean operator `!!' may be used to logically negate an expression,
1355 Evaluates to true if the variable _v_a_r_n_a_m_e has been defined.
1358 Evaluates to true if the target was specified as part of bbmmaakkee's
1359 command line or was declared the default target (either
1360 implicitly or explicitly, see _._M_A_I_N) before the line containing
1364 Evaluates to true if the expansion of the variable, after
1365 applying the modifiers, results in an empty string.
1368 Evaluates to true if the given pathname exists. If relative, the
1372 Evaluates to true if the target has been defined.
1375 Evaluates to true if the target has been defined and has commands
1378 _E_x_p_r_e_s_s_i_o_n may also be an arithmetic or string comparison. Variable
1381 numerically, otherwise lexicographically. A string is interpreted as a
1389 expression evaluates to true if it is nonempty and its numeric value (if
1394 "make" or "defined" function is applied to it, depending on the form of
1399 If the conditional evaluates to true, parsing of the makefile continues
1400 as before. If it evaluates to false, the following lines until the
1404 For loops are typically used to apply a set of rules to a list of files.
1412 of the loop, one word is taken and assigned to each _v_a_r_i_a_b_l_e, in order,
1428 command line, and continue to the end of an unescaped new line.
1437 ..MMAADDEE Mark all sources of this target as being up to date.
1440 or --tt options were specified. Normally used to mark recursive
1456 applies to any command line that uses the variable _._O_O_D_A_T_E,
1473 default target to be built if no target was specified. This
1478 figure out how to create it, it ignores this fact and assumes
1481 ..PPHHOONNYY The target does not correspond to an actual file; it is always
1482 considered to be out of date, and is not created with the --tt
1483 option. Suffix-transformation rules are not applied to ..PPHHOONNYY
1501 ..UUSSEE target's commands are appended to them.
1505 target commands to the target.
1507 ..WWAAIITT If ..WWAAIITT appears in a dependency line, the sources that precede
1508 it are made before the sources that succeed it in the line.
1532 ..BBEEGGIINN Any command lines attached to this target are executed before
1537 as a source) that bbmmaakkee can't figure out any other way to
1539 a target that inherits ..DDEEFFAAUULLTT's commands is set to the
1544 make to delete targets whose commands fail. (By default, only
1547 used to help prevent half-finished or malformed targets from
1550 ..EENNDD Any command lines attached to this target are executed after
1553 ..EERRRROORR Any command lines attached to this target are executed when
1569 This target provides a way to specify flags for bbmmaakkee at the
1570 time when the makefiles are read. The flags are as if typed to
1573 ..NNOOPPAATTHH Apply the ..NNOOPPAATTHH attribute to any specified sources.
1587 changes the current working directory to it and updates the
1591 ordering does not add targets to the list of targets to be made.
1601 ..PPAATTHH The sources are directories which are to be searched for files
1608 Like ..PPAATTHH but applies only to files with a particular suffix.
1611 ..PPHHOONNYY Apply the ..PPHHOONNYY attribute to any specified sources.
1613 ..PPOOSSIIXX If this is the first non-comment line in the main makefile, the
1614 variable _%_P_O_S_I_X is set to the value `1003.2' and the makefile
1615 `<posix.mk>' is included if it exists, to provide POSIX-
1617 only `posix.mk' contributes to the default rules.
1620 Apply the ..PPRREECCIIOOUUSS attribute to any specified sources. If no
1621 sources are specified, the ..PPRREECCIIOOUUSS attribute is applied to
1628 ..SSHHEELLLL Sets the shell that bbmmaakkee uses to execute commands. The sources
1631 name This is the minimal specification, used to select
1632 one of the built-in shell specs; sh, ksh, and csh.
1634 path Specifies the absolute path to the shell.
1638 check The command to turn on error checking.
1640 ignore The command to disable error checking.
1642 echo The command to turn on echoing of commands executed.
1644 quiet The command to turn off echoing of commands
1647 filter The output to filter after issuing the quiet
1648 command. It is typically identical to quiet.
1650 errFlag The flag to pass the shell to enable error checking.
1652 echoFlag The flag to pass the shell to enable command
1655 newline The string literal to pass the shell that results in
1665 ..SSIILLEENNTT Apply the ..SSIILLEENNTT attribute to any specified sources. If no
1666 sources are specified, the ..SSIILLEENNTT attribute is applied to every
1670 entries, having _._A_L_L_S_R_C set to the name of that dependency file.
1673 Each source specifies a suffix to bbmmaakkee. If no sources are
1684 The sources are directories which are to be added to the system
1695 the command line to bbmmaakkee and not as makefile variables; see the
1701 command line
1703 command line
1716 so that they still appear to be variable expansions. In particular this
1721 .ORDER and .WAIT apply recursively to the dependent nodes. The
1730 pertaining to parallelization. (GNU make supports
1731 parallelization but lacks the features needed to control it
1743 ++oo Variable modifiers, except for the `:old=new' string
1753 behavior is too ill-defined (and too buggy) to rely upon.
1757 current directory, not trying to chain transformations together, etc.) is
1764 bbmmaakkee is derived from NetBSD make(1). It uses autoconf to facilitate
1765 portability to other platforms.
1769 Berkeley. It was designed to be a parallel distributed make running jobs
1772 Historically the target/dependency FFRRCC has been used to FoRCe rebuilding
1777 The make syntax is difficult to parse. For instance, finding the end of
1780 and () in order to find the end of a variable expansion.
1786 token pool to abort the build and exit with error code 6. Sometimes the
1787 attempt to suppress a cascade of unnecessary errors, can result in a