Building Nilo

Nilo uses GNU make to build, or any other make program with support for the VPATH variable. There are two main targets, nilo and nilo-floppy.

The current set of Makefile targets are:

all

Build the default target, which currently is set to only build the standalone Unix hosted version of Nilo, which is used for testing the protocols.

nilo

This builds the standalone Unix hosted version of Nilo, which is used for testing the protocols.

nilo-floppy

This builds the floppy bootable version of Nilo.

clean

This cleans the build directories of junk files, core files, object files, libraries, and executables.

install

This installs the Nilo utilities on the system. This currently is not enabled.

check

Run Nilo through it's regression test suite. This currently is not enabled.

It is possible to redefine many of the Makefile variables from the command line. The variables that can be reset will be listed as follows:

CPPFLAGS

These are the flags used when the compiler is running the preprocessor, cpp. There is a default CPPFLAGS value in the Makefile. This value is used in addition to the default values.

CFLAGS

These are the flags used when running the compiler. There is a default CFLAGS value in the Makefile. This value is used in addition to the default values.

LDFLAGS

These are the flags used for linking. There is a default LDFLAGS value in the Makefile. This value is used in addition to the default values.

CC

The compiler to use. This must be set to a version of the GCC or EGCS compiler. This is typically used to test for compiler induced bugs. The default is to use the gcc as found in your path.

AS

The assembler to use. This must be set to a version of the GAS assembler with 16 bit support. This is typically used to test for assembler induced bugs. The default is to use the as as found in your path.

AR

The archiver program to use. The default is to use the ar as found in your path.

SIZE

The archiver program to use. The default is to use the ar as found in your path.

OBJDUMP

The objdump program to use. The default is to use the objdump as found in your path.

OBJCOPY

The objcopy program to use. The default is to use the objcopy as found in your path.