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: User Created File Types: FILE TYPE += ABC [EPICS R3-14-12]
From: "Williams Jr., Ernest L." <[email protected]>
To: Ralph Lange <[email protected]>, EPICS Tech Talk <[email protected]>
Date: Thu, 1 Nov 2012 08:32:16 -0700
________________________________________
From: [email protected] [[email protected]] On Behalf Of Ralph Lange [[email protected]]
Sent: Thursday, November 01, 2012 8:12 AM
To: EPICS Tech Talk
Subject: Re: User Created File Types:  FILE TYPE += ABC [EPICS R3-14-12]

Hi Ernest,

the main issue behind this:
In the traditional EPICS build system, IOC startup files (actually everything under iocBoot) are considered source files. Other than for libraries, databases etc., these sources are not compiled in any way, and they do not create any products that are installed. Without an installation step, $(INSTALL_LOCATION) does not apply.
====
ELW
====
=================================================================
I think this is actually wrong and should be addressed.
They are indeed products built in the IOC area:
(1) envPaths or for vxWorks "cdCommands"
(2) The st.cmd is simply an ASCII text file; like a very simple database needing no MACRO expansion.
In other words the st.cmd needs to be simply installed.

Bottom line: Anything that is loaded by an IOC should be an installable set of libraries, files, etc...

Not having this of course, breaks symmetry. :(

Although, I know it has always been this way.  My INSTALLATION_TOP has always been right along side my APP.
Now, I really want to push the products to a different location.
===================================================================





For our HZB/BESSY developments, we are creating the startup files programmatically in an ...App directory, so we changed our rules to treat .../iocBoot as an installation directory (much like lib, bin, ...), and install the created startup scripts there. In this setting, there is an installation step for these files, and $(INSTALL_LOCATION) works as expected.
======
ELW
======
===============================================================
I recommend that this become part of the EPICS main distribution for the reasons I stated above.
This would everyone creating their own solution.
In this case, for backward compatability can we leave "iocBoot" in tact and create such as "ioc" ?
================================================================


Trying to select the relevant configuration parts....


Our CONFIG contains:

INSTALL_BOOT := $(INSTALL_LOCATION)/iocBoot
UNINSTALL_DIRS += $(INSTALL_BOOT)


The ...App Makefile uses this by setting:

IOCS = $( /* database call to get ioc names */ )
STCMD_INSTALLS = $(IOCS:%=$(INSTALL_BOOT)/ioc%/st.cmd)

build: $(STCMD_INSTALLS)

$(STCMD_INSTALLS): $(INSTALL_BOOT)/ioc%/st.cmd: $(COMMON_DIR)/st.cmd.%
        @echo "Installing $@"
        @$(CP) $< st.cmd
        @$(INSTALL) -d -m 644 st.cmd $(@D)
        @$(RM) st.cmd

$(COMMON_DIR)/st.cmd.%: ../%.st.cmd
        @$(CP) $< $@


Hope this shows the general direction...
=================================================
=====
ELW
=====
==================================================
Thanks, this is the direction we would like to go in.
Just be nice to get this into EPICS BASE as well.
Everything loaded on the IOC is a product. :)
==================================================


Thanks again.

Cheers,
Ernest





Cheers,
~Ralph


On 30.10.2012 16:51, Ernest L. Williams Jr. wrote:
Hi Janet,

How is it going?

For IOC Application deployment; I would like to take advantage of the $(INSTALL LOCATION).
The only problem is that IOC Startup files do not get installed along with other products such as databases, libraries, etc...

So, I tried to do something like the following:

In my  $IOC_APP_TOP/iocBoot/<iocName>

Create CONFIG_STARTUP:
============ CONFIG_STARTUP ========================
FILE_TYPE +=  STARTUP
INSTALL_EDL = $(INSTALL_LOCATION)/ioc/vioc-b34-cd39
=====================================================

Add to Makefile:

========== Makefile =====================================
TOP = ../..
include $(TOP)/configure/CONFIG
# =====================================================
# Config for installing IOC startup related files:
# =====================================================
CFG +=  CONFIG_STARTUP

ARCH = linuxRT-x86
TARGETS = envPaths
INSTALL_STARTUP += envPaths rtPrioritySetup.cmd st.cmd
include $(TOP)/configure/RULES
include $(TOP)/configure/RULES.ioc
# =====================================================


The above does not work.

[ernesto@cdlx01 vioc-b34-cd39]$ make
/afs/slac/g/lcls/epics/base/base-R3-14-12/configure/RULES_DIRS:72: *** target file `clean' has both : and :: entries.  Stop.


Can you recommend a way to achieve this in the context of the EPICS Make/Build system?

Cheers,
Ernest







Replies:
Re: User Created File Types: FILE TYPE += ABC [EPICS R3-14-12] Andrew Johnson
References:
User Created File Types: FILE TYPE += ABC [EPICS R3-14-12] Ernest L. Williams Jr.
Re: User Created File Types: FILE TYPE += ABC [EPICS R3-14-12] Ralph Lange

Navigate by Date:
Prev: Re: User Created File Types: FILE TYPE += ABC [EPICS R3-14-12] Ralph Lange
Next: Re: 3.14 v.s. 3.15 vs. v4 Andrew Johnson
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: User Created File Types: FILE TYPE += ABC [EPICS R3-14-12] Ralph Lange
Next: Re: User Created File Types: FILE TYPE += ABC [EPICS R3-14-12] Andrew Johnson
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 ·