     build-prc [ -l ] [ -L ] [ -t TYPE ] PRCFILE APP-NAME CRID FILE...

     build-prc [ -o FILE | --output FILE ]
               [ -a FILE | --appinfo FILE ]
               [ -s FILE | --sortinfo FILE ]
               [ -l ] [ -L ] [ -H | --hack ]
               [ -t TYPE | --type TYPE ]
               [ -c CRID | --creator CRID ]
               [ -n NAME | --name NAME ]
               [ -m NUM | --modification-number NUM ]
               [ -v NUM | --version-number NUM ]
               [ --read-only ] [ --appinfo-dirty ] [ --backup ]
               [ --ok-to-install-newer ] [ --reset-after-install ]
               [ --copy-prevention ] [ --stream ] [ --hidden ]
               [ --launchable-data ] [ --recyclable ] [ --bundle ]
               [ -z N | --compress-data N ]
               [ --no-check-header ] [ --no-check-resources ]
               [ --no-check ]
               FILE...

build-prc reads resources from the input files given and combines them into one output Palm OS .prc resource data file.  There are two styles of build-prc command line:  in the old style, the first three non-option arguments describe the output file, and input files don't start until the fourth argument.  In the new style, all non-option arguments are input files.  An invocation is new-style if the first file argument does not have a .prc extension or if the -o option is used.

Input files are identified by their extension:

FNAME.def
     A project definition file, which controls the post-linking process. If your project uses a definition file, there can be only one and it must be first in the list of input files.  (Hence definition files can only be used in a new-style invocation.)

TYPENNNN.bin
TYPENNNN.PROGNAME.grc
     A raw binary resource file (the .grc style filename is produced by obj-res).  The contents of a raw file are added to the output as a TYPE #NNNN resource, where NNNN is in hexadecimal.

FNAME.prc
FNAME.ro
     A resource database in .prc format.  The contents of all the resources in a resource database are copied to the output database. (The information in the input database's header---name, creator, flags, etc---is entirely ignored.)

PROGNAME
     Files with no extensions are treated as bfd executables.  If a bfd executable contains either a .disposn or a .trap section, its .text section is converted to a stand-alone code resource accordingly (see Stand-alone code).  Otherwise, its code and data sections are converted to resources according to a definition file, or, if there is no definition file, as if the application project kind was specified.

By default, build-prc uses its first non-option argument as the filename for its output .prc file.  In an old-style command line, PRCFILE is used as is.  In a new-style command line, the output filename is formed by removing the extension, if any, from the first file argument and appending `.prc'.

-o FILE
--output FILE
     Write the .prc output to FILE.  It is an error to use this option in an old-style command line, as it conflicts with the mandatory PRCFILE argument.

-a FILE
--appinfo FILE
     Add an AppInfo block with the contents of FILE to the database.

-s FILE
--sortinfo FILE
     Add a SortInfo block with the contents of FILE to the database.

-l
     Build a GLib shared library; this is equivalent to specifying a project kind of ``glib'' in a definition file.  In particular, it changes the default database type and the disposition of code and data sections in the bfd executable, and influences resource checking.

-L
     Build a system shared library; this is equivalent to specifying a project kind of ``syslib'' in a definition file.  In particular, it changes the default database type and the disposition of code (and data) sections in the bfd executable, and influences resource checking.

-H
--hack
     Build a HackMaster hack; this is equivalent to specifying a project kind of ``hack'' in a definition file.  In particular, it changes the default database type, requires all bfd executables to be marked as stand-alone, and influences resource checking.

-t TYPE
--type TYPE
     Set the database's type to TYPE, overriding any type it may get from a definition file or elsewhere.

     Note that this affects only the type recorded in the database header; in particular, it does not change build-prc's notion of the kind of project being generated (see project kinds), nor does it influence resource checking.  If you do not want the database to be checked as if it is an application, you must either tell build-prc what it really is, by using a definition file or one of the options listed above, or, as a last resort, suppress resource checking entirely.

-c CRID
--creator CRID
     Set the database's creator ID to CRID, overriding any ID it may get from a definition file.  It is an error to use this option in an old-style command line, as it conflicts with the mandatory CRID argument.

-n NAME
--name NAME
     Set the database's name to NAME, overriding any name it may get from a definition file.  It is an error to use this option in an old-style command line, as it conflicts with the mandatory APP-NAME argument.

-m NUM
--modification-number NUM
     Set the modification number in the database header to NUM.

-v NUM
--version-number NUM
     Set the database header version number to NUM.

--read-only
--appinfo-dirty
--backup
--ok-to-install-newer
--reset-after-install
--copy-prevention
--stream
--hidden
--launchable-data
--recyclable
--bundle
     Set the corresponding database header attribute, adding to any attributes set in a definition file.  These options may also be spelt without the internal hyphens (--readonly, etc).

-z N
--compress-data N
     Compress the data resource, `data #0'.  Compression ranges from 0, no compression, to 7, full (and somewhat experimental!) compression.

--no-check-header
     Suppress warnings related to invalid database header fields, such as a blank database name or creator ID.  If the database being generated is only for use as a temporary file, for example, these warnings may not be of interest.

--no-check-resources
     Suppress checking for the presence of vital resources.  Databases corresponding to particular kinds of project are malformed if they do not contain certain resources:  for example, an application without a `code #1' resource cannot be launched correctly, and a Hack requires `TRAP' resources to be numbered consecutively and to have corresponding `code' resources.

     By default, build-prc will check for these resources and emit diagnostics accordingly, which helps you detect mistakes such as the omission of a bfd executable from the build-prc invocation.

--no-check
     Suppress all checking of the generated database; this is equivalent to using all of the --no-check-FOO options listed above.