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  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  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  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Installing extra CONFIG_SITE file
From: Andrew Johnson <[email protected]>
To: <[email protected]>
Date: Mon, 20 Aug 2018 18:15:54 -0500
Hi Hinko,

On 08/20/2018 12:06 PM, Hinko Kocevar wrote:
> say I want to install an extra CONFIG file from source configure
> folder to INSTALL_LOCATION/.
> 
> Should I use CFG (INSTALL_LOCATION/cfg) or CONFIGS
> (INSTALL_LOCATION/configure) target in Makefile?
> 
> I would like to include this extra CONFIG in all the dependent
> modules that need this one, in their CONFIG_SITE.

If you want all dependent modules (i.e. other modules that point to this
module in their configure/RELEASE files) to include your file at
build-time, it needs to be in your INSTALL_LOCATION/cfg directory and
have a name starting with "CONFIG" or "RULES" depending on when you want
it to be included by the build system.

To achieve this, add the filename to the CFG variable in the Makefile in
the directory where the file is found, and it will be installed for you.

If you want an example, in EPICS 7 the modules/libcom/configure
directory contains these files:

> CONFIG                CONFIG_LIBCOM_VERSION  Makefile  RULES       RULES_TOP
> CONFIG_LIBCOM_MODULE  CONFIG_SITE            RELEASE   RULES_DIRS

The Makefile looks like this:

> #*************************************************************************
> # EPICS BASE is distributed subject to a Software License Agreement found
> # in file LICENSE that is included with this distribution.
> #*************************************************************************
> TOP = ..
> 
> include $(TOP)/configure/CONFIG
> 
> TARGETS = $(CONFIG_TARGETS)
> CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
> 
> CFG += CONFIG_LIBCOM_MODULE
> CFG += CONFIG_LIBCOM_VERSION
> 
> include $(TOP)/configure/RULES

The two CONFIG_LIBCOM_* files contain various settings that are needed
later in the build. They get installed into $(INSTALL_LOCATION)/cfg and
are read in as part of the build process for all subsequent parts of the
build. The other EPICS 7 modules have similar files.

These rules for the cfg have been in place since Base-3.14.something,
although the order of inclusions did change in Base-3.15.2 once someone
started to make use of them and suggested improvements.

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

Replies:
RE: Installing extra CONFIG_SITE file Hinko Kocevar
References:
Installing extra CONFIG_SITE file Hinko Kocevar

Navigate by Date:
Prev: Installing extra CONFIG_SITE file Hinko Kocevar
Next: Re: EDM X/Y Plot segfaults Bruce Hill
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Installing extra CONFIG_SITE file Hinko Kocevar
Next: RE: Installing extra CONFIG_SITE file Hinko Kocevar
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 21 Aug 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·