Scroll to navigation

icmstart.rc(7) icmstart resource file icmstart.rc(7)


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):

P main.ih
P ? scanner
P ? parser
The icmstart.rc file may contain:
empty lines, which are ignored;
lines beginning with a hash-character (#), also ignored;
an optional installation mode followed by a source-destination specification.


An installation mode consists of a combination of:

either a P (don’t install with icmstart xxx library) or an L (don’t install with icmstart xxx program);
a D, indicating that the source must also be installed by default, i.e., if neither `program’ or `library’ was specified as second argument;
a b, indicating that the file must not be installed if the -b (basic installation) option was specified when calling icmstart;
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):

a file named source must exist in skeletons. It is installed in the destination directory `dest’ that’s specified when calling icmstart(1). Example:

skeletons/CLASSES is installed as dest/CLASSES;
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:

skeletons/file is installed as dest/dir/file;
/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:

$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:

/usr/share/icmake/icmconf: example of an icmbuild configuration file;
/usr/share/icmake/CLASSES: example of an icmbuild CLASSES file;
/usr/share/icmake/icmstart.rc: default skeleton resource file.


icmake(1), icmbuild(1), icmconf(7), icmstart(1)


None reported


This is free software, distributed under the terms of the GNU General Public License (GPL).


Frank B. Brokken (

1992-2022 icmake.10.03.00