Provided by: icmake_9.02.06-1_amd64 

NAME
icmstart - A startup script for icmbuild program maintenance
SYNOPSIS
icmstart [Options] top-dir [program|library]
DESCRIPTION
Although icmake-scripts can be written from scratch for handling program maintenance, often the required
actions are highly comparable. This observation resulted in the construction of two icmake-tools:
icmstart(1), initializing a directory for program development and icmbuild(1), handling the actual
program maintenance. Both come predefined with icmake’s distribution, to initialize and maintain C++
programs (or, after minimal adaptation, C) programs). They can also easily be tailored to other
programming languages. The icmstart script and icmbuild program can directly be called: icmstart is an
icmake script, for which the command-shell calls icmake; icmbuild is a small C program that calls icmake
to process the icmbuild script in (commonly) /usr/lib/icmake.
This man-page covers the icmstart script; refer to the icmbuild(1) man-page for information about how
icmbuild can be used.
The icmstart script is a generic script that can be used to initialize a directory with a basic set of
files that are commonly used when developing a C++ or C program.
Icmstart creates an initial directory (here named `top-dir’) and installs the files CLASSES, VERSION and
icmconf below top-dir. A second argument `program’ or `library’ may be specified as the default mode of
operation of the icmbuild(1) script, usually resulting in the addition of additional skeleton source
files. If the predefined set of files doesn’t fit your needs, then the default set can easily be tailored
to your needs. The default set of skeleton files is listed in the file /etc/icmake/icmstart.rc. Refer to
the icmstart.rc(7) man-page for information about how this file is structured and how it can be adapted.
After changing to the directory created by icmstart icmbuild(1) may be used for program maintenance.
OPTIONS
Icmstart supports the following options, which (when specified) must be icmstart’s first arguments:
o -b
Basic installation: the files VERSION, usage.cc and version.cc are not installed, and the #define
USE_VERSION entry in icmconf is commented out.
o -c confpath
Use the configuration files (icmstart.rc, AUTHOR, YEARS and VERSION) if found in `confpath’ rather
than in ~/.icmake and/or /etc/icmake/. Once a file is found it is used allowing partial overrides
of the default files provided by icmake(1).
o -d
Do not execute any commands, but show the commands that would have been executed on the standard
output.
o -I
Do not install files.
o -r Unconditionally replace existing files. If -r is not provided icmstart will ask the user to
confirm that an existing file must be overwritten. If a skeleton specification refers to a
directory, the full directory and its subdirectories will be replaced.
o -s skeleton-path
By default skeleton files are listed in the skeleton resource file /usr/share/icmake/icmstart.rc.
Alternatively, the skeleton resource file may be specified by the ICM environment variable, which
-in turn- may be overruled by the path specified with the -s option. The skeleton path may be
specified as a full file-path or as a directory, in which case the skeleton resource file is
assumed to be icmstart.rc (see below at SKELETON FILES). Since icmstart uses cp to install files,
cp must be available when icmstart should install skeleton files.
SKELETON FILES
Skeleton resource files may contain comment (empty lines and lines beginning with the hash-mark (#))
which is ignored, and should otherwise contain specifications of resource s to install.
The default resource specification file is /etc/icmake/icmstart.rc, containing:
CLASSES
icmconf
P main.cc
P main.ih
P usage.cc
P version.cc
P ? scanner
P ? parser
This file is overruled by ~/.icmake/icmstart.rc. The ~/.icmake directory (called `configuration
directory’ below) can be prepared using the following system command:
cp -r /etc/icmake ~/.icmake
This directory can be provided with skeleton files. Default skeleton files are commonly found in
/usr/share/icmake, and could be copied to the configuration directory and referred to by the
configuration directory’s file icmstart.rc. See icmstart.rc(7) for details about how skeleton files can
be referred to icmstart.rc.
CONFIGURATION FILES
The configuration directory’s files icmstart.rc, AUTHOR, YEARS and VERSION are recognized as skeleton
files and are, if available, processed by icmstart.
If the -c option was specified configuration files found in the path specified at this option are used.
If not specified or if a file isn’t found then the path ~/icmake is inspected. If a configuration file
isn’t found in ~/icmake either, configuration files in /etc/icmake are used.
Configuration files are optional; if absent icmstart can still be used, but in normal cases at least
icmstart.rc is provided.
In addition to icstart.rc consider defining the files AUTHOR, VERSION, and YEARS in the configuration
directory:
o If the file AUTHOR exists it should have one line, defining the author of the program. E.g.,
#define AUTHOR "Frank B. Brokken <f.b.brokken@rug.nl>"
If it does not exist icmstart uses the default #define AUTHOR "".
o If the file VERSION exists it should have one line, defining the program’s version. E.g.,
#define VERSION "1.00.00"
If it does not exist icmstart uses the default #define VERSION "0.00.00".
o If the file YEARS exists it should have one line, defining the program’s initial release year or
range of release years. E.g.,
#define YEARS "2016"
or a range of years can be defined:
#define YEARS "1992-2016"
If it does not exist icmstart uses the default #define YEARS "yyyy" where yyyy is the current
year.
The AUTHOR, VERSION, and YEARS definitions are concatenated to one file, called VERSION, which is
installed in the top-level directory.
If the file icmstart.rc does not exist (or is empty) icmstart merely installs the top-level directory,
icmconf and VERSION.
FILES
The mentioned paths are sugestive only and may be installation dependent:
o /usr/share/icmake/icmconf Example of a icmbuild configuration file;
o /usr/share/icmake/CLASSES Example of a icmbuild CLASSES file.
o /etc/icmake/icmstart.rc Default skeleton resource file.
SEE ALSO
icmake(1), icmbuild(1), icmconf(7), icmstart.rc(7).
BUGS
None reported
COPYRIGHT
This is free software, distributed under the terms of the GNU General Public License (GPL).
AUTHOR
Frank B. Brokken (f.b.brokken@rug.nl).
icmake.9.02.06.tar.gz 1992-2018 icmstart(1)