EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EDM's and base/configure/RULES_ARCH's use of $(TOP)
From: John Sinclair <[email protected]>
To: Carl Schumann <[email protected]>, Tech-talk <[email protected]>
Date: Thu, 28 Aug 2008 11:26:55 -0400
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  <20082009  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  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·