icmstart.rc - The icmstart(1) resource file
The icmstart.rc file specifies files that are installed by
icmstart(1).
A default icmstart.rc is found in
/etc/icmake/icmstart.rc, but if $HOME/.icmake/icmstart.rc
exists then the latter file is used by icmstart(1).
$HOME/.icmake/icmstart.rc in turn is overruled by specifying a
-c option when invoking icmstart(1).
The default resource file contains the following specifications,
preparing for the construction of a C++ program using
icmbuild(1):
CLASSES
icmconf
P main.cc
P main.ih
P usage.cc
P version.cc
P ? scanner
P ? parser
The icmstart.rc file may contain:
- o
- empty lines, which are ignored;
- o
- lines beginning with a hash-character (#), also ignored;
- o
- an optional installation mode followed by a source-destination
specification.
An installation mode consists of a combination of:
- o
- either a P (don’t install with icmstart xxx library)
or an L (don’t install with icmstart xxx
program);
- o
- a D, indicating that the source must also be installed by default,
i.e., if neither `program’ or `library’ was specified as
second argument;
- o
- a b, indicating that the file must not be installed if the
-b (basic installation) option was specified when calling
icmstart;
- o
- Following the optional P, L, D, or b character a space
delimited optional ? may be specified. If specified the
installation of the file or directory must be confirmed by the user.
The following source-destination specifications can be used in an
icmstart.rc file (using skeletons below to refer to
icmstart’s skeleton files directory):
- o
- source
a file named source must exist in skeletons. It is installed
in the destination directory `dest’ that’s specified
when calling icmstart(1). Example:
CLASSES
skeletons/CLASSES is installed as dest/CLASSES;
- o
- pathspec
if `pathspec’ does not begin with a slash it must exist in
skeletons. It is installed as `pathspec’ in the destination
directory specified when calling icmstart(1). Example:
dir/file
skeletons/file is installed as dest/dir/file;
- o
- /pathspec or ~/pathspec
the ~-character is expanded to the user’s home directory. The
pathspec’s final element is installed in the destination directory
specified when calling icmstart(1). Example:
~/.icmake/file
$HOME/.icmake/file is installed as dest/file
When the above source specifications are followed by a destination
specification destspec (a file or non-absolute directory
specification) then the source specification is installed as dest/destspec)
below the destination directory specified when calling icmstart(1).
Examples:
CLASSES CLASSES # skeletons/CLASSES is installed as
# dest/CLASSES
dir/file dir/file # skeletons/dir/file is installed as
# dest/dir/file
~/.icmake/file .icmake/file # $HOME/.icmake/file is installed as
# dest/.icmake/file
Icmstart converts destination specifications to absolute paths. If these
absolute paths do not begin with dest’s absolute path then an
error message is displayed and icmstart ends.
The mentioned paths are sugestive only and may be installation
dependent:
- o
- /usr/share/icmake/icmconf: example of an icmbuild
configuration file;
- o
- /usr/share/icmake/CLASSES: example of an icmbuild
CLASSES file;
- o
- /usr/share/icmake/icmstart.rc: default skeleton resource file.
icmake(1), icmbuild(1), icmconf(7),
icmstart(1)
This is free software, distributed under the terms of the GNU
General Public License (GPL).
Frank B. Brokken (f.b.brokken@rug.nl).