GNU Makefiles on Linux

The toolkit includes recursive GNU makefiles for Linux. The Makefile in the root folder calls Makefiles in subordinate folders. Makefiles in subordinate folders can be run independently to produce individual toolkit components. Developers can control which components are compiled and installed by editing the FOLDERS symbol in the main Makefile.

Component Makefiles have a standard format that includes the following targets:

compile

Compiles source code files prior to installation. Intermmediate files and target files are created in the same folder as the Makefile. This is the default target. That means that typing make or make compile have the same result.

library

Creates any special folders that are needed for installation. This target is built by the install target but it can be built independently.

scripts

Installs scripts required for proper toolkit operation. This target must be built explicitly to prevent accidental loss of changes made to existing scripts. This target may be built at any time, before or after the install target.

manuals

Creates manuals, documents or html pages. Documentation files are not automatically installed by any target. Installation is left to the user.

install

Installs executable files in folder /usr/local/bin. This target automatically builds the compile target before installation. This means that make install will compile and install in one step.

uninstall

Removes installed components. This target does nothing for Makefiles that have install targets defined.

clean

Removes intermmediate and temporary files. Temporary files are defined by variable TRASH at the start of each Makefile.

fresh

Removes intermmediate and temporary then re-compiles local targets. It is normally equivalent to make clean followed by make compile.

Developers wanting to compile the toolkit under Windows™ should use Visual Studio .NET™ solution files instead of makefiles.

Developers wanting to compile the toolkit under OpenBSD must make changes to accommodate variations in make program syntax.