NAME¶
icmstart - A startup script for icmbuild program maintenance
SYNOPSIS¶
icmstart [Options] top-dir [program|library]
DESCRIPTION¶
The
icmstart script is a generic script that can be used to start program
maintenance using
icmake(1) and
icmbuild(1).
Icmstart
creates an initial directory
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.
Skeleton files for the main directory and subdirectories, by default listed in
the file
/etc/icmake/icmstart.rc, may be installed as well (cf.
icmstart.rc(7)).
After changing to the directory created by
icmstart the
icmbuild(1) script may be used for program maintenance.
OPTIONS¶
Icmstart may be called with the following options, which (if specified)
must be the first arguments of
icmstart:
- 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 file is
/etc/icmake/icmstart.rc, contains
CLASSES
P main.cc
P main.ih
P usage.cc
P version.cc
P ? scanner
P ? parser
This file is overruled by
~/.icmake/icmstart.rc. See
icmstart.rc(7) for details about the format of the
icmstart.rc
file.
CONFIGURATION FILES¶
The configuration files
icmstart.rc, AUTHOR, YEARS and
VERSION are
recognized and 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 not required for the proper operation of
icmstart. When absent
icmstart performs the following default
actions:
- o
- If the file AUTHOR does not exist icmstart uses
#define AUTHOR "".
- When the file AUTHOR is defined in a configuration path it should
have one line, defining the author of the program. E.g.,
#define AUTHOR "Frank B. Brokken <f.b.brokken@rug.nl>"
- o
- If the file VERSION does not exist icmstart uses
#define VERSION "0.00.00".
- When the file VERSION is defined in a configuration path it should
have one line, defining the program’s initial version. E.g.,
#define VERSION "1.00.00"
- o
- If the file YEAR does not exist icmstart uses #define
YEARS "yyyy" where yyyy is the current year.
- When the file YEAR is defined in a configuration path it should
have one line, defining the program’s initial release year. E.g.,
#define YEARS "2012"
Plural is used here since a release year usually becomes a range of years
after some time, as with Icmake’s years specification:
#define YEARS "1992-2012"
- o
- If the file icmstart.rc does not exist (or is empty)
icmstart will not install any of the files normally found in
icmstart.rc, but the initial project directory, icmconf and
VERSION are installed. )
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
- /usr/share/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).