Experimental Physics and Industrial Control System
Carl,
I believe something like the following would work.
Given: edm sources in /epics/supTop/extensions/src/edm
cd /epics/supTop/extensions/src
mkdir edmPrivateExtensions
cd edmPrivateExtensions
mkdir <somedir>
cp ../edm/Makefile .
edit Makefile so that only <somedir> is referenced
i.e.
remove all DIRS += lines
add DIRS += <somedir>
cd <somedir>
cp ../../edm/locPv/Makefile .
edit makefile and change the library reference and the locpv support
files names to your own
i.e.
change LIBRARY = Loc to LIBRARY = SomeType
change LIB_SRCS += loc_pv_factory.cc to LIB_SRCS +=
some_type_pv_factory.cc
change LIB_SRCS += regLoc.cc LIB_SRCS += regSomeType.cc
Currently, you also need access to lib/edm.version and lib/environment.str
cd /epics/supTop/extensions/src/edmPrivateExtensions
mkdir lib
cd lib
ln -s ../../edm/lib/edm.version .
ln -s ../../edm/lib/environment.str .
I guess you could alternatively do
ln -s ../../edm/lib .
but a make clean might cause some problems
This gives something like:
/epics/supTop/extensions/src/edmPrivateExtensions
Makefile
lib
edm.version
environment.str
<somedir>
Makefile
some_type_pv_factory.cc
some_type_pv_factory.h
regSomeType.cc
regSomeType.str
You should now be able to run make in
/epics/supTop/extensions/src/edmPrivateExtensions and
get the library file libSomeType.so in /epics/supTop/extensions/lib/<arch> .
To install the new pv support:
edm -addpv /epics/supTop/extensions/lib/<arch>/libSomeType.so
If you want the new pv type to be the default type, edit edmPvObjects
and move the reference to libSomeType.so
to the first line of the file.
John Sinclair
Carl Schumann wrote:
Hi,
I am writing a shared library to extend EDM to support PVs that use a
proprietary protocol here at FNAL in addition to standard channel
access PVs. For source code management reasons I want to keep my
work separate from standard EPICS base and EDM proper.
My first thought was to change TOP when I specify it in my Makefile
from "../../.." to an absolute path to our official EPICS extensions
directory. (The official directories are intended to contain only
the standard source, etc. from ANL and ORNL.) Unfortunately, that
does not work because base/configure/RULES_ARCH's target,
$(buildDirs), appears to assume that TOP is always a relative path and
appends another ".." to TOP to make up
for being in the O.linux-x86 directory under my source directory
instead of being in the source directory itself.
Is there some other way to maintain the source code separation that I
seek please? Thank you for your time.
Sincerely,
Carl Schumann
- References:
- EDM's and base/configure/RULES_ARCH's use of $(TOP) Carl Schumann
- Navigate by Date:
- Prev:
Re: EDM's and base/configure/RULES_ARCH's use of $(TOP) Janet Anderson
- Next:
XAL and CAML news Tom Pelaia
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: EDM's and base/configure/RULES_ARCH's use of $(TOP) Janet Anderson
- Next:
XAL and CAML news Tom Pelaia
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024