1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 <2012> 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | 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 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: User Created File Types: FILE TYPE += ABC [EPICS R3-14-12] |
From: | Ralph Lange <[email protected]> |
To: | EPICS Tech Talk <[email protected]> |
Date: | Thu, 01 Nov 2012 16:12:31 +0100 |
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. 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. 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... Cheers, ~Ralph On 30.10.2012 16:51, Ernest L. Williams Jr. wrote: Hi Janet, |