From 579c7bad06d02a781bd1823b25b4b252203c1fa9 Mon Sep 17 00:00:00 2001
From: Andrew Johnson Change "include $(TOP)/config/CONFIG_APP" to "include
-$(TOP)/configure/CONFIG" Change "include $(TOP)/config/CONFIG_APP" to "include
+$(TOP)/configure/CONFIG" Change " include $(TOP)/config/RULES_DIRS" to "include
-$(TOP)/configure/RULES_DIRS" Change " include $(TOP)/config/RULES_DIRS" to "include
+$(TOP)/configure/RULES_DIRS"Modify the Makefiles in <top>/*App directories.
-Modify the Makefiles in <top>/*App/*Db directories.
@@ -67,13 +67,13 @@ $(TOP)/configure/RULES_DIRS"
Change "TOP=../../.." to "TOP=../.."
+Change "TOP=../../.." to "TOP=../.."
-Change "include $(TOP)/config/CONFIG_APP" to "include -$(TOP)/configure/CONFIG"
+Change "include $(TOP)/config/CONFIG_APP" to "include +$(TOP)/configure/CONFIG"
-Change "include $(TOP)/config/RULES.Db" to "include -$(TOP)/configure/RULES"
+Change "include $(TOP)/config/RULES.Db" to "include +$(TOP)/configure/RULES"
Place all definitions between the include lines.
@@ -239,16 +239,16 @@ baseLIBOBJS, Makefile.Host, and Makefile.Vx Registration code for application specific functions, e.g. subroutine record init and process functions, must been changed as follows -1) Include the export definitions header file:
+1) Include the following header files:
2) Make the application specific functions static functions, e.g.#include "epicsExport.h" -+#include "registerFunction.h"
-@@ -273,23 +273,22 @@ function("mySubProcess")static long mySubInit(subRecord *precord,processMethod process) +static long mySubInit(subRecord *precord) static long mySubProcess(subRecord *precord)
Change " include $(TOP)/config/CONFIG_APP" to "include -$(TOP)/configure/CONFIG"
+$(TOP)/configure/CONFIG"If they do not already exist, add the lines
--DIRS += $(wildcard *ioc*)
- -DIRS += $(wildcard as*)
+DIRS += $(wildcard *ioc*) +DIRS += $(wildcard as*)
Change "include $(TOP)/config/RULES.iocBoot" to "include -$(TOP)/configure/RULES_DIRS"
+Change "include $(TOP)/config/RULES.iocBoot" to "include +$(TOP)/configure/RULES_DIRS".
Change "include $(TOP)/config/CONFIG_APP" to "include -$(TOP)/configure/CONFIG"
+Change "include $(TOP)/config/CONFIG_APP" to "include +$(TOP)/configure/CONFIG"
Change
@@ -300,7 +299,7 @@ $(TOP)/configure/CONFIG"ARCH = <new arch specification e.g. vxWorks-68040>
Change "include $(TOP)/config/RULES.ioc" to "include -$(TOP)/configure/RULES.ioc"
+$(TOP)/configure/RULES.ioc"If it exists remove the line
@@ -319,7 +318,7 @@ $(TOP)/configure/RULES.ioc" ld < iocCoreChange "ld < <libname>Lib" to "ld < -<libname>.munch"
+<libname>.munch"Change "cd appbin" to "cd topbin"
@@ -342,17 +341,17 @@ compiler will issue warning messages and the ioc may issue the message:The steppermotor, scan, and pid records are no longer in base. If these +
The steppermotor, scan, and pid records are no longer in base. If these records are not used in your application, comment out references to them in -base.dbd. If these record types are used at your site, they should be +base.dbd. If these record types are used at your site, they should be downloaded and built with base R3.14 by your EPICS administrator. To update -the R3.14 location of these record types in your application you must add +the R3.14 location of these record types in your application you must add appropriate module definitions to your application's config/RELEASE file and add LIBOBJS definitions to the src Makefile.
For example add
-PID=<full path to modules directory>/pid
+PID=<full path to modules directory>/pid
to config/RELEASE and add
You should consider changing any existing old steppermotor records to the -new EPICS motor record module supported by Beamline Controls and Data +new EPICS motor record module supported by Beamline Controls and Data Acquisition at APS.
For example, remove
-LIBOBJS+=$(EPICS_BASE_BIN)/symb
+LIBOBJS+=$(EPICS_BASE_BIN)/symb
from baseLIBOBJS and add
-LIBOBJS+=$(SYMB_BIN)/symb
+LIBOBJS+=$(SYMB_BIN)/symb
to your application src/Makefile,
and add the line
The host tool dbLoadTemplate has been replace by a new EPICS extension, msi, which should be downloaded and built with base R3.14 by your EPICS -administrator. dbLoadTemplate is still supported on iocs. If, in your +administrator. dbLoadTemplate is still supported on iocs. If, in your application, db files are created from template and substitution files you -should add the definition
+should add the definitionMSI=<full path name to msi executable>
to your application config/RELEASE file.