pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/bmake/files Import bmake-20090909:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/669a80ce27bb
branches:  trunk
changeset: 399361:669a80ce27bb
user:      joerg <joerg%pkgsrc.org@localhost>
date:      Fri Sep 18 20:55:23 2009 +0000

description:
Import bmake-20090909:
- .MAKE.LEVEL, -C, SIGINFO support
- fixes for :M and \:
- vfork signal handling fixes e.g. for Solaris

diffstat:

 devel/bmake/files/bmake.cat1_           |  1113 +++++++++++++++++++++++++++++++
 devel/bmake/files/lst.lib/lstPrev.c     |    10 +-
 devel/bmake/files/make_malloc.c         |   119 +++
 devel/bmake/files/make_malloc.h         |    41 +
 devel/bmake/files/strlist.c             |    93 ++
 devel/bmake/files/strlist.h             |    62 +
 devel/bmake/files/unit-tests/dotwait    |     2 +-
 devel/bmake/files/unit-tests/export     |     2 +-
 devel/bmake/files/unit-tests/export-all |     2 +-
 devel/bmake/files/unit-tests/moderrs    |     2 +-
 devel/bmake/files/unit-tests/modmatch   |     7 +
 devel/bmake/files/unit-tests/modmisc    |     2 +-
 devel/bmake/files/unit-tests/qequals    |     2 +-
 13 files changed, 1446 insertions(+), 11 deletions(-)

diffs (truncated from 1558 to 300 lines):

