ib(L) ib(L)
18 March 1994
NAME
ImakeBuilder - Motif based Imakefile generator
SYNOPSIS
ib
DESCRIPTION
ImakeBuilder (IB) is an interactive tool to generate and maintain
consistent Imakefiles. Multiple targets (programs, libraries and
directories) are supported. Imakefiles consist of three main
sections. The first section includes all information that is
pertinent to each target defined. These might include CFLAGS, #define
statements, etc. The middle section contains information that is
specific to each target, i.e., local libraries, local includes, and
the source code necessary to build the target. The last section is
allocated for calls that build upon all the information provided in
the first two sections, like MakeDepend or MakeSubDir calls. IB's GUI
is organized similarly. The first section corresponds to IB's
Preference panel, the second to the Target panels, and the last is
defined implicitly. Usage IB creates its Imakefile in the current
directory, thus the user begins by going to the desired directory and
typing 'ib':
% cd src
% ib
If IB has already created an Imakefile in the directory, it will load
that file and display it. The IB system will warn the user if the
file was not generated by IB. Defining a Target A target is an
executable, library or directory which is comprised of files and
specific configuration parameters. It can be considered the final
product of an Imakefile. An Imakefile can have one or more targets
within it. A list of targets is shown on the main panel. To add a
target to this list, type a name in the Current Target input field and
hit <RETURN> or click on <ADD>. A Target panel will be shown for each
Target created. Targets can be deleted by either selecting it on the
main panel's target list and clicking on <DELETE> or by clicking on
<DELETE> on the Target's panel. Defining Source Files Source files
are the body of a target. A default list of files (*.c, *.C, *.f)
will be shown in the Target panel. Files can be deleted by selecting
one or more items in the file list and clicking on <DELETE>. Items
can be added by clicking on <ADD> which brings up a file selector,
allowing the user to add files manually. Files that do not exist can
also be added in the same manner. Simply type in the name you want
added to the list. The default list of files can be brought back by
clicking on <RESET>. Preferences IB uses a standard set of parameters
to write Imakefiles. Many of these parameters can be modified through
the Preferences panel. To invoke this option, choose Preferences from
the File menu. Customization A method for providing additional
customization of the Imakefile has been provided. Choose Custom
Options from the Edit menu and place the window. Anything typed in
this area will be placed, verbatim, into the Imakefile. Comments
Inside the Imakefile There are two areas where the user can place
- 1 - Formatted: October 24, 2025
ib(L) ib(L)
18 March 1994
comments into the Imakefile: the header and at the top of each target
block. To edit comments for the Imakefile header, choose Header from
the Edit menu. To edit comments for a target block, use the Comments
field on the target's panel. Configuration File IB preferences can be
saved to a configuration file through the Preferences panel by
clicking on <SAVE>. This procedure creates a file this file will be
read and the appropriate parameters set. IB looks in the current
directory first and if a configuration file is not found, it then
tries to find the file in the user's home directory. Building the
Imakefile Once all the targets have been defined, choose Create
Imakefile from the Build menu. This will copy the existing Imakefile
to Imakefile.bak and will create a new Imakefile. To generate a
makefile, choose Makefile from the Build menu. This invokes the
bootstrap selected on the Preferences panel (see Preferences).
Outside of the IB system, the user avoids retyping the bootstrap to
generate the Makefile by typing: % make Makefile Imake knows what
to do from here. The make depend option on the Build menu is purely a
convenience function which generates the targets' dependencies on
libraries and includes if the user has requested dependencies from any
of the target panels. Viewing the Imakefile The Imakefile can be
viewed and edited directly using the Edit Imakefile from the Edit
menu.
FILES
.ib_config ~/.ib_config
ENVIRONMENT
Must run ImakeBuilder in the current directory
SEE ALSO
imake, xmkmf, make
Software Portability with imake by DuBois (O'Reilly & Associates)
BUGS
IB uses the RegForm tool for registration, comments, and bug
reporting. Any comments, bugs, or software modifications can be
reported to the author via this mechanism. Choose Comments from the
File menu and place the RegForm window. Fill in the blanks and hit
<Send>. If RegForm was not installed with IB, comments and
registration should be sent to: jdyvig@photon.com Be sure to
include the following information:
ImakeBuilder 1.1
Name
Company
E-Mail Address
AUTHOR
James R. Dyvig (jdyvig@photon.com)
- 2 - Formatted: October 24, 2025