1 COMPILE
 Invokes  the  COMPILE  utility  to  compile  one  or  more  files  and
 optionally link and run the resulting program.

 Format:

       COMPILE[/global_qualifiers] file[/local_qualifiers] [...]
2 Features
  o  Provide a common command language interface to all compilers.
  o  Select the compiler to use based on file type.
  o  Compile only the files which were created or revised.
  o  Compile if 'included' files were revised.
  o  Create and maintain user libraries.
  o  Link if files were compiled.
  o  Link if external modules or libraries were revised.
  o  Run the resulting program.

2 Compilers
 Following is a list of all compilers supported by  COMPILE  and  their
 corresponding file types:

        Compiler                file type
        --------                ---------
        BLISS                   .B32
        FORTRAN                 .FOR
        PASCAL                  .PAS
        BASIC                   .BAS
        MACRO                   .MAR
        MACRO11                 .MAC

 COMPILE selects the compiler to use for a file based on the file type.
 If you specify a file without a type, COMPILE will search for the file
 having one of the above types.
2 Examples
 Compile with listings and link a main program with two subroutines:
     compile/list/link main sub1 sub2

 Same as above but include the debugger for the main program only:
     compile/list/link=(/debug) main/debug sub1 sub2

 Same as above but include the debugger for all modules:
     compile/list/debug/link=(/debug) main sub1 sub2

 Same as above but run the resulting program:
     compile/list/debug/run=(/debug) main sub1 sub2

 Same as first example but using a library for sub1 and sub2:
     compile/list/link/library=subs main/nolibrary sub1 sub2

 Same as above but including the main program in the library:
     compile/list/link=(subs/include=test$main)/lib=subs main sub1 sub2

 Compile and link a main program which uses an external library:
     compile/link=(sys$library:icr/library) main
2 Parameters
 file [...]

 Specifies one or more VAX-11 source programs to be compiled.   If  you
 specify the file type, it must be one of the supported types listed in
 the HELP COMPILE COMPILERS  section.   If  you  omit  the  file  type,
 COMPILE  will  search  for the file having one of the supported types.
 In either case, COMPILE will use the  compiler  corresponding  to  the
 file type to compile the source program.

 You can specify more than one source program.   If  you  separate  the
 files with a space or comma, each file is compiled separately.  If you
 separate the files with plus signs, the  files  are  concatenated  and
 compiled   as   a  single  file,  producing  one  object  module  and,
 optionally, one listing, both with the same name as the last  file  in
 the concatenated list.
2 Qualifiers
 There are two types of qualifiers, global and local:

  o  Global qualifiers are those which qualify COMPILE
     (COMPILE/LIST TEST).  They apply to all files on the command line.

  o  Local qualifiers are those which qualify a file
     (COMPILE TEST/LIST).  They apply only to the file they qualify.

 Certain qualifiers, listed below,  are  recognized  and  processed  by
 COMPILE.   Unrecognized  qualifiers  are passed on to the compiler for
 processing.

/EXECUTABLE=file-spec

 This qualifier instructs COMPILE to link, if necessary, the  files  on
 the command line and name the task "file-spec".  By default, the first
 file on the command  line  is  used  to  name  the  task  file.   This
 qualifier may also be included as an argument to the /LINK qualifier.

 See also the /LINK qualifier.

/FORCE

 This qualifier instructs COMPILE to force compilation of the files  it
 qualifies.

/INCLUDED=(file-spec [...])

 This qualifier instructs  COMPILE  to  check  for  revision  of  files
 included in your source program when determining whether to recompile.
 When only one file-spec is included the parentheses may be omitted.

/LIST

 This qualifier instructs COMPILE to produce compiler listings  of  any
 files  it  qualifies  which  are  compiled.  The listing files will be
 named by each file compiled.

/LIBRARY=(file-spec[library qualifiers])

 This qualifier instructs COMPILE to create, if necessary, and maintain
 a  user  library.   Any files which are compiled will be placed in the
 library.  When library qualifiers are not included the parentheses may
 be omitted.  Note that if the source module(s) are compatibility-mode,
 the RSX-11M Librarian utility will be used.

 See also the /NOLIBRARY qualifier.

/LINK[=([link qualifiers] [file-spec[qualifiers]] [...])]

 This qualifier instructs COMPILE to link, if necessary, all  files  on
 the  command  line.   By  default, the task will be named by the first
 file, not included in a library, on the command line.   Any  arguments
 present on the /LINK qualifier and any libraries specified by /LIBRARY
 will also be included in the link operation.  COMPILE will  check  for
 revision of any files included in the /LINK qualifier when determining
 whether it is  necessary  to  relink  your  program.   When  only  one
 file-spec  is  included in the /LINK qualifier, the parentheses may be
 omitted.  Note that if the source  module(s)  are  compatibility-mode,
 the  RSX-11M  Task  Builder  will be used to link the resultant object
 modules.

 See also the /EXECUTABLE and /NOLIBRARY qualifiers and HELP LINK.

/NOOBJECT

 This qualifier instructs COMPILE to force compilation of all files  it
 qualifies  without  producing  any object files.  It is useful, during
 program development, for checking your source programs for errors.

 The /NOOBJECT qualifier implies the /FORCE qualifier.

/NOLIBRARY

 This qualifier, used in combination with /LIBRARY,  instructs  COMPILE
 to  omit  the  file  it qualifies from the library.  It is useful, for
 example, when you wish to omit the main program from the library while
 including all subroutines.


 See also the /LIBRARY qualifier.

/RUN[=([link qualifiers] [file-spec[qualifiers]] [...])]

 This qualifier instructs COMPILE to link, if necessary, all  files  on
 the  command  line  and  run  the  resulting  program.   The qualifier
 arguments are the same as the /LINK arguments.

 See also the /LINK qualifier and HELP EXECUTE.

/STANDARD

 This qualifier pertains only  to  PASCAL  compilations  and  instructs
 COMPILE  to  pass  /STANDARD  on  to the PASCAL compiler.  By default,
 COMPILE passes /NOSTANDARD on to the PASCAL compiler.

/OUTPUT=file-spec

 By default, COMPILE  writes,  and  subsequently  executes,  a  command
 procedure  to compile, and optionally, link and run your program.  The
 /OUTPUT qualifier instructs COMPILE to write the command procedure  to
 a file for later execution.

 The /OUTPUT qualifier implies the /FORCE qualifier.

/VERIFY

 This qualifier instructs COMPILE to display all commands as  they  are
 executed.
