home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / c / maek.doc < prev    next >
Text File  |  1994-03-07  |  2KB  |  70 lines

  1.  
  2. NAME
  3.     make
  4.  
  5. SYNOPSIS
  6.     make [filename]
  7.  
  8. DESCRIPTION
  9.     MAKE performs the necessary actions to generate an updated
  10.     version of the specified file when some of the files on which
  11.     it depends have been changed.  The dependency relationships and
  12.     the required actions are described in the text file MKFILE,
  13.     as in the following...
  14.                                              
  15.         #
  16.         # make file using DeSmet compiler
  17.         #
  18.         try.exe:    try.o
  19.                 bind try exec
  20.  
  21.         try.o:        try.c
  22.                 c88 try
  23.  
  24.         try.c:
  25.  
  26.         make.exe:    make.o
  27.                 bind make exec
  28.  
  29.         make.o:        make.c
  30.                 c88 make
  31.  
  32.         make.c:
  33.  
  34.     All the blank lines are required.  Lines starting with '#' are
  35.     comments.  Otherwise, MKFILE consists of a series of blocks.  Each
  36.     block is a dependency line followed by zero or more action lines
  37.     followed by a blank line.  A dependency line has a target file
  38.     name, a colon, and a list of the files on which the target file
  39.     depends.  Whitespace (blanks or tabs) can be added for clarity. 
  40.     Any line can be continued by ending it with '\'.
  41.  
  42.     MAKE will find the block in MKFILE which has the specified file
  43.     as a target and record its dependencies and actions.  It will
  44.     repeat this recursively for each dependent file.  It will then
  45.     check the create times and dates of the files.  If any
  46.     dependent files is newer than the corresponding target file,
  47.     the actions which follow will be performed.  MAKE then updates
  48.     the create times and repeats for the other blocks.
  49.  
  50.     If no filename is specified on the command line, MAKE will make
  51.     the first file in MKFILE.
  52.  
  53.     There are several restrictions not present in the Unix facility
  54.     of the same name.  All dependent files must appear somewhere
  55.     else as target files.  That's why the null entries for try.c
  56.     and make.c appear above.  The blocks must be separated by blank
  57.     lines.
  58.  
  59. BUGS
  60.     The DeSmet library doesn't include the function system() used by
  61.     Holub, so I wrote the one included here.  It uses the PATH just
  62.     like COMMAND.COM.  It will find either .COM or .EXE files, but
  63.     can't run .BAT files.
  64.  
  65. AUTHOR
  66.     Written by Allen I.  Holub (published in Dr.  Dobb's Journal
  67.     #106, August 1985)
  68.  
  69.     system() and envsearch() added by James R. Van Zandt.
  70.