home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 375.lha / m2make_v1.02 / m2make.doc < prev    next >
Text File  |  1990-05-02  |  8KB  |  167 lines

  1.  
  2.     M2Make   -   Modula-2 make utility.  Version 1.02
  3.  
  4.  
  5. Bugs Fixed:
  6.  
  7.     o User size and Library size calculated correctly internally.
  8.  
  9.     o Linkage now performed even if no compiles were necessary, but one or more
  10.       object files were out of sync with the target binary file.
  11.  
  12.     o Verbose level indentation corrected.
  13.  
  14.  
  15. Revisions:
  16.  
  17.     o Update flag 'c' removed. It had little use, and caused problems.
  18.  
  19.     o Immediate mode compiles now cause the binary output from the compile to
  20.       be time re-stamped internally to reflect their new creation time.
  21.  
  22.     o Changed a few message formats.
  23.  
  24.  
  25. Description:
  26.  
  27.     M2Make will scan your M2 source code, checking for date synchronization of
  28.  
  29.     all files that your program IMPORT's.   M2Make will then report which files
  30.  
  31.     need to be re-compiled, and can optionally re-compile them for you.
  32.  
  33.  
  34.     USAGE:
  35.  
  36.         Parameters in '<>' pairs are required.
  37.         Parameters in '{} are optional.
  38.         Parameters separated by '|' mean any combination is valid.
  39.         Parameters separated by '\' mean only one can be chosen.
  40.         Parameters in '<>' pairs within '{}' pairs are considered required
  41.             only if the parameter in the '{}' pair is specified.
  42.         Any words after a '*' are comments.
  43.  
  44.         Note: You need not actually type '{}' or '<>' when you run M2make.
  45.               They are used only in describing the M2Make parameters.
  46.  
  47.  
  48.         M2Make  <Filename>                  *The main file for M2Make to scan.
  49.                                             *This is considered the 'target' file.
  50.  
  51.                 { -q | -t | -v | -z }       *Message level. Default = -t
  52.                                             *   -q = Quiet. No messages.
  53.                                             *   -t = Terse.
  54.                                             *   -v = Verbose.
  55.                                             *   -z = Debug. Internal use only.
  56.  
  57.                 { -u a|d|l|m|n }            *Update flags. Default = -u cdm
  58.                                             *   a = Update all file, regardless of
  59.                                             *       datestamp.
  60.                                             *   d = Update DEFINITION modules only.
  61.                                             *   l = Perform a re-linkage if any
  62.                                             *       modules are re-compiled.
  63.                                             *   m = Update IMPLEMENTATION or MODULE
  64.                                             *       modules only.
  65.                                             *   n = Update no modules.
  66.  
  67.                 { -b <batchname>   |        *Run type. Default = -s.
  68.                   -x <executename> |        *   -b = Create a batch file of just the
  69.                   -i               |        *        program names being compiled.
  70.                   -s                        *
  71.                 }                           *   -x = Create a file that can be used
  72.                                             *        with the DOS execute command.
  73.                                             *        -cn parameter also required
  74.                                             *        if -x is specified.
  75.                                             *   -i = Compile immediately.
  76.                                             *        -cn parameter also required
  77.                                             *        if -x is specified.
  78.                                             *   -s = Show only what needs to be
  79.                                             *        re-compiled. Equivalent to
  80.                                             *        'n' Update flag.
  81.  
  82.                 { -cn <compilername> }      *Compiler name. Default = -cn m2
  83.                                             *   Name of compiler to use with -x and
  84.                                             *   -i Run types.
  85.  
  86.                 { -cf <compilerflags> }     *Compiler flags. Default = blank.
  87.                                             *   Compiler specific flags for use with
  88.                                             *   -b, -x, -i Run types. Surround with
  89.                                             *   single quotes if there are any
  90.                                             *   spaces or '-' in the compiler flags.
  91.  
  92.                 { -ln <linkername> }        *Linker name. Default = m2lk
  93.                                             *   Name of linker to use if 'l' flag
  94.                                             *   specified in the Update flags.
  95.  
  96.                 { -lf <linkerflags> }       *Linker flags. Default = blank.
  97.                                             *   Linker specific flags for use with
  98.                                             *   'l' Update flag.
  99.  
  100.                 { -us <number> }            *User file size. Default = 25.
  101.                                             *   number = Max number of user files
  102.                                             *            for internal buffer.
  103.  
  104.                 { -ls <number> }            *Library file size. Default = 25.
  105.                                             *   number = Max number of library files
  106.                                             *            for internal buffer.
  107.  
  108.                 { -m <modextension> }       *Mod file extension. Default = 'mod'.
  109.                                             *   File extension that IMPLEMENTATION
  110.                                             *   or MODULE modules use.
  111.  
  112.                 { -d <defextension> }       *Def file extension. Default = 'def'.
  113.                                             *   File extension that DEFINITION
  114.                                             *   modules use.
  115.  
  116.                 { -l <lnkextension> }       *Lnk file extension. Default = 'obm'.
  117.                                             *   File extension that compiled
  118.                                             *   IMPLEMENTATION or MODULE modules
  119.                                             *   use.
  120.  
  121.                 { -s <symextension> }       *Sym file extension. Default = 'sbm'.
  122.                                             *   File extension that compiled
  123.                                             *   DEFINITION modules use.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.     Examples:
  130.  
  131.         m2make File1 -t -b xxx.bat -cf '-g -h 1000'
  132.  
  133.             Check File1.mod IMPORT list and place compiler command
  134.             in file 'xxx.bat'.
  135.             Minimal messages are displayed.
  136.  
  137.         m2make File2 -v -e xxx -u cml -lf '-d -a'
  138.  
  139.             Check File2.mod IMPORT list, compiling only changed .mod
  140.             files. Place compiler command in file 'xxx', which can later be
  141.             sent to DOS command 'execute'. If File2.mod needs a re-compile,
  142.             the command 'm2lk File2 -d -a' will be placed as the last line
  143.             in file 'xxx'.
  144.             Verbose messages are displayed.
  145.  
  146.         m2make File3 -q -i -u al -cn modula -ln m2link
  147.  
  148.             Check File3.mod, forcing a re-compile of it and every module
  149.             it IMPORT's. The compile will happen immediately for each
  150.             file, using compiler name 'modula'. After all files are re-compiled,
  151.             File3 will be re-linked using linker name 'm2link'
  152.             No messages will be displayed.
  153.  
  154.  
  155.     TDI example:
  156.         Here is what you need to specify for TDI Modula-2 usage.
  157.  
  158.         m2make FileName -cn modula -cf REF -ln link -ln 'OPT DTABLE'
  159.                         -s sym -l lnk
  160.  
  161.  
  162.  
  163. Questions, comments - contact tcoffey on BIX.
  164.  
  165.     Tim Coffey
  166.     ( 614 ) 848-9724
  167.