Hi John,
> Is there a way to get MSI to deal with multiple levels of
> substitution?
I divide my Db directory into sub-directories and build them in the proper order. For example:
xxxApp/Db/first contains Makefile, first.db, and firstAll.substitions:
Makefile has:
DB += firstAll.db
firstAll.substitutions which looks something like this:
file first.db
{
pattern { DEV , CARD , NAME , ID ,P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,VME}
{ $(DEVICE) , 0 , NAME1 , 1 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 1 }
{ $(DEVICE) , 0 , NAME2 , 2 , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 1 }
...
{ $(DEVICE) , 0 , NAME15 , 12 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 1 , 1 }
}
xxxApp/Db/second contains Makefile, second.substitutions:
Makefile has:
DB += second.db
second.substitutions looks something like this:
file firstAll.db
{
pattern { DEVICE }
{ device1 }
{ device2 }
...
{device30}
}
and xxxApp/Db/Makefile looks like:
TOP = ../..
include $(TOP)/configure/CONFIG
# first must be first since second will need for the .db file created by first
DIRS += first
DIRS += second
include $(TOP)/configure/RULES_DIRS
The RULES.Db files that come with epics 3.14.8.2 will do the MSI properly - I don't think we had to change RULES.Db for this.
If you don't like sub-directories, just create more *Db directories under xxxApp:
xxxApp/CommonDb1
xxxApp/CommonDb2
xxxApp/Db (which depends on CommonDb1 and CommonDb2 being built first)
xxxApp/Makefile must enforce proper build order
Note there is a bug in the RULES somewhere that requires the "{" that comes after the "file xxxx.db" to be on the next line if xxxx.db comes from another module listed in your RELEASE file.
Doesn't work:
file xxxx.db {
Works:
file xxxx.db
{
Hope this helps more than confuses...
Stephanie Allison
- Replies:
- Re: multiple levels of substitution in msi John Dobbins
- References:
- multiple levels of substitution in msi John Dobbins
- Navigate by Date:
- Prev:
Soft IOC VME access Robert Ellis
- Next:
pilatusROI R1-3 released Mark Rivers
- 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:
multiple levels of substitution in msi John Dobbins
- Next:
Re: multiple levels of substitution in msi John Dobbins
- 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
|