EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  <19951996  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  Index 1994  <19951996  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 
<== Date ==> <== Thread ==>

Subject: Re: application directories and CVS, GNU make etc
From: [email protected] (Nick Rees)
To: [email protected]
Date: Thu, 1 Jun 1995 14:07:49 +0200
William,

I have spent the past few days working on this at MPIA. We are
progressing along largely similar lines so it would be good to come to
a convergence. I was meaning to contact you soon, but you got in first.
Currently, I have taken the approach of:

0. Reducing the links to a minimum since they are hard to handle
   in CVS. You have done better than me in the top level directory,
   but largely because I haven't had a working epics system to
   find out what links are really required.

1. Creating a new application environment called uae, rather than
   trying to maintain backwards compatibility with sae.

2. Retaining getrel, but the new applSetupDir removes some of the
   history. I was thinking of dropping getrel altogether and putting
   the little remaining in getrel in applSetupDir.

3. In the src makefile I have a rule called mkdir.% which creates a
   sub-directory called $* (i.e. %) and populates it with Makefiles and
   .cvsignores. This also sets $(EPICS) to $(EPICS)/.. in the subdirectory
   makefiles. This avoids the need to have links to base and
   extensions in every sub-directory. It also concatenates `DIR += <subdir>`
   to a Makefile.Dirs file so the Make's propogate.

4. In the templates directory the templates are of the form:

       applMakefile.<dirname>
       applMakefile.Unix.<dirname>
       applMakefile.Vx.<dirname>
       appl.cvsignore.<dirname>

   i.e. the db directory Makefile is applMakefile.db

   appl.cvsignore.db is created during the build of the extensions
   tree by a sed/awk script which parses dbRecTypes.ascii. There should
   be a make target in the db Makefile which updates this, but I haven't
   got around to this.

   The src templates are propagated down the src tree by the mkdir.% rule.

5. I had not thought of creating a CONFIG_APPLIC, both because I was
   stupid, and because I was trying to keep all the changes/modifications
   within the uae sub directory in extensions.

What I hadn't thought of was a heirarchy of applications with
inheritance - I don't think we need it, but I can see it may be
elegant (i.e. I wouldn't object to having it just in case we need it),
but don't quite understand how it works. My feeling is that each
application is defined and limited by the use of a single IOC, so I
propogate the src directories but not anything else. Also I hadn't done
any work on the capfast side of things.

I also haven't done any work on the ascii make rules, since they appear
to be a bit of a pain in the neck. However, moving the *ascii directories
into the src tree is a good start - and is more in line with the rest of
epics.

Cheers,

Nick


Navigate by Date:
Prev: application directories and CVS, GNU make etc William Lupton
Next: links and CVS Alan K Biocca
Index: 1994  <19951996  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: application directories and CVS, GNU make etc Johnny Tang
Next: Re: application directories and CVS, GNU make etc William Lupton
Index: 1994  <19951996  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·