![]() |
|
  
|
dmake
dmake - maintain program groups, or interdependent files
SYNOPSIS
dmake [-P#] [-{f|C|K} file] [-{w|W} target ...]
[macro[[!][*][+][:]]=value ...] [-v{cdfimtw}]
[-ABcdeEghiknpqrsStTuVxX] [target ...]
DESCRIPTION
dmake is a re-implementation of the UNIX Make utility with
significant enhancements. dmake executes commands found
in an external file called a makefile to update one or
more target names. Each target may depend on zero or more
prerequisite targets. If any of the target's prerequi-
sites is newer than the target or if the target itself
does not exist, then dmake will attempt to make the tar-
get.
If no -f command line option is present then dmake
searches for an existing makefile from the list of prereq-
uisites specified for the special target .MAKEFILES (see
the STARTUP section for more details). If "-" is the name
of the file specified to the -f flag then dmake uses stan-
dard 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 def-
initions found inside the makefile to redefine a macro
defined on the command line, see the MACROS section for
exceptions.
If no target names are specified on the command line, then
dmake uses the first non-special target found in the make-
file as the default target. See the SPECIAL TARGETS sec-
tion for the list of special targets and their function.
Makefiles written for most previous versions of Make will
be handled correctly by dmake. Known differences between
dmake and other versions of make are discussed in the COM-
PATIBILITY section found at the end of this document.
dmake returns 0 if no errors were detected and a non-zero
result if an error occurred.
OPTIONS
-A Enable AUGMAKE special inference rule transforma-
tions (see the "PERCENT(%) RULES" section), these
are set to off by default.
-B Enable the use of spaces instead of <tabs> to begin
recipe lines. This flag equivalent to the .NOTABS
special macro and is further described below.
of comment character wherever it may appear unless
it is escaped by a \.
-C [+]file
This option writes to file a copy of standard out-
put and standard error from any child processes and
from the dmake process itself. If you specify a +
prior to the file name then the text is appended to
the previous contents of file. This option is
active in the MSDOS implementation only and is
ignored by non-MSDOS versions of dmake.
-d Disable the use of the directory cache. Normally
dmake caches directories as it checks file times-
tamps. Giving this flag is equivalent to the
.DIRCACHE attribute or macro being set to no.
-E Read the environment and define all strings of the
form 'ENV-VAR=evalue' defined within as macros
whose name is ENV-VAR, and whose value is 'evalue'.
The environment is processed prior to processing
the user specified makefile thereby allowing defi-
nitions in the makefile to override definitions in
the environment.
-e Same as -E, except that the environment is pro-
cessed after the user specified makefile has been
processed (thus definitions in the environment
override definitions in the makefile). The -e and
-E options are mutually exclusive. If both are
given the latter takes effect.
-f file
Use file as the source for the makefile text. Only
one -f option is allowed.
-g Globally disable group recipe parsing, equivalent
to the .IGNOREGROUP attribute or macro being set to
yes at the start of the makefile.
-h Print the command summary for dmake.
-i Tells dmake to ignore errors, and continue making
other targets. This is equivalent to the .IGNORE
attribute or macro.
-K file
Turns on .KEEP_STATE state tracking and tells dmake
to use file as the state file.
-k Causes dmake to ignore errors caused by command
execution and to make all targets not depending on
specifying -k causes dmake to ignore the error and
continue to make as much as possible.
-n Causes dmake to print out what it would have exe-
cuted, but does not actually execute the commands.
A special check is made for the string "$(MAKE)"
inside a recipe line, if it is found, the line is
expanded and invoked, thereby enabling recursive
makes to give a full description of all that they
will do. This check is disabled inside group
recipes.
-p Print out a version of the digested makefile in
human readable form. (useful for debugging, but
cannot be re-read by dmake)
-P# On systems that support multi-processing cause
dmake to use # concurrent child processes to make
targets. See the "MULTI PROCESSING" section for
more information.
-q Check and see if the target is up to date. Exits
with code 0 if up to date, 1 otherwise.
-r Tells dmake not to read the initial startup make-
file, see STARTUP section for more details.
-s Tells dmake 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 attribute or macro.
-S Force sequential execution of recipes on architec-
tures which support concurrent makes. For backward
compatibility with old makefiles that have nasty
side-effect prerequisite dependencies.
-t Causes dmake 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.
-T Tells dmake to not perform transitive closure on
the inference graph.
-u Force an unconditional update. (ie. do everything
that would be done if everything that a target
depended on was out of date)
-v[dfimtw]
Verbose flag, when making targets print to stdout
what we are going to make and what we think its
In the absence of any optional flags all are
assumed to be given (ie. -v is equivalent to
-vdfimt). The meanings of the optional flags are:
c Notify of directory cache operations only.
d Notify of change directory operations only.
f Notify of file I/O operations only.
i Notify of inference algorithm operation
only.
m Notify of target update operations only.
t Keep any temporary files created; normally
they are automatically deleted.
w Notify of non-essential warnings (these are
historical).
-V Print the version of dmake, and values of builtin
macros.
-W target
Run dmake pretending that target is out of date.
-w target
What if? Show what would be made if target were out
of date.
-x Upon processing the user makefile export all non-
internally defined macros to the user's environ-
ment. This option together with the -e option
allows SYSV AUGMAKE recursive makes to function as
expected.
-X Inhibit the execution of #! lines found at the
beginning of a makefile. The use of this flag pre-
vents non-termination of recursive make invoca-
tions.
Copyright © 1996 WTI Corp. All rights reserved. |