E.7.1 Directory variables

The following compiler directories are defined by the makefile:

BASEDIR

Is set to the current directory if the pwd command is available. If not, it is set to ’.’.

COMPILER_INCDIR

Is a space-separated list of include file paths. Each directory in the list is prepended with -Fi and added to the compiler options. Set by the incdir keyword in the Compiler section.

COMPILER_LIBDIR

Is a space-separated list of library paths. Each directory in the list is prepended with -Fl and added to the compiler options. Set by the libdir keyword in the Compiler section.

COMPILER_OBJDIR

Is a list of object file directories, separated by spaces. Each directory in the list is prepended with -Fo and added to the compiler options. Set by the objdir keyword in the Compiler section.

COMPILER_TARGETDIR

This directory is added as the output directory of the compiler, where all units and executables are written, i.e. it gets -FE prepended. It is set by the targetdir keyword in the Compiler section.

COMPILER_TARGETUNITDIR

If set, this directory is added as the output directory of the compiler, where all units and executables are written, i.e. it gets -FU prepended.It is set by the targetdir keyword in the Dirs section.

COMPILER_UNITDIR

Is a list of unit directories, separated by spaces. Each directory in the list is prepended with -Fu and is added to the compiler options. Set by the unitdir keyword in the Compiler section.

GCCLIBDIR

(linux only) Is set to the directory where libgcc.a is. If needgcclib is set to True in the Libs section, then this directory is added to the compiler command line with -Fl.

OTHERLIBDIR

Is a space-separated list of library paths. Each directory in the list is prepended with -Fl and added to the compiler options. If it is not defined on linux, then the contents of the /etc/ld.so.conf file is added.

The following directories are used for installs:

INSTALL_BASEDIR

Is the base for all directories where units are installed. By default, On linux, this is set to $(INSTALL_PREFIX)/lib/fpc/$(RELEASEVER).
On other systems, it is set to $(PREFIXINSTALLDIR). You can also set it with the basedir variable in the Install section.

INSTALL_BINDIR

Is set to $(INSTALL_BASEDIR)/bin on linux, and
$(INSTALL_BASEDIR)/bin/$(OS_TARGET) on other systems. This is the place where binaries are installed.

INSTALL_DATADIR

The directory where data files are installed. Set by the Data key in the Install section.

INSTALL_LIBDIR

Is set to $(INSTALL_PREFIX)/lib on linux,
and $(INSTALL_UNITDIR) on other systems.

INSTALL_PREFIX

Is set to /usr/local on linux, /pp on dos or Windows NT. Set by the prefix keyword in the Install section.

INSTALL_UNITDIR

Is where units will be installed. This is set to
$(INSTALL_BASEDIR)/units/$(OS_TARGET). If the units are compiled as a package, $(PACKAGE_NAME) is added to the directory.