Very slick, you guys! So simple...
But I think we can’t wait until we launch the IOC - we may need to do it at build time.
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Pierrick Hanlet via Tech-talk <tech-talk at aps.anl.gov>
Date: Thursday, July 23, 2026 at 3:23 PM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: Create record name manifest during build
Or, in our case "pvxsl". Both work.
On 7/23/26 15:18, Mark Rivers via Tech-talk wrote:
Hi David,
An alternative 1 line solution is add this line to the end of the IOC startup script:
dbl > myIOC_record_list.txt
Mark
Some of our IOC projects would like to use macro substitutions at their dbLoadRecords invocations in st.cmd:
dbLoadRecords("${EPICS_IOCTOPS}/${IOCDIR}/db/MyRecords.db”, “P=XYZ”)
This means that the *.db files created by the build will have incompletely substituted record names after the build completes.
We have tooling that scrapes record names from the build-product *.db files, but the above would cause it to not see the final record names.
I would like to have the build create a manifest file that contains the fully substituted record names, basically by using grep, awk, etc. to parse the source db filename/path and the substitution tokens, and then call the perl script that does the substitutions,
producing some file that is just a list of the fully substituted record names.
However, I don’t know how to make an EPICS Makefile do such an arbitrary thing.
May I please get some guidance as to a smart way to do this?
Dave Bracey
Fermi National Accelerator Laboratory
--
Pierrick Hanlet
Fermi National Accelerator
Accelerator Front End Controls
+1-630-840-5555 -- lab
+1-312-687-4980 -- mobile
"Whether you think you can or think you can't, you're right" -- Henry Ford