next up previous contents index
Next: 1.6 Using the OSKit Up: 1 Introduction Previous: 1.4 Configuring the OSKit

1.5 Building the OSKit

Building the OSKit currently requires these tools and versions:

To build the OSKit, go to the top-level source directory (or the top-level object directory, if you configured the toolkit to build in a separate object directory), and run GNU make (e.g., just `make' on Linux systems, or `gmake' on BSD systems). Note that the OSKit requires GNU make. Don't even think about trying to get it to work with another version of make. You'll be better off porting GNU make to your system. Really. To avoid confusion, the OSKit's makefiles are named GNUmakefile rather than just Makefile; this way, if you accidentally run the wrong make utility, it will simply complain that it can't find any makefile, instead of producing an obscure error.

To build or rebuild only one specific part of the OSKit, such as one of the libraries, you can simply go into the appropriate subdirectory of the object tree and run GNU make from there. The top-level GNUmakefile essentially does nothing except recursively run make in each subdirectory, so it is always safe to run any OSKit makefile manually. A few OSKit directories depend on others being built first--for example, the example kernels cannot be built until the OSKit libraries they use have been generated--but most of the OSKit libraries can be built completely independently of each other.

Once the toolkit is built, you can install it with `make install'. By default, the libraries will go into /usr/local/lib and the header files into /usr/local/include, unless you specified a -prefix on the configure command line. All of the OSKit header files are installed in an oskit/ subdirectory (e.g. /usr/local/include/oskit), so they should not conflict with any header files already present. Although the libraries are installed in the main library directory (e.g., /usr/local/lib) and not a subdirectory, all the library names are prefixed with oskit_ to avoid conflicts with other unrelated libraries you may want to place there. For example, the OSKit's minimal C library is named liboskit_c.a rather than just libc.a, allowing you to install a ``real'' C library in the same directory if desired.

The standard make variables such as CFLAGS and LDFLAGS are used by the OSKit's build rules but are not actually defined by any of the OSKit makefiles; thus they are available for use on the make command line. For example, you can type `make CFLAGS="-save-temps"' to cause GCC to leave its intermediate files in the object directory, such as the preprocessed C source and the assembly language compiler output. (Internally, the OSKit makefiles use OSKIT_ prefixes on most standard makefile variables.)


next up previous contents index
Next: 1.6 Using the OSKit Up: 1 Introduction Previous: 1.4 Configuring the OSKit

University of Utah Flux Research Group