📄 dmake.man
字号:
DMAKE(p) Unsupported Free Software DMAKE(p)
NNAAMMEE
ddmmaakkee - maintain program groups, or interdependent files
SSYYNNOOPPSSIISS
ddmmaakkee [-P#] [-{f|C|K} file] [-{w|W} target ...]
[macro[[!][*][+][:]]=_v_a_l_u_e ...] [-v{cdfimt}]
[-ABcdeEghiknpqrsStTuVxX] [target ...]
DDEESSCCRRIIPPTTIIOONN
ddmmaakkee is a re-implementation of the UNIX Make utility with
significant enhancements. ddmmaakkee executes commands found in
an external file called a _m_a_k_e_f_i_l_e to update one or more
target names. Each target may depend on zero or more prere-
quisite targets. If any of the target's prerequisites is
newer than the target or if the target itself does not
exist, then ddmmaakkee will attempt to make the target.
If no --ff command line option is present then ddmmaakkee searches
for an existing _m_a_k_e_f_i_l_e from the list of prerequisites
specified for the special target _._M_A_K_E_F_I_L_E_S (see the STARTUP
section for more details). If "-" is the name of the file
specified to the --ff flag then ddmmaakkee uses standard input as
the source of the makefile text.
Any macro definitions (arguments with embedded "=" signs)
that appear on the command line are processed first and
supercede definitions for macros of the same name found
within the makefile. In general it is impossible for defin-
itions found inside the makefile to redefine a macro defined
on the command line, see the MACROS section for exceptions.
If no _t_a_r_g_e_t names are specified on the command line, then
ddmmaakkee uses the first non-special target found in the
makefile as the default target. See the SSPPEECCIIAALL TTAARRGGEETTSS
section for the list of special targets and their function.
Makefiles written for most previous versions of _M_a_k_e will be
handled correctly by ddmmaakkee.. Known differences between ddmmaakkee
and other versions of make are discussed in the CCOOMMPPAATTIIBBIILL----
IITTYY section found at the end of this document. ddmmaakkee
returns 0 if no errors were detected and a non-zero result
if an error occurred.
OOPPTTIIOONNSS
--AA Enable AUGMAKE special inference rule transformations
(see the "PERCENT(%) RULES" section), these are set to
off by default.
--BB Enable the use of spaces instead of <tabs> to begin
recipe lines. This flag equivalent to the .NOTABS spe-
cial macro and is further described below.
Version 3.9 PL0 UW 1
DMAKE(p) Unsupported Free Software DMAKE(p)
--cc Use non-standard comment stripping. If you specify --cc
then ddmmaakkee will treat any ## character as a start of
comment character wherever it may appear unless it is
escaped by a \.
--CC [[++]]ffiillee
This option writes to _f_i_l_e a copy of standard output
and standard error from any child processes and from
the ddmmaakkee process itself. If you specify a ++ prior to
the file name then the text is appended to the previous
contents of _f_i_l_e. This option is active in the MSDOS
implementation only and is ignored by non-MSDOS ver-
sions of ddmmaakkee..
--dd Disable the use of the directory cache. Normally ddmmaakkee
caches directories as it checks file timestamps. Giv-
ing this flag is equivalent to the .DIRCACHE attribute
or macro being set to _n_o.
--EE Read the environment and define all strings of the form
'EENNVV--VVAARR=_e_v_a_l_u_e' defined within as macros whose name is
EENNVV--VVAARR, and whose value is '_e_v_a_l_u_e'. The environment
is processed prior to processing the user specified
makefile thereby allowing definitions in the makefile
to override definitions in the environment.
--ee Same as -E, except that the environment is processed
after the user specified makefile has been processed
(thus definitions in the environment override defini-
tions in the makefile). The -e and -E options are
mutually exclusive. If both are given the latter takes
effect.
--ff ffiillee
Use ffiillee as the source for the makefile text. Only one
--ff option is allowed.
--gg Globally disable group recipe parsing, equivalent to
the .IGNOREGROUP attribute or macro being set to _y_e_s at
the start of the makefile.
--hh Print the command summary for ddmmaakkee.
--ii Tells ddmmaakkee to ignore errors, and continue making other
targets. This is equivalent to the .IGNORE attribute
or macro.
--KK ffiillee
Turns on ..KKEEEEPP__SSTTAATTEE state tracking and tells ddmmaakkee to
use _f_i_l_e as the state file.
Version 3.9 PL0 UW 2
DMAKE(p) Unsupported Free Software DMAKE(p)
--kk Causes ddmmaakkee to ignore errors caused by command execu-
tion and to make all targets not depending on targets
that could not be made. Ordinarily ddmmaakkee stops after a
command returns a non-zero status, specifying --kk causes
ddmmaakkee to ignore the error and continue to make as much
as possible.
--nn Causes ddmmaakkee to print out what it would have executed,
but does not actually execute the commands. A special
check is made for the string "$(MAKE)" inside a recipe
line, if found, the line is expanded and invoked,
thereby enabling recursive makes to give a full
description of all that they will do. The check for
"$(MAKE)" is disabled inside group recipes.
--pp Print out a version of the digested makefile in human
readable form. (useful for debugging, but cannot be
re-read by ddmmaakkee)
--PP## On systems that support multi-processing cause ddmmaakkee to
use _# concurrent child processes to make targets. See
the "MULTI PROCESSING" section for more information.
--qq Check and see if the target is up to date. Exits with
code 0 if up to date, 1 otherwise.
--rr Tells ddmmaakkee not to read the initial startup makefile,
see STARTUP section for more details.
--ss Tells ddmmaakkee to do all its work silently and not echo
the commands it is executing to stdout (also suppresses
warnings). This is equivalent to the .SILENT attri-
bute or macro.
--SS Force sequential execution of recipes on architectures
which support concurrent makes. For backward compati-
bility with old makefiles that have nasty side-effect
prerequisite dependencies.
--tt Causes ddmmaakkee to touch the targets and bring them up to
date without executing any commands. Note that targets
will not be created if they do not already exist.
--TT Tells ddmmaakkee to not perform transitive closure on the
inference graph.
--uu Force an unconditional update. (ie. do everything that
would be done if everything that a target depended on
was out of date)
--vv[[ddffiimmtt]]
Verbose flag, when making targets print to stdout what
Version 3.9 PL0 UW 3
DMAKE(p) Unsupported Free Software DMAKE(p)
we are going to make and what we think its time stamp
is. The optional flags [[ddffiimmtt]] can be used to restrict
the information that is displayed. In the absence of
any optional flags all are assumed to be given (ie. --vv
is equivalent to --vvddffiimmtt). The meanings of the
optional flags are:
dd Notify of change directory operations only.
ff Notify of file I/O operations only.
ii Notify of inference algorithm operation only.
mm Notify of target update operations only.
tt Keep any temporary files created; normally they
are automatically deleted.
--VV Print the version of ddmmaakkee, and values of builtin mac-
ros.
--WW ttaarrggeett
Run ddmmaakkee pretending that _t_a_r_g_e_t is out of date.
--ww ttaarrggeett
_W_h_a_t _i_f_? Show what would be made if _t_a_r_g_e_t were out of
date.
--xx Upon processing the user makefile export all non-
internally defined macros to the user's environment.
This option together with the -e option allows SYSV
AUGMAKE recursive makes to function as expected.
--XX Inhibit the execution of ##!! lines found at the begin-
ning of a makefile. The use of this flag prevents
non-termination of recursive make invocations.
IINNDDEEXX
Here is a list of the sections that follow and a short
description of each. Perhaps you won't have to read the
entire man page to find what you need.
SSTTAARRTTUUPP Describes ddmmaakkee initialization.
SSYYNNTTAAXX Describes the syntax of makefile expres-
sions.
AATTTTRRIIBBUUTTEESS Describes the notion of attributes and
how they are used when making targets.
MMAACCRROOSS Defining and expanding macros.
Version 3.9 PL0 UW 4
DMAKE(p) Unsupported Free Software DMAKE(p)
RRUULLEESS AANNDD TTAARRGGEETTSS How to define targets and their prere-
quisites.
RREECCIIPPEESS How to tell ddmmaakkee how to make a target.
TTEEXXTT DDIIVVEERRSSIIOONNSS How to use text diversions in recipes and
macro expansions.
SSPPEECCIIAALL TTAARRGGEETTSS Some targets are special.
SSPPEECCIIAALL MMAACCRROOSS Macros used by ddmmaakkee to alter the pro-
cessing of the makefile, and those
defined by ddmmaakkee for the user.
CCOONNTTRROOLL MMAACCRROOSS Itemized list of special control macros.
RRUUNN--TTIIMMEE MMAACCRROOSS Discussion of special run-time macros
such as $@ and $<.
FFUUNNCCTTIIOONN MMAACCRROOSS GNU style function macros, only $(mktmp
...) for now.
CCOONNDDIITTIIOONNAALL MMAACCRROOSS Target specific conditional macros.
DDYYNNAAMMIICC PPRREERREEQQUUIISSIITTEESS
Processing of prerequisites which contain
macro expansions in their name.
BBIINNDDIINNGG TTAARRGGEETTSS The rules that ddmmaakkee uses to bind a tar-
get to an existing file in the file sys-
tem.
PPEERRCCEENNTT((%%)) RRUULLEESS Specification of recipes to be used by
the inference algorithm.
MMAAKKIINNGG IINNFFEERREENNCCEESS The rules that ddmmaakkee uses when inferring
how to make a target which has no expli-
cit recipe. This and the previous sec-
tion are really a single section in the
text.
MMAAKKIINNGG TTAARRGGEETTSS How ddmmaakkee makes targets other than
libraries.
MMAAKKIINNGG LLIIBBRRAARRIIEESS How ddmmaakkee makes libraries.
KKEEEEPP SSTTAATTEE A discussion of how .KEEP_STATE works.
MMUULLTTII PPRROOCCEESSSSIINNGG Discussion of ddmmaakkee''ss parallel make
facilities for architectures that support
them.
Version 3.9 PL0 UW 5
DMAKE(p) Unsupported Free Software DMAKE(p)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -