ivmkcm button

Makefile targets that utilize imvkcm

Five make targets for different aspects of configuration management can be added to an InterViews-derived source tree by patching the config/rules.def and ivmkcm.rules.def with ivmkcm-config-patch.txt.

make cmchkin

Create a cm repository under the top-level directory (if none exists) and check in this directory and each sub-directory as its own package. The package name is defined by a PACKAGE makefile variable in the Imakefile. Make sure to add the appropriate cm pathname to your CMPATH environment variable. See the cmchkin man page for further details.

make cmadd

Add any new files in this directory (and each sub-directory) to the repository. The list of supported RepositoryFiles is defined in config/params.def and can be extended in config/local.def. See the cmadd man page for further details.

make cmupdate

Check the status of this directory (and each sub-directory) relative to the repository. See the cmupdate man page for further details.

make cmcommit [CMMSG=message] [CMFLAGS=-q]

Commit the changes in any files in this directory (and each sub-directory) to the repository. Creates a numbered commit file under cm/Patches in a directory of the same name. These files can be concatenated together to create external patches. See the cmcommit man page for further details.

make cmtag CMARGS=tag

Tag the repository files associated with this directory (and each sub-directory) with an arbitrary symbol. See the cmtag man page for further details.


Once incorporated these targets allow the user to recursively execute ivmkcm commands throughout.

Their functionality corresponds to the standalone utility of the same name, except for cmchkin and cmadd are controlled by the REPOSITORY_FILES makefile variable (instead of a REPOSITORY_FILES environment variable). To incorporate them into a module that is built on InterViews or ivtools, copy ivmkcm's config/rules.def.tmpl and config/params.def.tmpl into your local config directory (dropping the .tmpl), and adjust the Release and RepositoryFiles definitions in the params.def as needed. Then do a "make Makefiles"