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  2012  2013  2014  2015  2016  <2017 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
<== Date ==> <== Thread ==>

Subject: Re: EPICS base R3.15.5 special CONFIG and RULE files
From: Andrew Johnson <anj@aps.anl.gov>
To: <tech-talk@aps.anl.gov>
Date: Thu, 9 Nov 2017 18:07:03 -0600
Hi Kristi

On 11/09/2017 04:59 PM, Luchini, Kristi L. wrote:
> I was thinking to myself that I should remove the 1-0 in the EPICS base, 
> but apparently my fingers were working independently! The EPICS Base
> version I am referring to is the downloaded version  of R3.15.5. 

OK, my apologies for misunderstanding. I won't have time to look through
your files tonight, I'll try to take a look and respond in more detail
tomorrow.

In the meantime you might want to try out a Free Software tool called
remake which is basically a modified version of GNUmake that adds flags
that allow you to debug and step through Makefiles. I use it
occasionally and it can help to understand what's going on, although the
EPICS build system is somewhat complex (!).

One other technique I use is a PRINT rule that I have in my personal
~/configure/RULES_USER file. This file is read in towards the end of
*every* EPICS build that I do from my account, so be careful what you
put in there (there are similar ~/configure/CONFIG_USER.* files also
supported by the builsd system). Here's my file:

> tux% cat ~/configure/RULES_USER 
> #---------------------------------------------------------
> # These rules support printing a Makefile variable values.
> # Most only work inside an O.<arch> build directory.
> #   make PRINT.T_A
> 
> PRINT_Var = $(subst PRINT.,,$@)
> PRINT.%:
> 	@echo "$(PRINT_Var) = '$($(PRINT_Var))'"
> 
> .PHONY: PRINT

Inside an O.<arch> directory I can type 'make PRINT.<varname>' and it
shows me the value of that variable, e.g:

> tux% cd O.RTEMS-uC5282/
> tux% make PRINT.OS_CLASS
> make -f ../Makefile TOP=../.. T_A=RTEMS-uC5282  PRINT.OS_CLASS
> make[1]: Entering directory '/home/phoebus3/ANJ/epics/base/3.15/configure/O.RTEMS-uC5282'
> OS_CLASS = 'RTEMS'
> make[1]: Leaving directory '/home/phoebus3/ANJ/epics/base/3.15/configure/O.RTEMS-uC5282'

HTH,

- Andrew

-- 
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon

References:
RE: EPICS base R3.15.5 special CONFIG and RULE files Luchini, Kristi L.

Navigate by Date:
Prev: RE: How to turn off spewing messaging from asyn/stream devicse. Mark Rivers
Next: Re: EPICS base R3.15.5 special CONFIG and RULE files Benjamin Franksen
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
Navigate by Thread:
Prev: RE: EPICS base R3.15.5 special CONFIG and RULE files Luchini, Kristi L.
Next: Re: EPICS base R3.15.5 special CONFIG and RULE files Benjamin Franksen
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
ANJ, 10 Nov 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·