Fix #859 in template CONFIG file

Instructions on updating existing modules in the Notes entry.

Also prints warning messages from the modules/Makefile if
$(INSTALL_LOCATION) is empty.
This commit is contained in:
Andrew Johnson authored and Dirk Zimoch committed 2026-11-03 16:17:54 +01:00
1 parent c4c40b1891
commit ee5ffb5f53
3 files changed
+39 -1

No files matched your search

+10 -1
View File
@@ -25,11 +25,20 @@
# Add checked-out submodules to DIRS, unless INSTALL_LOCATION is empty
LIVE_SUBMODULES = $(subst /Makefile,, \
$(wildcard $(addsuffix /Makefile, $(SUBMODULES))))
live = $(if $(wildcard $(INSTALL_CONFIG)/RULES_TOP),LIVE,DEAD)
live := $(if $(wildcard $(INSTALL_CONFIG)/RULES_TOP),LIVE,DEAD)
DIRS += $($(live)_SUBMODULES)
include $(CONFIG)/RULES_DIRS
ifeq ($(live),DEAD)
ifneq ($(filter $(ACTIONS),$(MAKECMDGOALS)),)
$(info *** WARNING: The install directory $(INSTALL_LOCATION))
$(info *** is absent or empty. The "make $(MAKECMDGOALS)" rule)
$(info *** cannot recurse into these external modules as a result:)
$(info *** $(LIVE_SUBMODULES))
endif
endif
RELEASE_LOCAL := RELEASE.$(EPICS_HOST_ARCH).local
# Ensure that RELEASE.<host>.local exists before doing anything else
+21
View File
@@ -0,0 +1,21 @@
### Template fix for modules with `cfg/RULES*` files
EPICS modules that installed custom build `RULES*` files into
`$(INSTALL_CFG)` weren't loading them properly when the module
was built with `INSTALL_LOCATION` set in `configure/CONFIG_SITE`
or `configure/CONFIG_SITE.local`.
This release provides a fix in the template `configure/CONFIG`
file to solve the issue for new modules created from the
`makeBaseApp` template.
Maintainers of old modules that provide special build rules for
IOC applications should check their `configure` directory.
Assuming a `configure/CONFIG` file is present, replace it with
the `templates/makeBaseApp/top/configure/CONFIG` file from this
release. If any changes were made to the old file they would
need to be merged into the new file.
If the module's `configure` directory contains a file named
`CONFIG_APP` and no `CONFIG_SITE` file, the application must
date back to before March 2006; the files in the `configure`
directory should all be replaced in this case.
+8
View File
@@ -47,3 +47,11 @@ ifdef T_A
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
endif
# Load our cfg/CONFIG* files if installing elsewhere
ifneq ($(INSTALL_LOCATION),$(TOP))
TOP_CFG_CONFIGS := $(wildcard $(INSTALL_CFG)/CONFIG*)
ifneq ($(TOP_CFG_CONFIGS),)
include $(TOP_CFG_CONFIGS)
endif
endif