Table of Contents Previous Chapter Chapter 3: Directory Structure

Chapter 3: Directory Structure

1. The Master EPICS Tree

The EPICS tree consists of three top-level subdirectories: base, config and extensions. The base and config directories are distributed together in an EPICS release. Items within the extensions directory must be obtained separately.

NOTE: The files in the epics/config directory are used for building both base and extension products.

2. Base Sub-Tree

The base sub-tree contains the parts of EPICS that are generally required by all installations. It contains the top-level makefile used to build EPICS, subdirectories for executables, libraries, source, ASCII files and more.

NOTES: Soft links to shell scripts are no longer maintained in each architecture's bin directory.

src Sub-Tree

The base/src directory contains a source sub-directory for each EPICS base Unix and vxWorks component.

Each source sub-directory contains source code, Makefiles and sub-directories for temporary objects. Here are the items you will see in a "typical" source directory:

Notes: The O.* directories and contents are generated by the build.

Tools Sub-Tree

EPICS shellscripts are found in the base/tools subdirectory of the EPICS distribution. Of these scripts, only gmake, getrel and makesdr should be invoked directly.

3. Config Sub-Tree

The configuration directory contains a set of files containing variable and rule definitions used by makefiles to build both base and the extensions. Files with names containing the word "SITE" are meant to be edited by the EPICS system manager only. The CONFIG file may be edited by both individual developers as well as the system manager. However, only the system manager may commit changes to CONFIG.

NOTE: Individual developers should never edit any file except CONFIG.

NOTES: The VX_WARN and UNIX_WARN options are ignored during a STRICT compile. STRICT compilation automatically uses the most verbose warning flags available. Compile types such as STRICT are set in the low-level makefiles. See the "Build Internals" section for more information about compile types such as STRICT.

The following are path variables for various products. If you do not have a certain product, leave its line empty.

The remaining files in the config directory are described in the "Build Internals" portion of this document.

4. Extensions Sub-Tree

The extensions sub-tree contains parts of EPICS that are not generally required by all installations. An individual site usually has only a subset of all available extensions. A complete extensions sub-tree contains a top-level makefile that can be used to build all extensions.

src Sub-Tree

The extensions source tree contains all the source code, header files, scripts, man page files, makefiles, and all other files for EPICS extensions. Each extension directory contains all the required files for that extension.:

Each extension subdirectory also contains Makefiles and directories for temporary objects. Here are the files you will see in a "typical" source directory:

Notes: The O.* directories and contents are generated by the build.

Table of Contents Next Chapter