Dmake

Library Manpages


  


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.


Please send comments and suggestions to webmaster
Copyright © 1996   WTI Corp. All rights reserved.