Provided by: pmk_0.10.4-1_i386 bug

NAME

     PMK Syntax -- PMK files syntax manual

DESCRIPTION

     This manual page describe the basic syntax used in PMK files such as
     pmkfile and scanfile

DATA TYPES

     PMK uses pseudo types like the following:

     bool        The classical boolean type with TRUE and FALSE values.

                 For example:

                       TRUE
                       FALSE

     identifier  An identifier is a string of alphanumerical and underscores
                 characters.

                 For example:

                       REQUIRED
                       a_label
                       underscores_are_nice

     quoted      This means quoted string which can contain a set of
                 characters delimited by quotation marks.

                 For examples:

                       "simple quoted string"
                       "string that contain \"quotes\" backslashed"
                       "can also contain filenames like pmkfile.scan"

     list        It is one or more of the previous types between brackets.
                 Multiple objects are separated with a comma.  Blanks are
                 currently not allowed beside commas, this means that you can
                 find them only in a quoted string of the list.

                 For example:

                       ("only_one_string")
                       ("added a boolean",TRUE)
                       (mixed_list_of,"words","and",TRUE,"quoted strings")

BASIC SYNTAX

     PMK can contain comments, blank lines and commands.

     A command has the following format (? character means optional field):

           <command><?(label)> {
                   <body>
           }

     The command and label names can be assimilated to the 'word' type.  See
     DATA TYPES above.

     The body can contain comment(s) and definition line(s).  A commented line
     start with a '#' character like the following:

           # this is a comment line

     A definition line has the following format:

           <?blank><key name><?blank>=<?blank><key value>

     The key name is of identifier type.

     The key value type can be 'bool', 'quoted' or 'list'.  The right type
     will depend on the key name (see further).

     For example:

           CHECK_INCLUDE(header_sys_param) {
                   # following options use different uses of blank characters
                   # key value is word type
                   REQUIRED = TRUE
                   # key value is list type
                   DEPEND= ("dep_one",dep_two,"dep_three")
                   # key value is quoted type
                   INCLUDE = "sys/param.h"
           }

SEE ALSO

     pmkfile(5), scanfile(5)