/[EPICS Repository]/extensions/README
ViewVC logotype

Contents of /extensions/README

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.9 - (show annotations)
Tue Sep 4 15:50:29 2012 UTC (11 years, 5 months ago) by jba
Branch: MAIN
CVS Tags: extensions_20120904, HEAD
Changes since 1.8: +28 -46 lines
Updated readme file.

1 $Id: README,v 1.8 2009/05/19 20:45:40 jba Exp $
2
3 EPICS Extensions Build Instructions
4
5 EPICS base 3.14
6
7 Extensions Directory Structure
8
9 EPICS software is divided into <top> areas. Examples of <top> areas are EPICS
10 base itself, EPICS extensions, and simple or complicated EPICS IOC applications.
11
12 The EPICS extensions <top> area has the following directory structure:
13
14 <top>/
15 Makefile
16 configure/
17 Makefile
18 os/
19 src/
20 Makefile
21 extension1/
22 Makefile
23 <subdirectories and source files>
24 extension2/
25 Makefile
26 <subdirectories and source files>
27 .
28 .
29 .
30 include/
31 bin/
32 lib/
33 html/
34 .
35 .
36 .
37
38 where the <top> directory is usually named "extensions", configure is a
39 directory containing build configuration files and a Makefile, os is a
40 directory containing os specific build configuration files, and where each
41 extension<n> is a directory tree structure containing source files and
42 makefiles for an EPICS extension. The directories include, bin, lib, html,
43 and other directories are created by the build.
44
45 EPICS extensions setup
46
47 Download the extensionsTop.tar.gz file:
48
49 Unzip and untar the extensionTop.tar.gz distribution file. Use WinZip
50 on Windows systems.
51
52 This will create the extensions directory structure including
53 all configure and configure/os build configuration files, this README
54 and Makefiles in extensions/ and extensions/src/.
55
56 Download desired extensions:
57
58 Many extensions are available from WWW pages at various EPICS sites.
59
60 Unzip and untar extensions:
61
62 Unzip and untar the extension distribution files to the extensions/src
63 directory. Use WinZip on Windows systems.
64
65 Extension build software requirements:
66
67 To build EPICS base and extensions you will need following items
68 installed. Some items can be obtained via links from the APS EPICS
69 software distribution web page -
70 http://www.aps.anl.gov/epics/download/extensions/index.php
71
72 You may not have to build extensions at your site. Built extensions for
73 Win32 are available via the EPICS software distribution web page.
74
75 ANSI C compiler or GNU gcc compiler.
76
77 EPICS base distribution, R3.14.8 or later, available
78 from http://aps.anl.gov/...
79
80 GNU make, V3.81 or later.
81
82 Perl, version 5.8.1 or later
83
84 Known conditional software requirements:
85
86 X11 is needed by the following extensions
87 alh, burt, medm, probe, stripTool
88
89 Motif is needed by the following extensions
90 alh, burt, medm, probe, StripTool
91
92 Xrtgraph is needed by the following extensions
93 medm
94
95 Tk-tcl is needed by the following extensions
96 casr
97
98 Java is needed by the following extensions
99 jca, caj, vdct
100
101 Extensions build prerequisites
102
103 EPICS_HOST_ARCH
104
105 You must properly set the environemnt variable EPICS_HOST_ARCH. The
106 epics/startup/EpicsHostArch script file is provided with EPICS base
107 to set EPICS_HOST_ARCH.
108
109 EPICS base
110
111 EPICS base must be configured and built prior to building any
112 extension
113
114 RELEASE file
115
116 The EPICS_BASE definition in extensions/configure/RELEASE file must
117 point to the <top> of your built EPICS base.
118
119 configure/CONFIG_SITE file
120 configure/os/CONFIG_SITE* files
121
122 Your extensions/configure directory must be present and the
123 CONFIG_SITE* files properly configured prior to building an extension.
124
125 Extensions build commands
126
127 Build a single extension (e.g. extension xyz):
128
129 NOTE: The extensions on which this extension depends must be built
130 first.
131
132 cd epics/extensions/src/xyz
133
134 gmake - To build and install the extension.
135 gmake install - To build and install the extension.
136 gmake clean - To clean temporary object files. Clean will
137 remove ALL O.<arch> subdirectoriess.
138 gmake archclean - Removes O.<arch> dirs but not O.Common dir
139 gmake rebuild - To clean, build and install the extension.
140
141 "Partial" build commands:
142
143 gmake clean.<epics_host_arch> - Removes O.<epics_host_arch> and
144 O.Common directories.
145 gmake install.<epics_host_arch> - Builds and installs <epics_host_arch>
146 arch only.
147 Building a specific object file
148
149 While developing code in a specific source file e.g. abc.c, cd to
150 the source dir's O.<epics_host_arch> directory, and invoke
151 "gmake <target_filename>" e.g.
152 vi alh.c
153 cd O.solaris-sparc
154 gmake alh.o
155 The above example instructs make to build only alh.o.
156
157 Build all extensions present in your epics tree:
158
159 cd epics/extensions
160
161 gmake - To build and install all extensions.
162 gmake clean - To clean temporary object files. Clean will
163 remove ALL O.<host_arch> subdirectories.
164 gmake rebuild - To clean, build, and install all extensions.
165
166 Uninstalling all extensions
167
168 gmake uninstall - Remove install directories created by this hostarch.
169 gmake realuninstall - Removes ALL install dirs
170 gmake distclean - Same as realclean cvsclean realuninstall.
171
172 Listing all gmake target commands
173
174 gmake help - Prints this list of valid make targets
175
176 To build all extensions present in an extensions tree using one
177 gmake command the DIRS list definition in extensions/src/Makefile
178 needs to contain all your extension directory names. Make sure
179 that the dependancy extensions names for an extension preceed that
180 extension name.
181
182 Extensions build notes
183
184 Install locations
185
186 Executables are installed into $(INSTALL_LOCATION)/bin/<arch>
187 and libraries into $(INSTALL_LOCATION)/lib/<arch>. INSTALL_LOCATION
188 defaults to <top> but may be changed in the configure/CONFIG_SITE
189 file.
190
191 Header file dependancies
192
193 During a normal build (a "gmake" or "gmake install"), a file
194 containing header file dependancies is automatically generated in
195 the O.<host_arch> directory for each c/c++ source file. These files
196 have the source file name with a ".depends" suffix.
197
198 Object files
199
200 Compiler output object files are stored in the created O.<host_arch>
201 directories. This allows objects for multiple host architectures to
202 be maintained in the same tree structure at the same time.
203

  ViewVC Help
Powered by ViewVC 1.1.30