CM3 Quick Reference

Critical Mass Modula-3 version d5.8.1
  last updated: 2009-05-16
  compiled: 2009-06-17 10:04:22
  configuration: /usr/local/cm3/bin/cm3.cfg

command line options:

modes:  (default: -build)
  -build         compile and link
  -ship          install package
  -clean         delete derived files
  -realclean     delete derived target directory
  -find          locate source files
  -depend        output package dependencies

compile options:  (default: -g -w1)
  -g             produce symbol table information for debugger
  -O             optimize code
  -A             disable code generation for assertions
  -once          don't recompile to improve opaque object code
  -w0 .. -w3     limit compiler warning messages
  -Z             generate coverage analysis code
  -profile       generate profiling code
  -lazy          generate lazy module initialization code
                 (main module and imports only) This is the default.
  -linkall       generate module initialization code for all modules,
                 even those that are not imported directly or indirectly
                 by Main. This is currently experimental and does not
                 always work as expected.

program and library options:  (default: -o prog)
  -c             compile only, produce no program or library
  -a <foo>       build library <foo>
  -o <foo>       build program <foo>
  -skiplink      skip the final link step

messages:  (default: -why)
  -silent        produce no diagnostic output
  -why           explain why code is being recompiled
  -commands      list system commands as they are performed
  -verbose       list internal steps as they are performed
  -debug         dump internal debugging information
  -trace         trace quake code execution

information and help:
  -help          print this help message
  -?             print this help message
  -version       print the version number header
  -config        print the version number header

  --             end of options
  -keep          preserve intermediate and temporary files
  -times         produce a dump of elapsed times
  -override      include the "m3overrides" file
  -x             include the "m3overrides" file
  -D<symbol>     define <symbol> with the value TRUE
  -D<sym>=<val>  define <sym> with the value <val>
  -F <fn>        prepend the quake code of file <fn>
  -FP <fn>        "
  -prepend <fn>   "
  -FA <fn>       append the quake code of file <fn>
  -append <fn>    "
  -console       produce a Windows CONSOLE subsystem program
  -gui           produce a Windows GUI subsystem program
  -windows       produce a Windows GUI subsystem program
  -pretend <val> pretend to run as CM3_Version <val>
  -gw            install group writable files
  -group-writable "
  -no-m3ship-resolution use quake variables in .M3SHIP (experimental)

environment variables:
  M3CONFIG       platform dependent configuration file to use (cm3.cfg)
                 used if no suitable file is found in the local package
  QUAKE_SHELL    shell to be used by the quake interpreter for exec()
  QUAKE_SHELL_OPTION command option for quake shell (-c, /c)
  QUAKE_TMPDIR   directory for temporary files used by quake
  CM3_INSTALL_PREFIX path prefix to prepend to filenames being installed,
                 "make DESTDIR=" behaviour for cm3