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  2008  2009  2010  2011  <20122013  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  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS Base version 3.15.0.1 released
From: Andrew Johnson <[email protected]>
To: [email protected]
Date: Fri, 10 Aug 2012 15:50:12 -0500
Hi Martin,

Thanks for testing 3.15.0.1.

On 2012-08-10 Martin Konrad wrote:
> 
> Are there any changes in behaviour between 3.14.12 and 3.15.0 that can
> lead to this? Where can I find documentation about the new dependency
>  files?

Yes there are changes that cause this, but we haven't documented them (yet). 
In this case the relevant GnuMake code is found in Base/configure/RULES.Db and 
it says that if you provide a rule to generate a file named in DB you have to 
have a parallel rule that generates the associated dependency file. The main 
variables for this are DBDDEPENDS_FILES and COMMON_DBS. Dependency files are 
not new to 3.15, but we are using them more because they are essential to 
ensure that parallel builds work reliably.

In your case your .template files probably *do* have additional dependencies, 
in that changes to the replaceCmds.pl script or the cps_can.h or fpgaboards.h 
files should result in a new version of those .template files being generated. 
To tell GnuMake about such a relationship, you give it a rule to generate the 
associated DEP=.d file (which itself has a dependency on the Makefile but not 
on the .template.pre file):

can_ifc.template$(DEP): ../Makefile
	@$(RM) $@
	@echo "$(COMMONDEP_TARGET): $(DBTEMPLATES)/relaceCmds.pl" > $@
	@echo "$(COMMONDEP_TARGET): $(CAN_INCLUDE_DIR)/cps_can.h" >> $@

You can probably use pattern rules for some of your targets, like these:

llbc%.template$(DEP): ../Makefile
	@$(RM) $@
	@echo "$(COMMONDEP_TARGET): $(DBTEMPLATES)/relaceCmds.pl" > $@
	@echo "$(COMMONDEP_TARGET): $(CAN_INCLUDE_DIR)/cps_can.h" >> $@
	@echo "$(COMMONDEP_TARGET): $(CAN_INCLUDE_DIR)/fpgaboards.h" >> $@
cps%.template$(DEP): ../Makefile
	@$(RM) $@
	@echo "$(COMMONDEP_TARGET): $(DBTEMPLATES)/relaceCmds.pl" > $@
	@echo "$(COMMONDEP_TARGET): $(CAN_INCLUDE_DIR)/cps_can.h" >> $@

BTW, you do have a warning in your Make.log about linking to libCom.so.3.14.11 
which you'll probably need to resolve too.

HTH,

- Andrew
-- 
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte

Replies:
Re: EPICS Base version 3.15.0.1 released Martin Konrad
Re: EPICS Base version 3.15.0.1 released Tim Mooney
References:
EPICS Base version 3.15.0.1 released Andrew Johnson
Re: EPICS Base version 3.15.0.1 released Martin Konrad

Navigate by Date:
Prev: Re: EPICS Base version 3.15.0.1 released Martin Konrad
Next: Member of CLS Controls Group Elder Matias
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS Base version 3.15.0.1 released Martin Konrad
Next: Re: EPICS Base version 3.15.0.1 released Martin Konrad
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·