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

FreeBSD Manual Pages

  
 
  

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

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 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)
       /usr/lib/icmake.

       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.

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

CONFIGURATION FILES
       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
       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.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.

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

       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
       Path names containing blanks are	not supported.

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.03.01.tar.gz		   1992-2020			   icmstart(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=icmstart&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help