-
Notifications
You must be signed in to change notification settings - Fork 7
Top level build directory for extensions programs
License
epics-extensions/extensions
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
$Id$
EPICS Extensions Build Instructions
EPICS base 3.14
Extensions Directory Structure
EPICS software is divided into <top> areas. Examples of <top> areas are EPICS
base itself, EPICS extensions, and simple or complicated EPICS IOC applications.
The EPICS extensions <top> area has the following directory structure:
<top>/
Makefile
configure/
Makefile
os/
src/
Makefile
extension1/
Makefile
<subdirectories and source files>
extension2/
Makefile
<subdirectories and source files>
.
.
.
include/
bin/
lib/
html/
.
.
.
where the <top> directory is usually named "extensions", configure is a
directory containing build configuration files and a Makefile, os is a
directory containing os specific build configuration files, and where each
extension<n> is a directory tree structure containing source files and
makefiles for an EPICS extension. The directories include, bin, lib, html,
and other directories are created by the build.
EPICS extensions setup
Download the extensionsTop.tar.gz file:
Unzip and untar the extensionTop.tar.gz distribution file. Use WinZip
on Windows systems.
This will create the extensions directory structure including
all configure and configure/os build configuration files, this README
and Makefiles in extensions/ and extensions/src/.
Download desired extensions:
Many extensions are available from WWW pages at various EPICS sites.
Unzip and untar extensions:
Unzip and untar the extension distribution files to the extensions/src
directory. Use WinZip on Windows systems.
Extension build software requirements:
To build EPICS base and extensions you will need following items
installed. Some items can be obtained via links from the APS EPICS
software distribution web page -
http://www.aps.anl.gov/epics/download/extensions/index.php
You may not have to build extensions at your site. Built extensions for
Win32 are available via the EPICS software distribution web page.
ANSI C compiler or GNU gcc compiler.
EPICS base distribution, R3.14.8 or later, available
from http://aps.anl.gov/...
GNU make, V3.81 or later.
Perl, version 5.8.1 or later
Known conditional software requirements:
X11 is needed by the following extensions
alh, burt, medm, probe, stripTool
Motif is needed by the following extensions
alh, burt, medm, probe, StripTool
Xrtgraph is needed by the following extensions
medm
Tk-tcl is needed by the following extensions
casr
Java is needed by the following extensions
jca, caj, vdct
Extensions build prerequisites
EPICS_HOST_ARCH
You must properly set the environemnt variable EPICS_HOST_ARCH. The
epics/startup/EpicsHostArch script file is provided with EPICS base
to set EPICS_HOST_ARCH.
EPICS base
EPICS base must be configured and built prior to building any
extension
RELEASE file
The EPICS_BASE definition in extensions/configure/RELEASE file must
point to the <top> of your built EPICS base.
configure/CONFIG_SITE file
configure/os/CONFIG_SITE* files
Your extensions/configure directory must be present and the
CONFIG_SITE* files properly configured prior to building an extension.
Extensions build commands
Build a single extension (e.g. extension xyz):
NOTE: The extensions on which this extension depends must be built
first.
cd epics/extensions/src/xyz
gmake - To build and install the extension.
gmake install - To build and install the extension.
gmake clean - To clean temporary object files. Clean will
remove ALL O.<arch> subdirectoriess.
gmake archclean - Removes O.<arch> dirs but not O.Common dir
gmake rebuild - To clean, build and install the extension.
"Partial" build commands:
gmake clean.<epics_host_arch> - Removes O.<epics_host_arch> and
O.Common directories.
gmake install.<epics_host_arch> - Builds and installs <epics_host_arch>
arch only.
Building a specific object file
While developing code in a specific source file e.g. abc.c, cd to
the source dir's O.<epics_host_arch> directory, and invoke
"gmake <target_filename>" e.g.
vi alh.c
cd O.solaris-sparc
gmake alh.o
The above example instructs make to build only alh.o.
Build all extensions present in your epics tree:
cd epics/extensions
gmake - To build and install all extensions.
gmake clean - To clean temporary object files. Clean will
remove ALL O.<host_arch> subdirectories.
gmake rebuild - To clean, build, and install all extensions.
Uninstalling all extensions
gmake uninstall - Remove install directories created by this hostarch.
gmake realuninstall - Removes ALL install dirs
gmake distclean - Same as realclean cvsclean realuninstall.
Listing all gmake target commands
gmake help - Prints this list of valid make targets
To build all extensions present in an extensions tree using one
gmake command the DIRS list definition in extensions/src/Makefile
needs to contain all your extension directory names. Make sure
that the dependancy extensions names for an extension preceed that
extension name.
Extensions build notes
Install locations
Executables are installed into $(INSTALL_LOCATION)/bin/<arch>
and libraries into $(INSTALL_LOCATION)/lib/<arch>. INSTALL_LOCATION
defaults to <top> but may be changed in the configure/CONFIG_SITE
file.
Header file dependancies
During a normal build (a "gmake" or "gmake install"), a file
containing header file dependancies is automatically generated in
the O.<host_arch> directory for each c/c++ source file. These files
have the source file name with a ".depends" suffix.
Object files
Compiler output object files are stored in the created O.<host_arch>
directories. This allows objects for multiple host architectures to
be maintained in the same tree structure at the same time.
About
Top level build directory for extensions programs
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published