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
<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: application directories and CVS, GNU make etc Johnny Tang
- Next:
Re: application directories and CVS, GNU make etc William Lupton
- 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
|