cxmkmf - makes Makefiles for IRIS Explorer modules or types

cxmkmf [<rel_path>/usr/explorer ../../<cur_path>]

cxmkmf creates files named Imakefile and Makefile to govern creation of the IRIS Explorer modules and types in the current directory. The generated Makefile has all the rules necessary to build the modules and types in the directory; the shell command make all invokes these rules.

This command assumes some knowledge of Unix program development, specifically, the make(1) program. IRIS Explorer uses an X Windows extension to make called cximake which allows us to distribute a portable development mechanism. With cximake, you do not directly create the Makefiles used by make. Instead, Makefiles are generated automatically from files named Imakefile. IRIS Explorer takes this one step further. Within the subdirectories where you develop modules or types, cxmkmf creates the Imakefile for you from the information in the module resource file (with suffix .mres) or the type description file (with suffix .t) and then converts the Imakefile into a Makefile. cxmkmf is a derivative of the X Windows program xmkmf.

cxmkmf need not be invoked directly when building modules, as the Module Builder always writes a Makefile when saving the module resources. And once a Makefile exists, the shell command make Makefile suffices to create a new one; the Module Builder Build/Options menu item Build can also be used to build the modules and types in a directory.

The modules and types to be built are listed in the MODULES and TYPES files, respectively, in the current directory. The Module Builder automatically creates the MODULES file for you; you must edit the TYPES file by hand when developing IRIS Explorer types.

When you have IRIS Explorer installed in /usr/explorer, when the current directory is used for building modules or types, and when the current directory does not contain subdirectories, it is sufficient to invoke cxmkmf with no arguments. In this case, cxmkmf will compute the directory paths for you.

To build a Makefile in a directory containing subdirectories in which modules are to be developed, or when you have IRIS Explorer installed in a location other than /usr/explorer, you must supply the relative path arguments to cxmkmf. The <rel_path> argument is the relative path from the current development directory to the root directory (/) and <cur_path> is the path from the root directory to the current development directory. If you have installed IRIS Explorer in a location other than /usr/explorer, you must supply that location or $EXPLORERHOME in the first argument, and you will have to replace ../../ in the second argument with the relative path from $EXPLORERHOME to the root directory.

For example, if your current directory is /usr/people/bart/explorer/modules and you have IRIS Explorer installed in /usr/apps/explorer, then the correct command would be:

cxmkmf ../../../../../usr/apps/explorer

Any text in the file Imakefile.default in the current directory will be inserted in the generated Imakefile. This allows you to customize the generated Imakefile and Makefile using standard cximake conventions.

More description of the use of cxmkmf in building modules can be found in the README file for IRIS Explorer modules sources, $EXPLORERHOME/src/README. In particular, this covers the installation of modules and types through the make install command, as well as the effect of environment variables EXPLORERHOME, EXPLORERUSERHOME, and DEBUG in Makefile generation.

cxmkmf is found in $EXPLORERHOME/bin.


explorer(1) mbuilder(1)

Release 1 and 2 produced by the IRIS Explorer Development Group, Silicon Graphics, Inc. 1991-1994. Subsequent releases produced by The Numerical Algorithms Group Ltd. 1995, 1996, 1997, 1998, 1999.

Last modified: Aug 03 11:18 1999 [ Documentation Home ]
© The Numerical Algorithms Group Ltd, Oxford UK. 1999