Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
icmstart(1)	      starts icmbuild program maintenance	   icmstart(1)

       icmstart	- A startup script for icmbuild	program	maintenance

       icmstart	[Options] top-dir [program|library]

       Although	 icmake-scripts	 can be	written	from scratch to	handle program
       maintenance, often the required actions are highly comparable. This ob-
       servation  resulted  in	the  construction  of  two  icmake-tools: icm-
       start(1), initializing a	directory for  program	development  and  icm-
       build(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  icm-
       build program can directly be called: icmstart is an icmake script, for
       which the command-shell calls icmake; icmbuild is  a  small  C  program
       calling	 icmake	  to   process	 the  icmbuild	script	in  (commonly)

       This man-page covers icmstart; refer to the  icmbuild(1)	 man-page  for
       information about how icmbuild can be used.

       The  icmstart  script  is a generic script that is used to initialize a
       directory with a	basic set of files that	are commonly used when	devel-
       oping a C++ or C	program.

       Icmstart	 creates  an  initial directory	(here named `top-dir') and in-
       stalls 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 adding	 addi-
       tional  skeleton	 source	 files.	If the predefined set of files doesn't
       fit your	needs, then the	default	set can	easily be  modified.  The  de-
       fault  set  of  skeleton	 files	is listed in the file /etc/icmake/icm-
       start.rc. Refer to the icmstart.rc(7) man-page  for  information	 about
       how this	file is	structured and how it can be adapted.

       After switching to the directory	created	by icmstart icmbuild(1)	may be
       used for	program	maintenance.

       Icmstart	supports the following options,	which (when specified) must be
       icmstart's first	arguments:

       o      -b
	      basic  installation:  the	files VERSION,	and
	      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 VER-
	      SION) if found in	`confpath' rather than using the  files	 found
	      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	asks 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	are 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	 resource files	may contain comment (empty lines and lines be-
       ginning with the	hash-mark (#)).	Comment	lines are ignored.  Otherwise,
       lines should contain specifications of resource s to be installed.

       The  default  resource  specification  file is /etc/icmake/icmstart.rc,

	   P main.ih
	   P ? scanner
	   P ? parser

       This file is overruled by ~/.icmake/icmstart.rc.	The  ~/.icmake	direc-
       tory (called `configuration directory' below) can be prepared using the
       following system	command:

	   cp -r /etc/icmake ~/.icmake

       This directory can also contain 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	direc-
       tory's  file  icmstart.rc.   See	 icmstart.rc(7)	 for details about how
       skeleton	files can be referred to icmstart.rc.

       The configuration files icmstart.rc, AUTHOR, YEARS and VERSION are rec-
       ognized 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

       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 <>"

	      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.01.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	"2020"

	      or a range of years can be defined:

		  #define YEARS	"1992-2020"

	      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, 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.

       The mentioned paths are sugestive only and may be  installation	depen-

       o      /usr/share/icmake/icmconf	 Example  of  a	icmbuild configuration

       o      /usr/share/icmake/CLASSES	Example	of a icmbuild CLASSES file.

       o      /etc/icmake/icmstart.rc Default skeleton resource	file.

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

       Path names containing blanks are	not supported.

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

       Frank B.	Brokken	(

icmake.9.03.01.tar.gz		   1992-2020			   icmstart(1)


Want to link to this manual page? Use this URL:

home | help