diff -r dff40e310cba -r 669a80ce27bb devel/bmake/files/bmake.cat1_
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/bmake/files/bmake.cat1_     Fri Sep 18 20:55:23 2009 +0000
@@ -0,0 +1,1113 @@
+MAKE(1)                 NetBSD General Commands Manual                 MAKE(1)
+
+NNAAMMEE
+     mmaakkee -- maintain program dependencies
+
+SSYYNNOOPPSSIISS
+     mmaakkee [--BBeeiikkNNnnqqrrssttWWXX] [--CC _d_i_r_e_c_t_o_r_y] [--DD _v_a_r_i_a_b_l_e] [--dd _f_l_a_g_s]
+          [--ff _m_a_k_e_f_i_l_e] [--II _d_i_r_e_c_t_o_r_y] [--JJ _p_r_i_v_a_t_e] [--jj _m_a_x___j_o_b_s]
+          [--mm _d_i_r_e_c_t_o_r_y] [--TT _f_i_l_e] [--VV _v_a_r_i_a_b_l_e] [_v_a_r_i_a_b_l_e_=_v_a_l_u_e] [_t_a_r_g_e_t _._._.]
+
+DDEESSCCRRIIPPTTIIOONN
+     mmaakkee is a program designed to simplify the maintenance of other programs.
+     Its input is a list of specifications as to the files upon which programs
+     and other files depend.  If no --ff _m_a_k_e_f_i_l_e makefile option is given, mmaakkee
+     will try to open `_m_a_k_e_f_i_l_e' then `_M_a_k_e_f_i_l_e' in order to find the specifi-
+     cations.  If the file `_._d_e_p_e_n_d' exists, it is read (see mkdep(1)).
+
+     This manual page is intended as a reference document only.  For a more
+     thorough description of mmaakkee and makefiles, please refer to _M_a_k_e _- _A
+     _T_u_t_o_r_i_a_l.
+
+     mmaakkee will prepend the contents of the _M_A_K_E_F_L_A_G_S environment variable to
+     the command line arguments before parsing them.
+
+     The options are as follows:
+
+     --BB      Try to be backwards compatible by executing a single shell per
+             command and by executing the commands to make the sources of a
+             dependency line in sequence.
+
+     --CC _d_i_r_e_c_t_o_r_y
+             Change to _d_i_r_e_c_t_o_r_y before reading the makefiles or doing any-
+             thing else.  If multiple --CC options are specified, each is inter-
+             preted relative to the previous one: --CC _/ --CC _e_t_c is equivalent to
+             --CC _/_e_t_c.
+
+     --DD _v_a_r_i_a_b_l_e
+             Define _v_a_r_i_a_b_l_e to be 1, in the global context.
+
+     --dd _[_-_]_f_l_a_g_s
+             Turn on debugging, and specify which portions of mmaakkee are to
+             print debugging information.  Unless the flags are preceded by
+             `-' they are added to the _M_A_K_E_F_L_A_G_S environment variable and will
+             be processed by any child make processes.  By default, debugging
+             information is printed to standard error, but this can be changed
+             using the _F debugging flag.  The debugging output is always
+             unbuffered; in addition, if debugging is enabled but debugging
+             output is not directed to standard output, then the standard out-
+             put is line buffered.  _F_l_a_g_s is one or more of the following:
+
+             _A       Print all possible debugging information; equivalent to
+                     specifying all of the debugging flags.
+
+             _a       Print debugging information about archive searching and
+                     caching.
+
+             _C       Print debugging information about current working direc-
+                     tory.
+
+             _c       Print debugging information about conditional evaluation.
+
+             _d       Print debugging information about directory searching and
+                     caching.
+
+             _e       Print debugging information about failed commands and
+                     targets.
+
+             _F[++]_f_i_l_e_n_a_m_e
+                     Specify where debugging output is written.  This must be
+                     the last flag, because it consumes the remainder of the
+                     argument.  If the character immediately after the `F'
+                     flag is `+', then the file will be opened in append mode;
+                     otherwise the file will be overwritten.  If the file name
+                     is `stdout' or `stderr' then debugging output will be
+                     written to the standard output or standard error output
+                     file descriptors respectively (and the `+' option has no
+                     effect).  Otherwise, the output will be written to the
+                     named file.  If the file name ends `.%d' then the `%d' is
+                     replaced by the pid.
+
+             _f       Print debugging information about loop evaluation.
+
+             _g_1      Print the input graph before making anything.
+
+             _g_2      Print the input graph after making everything, or before
+                     exiting on error.
+
+             _g_3      Print the input graph before exiting on error.
+
+             _j       Print debugging information about running multiple
+                     shells.
+
+             _l       Print commands in Makefiles regardless of whether or not
+                     they are prefixed by `@' or other "quiet" flags.  Also
+                     known as "loud" behavior.
+
+             _m       Print debugging information about making targets, includ-
+                     ing modification dates.
+
+             _n       Don't delete the temporary command scripts created when
+                     running commands.  These temporary scripts are created in
+                     the directory referred to by the TMPDIR environment vari-
+                     able, or in _/_t_m_p if TMPDIR is unset or set to the empty
+                     string.  The temporary scripts are created by mkstemp(3),
+                     and have names of the form _m_a_k_e_X_X_X_X_X_X.  _N_O_T_E: This can
+                     create many files in TMPDIR or _/_t_m_p, so use with care.
+
+             _p       Print debugging information about makefile parsing.
+
+             _s       Print debugging information about suffix-transformation
+                     rules.
+
+             _t       Print debugging information about target list mainte-
+                     nance.
+
+             _v       Print debugging information about variable assignment.
+
+             _x       Run shell commands with --xx so the actual commands are
+                     printed as they are executed.
+
+     --ee      Specify that environment variables override macro assignments
+             within makefiles.
+
+     --ff _m_a_k_e_f_i_l_e
+             Specify a makefile to read instead of the default `_m_a_k_e_f_i_l_e'.  If
+             _m_a_k_e_f_i_l_e is `--', standard input is read.  Multiple makefiles may
+             be specified, and are read in the order specified.
+
+     --II _d_i_r_e_c_t_o_r_y
+             Specify a directory in which to search for makefiles and included
+             makefiles.  The system makefile directory (or directories, see
+             the --mm option) is automatically included as part of this list.
+
+     --ii      Ignore non-zero exit of shell commands in the makefile.  Equiva-
+             lent to specifying `--' before each command line in the makefile.
+
+     --JJ _p_r_i_v_a_t_e
+             This option should _n_o_t be specified by the user.
+
+             When the _j option is in use in a recursive build, this option is
+             passed by a make to child makes to allow all the make processes
+             in the build to cooperate to avoid overloading the system.
+
+     --jj _m_a_x___j_o_b_s
+             Specify the maximum number of jobs that mmaakkee may have running at
+             any one time.  Turns compatibility mode off, unless the _B flag is
+             also specified.  When compatibility mode is off, all commands
+             associated with a target are executed in a single shell invoca-
+             tion as opposed to the traditional one shell invocation per line.
+             This can break traditional scripts which change directories on
+             each command invocation and then expect to start with a fresh
+             environment on the next line.  It is more efficient to correct
+             the scripts rather than turn backwards compatibility on.
+
+     --kk      Continue processing after errors are encountered, but only on
+             those targets that do not depend on the target whose creation
+             caused the error.
+
+     --mm _d_i_r_e_c_t_o_r_y
+             Specify a directory in which to search for sys.mk and makefiles
+             included via the <_f_i_l_e>-style include statement.  The --mm option
+             can be used multiple times to form a search path.  This path will
+             override the default system include path: /usr/share/mk.  Fur-
+             thermore the system include path will be appended to the search
+             path used for "_f_i_l_e"-style include statements (see the --II
+             option).
+
+             If a file or directory name in the --mm argument (or the
+             MAKESYSPATH environment variable) starts with the string ".../"
+             then mmaakkee will search for the specified file or directory named
+             in the remaining part of the argument string.  The search starts
+             with the current directory of the Makefile and then works upward
+             towards the root of the filesystem.  If the search is successful,
+             then the resulting directory replaces the ".../" specification in
+             the --mm argument.  If used, this feature allows mmaakkee to easily
+             search in the current source tree for customized sys.mk files
+             (e.g., by using ".../mk/sys.mk" as an argument).
+
+     --nn      Display the commands that would have been executed, but do not
+             actually execute them unless the target depends on the .MAKE spe-
+             cial source (see below).
+
+     --NN      Display the commands which would have been executed, but do not
+             actually execute any of them; useful for debugging top-level
+             makefiles without descending into subdirectories.
+
+     --qq      Do not execute any commands, but exit 0 if the specified targets
+             are up-to-date and 1, otherwise.
+
+     --rr      Do not use the built-in rules specified in the system makefile.
+
+     --ss      Do not echo any commands as they are executed.  Equivalent to
+             specifying `@@' before each command line in the makefile.
+
+     --TT _t_r_a_c_e_f_i_l_e
+             When used with the --jj flag, append a trace record to _t_r_a_c_e_f_i_l_e
+             for each job started and completed.
+
+     --tt      Rather than re-building a target as specified in the makefile,
+             create it or update its modification time to make it appear up-
+             to-date.
+
+     --VV _v_a_r_i_a_b_l_e
+             Print mmaakkee's idea of the value of _v_a_r_i_a_b_l_e, in the global con-
+             text.  Do not build any targets.  Multiple instances of this
+             option may be specified; the variables will be printed one per
+             line, with a blank line for each null or undefined variable.  If
+             _v_a_r_i_a_b_l_e contains a `$' then the value will be expanded before
+             printing.
+
+     --WW      Treat any warnings during makefile parsing as errors.
+
+     --XX      Don't export variables passed on the command line to the environ-
+             ment individually.  Variables passed on the command line are
+             still exported via the _M_A_K_E_F_L_A_G_S environment variable.  This
+             option may be useful on systems which have a small limit on the
+             size of command arguments.
+
+     _v_a_r_i_a_b_l_e_=_v_a_l_u_e
+             Set the value of the variable _v_a_r_i_a_b_l_e to _v_a_l_u_e.  Normally, all
+             values passed on the command line are also exported to sub-makes
+             in the environment.  The --XX flag disables this behavior.  Vari-
+             able assignments should follow options for POSIX compatibility
+             but no ordering is enforced.
+
+     There are seven different types of lines in a makefile: file dependency
+     specifications, shell commands, variable assignments, include statements,
+     conditional directives, for loops, and comments.
+
+     In general, lines may be continued from one line to the next by ending
+     them with a backslash (`\').  The trailing newline character and initial
+     whitespace on the following line are compressed into a single space.
+
+FFIILLEE DDEEPPEENNDDEENNCCYY SSPPEECCIIFFIICCAATTIIOONNSS
+     Dependency lines consist of one or more targets, an operator, and zero or
+     more sources.  This creates a relationship where the targets ``depend''
+     on the sources and are usually created from them.  The exact relationship
+     between the target and the source is determined by the operator that sep-
+     arates them.  The three operators are as follows:
+
+     ::     A target is considered out-of-date if its modification time is less
+           than those of any of its sources.  Sources for a target accumulate
+           over dependency lines when this operator is used.  The target is
+           removed if mmaakkee is interrupted.
+
+     !!     Targets are always re-created, but not until all sources have been
+           examined and re-created as necessary.  Sources for a target accumu-
+           late over dependency lines when this operator is used.  The target
+           is removed if mmaakkee is interrupted.
+
+     ::::    If no sources are specified, the target is always re-created.  Oth-
+           erwise, a target is considered out-of-date if any of its sources
+           has been modified more recently than the target.  Sources for a
+           target do not accumulate over dependency lines when this operator
+           is used.  The target will not be removed if mmaakkee is interrupted.
+
+     Targets and sources may contain the shell wildcard values `?', `*', `[]',
+     and `{}'.  The values `?', `*', and `[]' may only be used as part of the
+     final component of the target or source, and must be used to describe
+     existing files.  The value `{}' need not necessarily be used to describe
+     existing files.  Expansion is in directory order, not alphabetically as
+     done in the shell.
+
+SSHHEELLLL CCOOMMMMAANNDDSS
+     Each target may have associated with it a series of shell commands, nor-
+     mally used to create the target.  Each of the commands in this script
+     _m_u_s_t be preceded by a tab.  While any target may appear on a dependency
+     line, only one of these dependencies may be followed by a creation
+     script, unless the `::::' operator is used.
+
+     If the first characters of the command line are any combination of `@@',
+     `++', or `--', the command is treated specially.  A `@@' causes the command
+     not to be echoed before it is executed.  A `++' causes the command to be
+     executed even when --nn is given.  This is similar to the effect of the
+     .MAKE special source, except that the effect can be limited to a single
+     line of a script.  A `--' causes any non-zero exit status of the command
+     line to be ignored.
+
+VVAARRIIAABBLLEE AASSSSIIGGNNMMEENNTTSS
+     Variables in make are much like variables in the shell, and, by tradi-
+     tion, consist of all upper-case letters.
+
+   VVaarriiaabbllee aassssiiggnnmmeenntt mmooddiiffiieerrss
+     The five operators that can be used to assign values to variables are as
+     follows:
+
+     ==       Assign the value to the variable.  Any previous value is overrid-
+             den.
+
+     ++==      Append the value to the current value of the variable.
+
+     ??==      Assign the value to the variable if it is not already defined.
+
+     ::==      Assign with expansion, i.e. expand the value before assigning it
+             to the variable.  Normally, expansion is not done until the vari-
+             able is referenced.  _N_O_T_E: References to undefined variables are



Home | Main Index | Thread Index | Old Index