PMKSYNTAX(5) BSD File Formats Manual PMKSYNTAX(5)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)BSD November 5, 2005 BSD
Check Out this Related Man Page
SCANFILE(5) BSD File Formats Manual SCANFILE(5)NAME
scanfile -- pmkscan specification file
DESCRIPTION
scanfile is a file containing specifications that defines which sources are to be scanned and what to generate from the resulting data.
SYNTAX
See pmksyntax.5 to have an overview of the basic syntax of scanfiles.
COMMANDS
The available commands are the following :
GEN_PMKFILE
This command specify a zone to scan and generate a pmkfile.
Arguments:
CFGNAME type is 'quoted', give the name of the template config file to use instead of the default one.
DIRECTORY type is 'quoted', define the zone directory to scan.
DISCARD type is 'list', list of directories to discard in recursive mode.
EXTRATAG type is 'list', list of extra tags to add in template files.
RECURSE type is 'bool', enable recursive scanning, default is FALSE.
UNIQUE type is 'bool', enable unique resulting file instead of one for each directory. This is actually the default and
only one method available (work in progress).
For example:
GEN_PMKFILE {
DIRECTORY = "."
RECURSE = TRUE
DISCARD = ("samples", "doc", "data", "man")
UNIQUE = TRUE
}
GEN_MAKEFILE
This command specify a zone to scan and generate a makefile.
Arguments:
DIRECTORY type is 'quoted', define the zone directory to scan.
DISCARD type is 'list', list of directories to discard in recursive mode.
EXTRATAG type is 'list', list of extra tags to add in template files.
MKFNAME type is 'quoted', give the name of the template makefile to use instead of the default one.
RECURSE type is 'bool', enable recursive scanning, default is FALSE.
UNIQUE type is 'bool', enable unique resulting file instead of one for each directory. This is actually the default and
only one method available (work in progress).
For example:
GEN_MAKEFILE {
DIRECTORY = "."
RECURSE = TRUE
DISCARD = ("samples", "doc", "tests")
MKFNAME = "Makefile.pmk"
UNIQUE = TRUE
}
GEN_ZONE
This command specify a zone to scan and what to generate.
Arguments:
CFGNAME type is 'quoted', give the name of the template config file to use instead of the default one.
DIRECTORY type is 'quoted', define the zone directory to scan.
DISCARD type is 'list', list of directories to discard in recursive mode.
EXTRATAG type is 'list', list of extra tags to add in template files.
PMKFILE type is 'bool', enable generation of a pmkfile
MAKEFILE type is 'bool', enable generation of a makefile
MKFNAME type is 'quoted', give the name of the template makefile to use instead of the default one.
RECURSE type is 'bool', enable recursive scanning, default is FALSE.
UNIQUE type is 'bool', enable unique resulting file instead of one for each directory. This is actually the default and
only one method available (work in progress).
For example:
GEN_ZONE(main) {
DIRECTORY = "."
RECURSE = TRUE
DISCARD = ("samples", "doc", "tests")
PMKFILE = TRUE
MAKEFILE = TRUE
MKFNAME = "Makefile.pmk"
UNIQUE = TRUE
}
DEF_LIB
This command define library attributes.
Arguments:
NAME type is 'quoted', give the name of the library.
VMAJ type is 'quoted', give the major version of the library.
VMIN type is 'quoted', give the minor version of the library.
LINKER type is 'quoted', define the relative language of the linker to be used.
SOURCES type is 'list', list of the main sources which objects must be linked in the library.
HEADERS type is 'list', list of library headers to be installed.
For example:
DEFINE_LIB {
NAME = "testc"
VMAJ = "1"
VMIN = "3"
LINKER = "C"
SOURCES = ("libtest.c")
HEADERS = ("libtest.h")
}
SEE ALSO pmkscan(1), pmkfile(5)BSD September 15, 2005 BSD